From 7e00be16624379c75ec377865fbf69c2f7f90c31 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Wed, 3 Apr 2024 22:48:57 -0700 Subject: [PATCH 01/26] remove unneccessary website join --- src/queries/analytics/getWebsiteStats.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/queries/analytics/getWebsiteStats.ts b/src/queries/analytics/getWebsiteStats.ts index c5d010dba4..bc006a2ebe 100644 --- a/src/queries/analytics/getWebsiteStats.ts +++ b/src/queries/analytics/getWebsiteStats.ts @@ -43,10 +43,8 @@ async function relationalQuery( min(website_event.created_at) as "min_time", max(website_event.created_at) as "max_time" from website_event - join website - on website_event.website_id = website.website_id ${joinSession} - where website.website_id = {{websiteId::uuid}} + where website_event.website_id = {{websiteId::uuid}} and website_event.created_at between {{startDate}} and {{endDate}} and event_type = {{eventType}} ${filterQuery} From 95ec31fca63a394c943f1f9b4294acbe80f13017 Mon Sep 17 00:00:00 2001 From: jermanuts <109705802+jermanuts@users.noreply.github.com> Date: Thu, 4 Apr 2024 23:22:13 +0300 Subject: [PATCH 02/26] Update ar-SA.json --- src/lang/ar-SA.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/ar-SA.json b/src/lang/ar-SA.json index 24620b2c9b..6c00125db9 100644 --- a/src/lang/ar-SA.json +++ b/src/lang/ar-SA.json @@ -189,7 +189,7 @@ "label.view-details": "عرض التفاصيل", "label.view-only": "عرض فقط", "label.views": "المشاهدات", - "label.visitors": "الزوار", + "label.visitors": "زائر", "label.website": "الموقع", "label.website-id": "معرّف الموقع", "label.websites": "المواقع", From eec62cf90dfe3a88a83a304e6574a98e2c657733 Mon Sep 17 00:00:00 2001 From: jermanuts <109705802+jermanuts@users.noreply.github.com> Date: Thu, 4 Apr 2024 23:24:02 +0300 Subject: [PATCH 03/26] Update ar-SA.json --- src/lang/ar-SA.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/ar-SA.json b/src/lang/ar-SA.json index 6c00125db9..394c6bd6d9 100644 --- a/src/lang/ar-SA.json +++ b/src/lang/ar-SA.json @@ -201,7 +201,7 @@ "message.confirm-leave": "هل أنت متأكد من مغادرة {target}?", "message.confirm-remove": "هل انت متأكد من حذف {target}?", "message.confirm-reset": "هل أنت متأكد من اعادة تعيين الإحصائيات لـ {target}؟", - "message.delete-team-warning": "حذف فريق سيؤدي إلى حذف جميع مواقع الفريق", + "message.delete-team-warning": "سيؤدي حذف الفريق أيضًا إلى حذف كافة مواقع الفريق", "message.delete-website-warning": "سيتم حذف كافة بيانات الموقع.", "message.error": "حدث خطأ ما.", "message.event-log": "{event} في {url}", From 698f0c6bbdbaed5bd06f9355610d59ebc5b8929f Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 5 Apr 2024 01:48:59 -0700 Subject: [PATCH 04/26] Changed getClientInfo method. Refactored send logic. --- src/lib/detect.ts | 6 +++--- src/lib/session.ts | 2 +- src/pages/api/send.ts | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/lib/detect.ts b/src/lib/detect.ts index 561b91be7b..25dee386bd 100644 --- a/src/lib/detect.ts +++ b/src/lib/detect.ts @@ -123,9 +123,9 @@ export async function getLocation(ip: string, req: NextApiRequestCollect) { } } -export async function getClientInfo(req: NextApiRequestCollect, { screen }) { +export async function getClientInfo(req: NextApiRequestCollect) { const userAgent = req.headers['user-agent']; - const ip = req.body.payload.ip || getIpAddress(req); + const ip = req.body?.payload?.ip || getIpAddress(req); const location = await getLocation(ip, req); const country = location?.country; const subdivision1 = location?.subdivision1; @@ -133,7 +133,7 @@ export async function getClientInfo(req: NextApiRequestCollect, { screen }) { const city = location?.city; const browser = browserName(userAgent); const os = detectOS(userAgent); - const device = getDevice(screen, os); + const device = getDevice(req.body?.payload?.screen, os); return { userAgent, browser, os, ip, country, subdivision1, subdivision2, city, device }; } diff --git a/src/lib/session.ts b/src/lib/session.ts index 4eab67ff83..5f3020e17c 100644 --- a/src/lib/session.ts +++ b/src/lib/session.ts @@ -65,7 +65,7 @@ export async function findSession(req: NextApiRequestCollect): Promise<{ await checkUserBlock(website.userId); const { userAgent, browser, os, ip, country, subdivision1, subdivision2, city, device } = - await getClientInfo(req, payload); + await getClientInfo(req); const sessionId = uuid(websiteId, hostname, ip, userAgent); const visitId = uuid(sessionId, visitSalt()); diff --git a/src/pages/api/send.ts b/src/pages/api/send.ts index 0b43f92011..df37ebe04e 100644 --- a/src/pages/api/send.ts +++ b/src/pages/api/send.ts @@ -104,14 +104,14 @@ export default async (req: NextApiRequestCollect, res: NextApiResponse) => { await useSession(req, res); const session = req.session; + const iat = Math.floor(new Date().getTime() / 1000); // expire visitId after 30 minutes - session.visitId = - !!session.iat && Math.floor(new Date().getTime() / 1000) - session.iat > 1800 - ? uuid(session.id, visitSalt()) - : session.visitId; + if (session.iat && iat - session.iat > 1800) { + session.visitId = uuid(session.id, visitSalt()); + } - session.iat = Math.floor(new Date().getTime() / 1000); + session.iat = iat; if (type === COLLECTION_TYPE.event) { // eslint-disable-next-line prefer-const From cc5f2a8a29cf35f1a4cf0a48290941239b536e2a Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 5 Apr 2024 01:50:23 -0700 Subject: [PATCH 05/26] Upgraded Prisma to v5.12.1. --- package.json | 4 +-- yarn.lock | 82 ++++++++++++++++++++++++++-------------------------- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/package.json b/package.json index bd27a4cfe5..08c1c8e20b 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "dependencies": { "@clickhouse/client": "^0.2.2", "@fontsource/inter": "^4.5.15", - "@prisma/client": "5.11.0", + "@prisma/client": "5.12.1", "@prisma/extension-read-replicas": "^0.3.0", "@react-spring/web": "^9.7.3", "@tanstack/react-query": "^5.28.6", @@ -102,7 +102,7 @@ "next-basics": "^0.39.0", "node-fetch": "^3.2.8", "npm-run-all": "^4.1.5", - "prisma": "5.11.0", + "prisma": "5.12.1", "react": "^18.2.0", "react-basics": "^0.123.0", "react-beautiful-dnd": "^13.1.0", diff --git a/yarn.lock b/yarn.lock index 5b8ba33cc6..f27a5a73c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2383,51 +2383,51 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@prisma/client@5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.11.0.tgz#d8e55fab85163415b2245fb408b9106f83c8106d" - integrity sha512-SWshvS5FDXvgJKM/a0y9nDC1rqd7KG0Q6ZVzd+U7ZXK5soe73DJxJJgbNBt2GNXOa+ysWB4suTpdK5zfFPhwiw== - -"@prisma/debug@5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.11.0.tgz#80e3f9d5a8f678c67a8783f7fcdda3cbbb8dd091" - integrity sha512-N6yYr3AbQqaiUg+OgjkdPp3KPW1vMTAgtKX6+BiB/qB2i1TjLYCrweKcUjzOoRM5BriA4idrkTej9A9QqTfl3A== - -"@prisma/engines-version@5.11.0-15.efd2449663b3d73d637ea1fd226bafbcf45b3102": - version "5.11.0-15.efd2449663b3d73d637ea1fd226bafbcf45b3102" - resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.11.0-15.efd2449663b3d73d637ea1fd226bafbcf45b3102.tgz#a7aa218b1ebf1077798c931632461aae8ce6a8f7" - integrity sha512-WXCuyoymvrS4zLz4wQagSsc3/nE6CHy8znyiMv8RKazKymOMd5o9FP5RGwGHAtgoxd+aB/BWqxuP/Ckfu7/3MA== - -"@prisma/engines@5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.11.0.tgz#96e941c5c81ce68f3a8b4c481007d397564c5d4b" - integrity sha512-gbrpQoBTYWXDRqD+iTYMirDlF9MMlQdxskQXbhARhG6A/uFQjB7DZMYocMQLoiZXO/IskfDOZpPoZE8TBQKtEw== - dependencies: - "@prisma/debug" "5.11.0" - "@prisma/engines-version" "5.11.0-15.efd2449663b3d73d637ea1fd226bafbcf45b3102" - "@prisma/fetch-engine" "5.11.0" - "@prisma/get-platform" "5.11.0" +"@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/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/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@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== + 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/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.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.11.0.tgz#cd7a2fa5b5d89f1da0689e329c56fa69223fba7d" - integrity sha512-994viazmHTJ1ymzvWugXod7dZ42T2ROeFuH6zHPcUfp/69+6cl5r9u3NFb6bW8lLdNjwLYEVPeu3hWzxpZeC0w== +"@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== dependencies: - "@prisma/debug" "5.11.0" - "@prisma/engines-version" "5.11.0-15.efd2449663b3d73d637ea1fd226bafbcf45b3102" - "@prisma/get-platform" "5.11.0" + "@prisma/debug" "5.12.1" + "@prisma/engines-version" "5.12.0-21.473ed3124229e22d881cb7addf559799debae1ab" + "@prisma/get-platform" "5.12.1" -"@prisma/get-platform@5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.11.0.tgz#19a768127b1712c27f5dec8a0a79a4c9675829eb" - integrity sha512-rxtHpMLxNTHxqWuGOLzR2QOyQi79rK1u1XYAVLZxDGTLz/A+uoDnjz9veBFlicrpWjwuieM4N6jcnjj/DDoidw== +"@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== dependencies: - "@prisma/debug" "5.11.0" + "@prisma/debug" "5.12.1" "@react-spring/animated@~9.7.3": version "9.7.3" @@ -9303,12 +9303,12 @@ pretty-format@^29.0.0, pretty-format@^29.7.0: ansi-styles "^5.0.0" react-is "^18.0.0" -prisma@5.11.0: - version "5.11.0" - resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.11.0.tgz#ef3891f79921a2deec6f540eba13a3cc8525f6d2" - integrity sha512-KCLiug2cs0Je7kGkQBN9jDWoZ90ogE/kvZTUTgz2h94FEo8pczCkPH7fPNXkD1sGU7Yh65risGGD1HQ5DF3r3g== +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== dependencies: - "@prisma/engines" "5.11.0" + "@prisma/engines" "5.12.1" process@^0.11.10: version "0.11.10" From 8a92cd9bcfc0ede04c68af471ef8682b3818af5d Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Fri, 5 Apr 2024 12:21:54 -0700 Subject: [PATCH 06/26] fix case sensitivity for psql getValues --- src/lib/prisma.ts | 8 ++++++++ src/queries/analytics/getValues.ts | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/lib/prisma.ts b/src/lib/prisma.ts index c35e0cde3f..c5e16ddca7 100644 --- a/src/lib/prisma.ts +++ b/src/lib/prisma.ts @@ -93,6 +93,13 @@ function getTimestampDiffQuery(field1: string, field2: string): string { } } +function getSearchQuery(column: string): string { + const db = getDatabaseType(); + const like = db === POSTGRESQL ? 'ilike' : 'like'; + + return `and ${column} ${like} {{search}}`; +} + function mapFilter(column: string, operator: string, name: string, type: string = '') { const db = getDatabaseType(); const like = db === POSTGRESQL ? 'ilike' : 'like'; @@ -253,6 +260,7 @@ export default { getFilterQuery, getSearchParameters, getTimestampDiffQuery, + getSearchQuery, getQueryMode, pagedQuery, parseFilters, diff --git a/src/queries/analytics/getValues.ts b/src/queries/analytics/getValues.ts index 572fbac250..7cd349940f 100644 --- a/src/queries/analytics/getValues.ts +++ b/src/queries/analytics/getValues.ts @@ -18,11 +18,11 @@ async function relationalQuery( endDate: Date, search: string, ) { - const { rawQuery } = prisma; + const { rawQuery, getSearchQuery } = prisma; let searchQuery = ''; if (search) { - searchQuery = `and ${column} LIKE {{search}}`; + searchQuery = getSearchQuery(column); } return rawQuery( From 0a2364ff06363932a65b0cb0533f3d9a4f21ecf8 Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Mon, 8 Apr 2024 09:56:54 +0000 Subject: [PATCH 07/26] Fix filter tags formatting. --- src/components/metrics/FilterTags.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/metrics/FilterTags.tsx b/src/components/metrics/FilterTags.tsx index a302575f67..35d12556a7 100644 --- a/src/components/metrics/FilterTags.tsx +++ b/src/components/metrics/FilterTags.tsx @@ -66,7 +66,7 @@ export function FilterTags({ } const label = fields.find(f => f.name === key)?.label; const { operator, value } = parseParameterValue(params[key]); - const paramValue = isSearchOperator(operator) ? formatValue(value, key) : value; + const paramValue = isSearchOperator(operator) ? value : formatValue(value, key); return ( From 405756dcea161cbc7601115536b022bc319d7e67 Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Mon, 8 Apr 2024 09:58:02 +0000 Subject: [PATCH 08/26] Remove duplicated label. --- src/components/messages.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/messages.ts b/src/components/messages.ts index 23e2d06de3..79a6b92ca1 100644 --- a/src/components/messages.ts +++ b/src/components/messages.ts @@ -15,7 +15,6 @@ export const labels = defineMessages({ username: { id: 'label.username', defaultMessage: 'Username' }, password: { id: 'label.password', defaultMessage: 'Password' }, role: { id: 'label.role', defaultMessage: 'Role' }, - admin: { id: 'label.admin', defaultMessage: 'Admin' }, user: { id: 'label.user', defaultMessage: 'User' }, viewOnly: { id: 'label.view-only', defaultMessage: 'View only' }, manage: { id: 'label.manage', defaultMessage: 'Manage' }, From 785ff76706d271e57c40e9584c435c84a3a006fe Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Mon, 8 Apr 2024 10:00:28 +0000 Subject: [PATCH 09/26] Add new strings in lang files. --- src/lang/am-ET.json | 8 ++++++++ src/lang/ar-SA.json | 8 ++++++++ src/lang/be-BY.json | 8 ++++++++ src/lang/bn-BD.json | 8 ++++++++ src/lang/ca-ES.json | 8 ++++++++ src/lang/cs-CZ.json | 8 ++++++++ src/lang/da-DK.json | 8 ++++++++ src/lang/de-CH.json | 8 ++++++++ src/lang/de-DE.json | 8 ++++++++ src/lang/el-GR.json | 8 ++++++++ src/lang/en-GB.json | 8 ++++++++ src/lang/en-US.json | 8 ++++++++ src/lang/es-ES.json | 8 ++++++++ src/lang/fa-IR.json | 8 ++++++++ src/lang/fi-FI.json | 8 ++++++++ src/lang/fo-FO.json | 8 ++++++++ src/lang/fr-FR.json | 8 ++++++++ src/lang/ga-ES.json | 8 ++++++++ src/lang/he-IL.json | 8 ++++++++ src/lang/hi-IN.json | 8 ++++++++ src/lang/hr-HR.json | 8 ++++++++ src/lang/hu-HU.json | 8 ++++++++ src/lang/id-ID.json | 8 ++++++++ src/lang/it-IT.json | 8 ++++++++ src/lang/ja-JP.json | 8 ++++++++ src/lang/km-KH.json | 8 ++++++++ src/lang/ko-KR.json | 8 ++++++++ src/lang/lt-LT.json | 10 +++++++++- src/lang/mn-MN.json | 8 ++++++++ src/lang/ms-MY.json | 8 ++++++++ src/lang/my-MM.json | 8 ++++++++ src/lang/nb-NO.json | 8 ++++++++ src/lang/nl-NL.json | 10 +++++++++- src/lang/pl-PL.json | 8 ++++++++ src/lang/pt-BR.json | 8 ++++++++ src/lang/pt-PT.json | 8 ++++++++ src/lang/ro-RO.json | 9 +++++++++ src/lang/ru-RU.json | 8 ++++++++ src/lang/si-LK.json | 8 ++++++++ src/lang/sk-SK.json | 8 ++++++++ src/lang/sl-SI.json | 8 ++++++++ src/lang/sv-SE.json | 8 ++++++++ src/lang/ta-IN.json | 8 ++++++++ src/lang/th-TH.json | 8 ++++++++ src/lang/tr-TR.json | 8 ++++++++ src/lang/uk-UA.json | 8 ++++++++ src/lang/ur-PK.json | 8 ++++++++ src/lang/vi-VN.json | 8 ++++++++ src/lang/zh-CN.json | 8 ++++++++ src/lang/zh-TW.json | 8 ++++++++ 50 files changed, 403 insertions(+), 2 deletions(-) diff --git a/src/lang/am-ET.json b/src/lang/am-ET.json index 817e9e0102..e289ddc5fb 100644 --- a/src/lang/am-ET.json +++ b/src/lang/am-ET.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Add website", "label.admin": "Administrator", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Laptop", "label.last-days": "Last {x} days", "label.last-hours": "Last {x} hours", + "label.last-months": "Last {x} months", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Settings", "label.share-url": "Share URL", "label.single-day": "Single day", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Unique visitors", "label.unknown": "Unknown", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Username", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "View details", "label.view-only": "View only", "label.views": "Views", + "label.views-per-visit": "Views per visit", "label.visitors": "Visitors", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Websites", diff --git a/src/lang/ar-SA.json b/src/lang/ar-SA.json index 24620b2c9b..e52a77c54d 100644 --- a/src/lang/ar-SA.json +++ b/src/lang/ar-SA.json @@ -5,6 +5,7 @@ "label.add": "أضِف", "label.add-description": "أضِف وصف", "label.add-member": "أضِف عضو", + "label.add-step": "Add step", "label.add-website": "إضافة موقع", "label.admin": "مدير", "label.after": "يعد", @@ -89,6 +90,7 @@ "label.laptop": "لابتوب", "label.last-days": "آخر {x} يوم/ايام", "label.last-hours": "آخر {x} ساعة", + "label.last-months": "Last {x} months", "label.leave": "غادر", "label.leave-team": "مغادرة المجموعة", "label.less-than": "أقل مِن", @@ -150,6 +152,7 @@ "label.settings": "الإعدادات", "label.share-url": "مشاركة الرابط", "label.single-day": "يوم واحد", + "label.steps": "Steps", "label.sum": "المجموع", "label.tablet": "تابلت", "label.team": "الفريق", @@ -179,17 +182,22 @@ "label.unique-visitors": "زائرون فريدون", "label.unknown": "غير معروف", "label.untitled": "بدون عنوان", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "المستخدم", "label.username": "اسم المستخدم", "label.users": "المستخدمين", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "القيمة", "label.view": "عرض", "label.view-details": "عرض التفاصيل", "label.view-only": "عرض فقط", "label.views": "المشاهدات", + "label.views-per-visit": "Views per visit", "label.visitors": "الزوار", + "label.visits": "Visits", "label.website": "الموقع", "label.website-id": "معرّف الموقع", "label.websites": "المواقع", diff --git a/src/lang/be-BY.json b/src/lang/be-BY.json index d1a097c982..b68c8dab49 100644 --- a/src/lang/be-BY.json +++ b/src/lang/be-BY.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Дадаць сайт", "label.admin": "Адміністратар", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "Налады", "label.share-url": "Падзяліцца спасылкай", "label.single-day": "Адзін дзень", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Планшэт", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Унікальныя наведвальнікі", "label.unknown": "Невядома", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Імя карыстальніка", "label.users": "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.websites": "Сайты", diff --git a/src/lang/bn-BD.json b/src/lang/bn-BD.json index fc855446fd..f94292159f 100644 --- a/src/lang/bn-BD.json +++ b/src/lang/bn-BD.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "ওয়েবসাইট যুক্ত করুন", "label.admin": "অ্যাডমিন", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "সেটিংস", "label.share-url": "ইউআরএল শেয়ার করুন", "label.single-day": "একদিন", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "ট্যাবলেট", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "অনন্য ভিজিটর", "label.unknown": "অজানা", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "ব্যবহারকারীর নাম", "label.users": "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.websites": "সবগুলো ওয়েবসাইট", diff --git a/src/lang/ca-ES.json b/src/lang/ca-ES.json index 4b1c71bce7..cf824204ae 100644 --- a/src/lang/ca-ES.json +++ b/src/lang/ca-ES.json @@ -5,6 +5,7 @@ "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.admin": "Administrador", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "Configuració", "label.share-url": "Enllaç per compartir", "label.single-day": "Un sol dia", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tauleta", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Visitants únics", "label.unknown": "Desconegut", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Nom d'usuari", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Veure els detalls", "label.view-only": "View only", "label.views": "Vistes", + "label.views-per-visit": "Views per visit", "label.visitors": "Visitants", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Llocs web", diff --git a/src/lang/cs-CZ.json b/src/lang/cs-CZ.json index 86a8b6016d..7f3599c9b8 100644 --- a/src/lang/cs-CZ.json +++ b/src/lang/cs-CZ.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Přidat web", "label.admin": "Administrátor", "label.after": "After", @@ -89,6 +90,7 @@ "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.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Nastavení", "label.share-url": "Sdílet URL", "label.single-day": "Jeden den", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Jedinečné návštěvy", "label.unknown": "Neznámý", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Uživatelské jméno", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Zobrazit detaily", "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.website": "Website", "label.website-id": "Website ID", "label.websites": "Weby", diff --git a/src/lang/da-DK.json b/src/lang/da-DK.json index 1c3ccf1723..fe6d483f01 100644 --- a/src/lang/da-DK.json +++ b/src/lang/da-DK.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Tilføj hjemmeside", "label.admin": "Administrator", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Laptop", "label.last-days": "Sidste {x} dage", "label.last-hours": "Sidste {x} timer", + "label.last-months": "Last {x} months", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Indstillinger", "label.share-url": "Del URL", "label.single-day": "Enkelt dag", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Unikke besøgende", "label.unknown": "Ukendt", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Brugernavn", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Vis detajler", "label.view-only": "View only", "label.views": "Visninger", + "label.views-per-visit": "Views per visit", "label.visitors": "Besøgende", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Hjemmesider", diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index 4702d6cc2f..a99826310f 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Websiite hinzuefüege", "label.admin": "Administrator", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Laptop", "label.last-days": "Letzti {x} Täg", "label.last-hours": "Letzti {x} Stunde", + "label.last-months": "Last {x} months", "label.leave": "Verlah", "label.leave-team": "Team verlah", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Istellige", "label.share-url": "Freigab-URL", "label.single-day": "Ein Tag", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Eidütigi Bsuecher", "label.unknown": "Unbekannt", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Benutzer", "label.username": "Benutzername", "label.users": "Benutzer", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "Azeige", "label.view-details": "Details azeige", "label.view-only": "View only", "label.views": "Ufrüef", + "label.views-per-visit": "Views per visit", "label.visitors": "Bsuecher", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Websiite ID", "label.websites": "Websiite", diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index a466231ce8..3272abaf1a 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -5,6 +5,7 @@ "label.add": "Hinzufügen", "label.add-description": "Beschreibung hinzufügen", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Website hinzufügen", "label.admin": "Administrator", "label.after": "Nach", @@ -89,6 +90,7 @@ "label.laptop": "Laptop", "label.last-days": "Letzte {x} Tage", "label.last-hours": "Letzte {x} Stunden", + "label.last-months": "Last {x} months", "label.leave": "Verlassen", "label.leave-team": "Team verlassen", "label.less-than": "Kleiner als", @@ -150,6 +152,7 @@ "label.settings": "Einstellungen", "label.share-url": "Freigabe-URL", "label.single-day": "Ein Tag", + "label.steps": "Steps", "label.sum": "Summe", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Eindeutige Besucher", "label.unknown": "Unbekannt", "label.untitled": "Unbenannt", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Benutzer", "label.username": "Benutzername", "label.users": "Benutzer", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "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.visitors": "Besucher", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Websites", diff --git a/src/lang/el-GR.json b/src/lang/el-GR.json index 2764b17e06..1c1fd1b22d 100644 --- a/src/lang/el-GR.json +++ b/src/lang/el-GR.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Προσθήκη ιστότοπου", "label.admin": "Διαχειριστής", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "Ρυθμίσεις", "label.share-url": "Κοινοποίηση διεύθυνσης URL", "label.single-day": "Ημερήσια", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Τάμπλετ", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Μοναδικοί επισκέπτες", "label.unknown": "Άγνωστο", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Όνομα χρήστη", "label.users": "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.websites": "Ιστότοποι", diff --git a/src/lang/en-GB.json b/src/lang/en-GB.json index cdc101c899..3df625f8e1 100644 --- a/src/lang/en-GB.json +++ b/src/lang/en-GB.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Add website", "label.admin": "Administrator", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Laptop", "label.last-days": "Last {x} days", "label.last-hours": "Last {x} hours", + "label.last-months": "Last {x} months", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Settings", "label.share-url": "Share URL", "label.single-day": "Single day", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Unique visitors", "label.unknown": "Unknown", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Username", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "View details", "label.view-only": "View only", "label.views": "Views", + "label.views-per-visit": "Views per visit", "label.visitors": "Visitors", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Websites", diff --git a/src/lang/en-US.json b/src/lang/en-US.json index 2a28d84489..5ceb39d183 100644 --- a/src/lang/en-US.json +++ b/src/lang/en-US.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Add website", "label.admin": "Administrator", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Laptop", "label.last-days": "Last {x} days", "label.last-hours": "Last {x} hours", + "label.last-months": "Last {x} months", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Settings", "label.share-url": "Share URL", "label.single-day": "Single day", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Unique visitors", "label.unknown": "Unknown", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Username", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "View details", "label.view-only": "View only", "label.views": "Views", + "label.views-per-visit": "Views per visit", "label.visitors": "Visitors", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Websites", diff --git a/src/lang/es-ES.json b/src/lang/es-ES.json index 6bf21f3619..43e74e2146 100644 --- a/src/lang/es-ES.json +++ b/src/lang/es-ES.json @@ -5,6 +5,7 @@ "label.add": "Añadir", "label.add-description": "Añadir descripción", "label.add-member": "Añadir miembro", + "label.add-step": "Add step", "label.add-website": "Nuevo sitio web", "label.admin": "Administrador", "label.after": "Después", @@ -89,6 +90,7 @@ "label.laptop": "Portátil", "label.last-days": "Últimos {x} días", "label.last-hours": "Últimas {x} horas", + "label.last-months": "Last {x} months", "label.leave": "Abandonar", "label.leave-team": "Abandonar equipo", "label.less-than": "Menor que", @@ -150,6 +152,7 @@ "label.settings": "Ajustes", "label.share-url": "Compartir URL", "label.single-day": "Un solo día", + "label.steps": "Steps", "label.sum": "Suma", "label.tablet": "Tableta", "label.team": "Equipo", @@ -179,17 +182,22 @@ "label.unique-visitors": "Visitantes únicos", "label.unknown": "Desconocida", "label.untitled": "Sin título", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Usuario", "label.username": "Nombre de usuario", "label.users": "Usuarios", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "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.visitors": "Visitantes", + "label.visits": "Visits", "label.website": "Sitio web", "label.website-id": "ID del sitio web", "label.websites": "Sitios web", diff --git a/src/lang/fa-IR.json b/src/lang/fa-IR.json index 36be8addab..70c60f0181 100644 --- a/src/lang/fa-IR.json +++ b/src/lang/fa-IR.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "افزودن وب‌سایت", "label.admin": "مدیر", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "تنظیمات", "label.share-url": "به اشتراک گذاری URL", "label.single-day": "یک روز", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "تبلت", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "بازدیدکننده‌های یکتا", "label.unknown": "ناشناخته", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "نام کاربری", "label.users": "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.websites": "وب‌سایت‌ها", diff --git a/src/lang/fi-FI.json b/src/lang/fi-FI.json index bc9048dc41..f827c482ac 100644 --- a/src/lang/fi-FI.json +++ b/src/lang/fi-FI.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Lisää verkkosivu", "label.admin": "Järjestelmänvalvoja", "label.after": "After", @@ -89,6 +90,7 @@ "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.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Asetukset", "label.share-url": "Jaa URL", "label.single-day": "Yksi päivä", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tabletti", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Yksittäiset kävijät", "label.unknown": "Tuntematon", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Käyttäjänimi", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Katso tiedot", "label.view-only": "View only", "label.views": "Näyttökerrat", + "label.views-per-visit": "Views per visit", "label.visitors": "Vierailijat", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Verkkosivut", diff --git a/src/lang/fo-FO.json b/src/lang/fo-FO.json index 8fad3c943a..6b9e42d0c3 100644 --- a/src/lang/fo-FO.json +++ b/src/lang/fo-FO.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Legg heimasíðu afturat", "label.admin": "Fyrisitari", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Fartelda", "label.last-days": "Seinastu {x} dagarnar", "label.last-hours": "Seinastu {x} tímarnar", + "label.last-months": "Last {x} months", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Stillingar", "label.share-url": "Deil leinku", "label.single-day": "Einkultur dagur", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Teldil", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Einsýna vitjanir", "label.unknown": "Ókent", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Brúkaranavn", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Vís frágreiðing", "label.view-only": "View only", "label.views": "Sýningar", + "label.views-per-visit": "Views per visit", "label.visitors": "Vitjandi", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Heimasíður", diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index bbff27fd2b..eb04d5975e 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -5,6 +5,7 @@ "label.add": "Ajouter", "label.add-description": "Ajouter une description", "label.add-member": "Ajouter un membre", + "label.add-step": "Add step", "label.add-website": "Ajouter un site", "label.admin": "Administrateur", "label.after": "Après", @@ -89,6 +90,7 @@ "label.laptop": "Portable", "label.last-days": "{x} derniers jours", "label.last-hours": "{x} dernières heures", + "label.last-months": "Last {x} months", "label.leave": "Quitter", "label.leave-team": "Quitter l'équipe", "label.less-than": "Inférieur à", @@ -150,6 +152,7 @@ "label.settings": "Paramètres", "label.share-url": "URL de partage", "label.single-day": "Journée", + "label.steps": "Steps", "label.sum": "Somme", "label.tablet": "Tablette", "label.team": "Équipe", @@ -179,17 +182,22 @@ "label.unique-visitors": "Visiteurs uniques", "label.unknown": "Inconnu", "label.untitled": "Sans titre", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Utilisateur", "label.username": "Nom d'utilisateur", "label.users": "Utilisateurs", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Valeur", "label.view": "Voir", "label.view-details": "Voir les détails", "label.view-only": "Consultation", "label.views": "Vues", + "label.views-per-visit": "Views per visit", "label.visitors": "Visiteurs", + "label.visits": "Visits", "label.website": "Site", "label.website-id": "ID de site", "label.websites": "Sites", diff --git a/src/lang/ga-ES.json b/src/lang/ga-ES.json index 45bac85ebe..fa9a1cc5a7 100644 --- a/src/lang/ga-ES.json +++ b/src/lang/ga-ES.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Engadir sitio web", "label.admin": "Administradora", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Portátil", "label.last-days": "Últimos {x} días", "label.last-hours": "Últimas {x} horas", + "label.last-months": "Last {x} months", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Axustes", "label.share-url": "Compartir URL", "label.single-day": "Un só día", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tableta", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Visitas únicas", "label.unknown": "Descoñecido", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Identificador", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Ver detalles", "label.view-only": "View only", "label.views": "Visualizacións", + "label.views-per-visit": "Views per visit", "label.visitors": "Visitantes", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Sitios web", diff --git a/src/lang/he-IL.json b/src/lang/he-IL.json index c95a411915..3c422a76f5 100644 --- a/src/lang/he-IL.json +++ b/src/lang/he-IL.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "הוספת אתר", "label.admin": "מנהל", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "הגדרות", "label.share-url": "שיתוף URL", "label.single-day": "יום בודד", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "טאבלט", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "מבקרים ייחודיים", "label.unknown": "לא ידוע", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "שם משתמש", "label.users": "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.websites": "אתרים", diff --git a/src/lang/hi-IN.json b/src/lang/hi-IN.json index e90e3bbf47..791111c834 100644 --- a/src/lang/hi-IN.json +++ b/src/lang/hi-IN.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "वेबसाइट", "label.admin": "प्रशासक", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "समायोजन", "label.share-url": "यूआरएल साझा करें", "label.single-day": "एक दिन", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "टैबलेट", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "अद्वितीय आगंतुकों", "label.unknown": "अज्ञात", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "उपयोगकर्ता नाम", "label.users": "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.websites": "वेबसाइटों", diff --git a/src/lang/hr-HR.json b/src/lang/hr-HR.json index 563af35d71..7ba496c756 100644 --- a/src/lang/hr-HR.json +++ b/src/lang/hr-HR.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Dodaj web stranicu", "label.admin": "Administrator", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Laptop", "label.last-days": "Zadnjih {x} dana", "label.last-hours": "Zadnjih {x} sati", + "label.last-months": "Last {x} months", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Postavke", "label.share-url": "Podijeli poveznicu", "label.single-day": "Jedan dan", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Unique visitors", "label.unknown": "Nepoznato", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Korisničko ime", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Pogledaj detalje", "label.view-only": "View only", "label.views": "Views", + "label.views-per-visit": "Views per visit", "label.visitors": "Visitors", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Web stranice", diff --git a/src/lang/hu-HU.json b/src/lang/hu-HU.json index 6a1be2be1e..b73b36a77e 100644 --- a/src/lang/hu-HU.json +++ b/src/lang/hu-HU.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Weboldal hozzáadása", "label.admin": "Adminisztrátor", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Laptop", "label.last-days": "Legutóbbi {x} nap", "label.last-hours": "Legutóbbi {x} óra", + "label.last-months": "Last {x} months", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Beállítások", "label.share-url": "URL megosztása", "label.single-day": "Egy nap", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Táblagép", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Egyedi látogatók", "label.unknown": "Ismeretlen", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Felhasználónév", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Részletek", "label.view-only": "View only", "label.views": "Megtekintések", + "label.views-per-visit": "Views per visit", "label.visitors": "Látogatók", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Weboldalak", diff --git a/src/lang/id-ID.json b/src/lang/id-ID.json index 00fc71a5d1..64d17d9a93 100644 --- a/src/lang/id-ID.json +++ b/src/lang/id-ID.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Tambah situs web", "label.admin": "Pengelola", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Laptop", "label.last-days": "{x} hari terakhir", "label.last-hours": "{x} jam terakhir", + "label.last-months": "Last {x} months", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Pengaturan", "label.share-url": "Bagikan URL", "label.single-day": "Sehari", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Pengunjung unik", "label.unknown": "Tidak diketahui", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Nama pengguna", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Lihat Detil", "label.view-only": "View only", "label.views": "Tampilan", + "label.views-per-visit": "Views per visit", "label.visitors": "Pengunjung", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Situs web", diff --git a/src/lang/it-IT.json b/src/lang/it-IT.json index 330e92f70f..9425d5e691 100644 --- a/src/lang/it-IT.json +++ b/src/lang/it-IT.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Aggiungi sito", "label.admin": "Amministratore", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Portatile", "label.last-days": "Ultimi {x} giorni", "label.last-hours": "Ultime {x} ore", + "label.last-months": "Last {x} months", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Impostazioni", "label.share-url": "Condividi link", "label.single-day": "Singolo giorno", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Visitatori unici", "label.unknown": "Sconosciuto", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Nome utente", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Vedi dettagli", "label.view-only": "View only", "label.views": "Visualizzazioni", + "label.views-per-visit": "Views per visit", "label.visitors": "Visitatori", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Siti web", diff --git a/src/lang/ja-JP.json b/src/lang/ja-JP.json index 1b164df452..b646bd51e3 100644 --- a/src/lang/ja-JP.json +++ b/src/lang/ja-JP.json @@ -5,6 +5,7 @@ "label.add": "追加", "label.add-description": "説明を追加", "label.add-member": "メンバーの追加", + "label.add-step": "Add step", "label.add-website": "Webサイトの追加", "label.admin": "管理者", "label.after": "直後", @@ -89,6 +90,7 @@ "label.laptop": "ノートPC", "label.last-days": "過去{x}日間", "label.last-hours": "過去{x}時間", + "label.last-months": "Last {x} months", "label.leave": "離脱", "label.leave-team": "チームを離脱", "label.less-than": "未満", @@ -150,6 +152,7 @@ "label.settings": "設定", "label.share-url": "共有URL", "label.single-day": "一日", + "label.steps": "Steps", "label.sum": "合計", "label.tablet": "タブレット", "label.team": "チーム", @@ -179,17 +182,22 @@ "label.unique-visitors": "ユニーク訪問者数", "label.unknown": "不明", "label.untitled": "無題", + "label.update": "Update", "label.url": "URL", "label.urls": "URL", "label.user": "ユーザー", "label.username": "ユーザー名", "label.users": "ユーザー", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "値", "label.view": "表示", "label.view-details": "詳細を表示", "label.view-only": "表示のみ", "label.views": "表示", + "label.views-per-visit": "Views per visit", "label.visitors": "訪問者", + "label.visits": "Visits", "label.website": "Webサイト", "label.website-id": "WebサイトID", "label.websites": "Webサイト", diff --git a/src/lang/km-KH.json b/src/lang/km-KH.json index 9da1971ad7..17ddd91457 100644 --- a/src/lang/km-KH.json +++ b/src/lang/km-KH.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "បន្ថែមគេហទំព័រ", "label.admin": "អ្នកគ្រប់គ្រង", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "ការកំណត់", "label.share-url": "ចែករំលែក URL", "label.single-day": "ថ្ងៃតែមួយ", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "ថេប្លេត", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "អ្នកចូលមើលម្នាក់ៗ", "label.unknown": "មិនស្គាល់", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "ឈ្មោះ​អ្នកប្រើប្រាស់", "label.users": "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.websites": "គេហទំព័រ", diff --git a/src/lang/ko-KR.json b/src/lang/ko-KR.json index e21a3f766a..f64f03aa62 100644 --- a/src/lang/ko-KR.json +++ b/src/lang/ko-KR.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "웹사이트 추가", "label.admin": "관리자", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "설정", "label.share-url": "공유 URL", "label.single-day": "하루", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "태블릿", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "순방문자(UV)", "label.unknown": "알 수 없음", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "사용자명", "label.users": "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.websites": "웹사이트", diff --git a/src/lang/lt-LT.json b/src/lang/lt-LT.json index eacbdb7e6b..0d8f53e99e 100644 --- a/src/lang/lt-LT.json +++ b/src/lang/lt-LT.json @@ -5,8 +5,9 @@ "label.add": "Pridėti", "label.add-description": "Pridėti aprašymą", "label.add-member": "Pridėti narį", + "label.add-step": "Add step", "label.add-website": "Pridėti svetainę", - "label.administrator": "Administratorius", + "label.admin": "Administrator", "label.after": "Po", "label.all": "Visi", "label.all-time": "Visas laikotarpis", @@ -89,6 +90,7 @@ "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.leave": "Išeiti", "label.leave-team": "Išeiti iš komandos", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Nustatymai", "label.share-url": "Pasidalinti nuoroda", "label.single-day": "Viena diena", + "label.steps": "Steps", "label.sum": "Suma", "label.tablet": "Planšetė", "label.team": "Komanda", @@ -179,17 +182,22 @@ "label.unique-visitors": "Unikalūs lankytojai", "label.unknown": "Nežinoma", "label.untitled": "Be pavadinimo", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Vartotojas", "label.username": "Vartotojo vardas", "label.users": "Vartotojai", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "Atidaryti", "label.view-details": "Peržiūrėti detaliau", "label.view-only": "Tik peržiūrėti", "label.views": "Peržiūros", + "label.views-per-visit": "Views per visit", "label.visitors": "Lankytojai", + "label.visits": "Visits", "label.website": "Svetainė", "label.website-id": "Svetainės ID", "label.websites": "Svetainės", diff --git a/src/lang/mn-MN.json b/src/lang/mn-MN.json index 02dc405264..bd001addea 100644 --- a/src/lang/mn-MN.json +++ b/src/lang/mn-MN.json @@ -5,6 +5,7 @@ "label.add": "Нэмэх", "label.add-description": "Тайлбар нэмэх", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Веб нэмэх", "label.admin": "Админ", "label.after": "Хойно", @@ -89,6 +90,7 @@ "label.laptop": "Зөөврийн компьютер", "label.last-days": "Сүүлийн {x} хоног", "label.last-hours": "Сүүлийн {x} цаг", + "label.last-months": "Last {x} months", "label.leave": "Гарах", "label.leave-team": "Багаас гарах", "label.less-than": "Бага", @@ -150,6 +152,7 @@ "label.settings": "Тохиргоо", "label.share-url": "Хуваалцах холбоос", "label.single-day": "Нэг өдөр", + "label.steps": "Steps", "label.sum": "Нийлбэр", "label.tablet": "Таблет", "label.team": "Баг", @@ -179,17 +182,22 @@ "label.unique-visitors": "Зочин", "label.unknown": "Тодорхойгүй", "label.untitled": "Гарчиггүй", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Хэрэглэгч", "label.username": "Хэрэглэгчийн нэр", "label.users": "Хэрэглэгчид", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Утга", "label.view": "Харах", "label.view-details": "Дэлгэрүүлж харах", "label.view-only": "Зөвхөн үзэх", "label.views": "Үзсэн", + "label.views-per-visit": "Views per visit", "label.visitors": "Зочин", + "label.visits": "Visits", "label.website": "Веб", "label.website-id": "Вебийн ID", "label.websites": "Вебүүд", diff --git a/src/lang/ms-MY.json b/src/lang/ms-MY.json index 69b7e55454..6fef993140 100644 --- a/src/lang/ms-MY.json +++ b/src/lang/ms-MY.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Tambah laman web", "label.admin": "Pentadbir", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Laptop", "label.last-days": "{x} hari lepas", "label.last-hours": "{x} jam lepas", + "label.last-months": "Last {x} months", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Tetapan", "label.share-url": "Kongsikan URL", "label.single-day": "Satu hari", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Pelawat unik", "label.unknown": "Tidak diketahui", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Nama pengguna", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Lihat butiran", "label.view-only": "View only", "label.views": "Lawatan", + "label.views-per-visit": "Views per visit", "label.visitors": "Pelawat", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Laman web", diff --git a/src/lang/my-MM.json b/src/lang/my-MM.json index ce27b83fb1..bf8e0217e2 100644 --- a/src/lang/my-MM.json +++ b/src/lang/my-MM.json @@ -5,6 +5,7 @@ "label.add": "ထပ်ထည့်မည်", "label.add-description": "အကြောင်းအရာဖော်ပြချက် ထည့်မည်", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "ဝက်ဘ်ဆိုဒ်ထည့်မည်", "label.admin": "အက်ဒမင်", "label.after": "ပြီးနောက်", @@ -89,6 +90,7 @@ "label.laptop": "လက်တော့ပ်", "label.last-days": "လွန်ခဲ့သော {x} ရက်က", "label.last-hours": "လွန်ခဲ့သော {x} နာရီက", + "label.last-months": "Last {x} months", "label.leave": "ထွက်မည်", "label.leave-team": "အသင်းမှထွက်မည်", "label.less-than": "ထက်ပို၍ငယ်သည်", @@ -150,6 +152,7 @@ "label.settings": "ဆက်တင်များ", "label.share-url": "URL ကိုရှဲမည်", "label.single-day": "တစ်ရက်အတွင်း", + "label.steps": "Steps", "label.sum": "ပေါင်းလဒ်", "label.tablet": "တက်ဘလက်", "label.team": "အသင်း", @@ -179,17 +182,22 @@ "label.unique-visitors": "ဝင်ရောက်သူ (ထပ်ခြင်းမရှိ)", "label.unknown": "မသိသော", "label.untitled": "ခေါင်းစဉ်မရှိ", + "label.update": "Update", "label.url": "URL", "label.urls": "URL များ", "label.user": "အသုံးပြုသူ", "label.username": "အသုံးပြုသူအမည်", "label.users": "အသုံးပြုသူများ", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "တန်ဖိုး", "label.view": "ဝင်ရောက်ကြည့်ရှုမှု", "label.view-details": "အသေးစိတ်ကို ကြည့်ရှုမည်", "label.view-only": "ဝင်ရောက်ကြည့်ရှုမှုများသာ", "label.views": "ဝင်ရောက်ကြည့်ရှုမှုများ", + "label.views-per-visit": "Views per visit", "label.visitors": "ဝင်ရောက်ကြည့်ရှုသူများ", + "label.visits": "Visits", "label.website": "ဝက်ဘ်ဆိုဒ်", "label.website-id": "ဝက်ဘ်ဆိုဒ် အိုင်ဒီ", "label.websites": "ဝက်ဘ်ဆိုဒ်များ", diff --git a/src/lang/nb-NO.json b/src/lang/nb-NO.json index e39cc6ad9b..a0fe6575f9 100644 --- a/src/lang/nb-NO.json +++ b/src/lang/nb-NO.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Legg til nettsted", "label.admin": "Administrator", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Bærbar", "label.last-days": "Siste {x} dager", "label.last-hours": "Siste {x} timer", + "label.last-months": "Last {x} months", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Innstillinger", "label.share-url": "Del URL", "label.single-day": "Enkelt dag", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Nettbrett", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Unike besøkende", "label.unknown": "Ukjent", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Brukernavn", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Vis detaljer", "label.view-only": "View only", "label.views": "Visninger", + "label.views-per-visit": "Views per visit", "label.visitors": "Besøkende", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Nettsteder", diff --git a/src/lang/nl-NL.json b/src/lang/nl-NL.json index 92be31421e..4335345a79 100644 --- a/src/lang/nl-NL.json +++ b/src/lang/nl-NL.json @@ -5,8 +5,9 @@ "label.add": "Toevoegen", "label.add-description": "Omschrijving toevoegen", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Website koppelen", - "label.administrator": "Beheerder", + "label.admin": "Administrator", "label.after": "Na", "label.all": "Alles", "label.all-time": "Onbeperkt", @@ -89,6 +90,7 @@ "label.laptop": "Laptop", "label.last-days": "Laatste {x} dagen", "label.last-hours": "Laatste {x} uur", + "label.last-months": "Last {x} months", "label.leave": "Verlaten", "label.leave-team": "Verlaat team", "label.less-than": "Minder dan", @@ -150,6 +152,7 @@ "label.settings": "Instellingen", "label.share-url": "URL delen", "label.single-day": "Enkele dag", + "label.steps": "Steps", "label.sum": "Som", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Unieke bezoekers", "label.unknown": "Onbekend", "label.untitled": "Ongetiteld", + "label.update": "Update", "label.url": "URL", "label.urls": "URL's", "label.user": "Gebruiker", "label.username": "Gebruikersnaam", "label.users": "Gebruikers", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Waarde", "label.view": "Weergave", "label.view-details": "Meer details", "label.view-only": "Alleen inzien", "label.views": "Weergaven", + "label.views-per-visit": "Views per visit", "label.visitors": "Bezoekers", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Websites", diff --git a/src/lang/pl-PL.json b/src/lang/pl-PL.json index 99f668500a..7eae7baaf6 100644 --- a/src/lang/pl-PL.json +++ b/src/lang/pl-PL.json @@ -5,6 +5,7 @@ "label.add": "Dodaj", "label.add-description": "Dodaj opis", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Dodaj witrynę", "label.admin": "Administrator", "label.after": "Po", @@ -89,6 +90,7 @@ "label.laptop": "Laptop", "label.last-days": "Ostatnie {x} dni", "label.last-hours": "Ostatnie {x} godzin", + "label.last-months": "Last {x} months", "label.leave": "Opuść", "label.leave-team": "Opuść zespół", "label.less-than": "Mniejsze niż", @@ -150,6 +152,7 @@ "label.settings": "Ustawienia", "label.share-url": "Udostępnij adres URL", "label.single-day": "W tym dniu", + "label.steps": "Steps", "label.sum": "Suma", "label.tablet": "Tablet", "label.team": "Zespół", @@ -179,17 +182,22 @@ "label.unique-visitors": "Unikalni odwiedzający", "label.unknown": "Nieznany", "label.untitled": "Bez tytułu", + "label.update": "Update", "label.url": "Link", "label.urls": "Linki", "label.user": "Użytkownik", "label.username": "Nazwa użytkownika", "label.users": "Użytkownicy", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "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.visitors": "Odwiedzający", + "label.visits": "Visits", "label.website": "Witryna", "label.website-id": "ID witryny", "label.websites": "Witryny", diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index 2c34ab3328..0615494477 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Adicionar site", "label.admin": "Administrador", "label.after": "Depois", @@ -89,6 +90,7 @@ "label.laptop": "Notebook", "label.last-days": "Últimos {x} dias", "label.last-hours": "Últimas {x} horas", + "label.last-months": "Last {x} months", "label.leave": "Sair", "label.leave-team": "Sair do time", "label.less-than": "Menor que", @@ -150,6 +152,7 @@ "label.settings": "Configurações", "label.share-url": "Link de compartilhamento", "label.single-day": "Dia específico", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Time", @@ -179,17 +182,22 @@ "label.unique-visitors": "Visitantes únicos", "label.unknown": "Desconhecido", "label.untitled": "Sem título", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Usuário", "label.username": "Nome de usuário", "label.users": "Usuários", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Valor", "label.view": "Ver", "label.view-details": "Ver detalhes", "label.view-only": "Somente visualização", "label.views": "Visualizações", + "label.views-per-visit": "Views per visit", "label.visitors": "Visitantes", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "ID do Site", "label.websites": "Sites", diff --git a/src/lang/pt-PT.json b/src/lang/pt-PT.json index 3bbc5e7076..36966c9839 100644 --- a/src/lang/pt-PT.json +++ b/src/lang/pt-PT.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Adicionar website", "label.admin": "Administrador", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Portátil", "label.last-days": "Últimos {x} dias", "label.last-hours": "Últimas {x} horas", + "label.last-months": "Last {x} months", "label.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Definições", "label.share-url": "Partilhar link", "label.single-day": "Dia único", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Visitantes únicos", "label.unknown": "Desconhecido", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Nome de utilizador", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Ver detalhes", "label.view-only": "View only", "label.views": "Visualizações", + "label.views-per-visit": "Views per visit", "label.visitors": "Visitantes", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Websites", diff --git a/src/lang/ro-RO.json b/src/lang/ro-RO.json index 8b9ffa0250..296f51b776 100644 --- a/src/lang/ro-RO.json +++ b/src/lang/ro-RO.json @@ -5,6 +5,7 @@ "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.admin": "Administrator", "label.after": "După", @@ -35,6 +36,7 @@ "label.create-team": "Crează echipă", "label.create-user": "Crează utilizator", "label.created": "Creat", + "label.created-by": "Created By", "label.current-password": "Parola curentă", "label.custom-range": "Interval personalizat", "label.dashboard": "Tablou de bord", @@ -88,6 +90,7 @@ "label.laptop": "Laptop", "label.last-days": "Ultimele {x} zile", "label.last-hours": "Ultimele {x} ore", + "label.last-months": "Last {x} months", "label.leave": "Părăsește", "label.leave-team": "Părăsește echipa", "label.less-than": "Mai puțin decât", @@ -149,6 +152,7 @@ "label.settings": "Setări", "label.share-url": "Partajare URL", "label.single-day": "O singură zi", + "label.steps": "Steps", "label.sum": "Sumă", "label.tablet": "Tabletă", "label.team": "Echipă", @@ -178,17 +182,22 @@ "label.unique-visitors": "Vizitatori unici", "label.unknown": "Necunoscut", "label.untitled": "Fără titlu", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Utilizator", "label.username": "Nume utilizator", "label.users": "Utilizatori", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "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.visitors": "Vizitatori", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "ID Website", "label.websites": "Site-uri web", diff --git a/src/lang/ru-RU.json b/src/lang/ru-RU.json index 78425bf4dd..3d1d8e74f9 100644 --- a/src/lang/ru-RU.json +++ b/src/lang/ru-RU.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Добавить сайт", "label.admin": "Администратор", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "Ноутбук", "label.last-days": "Последние {x} дней", "label.last-hours": "Последние {x} часа", + "label.last-months": "Last {x} months", "label.leave": "Уйти", "label.leave-team": "Покинуть команду", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Настройки", "label.share-url": "Поделиться ссылкой", "label.single-day": "Один день", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Планшет", "label.team": "Команда", @@ -179,17 +182,22 @@ "label.unique-visitors": "Уникальные посетители", "label.unknown": "Неизвестно", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "Пользователь", "label.username": "Имя пользователя", "label.users": "Пользователи", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.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": "ID сайта", "label.websites": "Сайты", diff --git a/src/lang/si-LK.json b/src/lang/si-LK.json index 7e65c9ae73..6f672ab5ca 100644 --- a/src/lang/si-LK.json +++ b/src/lang/si-LK.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "වෙබ් අඩවිය එක් කරන්න", "label.admin": "Administrator", "label.after": "After", @@ -89,6 +90,7 @@ "label.laptop": "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", @@ -150,6 +152,7 @@ "label.settings": "සැකසුම්", "label.share-url": "බෙදාගැනීමේ URL", "label.single-day": "තනි දවස", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Unique visitors", "label.unknown": "නොදනී", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "පරිශීලක නාමය", "label.users": "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": "Views", + "label.views-per-visit": "Views per visit", "label.visitors": "Visitors", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "වෙබ් අඩවි", diff --git a/src/lang/sk-SK.json b/src/lang/sk-SK.json index f821500936..d978281a11 100644 --- a/src/lang/sk-SK.json +++ b/src/lang/sk-SK.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Pridať web", "label.admin": "Administrátor", "label.after": "After", @@ -89,6 +90,7 @@ "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.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Nastavenia", "label.share-url": "Zdielanie URL", "label.single-day": "Jeden deň", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Jedinečné návštevy", "label.unknown": "Neznámý", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Užívateľské meno", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Zobraziť detaily", "label.view-only": "View only", "label.views": "Zobrazení", + "label.views-per-visit": "Views per visit", "label.visitors": "Návštevy", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Weby", diff --git a/src/lang/sl-SI.json b/src/lang/sl-SI.json index 2368a4f381..9ba94e3bc1 100644 --- a/src/lang/sl-SI.json +++ b/src/lang/sl-SI.json @@ -5,6 +5,7 @@ "label.add": "Dodaj", "label.add-description": "Dodaj opis", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Dodaj spletno mesto", "label.admin": "Administrator", "label.after": "Po", @@ -89,6 +90,7 @@ "label.laptop": "Prenosni računalnik", "label.last-days": "Zadnjih {x} dni", "label.last-hours": "Zadnjih {x} ur", + "label.last-months": "Last {x} months", "label.leave": "Zapusti", "label.leave-team": "Zapusti ekipo", "label.less-than": "Manjše kot", @@ -150,6 +152,7 @@ "label.settings": "Nastavitve", "label.share-url": "Deli povezavo", "label.single-day": "En dan", + "label.steps": "Steps", "label.sum": "Seštevek", "label.tablet": "Tablični računalnik", "label.team": "Ekipa", @@ -179,17 +182,22 @@ "label.unique-visitors": "Unikatni obiskovalci", "label.unknown": "Neznano", "label.untitled": "Brez naslova", + "label.update": "Update", "label.url": "Povezava", "label.urls": "Povezave", "label.user": "Uporabnik", "label.username": "Uporabniško ime", "label.users": "Uporabniki", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Vrednost", "label.view": "Poglej", "label.view-details": "Poglej podrobnosti", "label.view-only": "Samo ogledovanje", "label.views": "Obiski", + "label.views-per-visit": "Views per visit", "label.visitors": "Obiskovalci", + "label.visits": "Visits", "label.website": "Spletno mesto", "label.website-id": "ID spletnega mesta", "label.websites": "Spletnih mest", diff --git a/src/lang/sv-SE.json b/src/lang/sv-SE.json index 37738596f0..87e9094231 100644 --- a/src/lang/sv-SE.json +++ b/src/lang/sv-SE.json @@ -5,6 +5,7 @@ "label.add": "Lägg till", "label.add-description": "Lägg till beskrivning", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Lägg till webbplats", "label.admin": "Administratör", "label.after": "Efter", @@ -89,6 +90,7 @@ "label.laptop": "Bärbar", "label.last-days": "Senaste {x} dagarna", "label.last-hours": "Senaste {x} timmarna", + "label.last-months": "Last {x} months", "label.leave": "Lämna", "label.leave-team": "Lämna team", "label.less-than": "Mindre än", @@ -150,6 +152,7 @@ "label.settings": "Inställningar", "label.share-url": "Delningslänk", "label.single-day": "En dag", + "label.steps": "Steps", "label.sum": "Summa", "label.tablet": "Surfplatta", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Unika besökare", "label.unknown": "Okänt", "label.untitled": "Namnlös", + "label.update": "Update", "label.url": "Länk", "label.urls": "Länkar", "label.user": "Användare", "label.username": "Användarnamn", "label.users": "Användare", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Värde", "label.view": "Visa", "label.view-details": "Visa detaljer", "label.view-only": "Endast visning", "label.views": "Visningar", + "label.views-per-visit": "Views per visit", "label.visitors": "Besökare", + "label.visits": "Visits", "label.website": "Webbplats", "label.website-id": "Webbplats ID", "label.websites": "Webbplatser", diff --git a/src/lang/ta-IN.json b/src/lang/ta-IN.json index 0eca3c4542..4e40c49020 100644 --- a/src/lang/ta-IN.json +++ b/src/lang/ta-IN.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "வலைத்தளத்தைச் சேர்க்க", "label.admin": "நிர்வாகியைச் சேர்க்க", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "அமைப்புகள்", "label.share-url": "வலைத்தள களத்தைப் பகிரவும்", "label.single-day": "ஒரு நாள்", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "கையடக்க கணினி", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "தனிப்பட்ட பார்வையாளர்கள்", "label.unknown": "தெரியாத", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "பயனர்பெயர்", "label.users": "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.websites": "வலைத்தளங்கள்", diff --git a/src/lang/th-TH.json b/src/lang/th-TH.json index 11b94c1ce4..a5ebeefb7a 100644 --- a/src/lang/th-TH.json +++ b/src/lang/th-TH.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "เพิ่มเว็บไซต์", "label.admin": "ผู้ดูแลระบบ", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "ตั้งค่า", "label.share-url": "แชร์ลิงก์", "label.single-day": "วันที่", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "แท็บเล็ต", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "ผู้เข้าชม", "label.unknown": "ไม่รู้จัก", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "ชื่อผู้ใช้", "label.users": "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.websites": "เว็บไซต์", diff --git a/src/lang/tr-TR.json b/src/lang/tr-TR.json index 4249c836da..cb8ef1fa6b 100644 --- a/src/lang/tr-TR.json +++ b/src/lang/tr-TR.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Web sitesi ekle", "label.admin": "Yönetici", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "Ayarlar", "label.share-url": "Paylaşım adresi", "label.single-day": "Tekil gün", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Tablet", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Tekil kullanıcı", "label.unknown": "Bilinmeyen", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Kullanıcı adı", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Detayı incele", "label.view-only": "View only", "label.views": "Görüntüleme", + "label.views-per-visit": "Views per visit", "label.visitors": "Ziyaretçi", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Web siteleri", diff --git a/src/lang/uk-UA.json b/src/lang/uk-UA.json index e0da737183..6b3e31d5c1 100644 --- a/src/lang/uk-UA.json +++ b/src/lang/uk-UA.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Додати сайт", "label.admin": "Адміністратор", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "Налаштування", "label.share-url": "Поділитися посилання", "label.single-day": "Один день", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Планшет", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Унікальні відвідувачі", "label.unknown": "Невідомо", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Ім'я користувача", "label.users": "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.websites": "Сайти", diff --git a/src/lang/ur-PK.json b/src/lang/ur-PK.json index c4565af35b..862971f537 100644 --- a/src/lang/ur-PK.json +++ b/src/lang/ur-PK.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "ویب سائٹ کا اضافہ کریں", "label.admin": "منتظم", "label.after": "After", @@ -89,6 +90,7 @@ "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", @@ -150,6 +152,7 @@ "label.settings": "ترتیبات", "label.share-url": "URL کا اشتراک کریں", "label.single-day": "ایک دن", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "ٹیبلیٹ", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "منفرد زائرین", "label.unknown": "نامعلوم", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "صارف نام", "label.users": "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.websites": "ویب سائٹس", diff --git a/src/lang/vi-VN.json b/src/lang/vi-VN.json index 13ee815da6..e9a47c616d 100644 --- a/src/lang/vi-VN.json +++ b/src/lang/vi-VN.json @@ -5,6 +5,7 @@ "label.add": "Add", "label.add-description": "Add description", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "Thêm website", "label.admin": "Quản trị", "label.after": "After", @@ -89,6 +90,7 @@ "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.leave": "Leave", "label.leave-team": "Leave team", "label.less-than": "Less than", @@ -150,6 +152,7 @@ "label.settings": "Cài đặt", "label.share-url": "Chia sẻ URL", "label.single-day": "Trong ngày", + "label.steps": "Steps", "label.sum": "Sum", "label.tablet": "Máy tính bảng", "label.team": "Team", @@ -179,17 +182,22 @@ "label.unique-visitors": "Khách truy cập một lần", "label.unknown": "Không rõ", "label.untitled": "Untitled", + "label.update": "Update", "label.url": "URL", "label.urls": "URLs", "label.user": "User", "label.username": "Tên đăng nhập", "label.users": "Users", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "Value", "label.view": "View", "label.view-details": "Xem chi tiết", "label.view-only": "View only", "label.views": "Xem", + "label.views-per-visit": "Views per visit", "label.visitors": "Khách", + "label.visits": "Visits", "label.website": "Website", "label.website-id": "Website ID", "label.websites": "Websites", diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index 3b62a1b9f1..02fc18ae12 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -5,6 +5,7 @@ "label.add": "添加", "label.add-description": "添加描述", "label.add-member": "添加成员", + "label.add-step": "Add step", "label.add-website": "添加网站", "label.admin": "管理员", "label.after": "之后", @@ -89,6 +90,7 @@ "label.laptop": "笔记本", "label.last-days": "最近 {x} 天", "label.last-hours": "最近 {x} 小时", + "label.last-months": "Last {x} months", "label.leave": "离开", "label.leave-team": "离开团队", "label.less-than": "少于", @@ -150,6 +152,7 @@ "label.settings": "设置", "label.share-url": "共享链接", "label.single-day": "单日", + "label.steps": "Steps", "label.sum": "总和", "label.tablet": "平板", "label.team": "团队", @@ -179,17 +182,22 @@ "label.unique-visitors": "独立访客", "label.unknown": "未知", "label.untitled": "未命名", + "label.update": "Update", "label.url": "网址", "label.urls": "网址", "label.user": "用户", "label.username": "用户名", "label.users": "用户", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "值", "label.view": "查看", "label.view-details": "查看更多", "label.view-only": "仅浏览量", "label.views": "浏览量", + "label.views-per-visit": "Views per visit", "label.visitors": "访客", + "label.visits": "Visits", "label.website": "网站", "label.website-id": "网站 ID", "label.websites": "网站", diff --git a/src/lang/zh-TW.json b/src/lang/zh-TW.json index d837e8c7f0..01c08b8b68 100644 --- a/src/lang/zh-TW.json +++ b/src/lang/zh-TW.json @@ -5,6 +5,7 @@ "label.add": "新增", "label.add-description": "新增描述", "label.add-member": "Add member", + "label.add-step": "Add step", "label.add-website": "新增網站", "label.admin": "管理員", "label.after": "之後", @@ -89,6 +90,7 @@ "label.laptop": "筆記型電腦", "label.last-days": "最近 {x} 天", "label.last-hours": "最近 {x} 小時", + "label.last-months": "Last {x} months", "label.leave": "離開", "label.leave-team": "離開團隊", "label.less-than": "小於", @@ -150,6 +152,7 @@ "label.settings": "設定", "label.share-url": "分享網址", "label.single-day": "單日", + "label.steps": "Steps", "label.sum": "總和", "label.tablet": "平板", "label.team": "團隊", @@ -179,17 +182,22 @@ "label.unique-visitors": "獨立訪客", "label.unknown": "未知", "label.untitled": "無標題", + "label.update": "Update", "label.url": "網址", "label.urls": "網址", "label.user": "使用者", "label.username": "使用者名稱", "label.users": "使用者", + "label.utm": "UTM", + "label.utm-description": "Track your campaigns through UTM parameters.", "label.value": "值", "label.view": "檢視", "label.view-details": "檢視詳細資訊", "label.view-only": "僅供檢視", "label.views": "檢視", + "label.views-per-visit": "Views per visit", "label.visitors": "訪客", + "label.visits": "Visits", "label.website": "網站", "label.website-id": "網站 ID", "label.websites": "網站", From 144167d2c4c3247db5a3e15517e0701e484942ad Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Mon, 8 Apr 2024 10:32:09 +0000 Subject: [PATCH 10/26] Update fr-FR. --- src/lang/fr-FR.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index eb04d5975e..bd71a85f8f 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -5,7 +5,7 @@ "label.add": "Ajouter", "label.add-description": "Ajouter une description", "label.add-member": "Ajouter un membre", - "label.add-step": "Add step", + "label.add-step": "Ajouter une étape", "label.add-website": "Ajouter un site", "label.admin": "Administrateur", "label.after": "Après", @@ -90,7 +90,7 @@ "label.laptop": "Portable", "label.last-days": "{x} derniers jours", "label.last-hours": "{x} dernières heures", - "label.last-months": "Last {x} months", + "label.last-months": "{x} derniers mois", "label.leave": "Quitter", "label.leave-team": "Quitter l'équipe", "label.less-than": "Inférieur à", @@ -109,7 +109,7 @@ "label.name": "Nom", "label.new-password": "Nouveau mot de passe", "label.none": "Aucun", - "label.number-of-records": "{x} {x, plural, one {record} other {records}}", + "label.number-of-records": "{x} {x, plural, one {enregistrement} other {enregistrements}}", "label.ok": "OK", "label.os": "OS", "label.overview": "Vue d'ensemble", @@ -138,7 +138,7 @@ "label.reset": "Réinitialiser", "label.reset-website": "Réinitialiser les statistiques", "label.retention": "Rétention", - "label.retention-description": "Mesure de l'atractivité du site en visualisant les taux d'utilisateurs qui reviennent.", + "label.retention-description": "Mesure de l'attractivité du site en visualisant les taux de visiteurs qui reviennent.", "label.role": "Rôle", "label.run-query": "Éxécuter la requête", "label.save": "Enregistrer", @@ -152,7 +152,7 @@ "label.settings": "Paramètres", "label.share-url": "URL de partage", "label.single-day": "Journée", - "label.steps": "Steps", + "label.steps": "Étapes", "label.sum": "Somme", "label.tablet": "Tablette", "label.team": "Équipe", @@ -182,22 +182,22 @@ "label.unique-visitors": "Visiteurs uniques", "label.unknown": "Inconnu", "label.untitled": "Sans titre", - "label.update": "Update", + "label.update": "Modifier", "label.url": "URL", "label.urls": "URLs", "label.user": "Utilisateur", "label.username": "Nom d'utilisateur", "label.users": "Utilisateurs", "label.utm": "UTM", - "label.utm-description": "Track your campaigns through UTM parameters.", + "label.utm-description": "Suivi de campagnes via les paramètres UTM.", "label.value": "Valeur", "label.view": "Voir", "label.view-details": "Voir les détails", "label.view-only": "Consultation", "label.views": "Vues", - "label.views-per-visit": "Views per visit", + "label.views-per-visit": "Vues par visite", "label.visitors": "Visiteurs", - "label.visits": "Visits", + "label.visits": "Visites", "label.website": "Site", "label.website-id": "ID de site", "label.websites": "Sites", @@ -238,7 +238,7 @@ "message.transfer-team-website-to-user": "Transférer ce site sur votre compte ?", "message.transfer-user-website-to-team": "Choisir l'équipe à laquelle transférer ce site.", "message.transfer-website": "Transférer la propriété du site sur votre compte ou à une autre équipe.", - "message.triggered-event": "Triggered event", + "message.triggered-event": "Évènement déclenché", "message.user-deleted": "Utilisateur supprimé.", "message.viewed-page": "Page vue", "message.visitor-log": "Visiteur de {country} utilisant {browser} sur {os} {device}", From cc834083d9781874f546fe86e6e724ea285e51c1 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Mon, 8 Apr 2024 16:36:31 -0700 Subject: [PATCH 11/26] update CH schema/migration to include session_data --- db/clickhouse/migrations/03_session_data.sql | 57 ++++++++++++++++++++ db/clickhouse/schema.sql | 24 +++++++-- 2 files changed, 77 insertions(+), 4 deletions(-) create mode 100644 db/clickhouse/migrations/03_session_data.sql diff --git a/db/clickhouse/migrations/03_session_data.sql b/db/clickhouse/migrations/03_session_data.sql new file mode 100644 index 0000000000..1ed2c060ed --- /dev/null +++ b/db/clickhouse/migrations/03_session_data.sql @@ -0,0 +1,57 @@ +CREATE TABLE umami.event_data_new +( + website_id UUID, + session_id UUID, + event_id UUID, + url_path String, + event_name String, + data_key String, + string_value Nullable(String), + number_value Nullable(Decimal64(4)), + date_value Nullable(DateTime('UTC')), + data_type UInt32, + created_at DateTime('UTC'), + job_id Nullable(UUID) +) + engine = MergeTree + ORDER BY (website_id, event_id, data_key, created_at) + SETTINGS index_granularity = 8192; + +INSERT INTO umami.event_data_new +SELECT website_id, + session_id, + event_id, + url_path, + event_name, + event_key, + string_value, + number_value, + date_value, + data_type, + created_at, + NULL +FROM umami.event_data; + +CREATE TABLE umami.session_data +( + website_id UUID, + session_id UUID, + data_key String, + string_value Nullable(String), + number_value Nullable(Decimal64(4)), + date_value Nullable(DateTime('UTC')), + data_type UInt32, + created_at DateTime('UTC'), + job_id Nullable(UUID) +) + engine = MergeTree + ORDER BY (website_id, session_id, data_key, created_at) + SETTINGS index_granularity = 8192; + +RENAME TABLE umami.event_data TO umami.event_data_old; +RENAME TABLE umami.event_data_new TO umami.event_data; + +/* +DROP TABLE umami.event_data_old + */ + diff --git a/db/clickhouse/schema.sql b/db/clickhouse/schema.sql index dad4f4af35..c2fa713579 100644 --- a/db/clickhouse/schema.sql +++ b/db/clickhouse/schema.sql @@ -40,14 +40,30 @@ CREATE TABLE umami.event_data event_id UUID, url_path String, event_name String, - event_key String, + data_key String, string_value Nullable(String), - number_value Nullable(Decimal64(4)), --922337203685477.5625 + number_value Nullable(Decimal64(4)), date_value Nullable(DateTime('UTC')), data_type UInt32, created_at DateTime('UTC'), - job_id UUID + job_id Nullable(UUID) +) + engine = MergeTree + ORDER BY (website_id, event_id, data_key, created_at) + SETTINGS index_granularity = 8192; + +CREATE TABLE umami.session_data +( + website_id UUID, + session_id UUID, + data_key String, + string_value Nullable(String), + number_value Nullable(Decimal64(4)), + date_value Nullable(DateTime('UTC')), + data_type UInt32, + created_at DateTime('UTC'), + job_id Nullable(UUID) ) engine = MergeTree - ORDER BY (website_id, event_id, event_key, created_at) + ORDER BY (website_id, session_id, data_key, created_at) SETTINGS index_granularity = 8192; \ No newline at end of file From 7381254cc25a71b3b872d23bbe7e6f7e99948fbb Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Mon, 8 Apr 2024 20:24:15 -0700 Subject: [PATCH 12/26] add relational migrations. update event_key references to data_key --- db/clickhouse/schema.sql | 2 +- .../migrations/06_session_data/migration.sql | 20 +++++++++++++++++++ db/mysql/schema.prisma | 9 +++++---- .../migrations/06_session_data/migration.sql | 18 +++++++++++++++++ db/postgresql/schema.prisma | 9 +++++---- .../event-data/EventDataParameters.tsx | 4 ++-- .../analytics/eventData/getEventDataEvents.ts | 16 +++++++-------- .../analytics/eventData/getEventDataFields.ts | 12 +++++------ .../analytics/eventData/getEventDataStats.ts | 12 +++++------ .../analytics/eventData/saveEventData.ts | 4 ++-- 10 files changed, 73 insertions(+), 33 deletions(-) create mode 100644 db/mysql/migrations/06_session_data/migration.sql create mode 100644 db/postgresql/migrations/06_session_data/migration.sql diff --git a/db/clickhouse/schema.sql b/db/clickhouse/schema.sql index c2fa713579..53fba1fb76 100644 --- a/db/clickhouse/schema.sql +++ b/db/clickhouse/schema.sql @@ -27,7 +27,7 @@ CREATE TABLE umami.website_event event_type UInt32, event_name String, created_at DateTime('UTC'), - job_id UUID + job_id Nullable(UUID) ) engine = MergeTree ORDER BY (website_id, session_id, created_at) diff --git a/db/mysql/migrations/06_session_data/migration.sql b/db/mysql/migrations/06_session_data/migration.sql new file mode 100644 index 0000000000..97ed60adfd --- /dev/null +++ b/db/mysql/migrations/06_session_data/migration.sql @@ -0,0 +1,20 @@ +-- DropIndex +DROP INDEX `event_data_website_id_created_at_event_key_idx` ON `event_data`; + +-- DropIndex +DROP INDEX `event_data_website_id_website_event_id_created_at_idx` ON `event_data`; + +-- AlterTable +ALTER TABLE `event_data` RENAME COLUMN `event_key` TO `data_key`; + +-- AlterTable +ALTER TABLE `session_data` RENAME COLUMN `event_key` TO `data_key`; + +-- CreateIndex +CREATE INDEX `event_data_website_id_created_at_data_key_idx` ON `event_data`(`website_id`, `created_at`, `data_key`); + +-- CreateIndex +CREATE INDEX `session_data_session_id_created_at_idx` ON `session_data`(`session_id`, `created_at`); + +-- CreateIndex +CREATE INDEX `session_data_website_id_created_at_data_key_idx` ON `session_data`(`website_id`, `created_at`, `data_key`); diff --git a/db/mysql/schema.prisma b/db/mysql/schema.prisma index 152ca265bd..a7722accdc 100644 --- a/db/mysql/schema.prisma +++ b/db/mysql/schema.prisma @@ -125,7 +125,7 @@ model EventData { id String @id() @map("event_data_id") @db.VarChar(36) websiteId String @map("website_id") @db.VarChar(36) websiteEventId String @map("website_event_id") @db.VarChar(36) - eventKey String @map("event_key") @db.VarChar(500) + dataKey String @map("data_key") @db.VarChar(500) stringValue String? @map("string_value") @db.VarChar(500) numberValue Decimal? @map("number_value") @db.Decimal(19, 4) dateValue DateTime? @map("date_value") @db.Timestamp(0) @@ -138,9 +138,8 @@ model EventData { @@index([createdAt]) @@index([websiteId]) @@index([websiteEventId]) - @@index([websiteId, websiteEventId, createdAt]) @@index([websiteId, createdAt]) - @@index([websiteId, createdAt, eventKey]) + @@index([websiteId, createdAt, dataKey]) @@map("event_data") } @@ -148,7 +147,7 @@ model SessionData { id String @id() @map("session_data_id") @db.VarChar(36) websiteId String @map("website_id") @db.VarChar(36) sessionId String @map("session_id") @db.VarChar(36) - eventKey String @map("event_key") @db.VarChar(500) + dataKey String @map("data_key") @db.VarChar(500) stringValue String? @map("string_value") @db.VarChar(500) numberValue Decimal? @map("number_value") @db.Decimal(19, 4) dateValue DateTime? @map("date_value") @db.Timestamp(0) @@ -161,6 +160,8 @@ model SessionData { @@index([createdAt]) @@index([websiteId]) @@index([sessionId]) + @@index([sessionId, createdAt]) + @@index([websiteId, createdAt, dataKey]) @@map("session_data") } diff --git a/db/postgresql/migrations/06_session_data/migration.sql b/db/postgresql/migrations/06_session_data/migration.sql new file mode 100644 index 0000000000..9e4d971604 --- /dev/null +++ b/db/postgresql/migrations/06_session_data/migration.sql @@ -0,0 +1,18 @@ +-- DropIndex +DROP INDEX IF EXISTS "event_data_website_id_created_at_event_key_idx"; + +-- AlterTable +ALTER TABLE "event_data" RENAME COLUMN "event_key" TO "data_key"; + +-- AlterTable +ALTER TABLE "session_data" DROP COLUMN "deleted_at", +ALTER TABLE "session_data" RENAME COLUMN "session_key" TO "data_key"; + +-- CreateIndex +CREATE INDEX "event_data_website_id_created_at_data_key_idx" ON "event_data"("website_id", "created_at", "data_key"); + +-- CreateIndex +CREATE INDEX "session_data_session_id_created_at_idx" ON "session_data"("session_id", "created_at"); + +-- CreateIndex +CREATE INDEX "session_data_website_id_created_at_data_key_idx" ON "session_data"("website_id", "created_at", "data_key"); diff --git a/db/postgresql/schema.prisma b/db/postgresql/schema.prisma index 0cb8ae8a24..b9009e0fb3 100644 --- a/db/postgresql/schema.prisma +++ b/db/postgresql/schema.prisma @@ -125,7 +125,7 @@ model EventData { id String @id() @map("event_data_id") @db.Uuid websiteId String @map("website_id") @db.Uuid websiteEventId String @map("website_event_id") @db.Uuid - eventKey String @map("event_key") @db.VarChar(500) + dataKey String @map("data_key") @db.VarChar(500) stringValue String? @map("string_value") @db.VarChar(500) numberValue Decimal? @map("number_value") @db.Decimal(19, 4) dateValue DateTime? @map("date_value") @db.Timestamptz(6) @@ -139,7 +139,7 @@ model EventData { @@index([websiteId]) @@index([websiteEventId]) @@index([websiteId, createdAt]) - @@index([websiteId, createdAt, eventKey]) + @@index([websiteId, createdAt, dataKey]) @@map("event_data") } @@ -147,13 +147,12 @@ model SessionData { id String @id() @map("session_data_id") @db.Uuid websiteId String @map("website_id") @db.Uuid sessionId String @map("session_id") @db.Uuid - sessionKey String @map("session_key") @db.VarChar(500) + dataKey String @map("data_key") @db.VarChar(500) stringValue String? @map("string_value") @db.VarChar(500) numberValue Decimal? @map("number_value") @db.Decimal(19, 4) dateValue DateTime? @map("date_value") @db.Timestamptz(6) dataType Int @map("data_type") @db.Integer createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6) - deletedAt DateTime? @default(now()) @map("deleted_at") @db.Timestamptz(6) website Website @relation(fields: [websiteId], references: [id]) session Session @relation(fields: [sessionId], references: [id]) @@ -161,6 +160,8 @@ model SessionData { @@index([createdAt]) @@index([websiteId]) @@index([sessionId]) + @@index([sessionId, createdAt]) + @@index([websiteId, createdAt, dataKey]) @@map("session_data") } diff --git a/src/app/(main)/reports/event-data/EventDataParameters.tsx b/src/app/(main)/reports/event-data/EventDataParameters.tsx index adc182748d..e0afda3f5a 100644 --- a/src/app/(main)/reports/event-data/EventDataParameters.tsx +++ b/src/app/(main)/reports/event-data/EventDataParameters.tsx @@ -75,8 +75,8 @@ export function EventDataParameters() { {(close: () => void) => { return ( ({ - name: eventKey, + fields={data.map(({ dataKey, eventDataType }) => ({ + name: dataKey, type: DATA_TYPES[eventDataType], }))} group={group} diff --git a/src/queries/analytics/eventData/getEventDataEvents.ts b/src/queries/analytics/eventData/getEventDataEvents.ts index 3eeb3702d0..f869deae49 100644 --- a/src/queries/analytics/eventData/getEventDataEvents.ts +++ b/src/queries/analytics/eventData/getEventDataEvents.ts @@ -22,7 +22,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { ` select website_event.event_name as "eventName", - event_data.event_key as "fieldName", + event_data.data_key as "fieldName", event_data.data_type as "dataType", event_data.string_value as "fieldValue", count(*) as "total" @@ -32,7 +32,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { where event_data.website_id = {{websiteId::uuid}} and event_data.created_at between {{startDate}} and {{endDate}} and website_event.event_name = {{event}} - group by website_event.event_name, event_data.event_key, event_data.data_type, event_data.string_value + 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 `, params, @@ -43,7 +43,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { ` select website_event.event_name as "eventName", - event_data.event_key as "fieldName", + event_data.data_key as "fieldName", event_data.data_type as "dataType", count(*) as "total" from event_data @@ -51,7 +51,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { 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}} - group by website_event.event_name, event_data.event_key, event_data.data_type + group by website_event.event_name, event_data.data_key, event_data.data_type order by 1 asc, 2 asc limit 500 `, @@ -72,7 +72,7 @@ async function clickhouseQuery( ` select event_name as eventName, - event_key as fieldName, + data_key as fieldName, data_type as dataType, string_value as fieldValue, count(*) as total @@ -80,7 +80,7 @@ async function clickhouseQuery( where website_id = {websiteId:UUID} and created_at between {startDate:DateTime64} and {endDate:DateTime64} and event_name = {event:String} - group by event_key, data_type, string_value, event_name + group by data_key, data_type, string_value, event_name order by 1 asc, 2 asc, 3 asc, 4 desc limit 500 `, @@ -102,13 +102,13 @@ async function clickhouseQuery( ` select event_name as eventName, - event_key as fieldName, + data_key as fieldName, data_type as dataType, count(*) as total from event_data where website_id = {websiteId:UUID} and created_at between {startDate:DateTime64} and {endDate:DateTime64} - group by event_key, data_type, event_name + group by data_key, data_type, event_name order by 1 asc, 2 asc limit 500 `, diff --git a/src/queries/analytics/eventData/getEventDataFields.ts b/src/queries/analytics/eventData/getEventDataFields.ts index 293aed249a..6ec3b35a8d 100644 --- a/src/queries/analytics/eventData/getEventDataFields.ts +++ b/src/queries/analytics/eventData/getEventDataFields.ts @@ -15,13 +15,13 @@ export async function getEventDataFields( async function relationalQuery(websiteId: string, filters: QueryFilters & { field?: string }) { const { rawQuery, parseFilters } = prisma; const { filterQuery, params } = await parseFilters(websiteId, filters, { - columns: { field: 'event_key' }, + columns: { field: 'data_key' }, }); return rawQuery( ` select - event_key as "fieldName", + data_key as "fieldName", data_type as "dataType", string_value as "fieldValue", count(*) as "total" @@ -29,7 +29,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters & { fiel where website_id = {{websiteId::uuid}} and created_at between {{startDate}} and {{endDate}} ${filterQuery} - group by event_key, data_type, string_value + group by data_key, data_type, string_value order by 3 desc, 2 desc, 1 asc limit 500 `, @@ -43,13 +43,13 @@ async function clickhouseQuery( ): Promise<{ fieldName: string; dataType: number; fieldValue: string; total: number }[]> { const { rawQuery, parseFilters } = clickhouse; const { filterQuery, params } = await parseFilters(websiteId, filters, { - columns: { field: 'event_key' }, + columns: { field: 'data_key' }, }); return rawQuery( ` select - event_key as fieldName, + data_key as fieldName, data_type as dataType, string_value as fieldValue, count(*) as total @@ -57,7 +57,7 @@ async function clickhouseQuery( where website_id = {websiteId:UUID} and created_at between {startDate:DateTime64} and {endDate:DateTime64} ${filterQuery} - group by event_key, data_type, string_value + group by data_key, data_type, string_value order by 3 desc, 2 desc, 1 asc limit 500 `, diff --git a/src/queries/analytics/eventData/getEventDataStats.ts b/src/queries/analytics/eventData/getEventDataStats.ts index 39afa1ae7a..978f561bc9 100644 --- a/src/queries/analytics/eventData/getEventDataStats.ts +++ b/src/queries/analytics/eventData/getEventDataStats.ts @@ -24,18 +24,18 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) { ` select count(distinct t.website_event_id) as "events", - count(distinct t.event_key) as "fields", + count(distinct t.data_key) as "fields", sum(t.total) as "records" from ( select website_event_id, - event_key, + data_key, count(*) as "total" from event_data where website_id = {{websiteId::uuid}} and created_at between {{startDate}} and {{endDate}} ${filterQuery} - group by website_event_id, event_key + group by website_event_id, data_key ) as t `, params, @@ -53,18 +53,18 @@ async function clickhouseQuery( ` select count(distinct t.event_id) as "events", - count(distinct t.event_key) as "fields", + count(distinct t.data_key) as "fields", sum(t.total) as "records" from ( select event_id, - event_key, + data_key, count(*) as "total" from event_data where website_id = {websiteId:UUID} and created_at between {startDate:DateTime64} and {endDate:DateTime64} ${filterQuery} - group by event_id, event_key + group by event_id, data_key ) as t `, params, diff --git a/src/queries/analytics/eventData/saveEventData.ts b/src/queries/analytics/eventData/saveEventData.ts index c37dd896f1..5bfb5f094f 100644 --- a/src/queries/analytics/eventData/saveEventData.ts +++ b/src/queries/analytics/eventData/saveEventData.ts @@ -36,7 +36,7 @@ async function relationalQuery(data: { id: uuid(), websiteEventId: eventId, websiteId, - eventKey: a.key, + dataKey: a.key, stringValue: getStringValue(a.value, a.dataType), numberValue: a.dataType === DATA_TYPE.number ? a.value : null, dateValue: a.dataType === DATA_TYPE.date ? new Date(a.value) : null, @@ -69,7 +69,7 @@ async function clickhouseQuery(data: { event_id: eventId, url_path: urlPath, event_name: eventName, - event_key: a.key, + data_key: a.key, string_value: getStringValue(a.value, a.dataType), number_value: a.dataType === DATA_TYPE.number ? a.value : null, date_value: a.dataType === DATA_TYPE.date ? getDateFormat(a.value) : null, From 31b059d7db00f4f67ad31d75d977ccd07754109d Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Mon, 8 Apr 2024 20:29:16 -0700 Subject: [PATCH 13/26] fix 06_session_data migration bug --- db/postgresql/migrations/06_session_data/migration.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/postgresql/migrations/06_session_data/migration.sql b/db/postgresql/migrations/06_session_data/migration.sql index 9e4d971604..e15b2605aa 100644 --- a/db/postgresql/migrations/06_session_data/migration.sql +++ b/db/postgresql/migrations/06_session_data/migration.sql @@ -5,7 +5,7 @@ DROP INDEX IF EXISTS "event_data_website_id_created_at_event_key_idx"; ALTER TABLE "event_data" RENAME COLUMN "event_key" TO "data_key"; -- AlterTable -ALTER TABLE "session_data" DROP COLUMN "deleted_at", +ALTER TABLE "session_data" DROP COLUMN "deleted_at"; ALTER TABLE "session_data" RENAME COLUMN "session_key" TO "data_key"; -- CreateIndex From b79ed9dee695e14529c019e98e9572b1e07023ba Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Tue, 9 Apr 2024 00:37:23 -0700 Subject: [PATCH 14/26] Updated session event data save. --- src/lib/types.ts | 2 +- .../analytics/eventData/saveEventData.ts | 34 +++---- .../analytics/sessions/saveSessionData.ts | 90 ++++++++++++++++--- 3 files changed, 97 insertions(+), 29 deletions(-) diff --git a/src/lib/types.ts b/src/lib/types.ts index 3470abe833..5c9a39c6e7 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -73,7 +73,7 @@ export interface FilterQueryResult { } export interface DynamicData { - [key: string]: number | string | DynamicData | number[] | string[] | DynamicData[]; + [key: string]: number | string | number[] | string[]; } export interface Auth { diff --git a/src/queries/analytics/eventData/saveEventData.ts b/src/queries/analytics/eventData/saveEventData.ts index c37dd896f1..e14c88d475 100644 --- a/src/queries/analytics/eventData/saveEventData.ts +++ b/src/queries/analytics/eventData/saveEventData.ts @@ -7,7 +7,7 @@ import kafka from 'lib/kafka'; import prisma from 'lib/prisma'; import { DynamicData } from 'lib/types'; -export async function saveEventData(args: { +export async function saveEventData(data: { websiteId: string; eventId: string; sessionId?: string; @@ -17,8 +17,8 @@ export async function saveEventData(args: { createdAt?: string; }) { return runQuery({ - [PRISMA]: () => relationalQuery(args), - [CLICKHOUSE]: () => clickhouseQuery(args), + [PRISMA]: () => relationalQuery(data), + [CLICKHOUSE]: () => clickhouseQuery(data), }); } @@ -63,19 +63,21 @@ async function clickhouseQuery(data: { const jsonKeys = flattenJSON(eventData); - const messages = jsonKeys.map(a => ({ - website_id: websiteId, - session_id: sessionId, - event_id: eventId, - url_path: urlPath, - event_name: eventName, - event_key: a.key, - string_value: getStringValue(a.value, a.dataType), - number_value: a.dataType === DATA_TYPE.number ? a.value : null, - date_value: a.dataType === DATA_TYPE.date ? getDateFormat(a.value) : null, - data_type: a.dataType, - created_at: createdAt, - })); + const messages = jsonKeys.map(({ key, value, dataType }) => { + return { + website_id: websiteId, + session_id: sessionId, + event_id: eventId, + url_path: urlPath, + event_name: eventName, + data_key: key, + 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, + created_at: createdAt, + }; + }); await sendMessages(messages, 'event_data'); diff --git a/src/queries/analytics/sessions/saveSessionData.ts b/src/queries/analytics/sessions/saveSessionData.ts index efd4898fa8..5fa4fe721b 100644 --- a/src/queries/analytics/sessions/saveSessionData.ts +++ b/src/queries/analytics/sessions/saveSessionData.ts @@ -3,13 +3,27 @@ import { uuid } from 'lib/crypto'; import { flattenJSON, getStringValue } from 'lib/data'; import prisma from 'lib/prisma'; import { DynamicData } from 'lib/types'; +import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; +import kafka from 'lib/kafka'; export async function saveSessionData(data: { websiteId: string; sessionId: string; sessionData: DynamicData; + createdAt?: string; }) { - const { client, transaction } = prisma; + return runQuery({ + [PRISMA]: () => relationalQuery(data), + [CLICKHOUSE]: () => clickhouseQuery(data), + }); +} + +export async function relationalQuery(data: { + websiteId: string; + sessionId: string; + sessionData: DynamicData; +}) { + const { client } = prisma; const { websiteId, sessionId, sessionData } = data; const jsonKeys = flattenJSON(sessionData); @@ -18,21 +32,73 @@ export async function saveSessionData(data: { id: uuid(), websiteId, sessionId, - key: a.key, + sessionKey: a.key, stringValue: getStringValue(a.value, a.dataType), numberValue: a.dataType === DATA_TYPE.number ? a.value : null, dateValue: a.dataType === DATA_TYPE.date ? new Date(a.value) : null, dataType: a.dataType, })); - return transaction([ - client.sessionData.deleteMany({ - where: { - sessionId, - }, - }), - client.sessionData.createMany({ - data: flattenedData as any, - }), - ]); + const existing = await client.sessionData.findMany({ + where: { + sessionId, + }, + select: { + id: true, + sessionId: true, + sessionKey: true, + }, + }); + + for (const data of flattenedData) { + const { sessionId, sessionKey, ...props } = data; + const record = existing.find(e => e.sessionId === sessionId && e.sessionKey === sessionKey); + + if (record) { + await client.sessionData.update({ + where: { + id: record.id, + }, + data: { + ...props, + }, + }); + } else { + await client.sessionData.create({ + data, + }); + } + } + + return flattenedData; +} + +async function clickhouseQuery(data: { + websiteId: string; + sessionId: string; + sessionData: DynamicData; + createdAt?: string; +}) { + const { websiteId, sessionId, sessionData, createdAt } = data; + + const { getDateFormat, sendMessages } = kafka; + + const jsonKeys = flattenJSON(sessionData); + + const messages = jsonKeys.map(({ key, value, dataType }) => { + return { + website_id: websiteId, + session_id: sessionId, + data_key: key, + 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, + created_at: createdAt, + }; + }); + + await sendMessages(messages, 'session_data'); + + return data; } From dfaeedbc09ac7a924035b02bc162d4e05173d326 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Tue, 9 Apr 2024 00:42:44 -0700 Subject: [PATCH 15/26] Updated session data properties. --- src/queries/analytics/sessions/saveSessionData.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/queries/analytics/sessions/saveSessionData.ts b/src/queries/analytics/sessions/saveSessionData.ts index 5fa4fe721b..429c6e281b 100644 --- a/src/queries/analytics/sessions/saveSessionData.ts +++ b/src/queries/analytics/sessions/saveSessionData.ts @@ -32,7 +32,7 @@ export async function relationalQuery(data: { id: uuid(), websiteId, sessionId, - sessionKey: a.key, + dataKey: a.key, stringValue: getStringValue(a.value, a.dataType), numberValue: a.dataType === DATA_TYPE.number ? a.value : null, dateValue: a.dataType === DATA_TYPE.date ? new Date(a.value) : null, @@ -46,13 +46,13 @@ export async function relationalQuery(data: { select: { id: true, sessionId: true, - sessionKey: true, + dataKey: true, }, }); for (const data of flattenedData) { - const { sessionId, sessionKey, ...props } = data; - const record = existing.find(e => e.sessionId === sessionId && e.sessionKey === sessionKey); + const { sessionId, dataKey, ...props } = data; + const record = existing.find(e => e.sessionId === sessionId && e.dataKey === dataKey); if (record) { await client.sessionData.update({ From 3749e22d4d1bcc5e449d977a74c214926735388a Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Tue, 9 Apr 2024 00:49:04 -0700 Subject: [PATCH 16/26] Updated packages. Bumped version to v2.12.0. --- package.json | 2 +- yarn.lock | 587 +++++++++++++++++++++++++++++---------------------- 2 files changed, 337 insertions(+), 252 deletions(-) diff --git a/package.json b/package.json index 08c1c8e20b..c72a054f74 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "umami", - "version": "2.11.0", + "version": "2.12.0", "description": "A simple, fast, privacy-focused alternative to Google Analytics.", "author": "Umami Software, Inc. ", "license": "MIT", diff --git a/yarn.lock b/yarn.lock index f27a5a73c0..8373fbf0a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1112,7 +1112,7 @@ dependencies: regenerator-runtime "^0.14.0" -"@babel/runtime@^7.12.5", "@babel/runtime@^7.23.2": +"@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== @@ -1126,6 +1126,13 @@ 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" @@ -1666,10 +1673,10 @@ "@formatjs/ecma402-abstract" "1.4.0" tslib "^2.0.1" -"@formatjs/intl@2.10.0": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-2.10.0.tgz#d7bb557e172ceb0bb0be9298b61e9de957119985" - integrity sha512-X3xT9guVkKDS86EKV80lS0KxoazUglkJTGZO66sKY7otgl0VeStPA8B3u8UkKT47PexVV98fUzjpkchYmbe9nw== +"@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== dependencies: "@formatjs/ecma402-abstract" "1.18.2" "@formatjs/fast-memoize" "2.2.0" @@ -2213,10 +2220,10 @@ resolved "https://registry.yarnpkg.com/@next/env/-/env-14.1.4.tgz#432e80651733fbd67230bf262aee28be65252674" integrity sha512-e7X7bbn3Z6DWnDi75UWn+REgAbLEqxI8Tq2pkFOFAMpWAWApz/YCUhtWMWn410h8Q2fYiYL7Yg5OlxMOCfFjJQ== -"@next/eslint-plugin-next@14.1.3": - version "14.1.3" - resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-14.1.3.tgz#31ffb36dbd5d04537aff83eb69ec23007d081608" - integrity sha512-VCnZI2cy77Yaj3L7Uhs3+44ikMM1VD/fBMwvTBb3hIaTIuqa+DmG4dhUDq+MASu3yx97KhgsVJbsas0XuiKyww== +"@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== dependencies: glob "10.3.10" @@ -2567,9 +2574,9 @@ picomatch "^2.3.1" "@rushstack/eslint-patch@^1.3.3": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.7.2.tgz#2d4260033e199b3032a08b41348ac10de21c47e9" - integrity sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA== + version "1.10.1" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.10.1.tgz#7ca168b6937818e9a74b47ac4e2112b2e1a024cf" + integrity sha512-S3Kq8e7LqxkA9s7HKLqXGTGck1uwis5vAXan3FnU5yw1Ec5hsSGnq4s/UCaSqABPOnOTg7zASLyst7+ohgWexg== "@sinclair/typebox@^0.27.8": version "0.27.8" @@ -2718,17 +2725,17 @@ dependencies: tslib "^2.4.0" -"@tanstack/query-core@5.28.6": - version "5.28.6" - resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.28.6.tgz#a3bdb108f9f8d4e2ba3163068dbe6ff55b905a81" - integrity sha512-hnhotV+DnQtvtR3jPvbQMPNMW4KEK0J4k7c609zJ8muiNknm+yoDyMHmxTWM5ZnlZpsz0zOxYFr+mzRJNHWJsA== +"@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/react-query@^5.28.6": - version "5.28.6" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.28.6.tgz#0d52b0a98a1d842debf9c65496e20a9981a23bc4" - integrity sha512-/DdYuDBSsA21Qbcder1R8Cr/3Nx0ZnA2lgtqKsLMvov8wL4+g0HBz/gWYZPlIsof7iyfQafyhg4wUVUsS3vWZw== + version "5.29.0" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.29.0.tgz#42b3a2de4ed1d63666f0af04392a34b5e70d49c0" + integrity sha512-yxlhHB73jaBla6h5B6zPaGmQjokkzAhMHN4veotkPNiQ3Ac/mCxgABRZPsJJrgCTvhpcncBZcDBFxaR2B37vug== dependencies: - "@tanstack/query-core" "5.28.6" + "@tanstack/query-core" "5.29.0" "@trysound/sax@0.2.0": version "0.2.0" @@ -2940,12 +2947,12 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== -"@types/node@*": - version "20.8.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.7.tgz#ad23827850843de973096edfc5abc9e922492a25" - integrity sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ== +"@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== dependencies: - undici-types "~5.25.1" + undici-types "~5.26.4" "@types/node@14": version "14.18.63" @@ -2957,27 +2964,20 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== -"@types/node@^20.9.0": - version "20.11.25" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.25.tgz#0f50d62f274e54dd7a49f7704cc16bfbcccaf49f" - integrity sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw== - dependencies: - undici-types "~5.26.4" - "@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.11" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" - integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== + version "15.7.12" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" + integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== "@types/react-dom@^18.2.17": - version "18.2.21" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.21.tgz#b8c81715cebdebb2994378616a8d54ace54f043a" - integrity sha512-gnvBA/21SA4xxqNXEwNiVcP0xSGHh/gi1VhWv9Bl46a0ItbTT5nFY+G9VSQpaG/8N/qdJpJ+vftQ4zflTtnjLw== + version "18.2.24" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.24.tgz#8dda8f449ae436a7a6e91efed8035d4ab03ff759" + integrity sha512-cN6upcKd8zkGy4HU9F1+/s98Hrp6D4MOcippK4PoE8OZRngohHZpbJn1GsaDLz87MqvHNoT13nHvNqM9ocRHZg== dependencies: "@types/react" "*" @@ -2999,12 +2999,11 @@ "@types/react" "*" "@types/react@*", "@types/react@16 || 17 || 18", "@types/react@^18.2.41": - version "18.2.64" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.64.tgz#3700fbb6b2fa60a6868ec1323ae4cbd446a2197d" - integrity sha512-MlmPvHgjj2p3vZaxbQgFUQFvD8QiZwACfGqEdDSWou5yISWxDQ4/74nCAwsUiX7UFLKZz3BbVSPj+YxeoGGCfg== + version "18.2.75" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.75.tgz#45d18f384939306d35312def1bf532eb38a68562" + integrity sha512-+DNnF7yc5y0bHkBTiLKqXFe+L4B3nvOphiMY3tuA5X10esmjqk7smyBZzbGTy2vsiy/Bnzj8yFIBL8xhRacoOg== dependencies: "@types/prop-types" "*" - "@types/scheduler" "*" csstype "^3.0.2" "@types/resolve@1.20.2": @@ -3012,11 +3011,6 @@ resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== -"@types/scheduler@*": - version "0.16.8" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== - "@types/schema-utils@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@types/schema-utils/-/schema-utils-2.4.0.tgz#9983012045d541dcee053e685a27c9c87c840fcd" @@ -3490,14 +3484,15 @@ array-find-index@^1.0.1: integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== array-includes@^3.1.6, array-includes@^3.1.7: - version "3.1.7" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" is-string "^1.0.7" array-union@^2.1.0: @@ -3505,37 +3500,28 @@ 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.filter@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz#423771edeb417ff5914111fff4277ea0624c0d0e" - integrity sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" - array.prototype.findlast@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.4.tgz#eeb9e45fc894055c82e5675c463e8077b827ad36" - integrity sha512-BMtLxpV+8BD+6ZPFIWmnUBpQoy+A+ujcg4rhp2iwCRJYA7PEh2MS4NL3lz8EiDlLrJPp2hg9qWihr5pd//jcGw== + 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== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.22.3" + es-abstract "^1.23.2" es-errors "^1.3.0" + es-object-atoms "^1.0.0" es-shim-unscopables "^1.0.2" array.prototype.findlastindex@^1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz#d1c50f0b3a9da191981ff8942a0aedd82794404f" - integrity sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ== + 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== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.22.3" + es-abstract "^1.23.2" es-errors "^1.3.0" + es-object-atoms "^1.0.0" es-shim-unscopables "^1.0.2" array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: @@ -3625,13 +3611,6 @@ async@^3.2.0: resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== -asynciterator.prototype@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62" - integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== - dependencies: - has-symbols "^1.0.3" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -3654,7 +3633,7 @@ autoprefixer@^10.4.13: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -available-typed-arrays@^1.0.6, available-typed-arrays@^1.0.7: +available-typed-arrays@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== @@ -4131,9 +4110,9 @@ cli-cursor@^4.0.0: restore-cursor "^4.0.0" cli-table3@~0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + 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== dependencies: string-width "^4.2.0" optionalDependencies: @@ -4579,7 +4558,7 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -cypress@*, cypress@^13.6.6: +cypress@*: version "13.6.6" resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.6.tgz#5133f231ed1c6e57dc8dcbf60aade220bcd6884b" integrity sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A== @@ -4627,6 +4606,54 @@ cypress@*, cypress@^13.6.6: 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" + untildify "^4.0.0" + yauzl "^2.10.0" + d3-array@^2.5.0: version "2.12.1" resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" @@ -4720,6 +4747,33 @@ data-uri-to-buffer@^4.0.0: resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + date-fns-tz@^1.1.4: version "1.3.8" resolved "https://registry.yarnpkg.com/date-fns-tz/-/date-fns-tz-1.3.8.tgz#083e3a4e1f19b7857fa0c18deea6c2bc46ded7b9" @@ -5059,9 +5113,9 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: once "^1.4.0" enhanced-resolve@^5.12.0: - version "5.15.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.1.tgz#384391e025f099e67b4b00bfd7f0906a408214e1" - integrity sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg== + 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== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -5091,17 +5145,21 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.22.4: - version "1.22.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.5.tgz#1417df4e97cc55f09bf7e58d1e614bc61cb8df46" - integrity sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w== +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== dependencies: array-buffer-byte-length "^1.0.1" arraybuffer.prototype.slice "^1.0.3" available-typed-arrays "^1.0.7" call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" es-define-property "^1.0.0" es-errors "^1.3.0" + es-object-atoms "^1.0.0" es-set-tostringtag "^2.0.3" es-to-primitive "^1.2.1" function.prototype.name "^1.1.6" @@ -5112,10 +5170,11 @@ es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.22.4: has-property-descriptors "^1.0.2" has-proto "^1.0.3" has-symbols "^1.0.3" - hasown "^2.0.1" + hasown "^2.0.2" internal-slot "^1.0.7" is-array-buffer "^3.0.4" is-callable "^1.2.7" + is-data-view "^1.0.1" is-negative-zero "^2.0.3" is-regex "^1.1.4" is-shared-array-buffer "^1.0.3" @@ -5126,22 +5185,17 @@ es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.22.4: object-keys "^1.1.1" object.assign "^4.1.5" regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.0" + safe-array-concat "^1.1.2" safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" typed-array-buffer "^1.0.2" typed-array-byte-length "^1.0.1" typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.5" + typed-array-length "^1.0.6" unbox-primitive "^1.0.2" - which-typed-array "^1.1.14" - -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + which-typed-array "^1.1.15" es-define-property@^1.0.0: version "1.0.0" @@ -5150,38 +5204,44 @@ es-define-property@^1.0.0: dependencies: get-intrinsic "^1.2.4" -es-errors@^1.0.0, es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: +es-errors@^1.1.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.17" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz#123d1315780df15b34eb181022da43e734388bb8" - integrity sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ== + 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== dependencies: - asynciterator.prototype "^1.0.0" call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.22.4" + es-abstract "^1.23.0" es-errors "^1.3.0" - es-set-tostringtag "^2.0.2" + es-set-tostringtag "^2.0.3" function-bind "^1.1.2" get-intrinsic "^1.2.4" globalthis "^1.0.3" has-property-descriptors "^1.0.2" - has-proto "^1.0.1" + has-proto "^1.0.3" has-symbols "^1.0.3" internal-slot "^1.0.7" iterator.prototype "^1.1.2" - safe-array-concat "^1.1.0" + safe-array-concat "^1.1.2" es-module-lexer@^1.0.5: version "1.3.1" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.3.1.tgz#c1b0dd5ada807a3b3155315911f364dc4e909db1" integrity sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== -es-set-tostringtag@^2.0.2, es-set-tostringtag@^2.0.3: +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== @@ -5255,11 +5315,11 @@ escape-string-regexp@^4.0.0: integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== eslint-config-next@^14.0.4: - version "14.1.3" - resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-14.1.3.tgz#f5c75c088c5df35da2a02129cbf5dec9defb3f13" - integrity sha512-sUCpWlGuHpEhI0pIT0UtdSLJk5Z8E2DYinPTwsBiWaSYQomchdl0i60pjynY48+oXvtyWMQ7oE+G3m49yrfacg== + 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== dependencies: - "@next/eslint-plugin-next" "14.1.3" + "@next/eslint-plugin-next" "14.1.4" "@rushstack/eslint-patch" "^1.3.3" "@typescript-eslint/parser" "^5.4.2 || ^6.0.0" eslint-import-resolver-node "^0.3.6" @@ -5393,9 +5453,9 @@ eslint-plugin-promise@^6.1.1: integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== eslint-plugin-react@^7.33.2: - version "7.34.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.0.tgz#ab71484d54fc409c37025c5eca00eb4177a5e88c" - integrity sha512-MeVXdReleBTdkz/bvcQMSnCXGi+c9kvy51IpinjnJgutl3YTHWsDdke7Z1ufZpGfDG8xduBDKyjtB9JH1eBKIQ== + 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== dependencies: array-includes "^3.1.7" array.prototype.findlast "^1.2.4" @@ -6258,17 +6318,17 @@ has-symbols@^1.0.2, has-symbols@^1.0.3: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0, has-tostringtag@^1.0.1, has-tostringtag@^1.0.2: +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: has-symbols "^1.0.3" -hasown@^2.0.0, hasown@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa" - integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" @@ -6443,7 +6503,7 @@ ini@^1.3.5, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -internal-slot@^1.0.5, internal-slot@^1.0.7: +internal-slot@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== @@ -6603,6 +6663,13 @@ is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.13.1, is-core- dependencies: hasown "^2.0.0" +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" @@ -6837,9 +6904,9 @@ isarray@^2.0.5: integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isbot@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/isbot/-/isbot-5.1.1.tgz#02ac8c99b8a0152ac8d5486d6a1ecb8bcc58b576" - integrity sha512-l4ArJhXWgEahbPEY5nVNh3Ojr0s4Eg2evSAmEQ6QkiFIwdsHg2wThzCMs/kcqgNc1D4HxwEg3+FEYP+bgAiplA== + version "5.1.4" + resolved "https://registry.yarnpkg.com/isbot/-/isbot-5.1.4.tgz#3123c0fbf98ae867dc74ab95e47a809c13621a82" + integrity sha512-KuqD/TAG/qtgCDnO8Ab1v5rGRK3jl9hb+2KfJt+roIPE7R4Hiq99VinR0qrLGFptdUNIkClYjuXEpVTGkD9V/A== isexe@^2.0.0: version "2.0.0" @@ -7796,6 +7863,11 @@ lru-cache@^10.0.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== + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -7810,11 +7882,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -"lru-cache@^9.1.1 || ^10.0.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== - magic-string@^0.30.0, magic-string@^0.30.2, magic-string@^0.30.3: version "0.30.5" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" @@ -8000,7 +8067,7 @@ min-indent@^1.0.0, min-indent@^1.0.1: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimatch@9.0.3, minimatch@^9.0.1: +minimatch@9.0.3: version "9.0.3" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== @@ -8021,6 +8088,13 @@ 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== + dependencies: + brace-expansion "^2.0.1" + minimist-options@4.1.0, minimist-options@^4.0.2: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -8365,50 +8439,50 @@ object.assign@^4.1.4, object.assign@^4.1.5: object-keys "^1.1.1" object.entries@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" - integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== + version "1.1.8" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" + integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" object.fromentries@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" object.groupby@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.2.tgz#494800ff5bab78fd0eff2835ec859066e00192ec" - integrity sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw== + version "1.0.3" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== dependencies: - array.prototype.filter "^1.0.3" - call-bind "^1.0.5" + call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.0.0" + es-abstract "^1.23.2" object.hasown@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" - integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== + 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.0" - es-abstract "^1.22.1" + 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: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + version "1.2.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" ofetch@^1.1.1: version "1.3.3" @@ -8585,11 +8659,11 @@ path-parse@^1.0.7: integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-scurry@^1.10.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" - integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== + version "1.10.2" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.2.tgz#8f6357eb1239d5fa1da8b9f70e9c080675458ba7" + integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA== dependencies: - lru-cache "^9.1.1 || ^10.0.0" + lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-type@^3.0.0: @@ -9245,7 +9319,7 @@ postcss@^8.4.21: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@^8.4.28, postcss@^8.4.31: +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== @@ -9254,6 +9328,15 @@ postcss@^8.4.28, postcss@^8.4.31: 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" + 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" @@ -9474,13 +9557,13 @@ react-hook-form@^7.34.2: integrity sha512-F/TroLjTICipmHeFlMrLtNLceO2xr1jU3CyiNla5zdwsGUGu2UOxxR4UyJgLlhMwLW/Wzp4cpJ7CPfgJIeKdSg== react-intl@^6.5.5: - version "6.6.2" - resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.6.2.tgz#97a044afa9cac65ae62f404c8bb9cbd3aec52d41" - integrity sha512-IpW2IkLtGENSFlX3vfH11rjuCIsW0VyjT0Q1pPKMZPtT2z1FxLt4weFT5Ezti2TScT1xiyb3aQBFth9EB7jzAg== + version "6.6.5" + resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.6.5.tgz#3dee5c4a9f866aebc8384a540a6d132a3fc694eb" + integrity sha512-OErDPbGqus0QKVj77MGCC9Plbnys3CDQrq6Lw41c60pmeTdn41AhoS1SIzXG6SUlyF7qNN2AVqfrrIvHUgSyLQ== dependencies: "@formatjs/ecma402-abstract" "1.18.2" "@formatjs/icu-messageformat-parser" "2.7.6" - "@formatjs/intl" "2.10.0" + "@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" @@ -9674,15 +9757,15 @@ redux@^4.0.0, redux@^4.0.4: "@babel/runtime" "^7.9.2" reflect.getprototypeof@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz#e0bd28b597518f16edaf9c0e292c631eb13e0674" - integrity sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ== + version "1.0.6" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859" + integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.0.0" - get-intrinsic "^1.2.3" + es-abstract "^1.23.1" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" globalthis "^1.0.3" which-builtin-type "^1.1.3" @@ -9715,7 +9798,7 @@ regexp-tree@^0.1.24: 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.0, regexp.prototype.flags@^1.5.2: +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== @@ -9838,9 +9921,9 @@ reusify@^1.0.4: integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + version "1.3.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" + integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" @@ -9959,7 +10042,7 @@ rxjs@^7.5.1: dependencies: tslib "^2.1.0" -safe-array-concat@^1.1.0: +safe-array-concat@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== @@ -10062,7 +10145,7 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-function-name@^2.0.0, set-function-name@^2.0.1: +set-function-name@^2.0.1, set-function-name@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== @@ -10115,7 +10198,7 @@ shell-quote@^1.6.1: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== -side-channel@^1.0.4: +side-channel@^1.0.4, side-channel@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== @@ -10212,11 +10295,16 @@ sort-keys@^4.0.0: dependencies: is-plain-obj "^2.0.0" -source-map-js@^1.0.1, source-map-js@^1.0.2: +source-map-js@^1.0.1: version "1.0.2" 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: + 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-support@0.5.13: version "0.5.13" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" @@ -10365,19 +10453,22 @@ string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: strip-ansi "^7.0.1" string.prototype.matchall@^4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" - integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== + 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== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + gopd "^1.0.1" has-symbols "^1.0.3" - internal-slot "^1.0.5" - regexp.prototype.flags "^1.5.0" - set-function-name "^2.0.0" - side-channel "^1.0.4" + internal-slot "^1.0.7" + regexp.prototype.flags "^1.5.2" + set-function-name "^2.0.2" + side-channel "^1.0.6" string.prototype.padend@^3.0.0: version "3.1.5" @@ -10388,32 +10479,33 @@ string.prototype.padend@^3.0.0: define-properties "^1.2.0" es-abstract "^1.22.1" -string.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== +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" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" string_decoder@^1.1.1: version "1.3.0" @@ -10711,9 +10803,9 @@ tar-stream@^3.1.5: streamx "^2.15.0" tar@^6.1.2: - version "6.2.0" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" - integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== + version "6.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" @@ -10780,11 +10872,9 @@ tiny-lru@11.2.5: integrity sha512-JpqM0K33lG6iQGKiigcwuURAKZlq6rHXfrgeL4/I8/REoyJTGU+tEMszvT/oTRVHG2OiylhGDjqPp1jWMlr3bw== tmp@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" + version "0.2.3" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== tmpl@1.0.5: version "1.0.5" @@ -10991,10 +11081,10 @@ typed-array-byte-offset@^1.0.2: has-proto "^1.0.3" is-typed-array "^1.1.13" -typed-array-length@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.5.tgz#57d44da160296d8663fd63180a1802ebf25905d5" - integrity sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA== +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== dependencies: call-bind "^1.0.7" for-each "^0.3.3" @@ -11016,9 +11106,9 @@ typescript@^4.0, typescript@^4.5: integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== typescript@^5.4.3: - version "5.4.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.3.tgz#5c6fedd4c87bee01cd7a528a30145521f8e0feff" - integrity sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg== + 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" @@ -11040,11 +11130,6 @@ uncrypto@^0.1.3: resolved "https://registry.yarnpkg.com/uncrypto/-/uncrypto-0.1.3.tgz#e1288d609226f2d02d8d69ee861fa20d8348ef2b" integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q== -undici-types@~5.25.1: - version "5.25.3" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.25.3.tgz#e044115914c85f0bcbb229f346ab739f064998c3" - integrity sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA== - undici-types@~5.26.4: version "5.26.5" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" @@ -11299,16 +11384,16 @@ 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.9: - version "1.1.14" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06" - integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg== +which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.9: + 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== dependencies: - available-typed-arrays "^1.0.6" - call-bind "^1.0.5" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" for-each "^0.3.3" gopd "^1.0.1" - has-tostringtag "^1.0.1" + has-tostringtag "^1.0.2" which@^1.2.9, which@^1.3.1: version "1.3.1" From 1ffef86f2a7c2b81210690fb6f452779b6fc694f Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Tue, 9 Apr 2024 22:20:11 -0700 Subject: [PATCH 17/26] Fixed region view. Closes #2648. --- src/pages/api/websites/[websiteId]/metrics.ts | 2 +- .../analytics/sessions/getSessionMetrics.ts | 18 +++++++----------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/pages/api/websites/[websiteId]/metrics.ts b/src/pages/api/websites/[websiteId]/metrics.ts index 02e3a0095a..f9893e7900 100644 --- a/src/pages/api/websites/[websiteId]/metrics.ts +++ b/src/pages/api/websites/[websiteId]/metrics.ts @@ -87,7 +87,7 @@ export default async ( } if (SESSION_COLUMNS.includes(type)) { - const data = await getSessionMetrics(websiteId, column, filters, limit, offset); + const data = await getSessionMetrics(websiteId, type, filters, limit, offset); if (type === 'language') { const combined = {}; diff --git a/src/queries/analytics/sessions/getSessionMetrics.ts b/src/queries/analytics/sessions/getSessionMetrics.ts index 77ccb4105f..e28f1fb2e7 100644 --- a/src/queries/analytics/sessions/getSessionMetrics.ts +++ b/src/queries/analytics/sessions/getSessionMetrics.ts @@ -1,17 +1,11 @@ import prisma from 'lib/prisma'; import clickhouse from 'lib/clickhouse'; import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; -import { EVENT_TYPE, SESSION_COLUMNS } from 'lib/constants'; +import { EVENT_TYPE, FILTER_COLUMNS, SESSION_COLUMNS } from 'lib/constants'; import { QueryFilters } from 'lib/types'; export async function getSessionMetrics( - ...args: [ - websiteId: string, - column: string, - filters: QueryFilters, - limit?: number, - offset?: number, - ] + ...args: [websiteId: string, type: string, filters: QueryFilters, limit?: number, offset?: number] ) { return runQuery({ [PRISMA]: () => relationalQuery(...args), @@ -21,11 +15,12 @@ export async function getSessionMetrics( async function relationalQuery( websiteId: string, - column: string, + type: string, filters: QueryFilters, limit: number = 500, offset: number = 0, ) { + const column = FILTER_COLUMNS[type] || type; const { parseFilters, rawQuery } = prisma; const { filterQuery, joinSession, params } = await parseFilters( websiteId, @@ -34,7 +29,7 @@ async function relationalQuery( eventType: EVENT_TYPE.pageView, }, { - joinSession: SESSION_COLUMNS.includes(column), + joinSession: SESSION_COLUMNS.includes(type), }, ); const includeCountry = column === 'city' || column === 'subdivision1'; @@ -63,11 +58,12 @@ async function relationalQuery( async function clickhouseQuery( websiteId: string, - column: string, + type: string, filters: QueryFilters, limit: number = 500, offset: number = 0, ): Promise<{ x: string; y: number }[]> { + const column = FILTER_COLUMNS[type] || type; const { parseFilters, rawQuery } = clickhouse; const { filterQuery, params } = await parseFilters(websiteId, { ...filters, From 741af253755a98a36a28ec07ddb0a6ff2be5648f Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 10 Apr 2024 12:26:09 -0700 Subject: [PATCH 18/26] Pass start and end dates to filter component. Closes #2646. --- src/app/(main)/reports/[reportId]/FilterParameters.tsx | 2 ++ src/app/(main)/reports/[reportId]/FilterSelectForm.tsx | 6 ++++-- src/app/(main)/websites/[websiteId]/WebsiteFilterButton.tsx | 5 ++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/app/(main)/reports/[reportId]/FilterParameters.tsx b/src/app/(main)/reports/[reportId]/FilterParameters.tsx index 3118a6f4b8..ddbe4d1e81 100644 --- a/src/app/(main)/reports/[reportId]/FilterParameters.tsx +++ b/src/app/(main)/reports/[reportId]/FilterParameters.tsx @@ -55,6 +55,8 @@ export function FilterParameters() { !filters.find(f => f.name === name))} + startDate={dateRange?.startDate} + endDate={dateRange?.endDate} onChange={handleAdd} /> diff --git a/src/app/(main)/reports/[reportId]/FilterSelectForm.tsx b/src/app/(main)/reports/[reportId]/FilterSelectForm.tsx index b81c857672..77a36c3cc4 100644 --- a/src/app/(main)/reports/[reportId]/FilterSelectForm.tsx +++ b/src/app/(main)/reports/[reportId]/FilterSelectForm.tsx @@ -1,11 +1,12 @@ import { useState } from 'react'; import FieldSelectForm from './FieldSelectForm'; import FieldFilterEditForm from './FieldFilterEditForm'; -import { useDateRange } from 'components/hooks'; export interface FilterSelectFormProps { websiteId?: string; fields: any[]; + startDate?: Date; + endDate?: Date; onChange?: (filter: { name: string; type: string; operator: string; value: string }) => void; allowFilterSelect?: boolean; } @@ -13,11 +14,12 @@ export interface FilterSelectFormProps { export default function FilterSelectForm({ websiteId, fields, + startDate, + endDate, onChange, allowFilterSelect, }: FilterSelectFormProps) { const [field, setField] = useState<{ name: string; label: string; type: string }>(); - const [{ startDate, endDate }] = useDateRange(websiteId); if (!field) { return ; diff --git a/src/app/(main)/websites/[websiteId]/WebsiteFilterButton.tsx b/src/app/(main)/websites/[websiteId]/WebsiteFilterButton.tsx index dda7cb063a..a96717571b 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteFilterButton.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteFilterButton.tsx @@ -2,7 +2,7 @@ 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'; -import { useFields, useMessages, useNavigation } from 'components/hooks'; +import { useFields, useMessages, useNavigation, useDateRange } from 'components/hooks'; import { OPERATOR_PREFIXES } from 'lib/constants'; import styles from './WebsiteFilterButton.module.css'; @@ -16,6 +16,7 @@ export function WebsiteFilterButton({ const { formatMessage, labels } = useMessages(); const { renderUrl, router } = useNavigation(); const { fields } = useFields(); + const [{ startDate, endDate }] = useDateRange(websiteId); const handleAddFilter = ({ name, operator, value }) => { const prefix = OPERATOR_PREFIXES[operator]; @@ -38,6 +39,8 @@ export function WebsiteFilterButton({ { handleAddFilter(value); close(); From d90256b55fe94f6ebeb4cba2d012014a55e81cda Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 10 Apr 2024 12:27:28 -0700 Subject: [PATCH 19/26] Updated language files. --- public/intl/messages/am-ET.json | 56 +++++++ public/intl/messages/ar-SA.json | 58 ++++++- public/intl/messages/be-BY.json | 56 +++++++ public/intl/messages/bn-BD.json | 56 +++++++ public/intl/messages/ca-ES.json | 56 +++++++ public/intl/messages/cs-CZ.json | 56 +++++++ public/intl/messages/da-DK.json | 56 +++++++ public/intl/messages/de-CH.json | 56 +++++++ public/intl/messages/de-DE.json | 56 +++++++ public/intl/messages/el-GR.json | 56 +++++++ public/intl/messages/en-GB.json | 56 +++++++ public/intl/messages/en-US.json | 56 +++++++ public/intl/messages/es-ES.json | 56 +++++++ public/intl/messages/fa-IR.json | 56 +++++++ public/intl/messages/fi-FI.json | 56 +++++++ public/intl/messages/fo-FO.json | 56 +++++++ public/intl/messages/fr-FR.json | 60 ++++++- public/intl/messages/ga-ES.json | 56 +++++++ public/intl/messages/he-IL.json | 56 +++++++ public/intl/messages/hi-IN.json | 56 +++++++ public/intl/messages/hr-HR.json | 56 +++++++ public/intl/messages/hu-HU.json | 56 +++++++ public/intl/messages/id-ID.json | 56 +++++++ public/intl/messages/it-IT.json | 56 +++++++ public/intl/messages/ja-JP.json | 56 +++++++ public/intl/messages/km-KH.json | 56 +++++++ public/intl/messages/ko-KR.json | 56 +++++++ public/intl/messages/lt-LT.json | 280 +++++++++++++++++++------------- public/intl/messages/mn-MN.json | 56 +++++++ public/intl/messages/ms-MY.json | 56 +++++++ public/intl/messages/my-MM.json | 56 +++++++ public/intl/messages/nb-NO.json | 56 +++++++ public/intl/messages/nl-NL.json | 222 +++++++++++++++---------- public/intl/messages/pl-PL.json | 56 +++++++ public/intl/messages/pt-BR.json | 56 +++++++ public/intl/messages/pt-PT.json | 56 +++++++ public/intl/messages/ro-RO.json | 62 +++++++ public/intl/messages/ru-RU.json | 56 +++++++ public/intl/messages/si-LK.json | 56 +++++++ public/intl/messages/sk-SK.json | 56 +++++++ public/intl/messages/sl-SI.json | 56 +++++++ public/intl/messages/sv-SE.json | 56 +++++++ public/intl/messages/ta-IN.json | 56 +++++++ public/intl/messages/th-TH.json | 56 +++++++ public/intl/messages/tr-TR.json | 56 +++++++ public/intl/messages/uk-UA.json | 56 +++++++ public/intl/messages/ur-PK.json | 56 +++++++ public/intl/messages/vi-VN.json | 56 +++++++ public/intl/messages/zh-CN.json | 56 +++++++ public/intl/messages/zh-TW.json | 56 +++++++ 50 files changed, 3002 insertions(+), 200 deletions(-) diff --git a/public/intl/messages/am-ET.json b/public/intl/messages/am-ET.json index e17f35c77b..931935a292 100644 --- a/public/intl/messages/am-ET.json +++ b/public/intl/messages/am-ET.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " hours" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Single day" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Views" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Visitors" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/ar-SA.json b/public/intl/messages/ar-SA.json index 42dea85be8..300d3e1a67 100644 --- a/public/intl/messages/ar-SA.json +++ b/public/intl/messages/ar-SA.json @@ -35,6 +35,12 @@ "value": "أضِف عضو" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " ساعة" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "يوم واحد" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "بدون عنوان" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "المستخدمين" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "المشاهدات" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "الزوار" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, @@ -1342,7 +1398,7 @@ "message.delete-team-warning": [ { "type": 0, - "value": "حذف فريق سيؤدي إلى حذف جميع مواقع الفريق" + "value": "سيؤدي حذف الفريق أيضًا إلى حذف كافة مواقع الفريق" } ], "message.delete-website-warning": [ diff --git a/public/intl/messages/be-BY.json b/public/intl/messages/be-BY.json index 4fd681e17d..4b8c964fbb 100644 --- a/public/intl/messages/be-BY.json +++ b/public/intl/messages/be-BY.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " гадзіны" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Адзін дзень" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Прагляды" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Наведвальнікі" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/bn-BD.json b/public/intl/messages/bn-BD.json index 301ce73b1c..05de48d279 100644 --- a/public/intl/messages/bn-BD.json +++ b/public/intl/messages/bn-BD.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " ঘন্টা" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "একদিন" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "ভিউস" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "পরিদর্শনার্থী" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/ca-ES.json b/public/intl/messages/ca-ES.json index 4de900c3a9..cd8d50ab1f 100644 --- a/public/intl/messages/ca-ES.json +++ b/public/intl/messages/ca-ES.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " hores" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Un sol dia" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Vistes" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Visitants" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/cs-CZ.json b/public/intl/messages/cs-CZ.json index 9037654bf9..f87ddeda63 100644 --- a/public/intl/messages/cs-CZ.json +++ b/public/intl/messages/cs-CZ.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " hodin" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Jeden den" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Zobrazení" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Návštěvy" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/da-DK.json b/public/intl/messages/da-DK.json index ecc26e878e..332b98e8e4 100644 --- a/public/intl/messages/da-DK.json +++ b/public/intl/messages/da-DK.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " timer" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Enkelt dag" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Visninger" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Besøgende" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/de-CH.json b/public/intl/messages/de-CH.json index b908b4b287..9b913cea6d 100644 --- a/public/intl/messages/de-CH.json +++ b/public/intl/messages/de-CH.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " Stunde" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Ein Tag" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Benutzer" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Ufrüef" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Bsuecher" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/de-DE.json b/public/intl/messages/de-DE.json index 0dc62bb61c..9a21c400a1 100644 --- a/public/intl/messages/de-DE.json +++ b/public/intl/messages/de-DE.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " Stunden" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Ein Tag" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Unbenannt" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Benutzer" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Aufrufe" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Besucher" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/el-GR.json b/public/intl/messages/el-GR.json index 3ececb2c14..7c58f14c79 100644 --- a/public/intl/messages/el-GR.json +++ b/public/intl/messages/el-GR.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " ώρες" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Ημερήσια" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Προβολές" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Επισκέπτες" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/en-GB.json b/public/intl/messages/en-GB.json index 5f37a54000..43c9019e9f 100644 --- a/public/intl/messages/en-GB.json +++ b/public/intl/messages/en-GB.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " hours" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Single day" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Views" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Visitors" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/en-US.json b/public/intl/messages/en-US.json index 8946c90eb7..1cb11f91ca 100644 --- a/public/intl/messages/en-US.json +++ b/public/intl/messages/en-US.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " hours" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Single day" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Views" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Visitors" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/es-ES.json b/public/intl/messages/es-ES.json index 9b0ba5bf4a..32b3494022 100644 --- a/public/intl/messages/es-ES.json +++ b/public/intl/messages/es-ES.json @@ -35,6 +35,12 @@ "value": "Añadir miembro" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " horas" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Un solo día" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Sin título" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Usuarios" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Vistas" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Visitantes" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/fa-IR.json b/public/intl/messages/fa-IR.json index 9168ff1a9b..8c894c6a32 100644 --- a/public/intl/messages/fa-IR.json +++ b/public/intl/messages/fa-IR.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " ساعت گذشته" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "یک روز" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "بازدید" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "بازدیدکننده" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/fi-FI.json b/public/intl/messages/fi-FI.json index 16cf8db661..f855dba3f0 100644 --- a/public/intl/messages/fi-FI.json +++ b/public/intl/messages/fi-FI.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " tuntia" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Yksi päivä" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Näyttökerrat" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Vierailijat" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/fo-FO.json b/public/intl/messages/fo-FO.json index b05faf6cf0..be7442eb39 100644 --- a/public/intl/messages/fo-FO.json +++ b/public/intl/messages/fo-FO.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " tímarnar" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Einkultur dagur" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Sýningar" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Vitjandi" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/fr-FR.json b/public/intl/messages/fr-FR.json index c097324972..e33b7bf2d5 100644 --- a/public/intl/messages/fr-FR.json +++ b/public/intl/messages/fr-FR.json @@ -35,6 +35,12 @@ "value": "Ajouter un membre" } ], + "label.add-step": [ + { + "type": 0, + "value": "Ajouter une étape" + } + ], "label.add-website": [ { "type": 0, @@ -547,6 +553,16 @@ "value": " dernières heures" } ], + "label.last-months": [ + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " derniers mois" + } + ], "label.leave": [ { "type": 0, @@ -671,7 +687,7 @@ "value": [ { "type": 0, - "value": "record" + "value": "enregistrement" } ] }, @@ -679,7 +695,7 @@ "value": [ { "type": 0, - "value": "records" + "value": "enregistrements" } ] } @@ -876,7 +892,7 @@ "label.retention-description": [ { "type": 0, - "value": "Mesure de l'atractivité du site en visualisant les taux d'utilisateurs qui reviennent." + "value": "Mesure de l'attractivité du site en visualisant les taux de visiteurs qui reviennent." } ], "label.role": [ @@ -957,6 +973,12 @@ "value": "Journée" } ], + "label.steps": [ + { + "type": 0, + "value": "Étapes" + } + ], "label.sum": [ { "type": 0, @@ -1131,6 +1153,12 @@ "value": "Sans titre" } ], + "label.update": [ + { + "type": 0, + "value": "Modifier" + } + ], "label.url": [ { "type": 0, @@ -1161,6 +1189,18 @@ "value": "Utilisateurs" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Suivi de campagnes via les paramètres UTM." + } + ], "label.value": [ { "type": 0, @@ -1191,12 +1231,24 @@ "value": "Vues" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Vues par visite" + } + ], "label.visitors": [ { "type": 0, "value": "Visiteurs" } ], + "label.visits": [ + { + "type": 0, + "value": "Visites" + } + ], "label.website": [ { "type": 0, @@ -1544,7 +1596,7 @@ "message.triggered-event": [ { "type": 0, - "value": "Triggered event" + "value": "Évènement déclenché" } ], "message.user-deleted": [ diff --git a/public/intl/messages/ga-ES.json b/public/intl/messages/ga-ES.json index 9e8252288b..4bc03ce0bb 100644 --- a/public/intl/messages/ga-ES.json +++ b/public/intl/messages/ga-ES.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " horas" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -973,6 +993,12 @@ "value": "Un só día" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1147,6 +1173,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1177,6 +1209,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1207,12 +1251,24 @@ "value": "Visualizacións" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Visitantes" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/he-IL.json b/public/intl/messages/he-IL.json index 5969229315..92aef8a034 100644 --- a/public/intl/messages/he-IL.json +++ b/public/intl/messages/he-IL.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -547,6 +553,20 @@ "value": " שעות אחרונות" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -957,6 +977,12 @@ "value": "יום בודד" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1131,6 +1157,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1161,6 +1193,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1191,12 +1235,24 @@ "value": "צפיות" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "מבקרים" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/hi-IN.json b/public/intl/messages/hi-IN.json index ef4deb6f96..ec46318147 100644 --- a/public/intl/messages/hi-IN.json +++ b/public/intl/messages/hi-IN.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " घंटे" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "एक दिन" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "दृश्य" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "आगंतुकों" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/hr-HR.json b/public/intl/messages/hr-HR.json index 7259dd0293..032456f879 100644 --- a/public/intl/messages/hr-HR.json +++ b/public/intl/messages/hr-HR.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " sati" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Jedan dan" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Views" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Visitors" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/hu-HU.json b/public/intl/messages/hu-HU.json index f6342e3c19..08fd319a45 100644 --- a/public/intl/messages/hu-HU.json +++ b/public/intl/messages/hu-HU.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " óra" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Egy nap" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Megtekintések" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Látogatók" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/id-ID.json b/public/intl/messages/id-ID.json index 13385bd8f5..8898f1ec09 100644 --- a/public/intl/messages/id-ID.json +++ b/public/intl/messages/id-ID.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -547,6 +553,20 @@ "value": " jam terakhir" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -957,6 +977,12 @@ "value": "Sehari" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1131,6 +1157,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1161,6 +1193,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1191,12 +1235,24 @@ "value": "Tampilan" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Pengunjung" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/it-IT.json b/public/intl/messages/it-IT.json index 4008ef0499..471cf31f5f 100644 --- a/public/intl/messages/it-IT.json +++ b/public/intl/messages/it-IT.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " ore" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Singolo giorno" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Visualizzazioni" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Visitatori" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/ja-JP.json b/public/intl/messages/ja-JP.json index e1882cd3f1..ed869857cc 100644 --- a/public/intl/messages/ja-JP.json +++ b/public/intl/messages/ja-JP.json @@ -35,6 +35,12 @@ "value": "メンバーの追加" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": "時間" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "一日" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "無題" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "ユーザー" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "表示" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "訪問者" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/km-KH.json b/public/intl/messages/km-KH.json index 712bed1103..63ad4841a8 100644 --- a/public/intl/messages/km-KH.json +++ b/public/intl/messages/km-KH.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -547,6 +553,20 @@ "value": " ម៉ោងមុន" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -957,6 +977,12 @@ "value": "ថ្ងៃតែមួយ" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1131,6 +1157,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1161,6 +1193,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1191,12 +1235,24 @@ "value": "អ្នកចូលមើល" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "អ្នកទស្សនា" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/ko-KR.json b/public/intl/messages/ko-KR.json index 4d19a3a26d..e9fc0c0da6 100644 --- a/public/intl/messages/ko-KR.json +++ b/public/intl/messages/ko-KR.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " 시간" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -969,6 +989,12 @@ "value": "하루" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1143,6 +1169,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1173,6 +1205,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1203,12 +1247,24 @@ "value": "조회수" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "방문객" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/lt-LT.json b/public/intl/messages/lt-LT.json index e7d468387e..261e2f9490 100644 --- a/public/intl/messages/lt-LT.json +++ b/public/intl/messages/lt-LT.json @@ -2,7 +2,7 @@ "label.access-code": [ { "type": 0, - "value": "Access code" + "value": "Prieigos kodas" } ], "label.actions": [ @@ -14,25 +14,31 @@ "label.activity-log": [ { "type": 0, - "value": "Activity log" + "value": "Veiklos žurnalas" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "Pridėti" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "Pridėti aprašymą" } ], "label.add-member": [ { "type": 0, - "value": "Add member" + "value": "Pridėti narį" + } + ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" } ], "label.add-website": [ @@ -44,13 +50,13 @@ "label.admin": [ { "type": 0, - "value": "Administratorius" + "value": "Administrator" } ], "label.after": [ { "type": 0, - "value": "After" + "value": "Po" } ], "label.all": [ @@ -74,7 +80,7 @@ "label.average": [ { "type": 0, - "value": "Average" + "value": "Vidurkis" } ], "label.average-visit-time": [ @@ -92,7 +98,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "Prieš" } ], "label.bounce-rate": [ @@ -110,7 +116,7 @@ "label.browser": [ { "type": 0, - "value": "Browser" + "value": "Naršyklė" } ], "label.browsers": [ @@ -134,25 +140,25 @@ "label.cities": [ { "type": 0, - "value": "Cities" + "value": "Miestai" } ], "label.city": [ { "type": 0, - "value": "City" + "value": "Miestas" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "Išvalyti visus" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "Patvirtinti" } ], "label.confirm-password": [ @@ -182,31 +188,31 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Šalis" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "Sukurti" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "Kurti ataskaitą" } ], "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "Sukurti komandą" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "Sukurti vartotoją" } ], "label.created": [ @@ -242,13 +248,13 @@ "label.data": [ { "type": 0, - "value": "Data" + "value": "Duomenys" } ], "label.date": [ { "type": 0, - "value": "Date" + "value": "Data" } ], "label.date-range": [ @@ -260,7 +266,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "Diena" } ], "label.default-date-range": [ @@ -278,19 +284,19 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "Ištrinti ataskaitą" } ], "label.delete-team": [ { "type": 0, - "value": "Delete team" + "value": "Ištrinti komandą" } ], "label.delete-user": [ { "type": 0, - "value": "Delete user" + "value": "Ištrinti vartotoją" } ], "label.delete-website": [ @@ -302,7 +308,7 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "Aprašymas" } ], "label.desktop": [ @@ -314,13 +320,13 @@ "label.details": [ { "type": 0, - "value": "Details" + "value": "Detalės" } ], "label.device": [ { "type": 0, - "value": "Device" + "value": "Įrenginys" } ], "label.devices": [ @@ -362,13 +368,13 @@ "label.edit-dashboard": [ { "type": 0, - "value": "Edit dashboard" + "value": "Redaguoti švieslentę" } ], "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "Redaguoti narį" } ], "label.enable-share-url": [ @@ -380,13 +386,13 @@ "label.event": [ { "type": 0, - "value": "Event" + "value": "Įvykis" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "Įvykių duomenys" } ], "label.events": [ @@ -404,19 +410,19 @@ "label.field": [ { "type": 0, - "value": "Field" + "value": "Laukelis" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "Laukeliai" } ], "label.filter": [ { "type": 0, - "value": "Filter" + "value": "Filtruoti" } ], "label.filter-combined": [ @@ -434,7 +440,7 @@ "label.filters": [ { "type": 0, - "value": "Filters" + "value": "Filtrai" } ], "label.funnel": [ @@ -464,13 +470,13 @@ "label.insights": [ { "type": 0, - "value": "Insights" + "value": "Įžvalgos" } ], "label.insights-description": [ { "type": 0, - "value": "Dive deeper into your data by using segments and filters." + "value": "Pasinerkite giliau į savo duomenis naudodami segmentus ir filtrus." } ], "label.is": [ @@ -500,19 +506,19 @@ "label.join": [ { "type": 0, - "value": "Join" + "value": "Prisijungti" } ], "label.join-team": [ { "type": 0, - "value": "Join team" + "value": "Prisijungti į komandą" } ], "label.language": [ { "type": 0, - "value": "Language" + "value": "Kalba" } ], "label.languages": [ @@ -660,16 +666,30 @@ "value": "x" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, - "value": "Leave" + "value": "Išeiti" } ], "label.leave-team": [ { "type": 0, - "value": "Leave team" + "value": "Išeiti iš komandos" } ], "label.less-than": [ @@ -699,7 +719,7 @@ "label.manage": [ { "type": 0, - "value": "Manage" + "value": "Tvarkyti" } ], "label.max": [ @@ -711,13 +731,13 @@ "label.member": [ { "type": 0, - "value": "Member" + "value": "Narys" } ], "label.members": [ { "type": 0, - "value": "Members" + "value": "Nariai" } ], "label.min": [ @@ -741,13 +761,13 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "Mano paskyra" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Mano svetainės" } ], "label.name": [ @@ -811,13 +831,13 @@ "label.os": [ { "type": 0, - "value": "OS" + "value": "Operacinės sistemos" } ], "label.overview": [ { "type": 0, - "value": "Overview" + "value": "Apžvalga" } ], "label.owner": [ @@ -829,7 +849,7 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "Puslapis " }, { "type": 1, @@ -837,7 +857,7 @@ }, { "type": 0, - "value": " of " + "value": " iš " }, { "type": 1, @@ -853,7 +873,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Puslapio pavadinimas" } ], "label.pages": [ @@ -887,19 +907,19 @@ "label.queries": [ { "type": 0, - "value": "Queries" + "value": "Užklausos" } ], "label.query": [ { "type": 0, - "value": "Query" + "value": "Užklausa" } ], "label.query-parameters": [ { "type": 0, - "value": "Query parameters" + "value": "Užklausų parametrai" } ], "label.realtime": [ @@ -911,13 +931,13 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "Persiuntėjas" } ], "label.referrers": [ { "type": 0, - "value": "Referrers" + "value": "Persiuntėjai" } ], "label.refresh": [ @@ -935,31 +955,31 @@ "label.region": [ { "type": 0, - "value": "Region" + "value": "Regionas" } ], "label.regions": [ { "type": 0, - "value": "Regions" + "value": "Regionai" } ], "label.remove": [ { "type": 0, - "value": "Remove" + "value": "Pašalinti" } ], "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "Pašalinti narį" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "Ataskaitos" } ], "label.required": [ @@ -995,7 +1015,7 @@ "label.role": [ { "type": 0, - "value": "Role" + "value": "Rolė" } ], "label.run-query": [ @@ -1013,13 +1033,13 @@ "label.screens": [ { "type": 0, - "value": "Screens" + "value": "Ekranai" } ], "label.search": [ { "type": 0, - "value": "Search" + "value": "Ieškoti" } ], "label.select": [ @@ -1031,25 +1051,25 @@ "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "Pasirinkti laikotarpį" } ], "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "Pasirinkti rolę" } ], "label.select-website": [ { "type": 0, - "value": "Select website" + "value": "Pasirinkti svetainę" } ], "label.sessions": [ { "type": 0, - "value": "Sessions" + "value": "Sesijos" } ], "label.settings": [ @@ -1070,10 +1090,16 @@ "value": "Viena diena" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, - "value": "Sum" + "value": "Suma" } ], "label.tablet": [ @@ -1085,31 +1111,31 @@ "label.team": [ { "type": 0, - "value": "Team" + "value": "Komanda" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "Komandos ID" } ], "label.team-member": [ { "type": 0, - "value": "Team member" + "value": "Komandos narys" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Komandos pavadinimas" } ], "label.team-owner": [ { "type": 0, - "value": "Team owner" + "value": "Komandos savininkas" } ], "label.team-view-only": [ @@ -1127,13 +1153,13 @@ "label.teams": [ { "type": 0, - "value": "Teams" + "value": "Komandos" } ], "label.theme": [ { "type": 0, - "value": "Theme" + "value": "Spalvų tema" } ], "label.this-month": [ @@ -1163,7 +1189,7 @@ "label.title": [ { "type": 0, - "value": "Title" + "value": "Pavadinimas" } ], "label.today": [ @@ -1199,13 +1225,13 @@ "label.transfer": [ { "type": 0, - "value": "Transfer" + "value": "Perleisti" } ], "label.transfer-website": [ { "type": 0, - "value": "Transfer website" + "value": "Perleisti svetainę" } ], "label.true": [ @@ -1241,7 +1267,13 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "Be pavadinimo" + } + ], + "label.update": [ + { + "type": 0, + "value": "Update" } ], "label.url": [ @@ -1259,7 +1291,7 @@ "label.user": [ { "type": 0, - "value": "User" + "value": "Vartotojas" } ], "label.username": [ @@ -1271,7 +1303,19 @@ "label.users": [ { "type": 0, - "value": "Users" + "value": "Vartotojai" + } + ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." } ], "label.value": [ @@ -1283,7 +1327,7 @@ "label.view": [ { "type": 0, - "value": "View" + "value": "Atidaryti" } ], "label.view-details": [ @@ -1295,7 +1339,7 @@ "label.view-only": [ { "type": 0, - "value": "View only" + "value": "Tik peržiūrėti" } ], "label.views": [ @@ -1304,22 +1348,34 @@ "value": "Peržiūros" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Lankytojai" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, - "value": "Website" + "value": "Svetainė" } ], "label.website-id": [ { "type": 0, - "value": "Website ID" + "value": "Svetainės ID" } ], "label.websites": [ @@ -1337,13 +1393,13 @@ "label.yesterday": [ { "type": 0, - "value": "Yesterday" + "value": "Vakar" } ], "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "Įrašykite " }, { "type": 1, @@ -1351,7 +1407,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " žemiau, kad patvirtintumėte." } ], "message.active-users": [ @@ -1425,7 +1481,7 @@ "message.confirm-leave": [ { "type": 0, - "value": "Are you sure you want to leave " + "value": "Ar esate tikri, jog norite palikti " }, { "type": 1, @@ -1439,7 +1495,7 @@ "message.confirm-remove": [ { "type": 0, - "value": "Are you sure you want to remove " + "value": "Ar esate tikri, jog norite ištrinti " }, { "type": 1, @@ -1467,7 +1523,7 @@ "message.delete-team-warning": [ { "type": 0, - "value": "Deleting a team will also delete all team websites." + "value": "Ištrinant komandą bus ištrintos ir visos komandos svetainės." } ], "message.delete-website-warning": [ @@ -1517,7 +1573,7 @@ "message.min-password-length": [ { "type": 0, - "value": "Minimum length of " + "value": "Reikia bent " }, { "type": 1, @@ -1525,13 +1581,13 @@ }, { "type": 0, - "value": " characters" + "value": " simbolių" } ], "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Išleista nauja 'Umami' " }, { "type": 1, @@ -1539,7 +1595,7 @@ }, { "type": 0, - "value": " is available!" + "value": " versija!" } ], "message.no-data-available": [ @@ -1551,7 +1607,7 @@ "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "Jokių duomenų apie įvykius nėra." } ], "message.no-match-password": [ @@ -1563,25 +1619,25 @@ "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "Jokių rezultatų nerasta." } ], "message.no-team-websites": [ { "type": 0, - "value": "This team does not have any websites." + "value": "Ši komanda neturi jokių svetainių." } ], "message.no-teams": [ { "type": 0, - "value": "You have not created any teams." + "value": "Jūs nesate sukūrę jokių komandų." } ], "message.no-users": [ { "type": 0, - "value": "There are no users." + "value": "Nėra jokių vartotojų." } ], "message.no-websites-configured": [ @@ -1599,7 +1655,7 @@ "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "Kad atstatyti šią svetainę, įrašykite " }, { "type": 1, @@ -1607,7 +1663,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " žemiau, kad patvirtintumėte." } ], "message.reset-website-warning": [ @@ -1639,19 +1695,19 @@ "message.team-already-member": [ { "type": 0, - "value": "You are already a member of the team." + "value": "Jūs jau esate šios komandos narys." } ], "message.team-not-found": [ { "type": 0, - "value": "Team not found." + "value": "Komanda nerasta." } ], "message.team-websites-info": [ { "type": 0, - "value": "Websites can be viewed by anyone on the team." + "value": "Svetaines gali peržiūrėti bet kas iš šios komandos." } ], "message.tracking-code": [ @@ -1663,19 +1719,19 @@ "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "Perduoti šią svetainę į jūsų paskyrą?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "Pasirinkite komandą, kuriai norite perduoti šią svetainę." } ], "message.transfer-website": [ { "type": 0, - "value": "Transfer website ownership to your account or another team." + "value": "Perduoti svetainės nuosavybę į savo paskyrą arba kitą komandą." } ], "message.triggered-event": [ @@ -1687,7 +1743,7 @@ "message.user-deleted": [ { "type": 0, - "value": "User deleted." + "value": "Vartotojas ištrintas." } ], "message.viewed-page": [ diff --git a/public/intl/messages/mn-MN.json b/public/intl/messages/mn-MN.json index 509d8b5bb9..4833490201 100644 --- a/public/intl/messages/mn-MN.json +++ b/public/intl/messages/mn-MN.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " цаг" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Нэг өдөр" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Гарчиггүй" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Хэрэглэгчид" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Үзсэн" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Зочин" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/ms-MY.json b/public/intl/messages/ms-MY.json index 997a09511d..58034742e4 100644 --- a/public/intl/messages/ms-MY.json +++ b/public/intl/messages/ms-MY.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -547,6 +553,20 @@ "value": " jam lepas" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -957,6 +977,12 @@ "value": "Satu hari" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1131,6 +1157,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1161,6 +1193,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1191,12 +1235,24 @@ "value": "Lawatan" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Pelawat" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/my-MM.json b/public/intl/messages/my-MM.json index 9a586ac2fc..18c1a2b9a7 100644 --- a/public/intl/messages/my-MM.json +++ b/public/intl/messages/my-MM.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " နာရီက" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "တစ်ရက်အတွင်း" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "ခေါင်းစဉ်မရှိ" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "အသုံးပြုသူများ" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "ဝင်ရောက်ကြည့်ရှုမှုများ" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "ဝင်ရောက်ကြည့်ရှုသူများ" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/nb-NO.json b/public/intl/messages/nb-NO.json index b2b8715d45..2f7132ef7c 100644 --- a/public/intl/messages/nb-NO.json +++ b/public/intl/messages/nb-NO.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " timer" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Enkelt dag" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Visninger" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Besøkende" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/nl-NL.json b/public/intl/messages/nl-NL.json index c992b6c832..c0a3add4ba 100644 --- a/public/intl/messages/nl-NL.json +++ b/public/intl/messages/nl-NL.json @@ -20,13 +20,13 @@ "label.add": [ { "type": 0, - "value": "Add" + "value": "Toevoegen" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "Omschrijving toevoegen" } ], "label.add-member": [ @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -44,13 +50,13 @@ "label.admin": [ { "type": 0, - "value": "Beheerder" + "value": "Administrator" } ], "label.after": [ { "type": 0, - "value": "After" + "value": "Na" } ], "label.all": [ @@ -74,7 +80,7 @@ "label.average": [ { "type": 0, - "value": "Average" + "value": "Gemiddelde" } ], "label.average-visit-time": [ @@ -92,7 +98,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "Voor" } ], "label.bounce-rate": [ @@ -104,7 +110,7 @@ "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "Opsplitsen" } ], "label.browser": [ @@ -140,7 +146,7 @@ "label.city": [ { "type": 0, - "value": "City" + "value": "Stad" } ], "label.clear-all": [ @@ -164,7 +170,7 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "Bevat" } ], "label.continue": [ @@ -182,19 +188,19 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Land" } ], "label.create": [ { "type": 0, - "value": "Create" + "value": "Aanmaken" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "Rapport aanmaken" } ], "label.create-team": [ @@ -218,7 +224,7 @@ "label.created-by": [ { "type": 0, - "value": "Created By" + "value": "Gemaakt Door" } ], "label.current-password": [ @@ -248,7 +254,7 @@ "label.date": [ { "type": 0, - "value": "Date" + "value": "Datum" } ], "label.date-range": [ @@ -260,7 +266,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "Dag" } ], "label.default-date-range": [ @@ -278,7 +284,7 @@ "label.delete-report": [ { "type": 0, - "value": "Delete report" + "value": "Rapport verwijderen" } ], "label.delete-team": [ @@ -302,7 +308,7 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "Omschrijving" } ], "label.desktop": [ @@ -320,7 +326,7 @@ "label.device": [ { "type": 0, - "value": "Device" + "value": "Apparaat" } ], "label.devices": [ @@ -338,7 +344,7 @@ "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "Bevat geen" } ], "label.domain": [ @@ -350,7 +356,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Uitval" } ], "label.edit": [ @@ -368,7 +374,7 @@ "label.edit-member": [ { "type": 0, - "value": "Edit member" + "value": "Gebruiker aanpassen" } ], "label.enable-share-url": [ @@ -380,13 +386,13 @@ "label.event": [ { "type": 0, - "value": "Event" + "value": "Gebeurtenis" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "Datum gebeurtenis" } ], "label.events": [ @@ -398,19 +404,19 @@ "label.false": [ { "type": 0, - "value": "False" + "value": "Onwaar" } ], "label.field": [ { "type": 0, - "value": "Field" + "value": "Veld" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "Velden" } ], "label.filter": [ @@ -446,31 +452,31 @@ "label.funnel-description": [ { "type": 0, - "value": "Understand the conversion and drop-off rate of users." + "value": "Ontdek de conversie- en uitvalpercentages van gebruikers." } ], "label.greater-than": [ { "type": 0, - "value": "Greater than" + "value": "Groter dan" } ], "label.greater-than-equals": [ { "type": 0, - "value": "Greater than or equals" + "value": "Groter of gelijk aan" } ], "label.insights": [ { "type": 0, - "value": "Insights" + "value": "Inzichten" } ], "label.insights-description": [ { "type": 0, - "value": "Dive deeper into your data by using segments and filters." + "value": "Verken je gegevens verder door segmenten en filters te gebruiken." } ], "label.is": [ @@ -482,19 +488,19 @@ "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "Is niet" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "Is niet ingesteld" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Is ingesteld" } ], "label.join": [ @@ -555,6 +561,20 @@ "value": " uur" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -570,13 +590,13 @@ "label.less-than": [ { "type": 0, - "value": "Less than" + "value": "Minder dan" } ], "label.less-than-equals": [ { "type": 0, - "value": "Less than or equals" + "value": "Minder of gelijk aan" } ], "label.login": [ @@ -594,7 +614,7 @@ "label.manage": [ { "type": 0, - "value": "Manage" + "value": "Beheren" } ], "label.max": [ @@ -606,7 +626,7 @@ "label.member": [ { "type": 0, - "value": "Member" + "value": "Gebruiker" } ], "label.members": [ @@ -636,13 +656,13 @@ "label.my-account": [ { "type": 0, - "value": "My account" + "value": "Mijn profiel" } ], "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Mijn websites" } ], "label.name": [ @@ -712,7 +732,7 @@ "label.overview": [ { "type": 0, - "value": "Overview" + "value": "Overzicht" } ], "label.owner": [ @@ -724,7 +744,7 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "Pagina " }, { "type": 1, @@ -732,7 +752,7 @@ }, { "type": 0, - "value": " of " + "value": " van " }, { "type": 1, @@ -748,7 +768,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Pagina titel" } ], "label.pages": [ @@ -830,7 +850,7 @@ "label.region": [ { "type": 0, - "value": "Region" + "value": "Regio" } ], "label.regions": [ @@ -848,13 +868,13 @@ "label.remove-member": [ { "type": 0, - "value": "Remove member" + "value": "Gebruiker verwijderen" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "Rapporten" } ], "label.required": [ @@ -878,13 +898,13 @@ "label.retention": [ { "type": 0, - "value": "Retention" + "value": "Retentie" } ], "label.retention-description": [ { "type": 0, - "value": "Measure your website stickiness by tracking how often users return." + "value": "Meet de retentie van je website door door bij te houden hoe vaak gebruikers terugkeren." } ], "label.role": [ @@ -896,7 +916,7 @@ "label.run-query": [ { "type": 0, - "value": "Run query" + "value": "Query uitvoeren" } ], "label.save": [ @@ -914,25 +934,25 @@ "label.search": [ { "type": 0, - "value": "Search" + "value": "Zoeken" } ], "label.select": [ { "type": 0, - "value": "Select" + "value": "Selecteer" } ], "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "Datum selecteren" } ], "label.select-role": [ { "type": 0, - "value": "Select role" + "value": "Rol selecteren" } ], "label.select-website": [ @@ -965,10 +985,16 @@ "value": "Enkele dag" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, - "value": "Sum" + "value": "Som" } ], "label.tablet": [ @@ -998,7 +1024,7 @@ "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Teamnaam" } ], "label.team-owner": [ @@ -1010,7 +1036,7 @@ "label.team-view-only": [ { "type": 0, - "value": "Team view only" + "value": "Team alleen lezen" } ], "label.team-websites": [ @@ -1076,13 +1102,13 @@ "label.total": [ { "type": 0, - "value": "Total" + "value": "Totaal" } ], "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "Totaal records" } ], "label.tracking-code": [ @@ -1106,7 +1132,7 @@ "label.true": [ { "type": 0, - "value": "True" + "value": "Waar" } ], "label.type": [ @@ -1136,7 +1162,13 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "Ongetiteld" + } + ], + "label.update": [ + { + "type": 0, + "value": "Update" } ], "label.url": [ @@ -1148,7 +1180,7 @@ "label.urls": [ { "type": 0, - "value": "URLs" + "value": "URL's" } ], "label.user": [ @@ -1169,10 +1201,22 @@ "value": "Gebruikers" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, - "value": "Value" + "value": "Waarde" } ], "label.view": [ @@ -1190,7 +1234,7 @@ "label.view-only": [ { "type": 0, - "value": "View only" + "value": "Alleen inzien" } ], "label.views": [ @@ -1199,12 +1243,24 @@ "value": "Weergaven" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Bezoekers" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, @@ -1238,7 +1294,7 @@ "message.action-confirmation": [ { "type": 0, - "value": "Type " + "value": "Typ " }, { "type": 1, @@ -1246,7 +1302,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " in het veld hieronder om te bevestigen." } ], "message.active-users": [ @@ -1314,7 +1370,7 @@ "message.confirm-remove": [ { "type": 0, - "value": "Are you sure you want to remove " + "value": "Weet je zeker dat je " }, { "type": 1, @@ -1322,7 +1378,7 @@ }, { "type": 0, - "value": "?" + "value": " wilt verwijderen?" } ], "message.confirm-reset": [ @@ -1342,13 +1398,13 @@ "message.delete-team-warning": [ { "type": 0, - "value": "Deleting a team will also delete all team websites." + "value": "Als een team wordt verwijderd, worden ook alle websites van dat team verwijderd." } ], "message.delete-website-warning": [ { "type": 0, - "value": "Alle verwante gegezens zullen ook verwijderd worden." + "value": "Alle verwante gegevens zullen ook verwijderd worden." } ], "message.error": [ @@ -1406,7 +1462,7 @@ "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Een nieuwe versie van Umami " }, { "type": 1, @@ -1414,7 +1470,7 @@ }, { "type": 0, - "value": " is available!" + "value": " is beschikbaar!" } ], "message.no-data-available": [ @@ -1426,7 +1482,7 @@ "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "Geen gegevens over de gebeurtenis beschikbaar." } ], "message.no-match-password": [ @@ -1438,7 +1494,7 @@ "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "Geen resultaten gevonden." } ], "message.no-team-websites": [ @@ -1474,7 +1530,7 @@ "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "Typ " }, { "type": 1, @@ -1482,7 +1538,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " in het veld hieronder om te bevestigen dat je de website wilt resetten." } ], "message.reset-website-warning": [ @@ -1538,37 +1594,37 @@ "message.transfer-team-website-to-user": [ { "type": 0, - "value": "Transfer this website to your account?" + "value": "Deze website toevoegen aan je account?" } ], "message.transfer-user-website-to-team": [ { "type": 0, - "value": "Select the team to transfer this website to." + "value": "Selecteer het team om deze website aan toe te voegen." } ], "message.transfer-website": [ { "type": 0, - "value": "Transfer website ownership to your account or another team." + "value": "Draag het eigenaarschap van de website over naar jouw account, of een ander team." } ], "message.triggered-event": [ { "type": 0, - "value": "Triggered event" + "value": "Getriggerde gebeurtenis" } ], "message.user-deleted": [ { "type": 0, - "value": "Gebruiker verwijderd." + "value": "Gebruiker verwijderd" } ], "message.viewed-page": [ { "type": 0, - "value": "Viewed page" + "value": "Bekeken pagina" } ], "message.visitor-log": [ @@ -1608,7 +1664,7 @@ "message.visitors-dropped-off": [ { "type": 0, - "value": "Visitors dropped off" + "value": "Afgehaakte bezoekers" } ] } diff --git a/public/intl/messages/pl-PL.json b/public/intl/messages/pl-PL.json index 923534487f..547a70a981 100644 --- a/public/intl/messages/pl-PL.json +++ b/public/intl/messages/pl-PL.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " godzin" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "W tym dniu" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Bez tytułu" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Użytkownicy" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Wyświetlenia" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Odwiedzający" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/pt-BR.json b/public/intl/messages/pt-BR.json index e926a9a2d6..f142817f45 100644 --- a/public/intl/messages/pt-BR.json +++ b/public/intl/messages/pt-BR.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " horas" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Dia específico" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Sem título" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Usuários" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Visualizações" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Visitantes" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/pt-PT.json b/public/intl/messages/pt-PT.json index ae3fb472c7..3e16a55e21 100644 --- a/public/intl/messages/pt-PT.json +++ b/public/intl/messages/pt-PT.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " horas" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Dia único" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Visualizações" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Visitantes" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/ro-RO.json b/public/intl/messages/ro-RO.json index 8236eba6b4..da1413f6c1 100644 --- a/public/intl/messages/ro-RO.json +++ b/public/intl/messages/ro-RO.json @@ -35,6 +35,12 @@ "value": "Adaugă membru" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -215,6 +221,12 @@ "value": "Creat" } ], + "label.created-by": [ + { + "type": 0, + "value": "Created By" + } + ], "label.current-password": [ { "type": 0, @@ -549,6 +561,20 @@ "value": " ore" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -959,6 +985,12 @@ "value": "O singură zi" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1133,6 +1165,12 @@ "value": "Fără titlu" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1163,6 +1201,18 @@ "value": "Utilizatori" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1193,12 +1243,24 @@ "value": "Vizualizări" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Vizitatori" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/ru-RU.json b/public/intl/messages/ru-RU.json index e392990214..4b97f22546 100644 --- a/public/intl/messages/ru-RU.json +++ b/public/intl/messages/ru-RU.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " часа" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Один день" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Пользователи" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Просмотры" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Посетители" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/si-LK.json b/public/intl/messages/si-LK.json index 04d627fbc0..67e32f90c2 100644 --- a/public/intl/messages/si-LK.json +++ b/public/intl/messages/si-LK.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " පැය" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "තනි දවස" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Views" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Visitors" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/sk-SK.json b/public/intl/messages/sk-SK.json index 690ee4c5a1..f4e8a5e465 100644 --- a/public/intl/messages/sk-SK.json +++ b/public/intl/messages/sk-SK.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " hodín" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Jeden deň" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Zobrazení" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Návštevy" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/sl-SI.json b/public/intl/messages/sl-SI.json index 7773c813c0..e96723ae0e 100644 --- a/public/intl/messages/sl-SI.json +++ b/public/intl/messages/sl-SI.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " ur" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "En dan" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Brez naslova" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Uporabniki" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Obiski" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Obiskovalci" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/sv-SE.json b/public/intl/messages/sv-SE.json index 8b8ccf5a93..45dc754d73 100644 --- a/public/intl/messages/sv-SE.json +++ b/public/intl/messages/sv-SE.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " timmarna" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "En dag" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Namnlös" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Användare" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Visningar" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Besökare" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/ta-IN.json b/public/intl/messages/ta-IN.json index 3566ed5cd7..b1fcd700ac 100644 --- a/public/intl/messages/ta-IN.json +++ b/public/intl/messages/ta-IN.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " மணி" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "ஒரு நாள்" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "பார்வைகள்" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "பார்வையாளர்கள்" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/th-TH.json b/public/intl/messages/th-TH.json index 451e8e7a98..1206840bbf 100644 --- a/public/intl/messages/th-TH.json +++ b/public/intl/messages/th-TH.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -547,6 +553,20 @@ "value": " ชั่วโมงที่ผ่านมา" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -957,6 +977,12 @@ "value": "วันที่" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1131,6 +1157,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1161,6 +1193,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1191,12 +1235,24 @@ "value": "การเข้าชม" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "ผู้เข้าชม" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/tr-TR.json b/public/intl/messages/tr-TR.json index 91d8d8dbec..b48a6b06ef 100644 --- a/public/intl/messages/tr-TR.json +++ b/public/intl/messages/tr-TR.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " saat" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Tekil gün" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Görüntüleme" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Ziyaretçi" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/uk-UA.json b/public/intl/messages/uk-UA.json index d9b5bd1e2f..56b46ea61f 100644 --- a/public/intl/messages/uk-UA.json +++ b/public/intl/messages/uk-UA.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " годин" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "Один день" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "Перегляди" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Відвідувачі" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/ur-PK.json b/public/intl/messages/ur-PK.json index 883992dc84..184043b44b 100644 --- a/public/intl/messages/ur-PK.json +++ b/public/intl/messages/ur-PK.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " گھنٹے" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -965,6 +985,12 @@ "value": "ایک دن" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1139,6 +1165,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1169,6 +1201,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1199,12 +1243,24 @@ "value": "مناظر" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "زائرین" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/vi-VN.json b/public/intl/messages/vi-VN.json index cc76182d6d..fe5943acec 100644 --- a/public/intl/messages/vi-VN.json +++ b/public/intl/messages/vi-VN.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -547,6 +553,20 @@ "value": " giờ gần nhất" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -957,6 +977,12 @@ "value": "Trong ngày" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1131,6 +1157,12 @@ "value": "Untitled" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1161,6 +1193,18 @@ "value": "Users" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1191,12 +1235,24 @@ "value": "Xem" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "Khách" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/zh-CN.json b/public/intl/messages/zh-CN.json index 41e748b0db..61f55c6dac 100644 --- a/public/intl/messages/zh-CN.json +++ b/public/intl/messages/zh-CN.json @@ -35,6 +35,12 @@ "value": "添加成员" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " 小时" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -973,6 +993,12 @@ "value": "单日" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1147,6 +1173,12 @@ "value": "未命名" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1177,6 +1209,18 @@ "value": "用户" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1207,12 +1251,24 @@ "value": "浏览量" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "访客" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, diff --git a/public/intl/messages/zh-TW.json b/public/intl/messages/zh-TW.json index bd9a7d3aa1..e703beb93e 100644 --- a/public/intl/messages/zh-TW.json +++ b/public/intl/messages/zh-TW.json @@ -35,6 +35,12 @@ "value": "Add member" } ], + "label.add-step": [ + { + "type": 0, + "value": "Add step" + } + ], "label.add-website": [ { "type": 0, @@ -555,6 +561,20 @@ "value": " 小時" } ], + "label.last-months": [ + { + "type": 0, + "value": "Last " + }, + { + "type": 1, + "value": "x" + }, + { + "type": 0, + "value": " months" + } + ], "label.leave": [ { "type": 0, @@ -969,6 +989,12 @@ "value": "單日" } ], + "label.steps": [ + { + "type": 0, + "value": "Steps" + } + ], "label.sum": [ { "type": 0, @@ -1143,6 +1169,12 @@ "value": "無標題" } ], + "label.update": [ + { + "type": 0, + "value": "Update" + } + ], "label.url": [ { "type": 0, @@ -1173,6 +1205,18 @@ "value": "使用者" } ], + "label.utm": [ + { + "type": 0, + "value": "UTM" + } + ], + "label.utm-description": [ + { + "type": 0, + "value": "Track your campaigns through UTM parameters." + } + ], "label.value": [ { "type": 0, @@ -1203,12 +1247,24 @@ "value": "檢視" } ], + "label.views-per-visit": [ + { + "type": 0, + "value": "Views per visit" + } + ], "label.visitors": [ { "type": 0, "value": "訪客" } ], + "label.visits": [ + { + "type": 0, + "value": "Visits" + } + ], "label.website": [ { "type": 0, From 1579beef5b3c703069109ff1b7d2b73a97039541 Mon Sep 17 00:00:00 2001 From: mobeicanyue <81098819+mobeicanyue@users.noreply.github.com> Date: Thu, 11 Apr 2024 21:35:07 -0700 Subject: [PATCH 20/26] Updated metrics query. Fixed chart error. --- src/components/charts/Chart.tsx | 9 +++++++-- src/pages/api/websites/[websiteId]/metrics.ts | 2 +- .../analytics/pageviews/getPageviewMetrics.ts | 19 +++++++------------ 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/components/charts/Chart.tsx b/src/components/charts/Chart.tsx index 993618c2ac..40829cac07 100644 --- a/src/components/charts/Chart.tsx +++ b/src/components/charts/Chart.tsx @@ -80,8 +80,13 @@ export function Chart({ const updateChart = (data: any) => { chart.current.data.datasets.forEach((dataset: { data: any }, index: string | number) => { - dataset.data = data?.datasets[index]?.data; - chart.current.legend.legendItems[index].text = data?.datasets[index].label; + if (data?.datasets[index]) { + dataset.data = data?.datasets[index]?.data; + + if (chart.current.legend.legendItems[index]) { + chart.current.legend.legendItems[index].text = data?.datasets[index]?.label; + } + } }); chart.current.options = options; diff --git a/src/pages/api/websites/[websiteId]/metrics.ts b/src/pages/api/websites/[websiteId]/metrics.ts index f9893e7900..4a881ef91b 100644 --- a/src/pages/api/websites/[websiteId]/metrics.ts +++ b/src/pages/api/websites/[websiteId]/metrics.ts @@ -109,7 +109,7 @@ export default async ( } if (EVENT_COLUMNS.includes(type)) { - const data = await getPageviewMetrics(websiteId, column, filters, limit, offset); + const data = await getPageviewMetrics(websiteId, type, filters, limit, offset); return ok(res, data); } diff --git a/src/queries/analytics/pageviews/getPageviewMetrics.ts b/src/queries/analytics/pageviews/getPageviewMetrics.ts index 7f8a39d806..eaf4ae324a 100644 --- a/src/queries/analytics/pageviews/getPageviewMetrics.ts +++ b/src/queries/analytics/pageviews/getPageviewMetrics.ts @@ -1,17 +1,11 @@ import prisma from 'lib/prisma'; import clickhouse from 'lib/clickhouse'; import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; -import { EVENT_TYPE, SESSION_COLUMNS } from 'lib/constants'; +import { EVENT_TYPE, FILTER_COLUMNS, SESSION_COLUMNS } from 'lib/constants'; import { QueryFilters } from 'lib/types'; export async function getPageviewMetrics( - ...args: [ - websiteId: string, - column: string, - filters: QueryFilters, - limit?: number, - offset?: number, - ] + ...args: [websiteId: string, type: string, filters: QueryFilters, limit?: number, offset?: number] ) { return runQuery({ [PRISMA]: () => relationalQuery(...args), @@ -21,20 +15,20 @@ export async function getPageviewMetrics( async function relationalQuery( websiteId: string, - column: string, + type: string, filters: QueryFilters, limit: number = 500, offset: number = 0, ) { + const column = FILTER_COLUMNS[type] || type; const { rawQuery, parseFilters } = prisma; - const { filterQuery, joinSession, params } = await parseFilters( websiteId, { ...filters, eventType: column === 'event_name' ? EVENT_TYPE.customEvent : EVENT_TYPE.pageView, }, - { joinSession: SESSION_COLUMNS.includes(column) }, + { joinSession: SESSION_COLUMNS.includes(type) }, ); let excludeDomain = ''; @@ -64,11 +58,12 @@ async function relationalQuery( async function clickhouseQuery( websiteId: string, - column: string, + type: string, filters: QueryFilters, limit: number = 500, offset: number = 0, ): Promise<{ x: string; y: number }[]> { + const column = FILTER_COLUMNS[type] || type; const { rawQuery, parseFilters } = clickhouse; const { filterQuery, params } = await parseFilters(websiteId, { ...filters, From 0ea97eb0bc5da610e9a740cac00c839a21bbe5ca Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sun, 14 Apr 2024 00:58:57 -0700 Subject: [PATCH 21/26] Removed dev logging. --- src/pages/api/auth/login.ts | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/pages/api/auth/login.ts b/src/pages/api/auth/login.ts index 23bdb15fc0..51c53184e8 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'); } From a2e4ab7d46341439eca2189f6393f92989a9324c Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Mon, 15 Apr 2024 13:44:16 -0700 Subject: [PATCH 22/26] update kafka connection to upstash config --- src/lib/kafka.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/lib/kafka.ts b/src/lib/kafka.ts index 1032688824..da38baa44f 100644 --- a/src/lib/kafka.ts +++ b/src/lib/kafka.ts @@ -17,14 +17,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, }, From bd360207a65391332ce8c20dbe71c363716bccb9 Mon Sep 17 00:00:00 2001 From: Cedric Date: Mon, 15 Apr 2024 23:25:15 +0200 Subject: [PATCH 23/26] fix(tracker): Remove domain name when parsing url --- src/tracker/index.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/tracker/index.js b/src/tracker/index.js index 43a5150131..438c08d2a5 100644 --- a/src/tracker/index.js +++ b/src/tracker/index.js @@ -52,6 +52,12 @@ }; const parseURL = url => { + try { + const { pathname, search } = new URL(url); + url = pathname + search; + } catch { + /* empty */ + } return excludeSearch ? url.split('?')[0] : url; }; From 0225e63abcf1160cf6bad0f7c8d06747a1bc69a6 Mon Sep 17 00:00:00 2001 From: Cedric Date: Mon, 15 Apr 2024 23:34:52 +0200 Subject: [PATCH 24/26] fix(tracker): Respect excludeSearch consistently --- src/tracker/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tracker/index.js b/src/tracker/index.js index 438c08d2a5..cc6b8dbbfe 100644 --- a/src/tracker/index.js +++ b/src/tracker/index.js @@ -7,7 +7,7 @@ document, history, } = window; - const { hostname, pathname, search } = location; + const { hostname, href } = location; const { currentScript, referrer } = document; if (!currentScript) return; @@ -244,7 +244,7 @@ }; } - let currentUrl = `${pathname}${search}`; + let currentUrl = parseURL(href); let currentRef = referrer !== hostname ? referrer : ''; let title = document.title; let cache; From 7c2bb95786741bea522982e923c57ad615466f49 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Mon, 15 Apr 2024 23:42:41 -0700 Subject: [PATCH 25/26] Updated "Last X" date logic. Closes #2672. --- src/lib/date.ts | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/src/lib/date.ts b/src/lib/date.ts index 1c0b95b297..861bbde2f2 100644 --- a/src/lib/date.ts +++ b/src/lib/date.ts @@ -154,7 +154,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 +163,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 +172,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 +183,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 +192,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, @@ -286,19 +288,11 @@ export function getDateFromString(str: string) { 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(getDateFromString(x)).getTime() === t.getTime())?.y || 0; arr.push({ x: t, y }); } From 2a43d0b5957c957d97546413e04a708621be64fe Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Tue, 16 Apr 2024 20:53:33 -0700 Subject: [PATCH 26/26] Bump version v2.11.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c72a054f74..ad2bc79d26 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "umami", - "version": "2.12.0", + "version": "2.11.2", "description": "A simple, fast, privacy-focused alternative to Google Analytics.", "author": "Umami Software, Inc. ", "license": "MIT",