From cbf47d58dc991fdd5ab8ea3616170d9a1cde8f03 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Thu, 5 Feb 2026 09:13:18 -0800 Subject: [PATCH 01/55] use website_event_stats_hourly view for excludeBounceQuery --- src/lib/clickhouse.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/clickhouse.ts b/src/lib/clickhouse.ts index 3160dbfea..77357f8ba 100644 --- a/src/lib/clickhouse.ts +++ b/src/lib/clickhouse.ts @@ -138,12 +138,12 @@ function getExcludeBounceQuery(filters: Record) { return `join (select distinct session_id, visit_id - from website_event + from website_event_stats_hourly where website_id = {websiteId:UUID} and created_at between {startDate:DateTime64} and {endDate:DateTime64} and event_type = 1 group by session_id, visit_id - having count(*) > 1 + having sum(views) > 1 ) excludeBounce on excludeBounce.session_id = website_event.session_id and excludeBounce.visit_id = website_event.visit_id From 306aafd9525b41fb059d3a725c042e1a05b237a8 Mon Sep 17 00:00:00 2001 From: Brian Cao Date: Thu, 5 Feb 2026 09:35:29 -0800 Subject: [PATCH 02/55] Fix share url. --- .../[websiteId]/settings/ShareEditForm.tsx | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/app/(main)/websites/[websiteId]/settings/ShareEditForm.tsx b/src/app/(main)/websites/[websiteId]/settings/ShareEditForm.tsx index 4b86247ac..00598fcfd 100644 --- a/src/app/(main)/websites/[websiteId]/settings/ShareEditForm.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/ShareEditForm.tsx @@ -40,10 +40,7 @@ export function ShareEditForm({ const isEditing = !!shareId; const getUrl = (slug: string) => { - if (cloudMode) { - return `${process.env.cloudUrl}/share/${slug}`; - } - return `${window?.location.origin}${process.env.basePath || ''}/share/${slug}`; + return `${cloudMode ? process.env.cloudUrl : window?.location.origin}${process.env.basePath || ''}/share/${slug}`; }; useEffect(() => { @@ -74,9 +71,16 @@ export function ShareEditForm({ try { if (isEditing) { - await post(`/share/id/${shareId}`, { name: data.name, slug: share.slug, parameters }); + await post(`/share/id/${shareId}`, { + name: data.name, + slug: share.slug, + parameters, + }); } else { - await post(`/websites/${websiteId}/shares`, { name: data.name, parameters }); + await post(`/websites/${websiteId}/shares`, { + name: data.name, + parameters, + }); } touch('shares'); onSave?.(); From 61c392cdd48b99d8c450ffb963e7c29cb1bf0193 Mon Sep 17 00:00:00 2001 From: Diogo Correia Date: Fri, 6 Feb 2026 01:50:37 +0100 Subject: [PATCH 03/55] feat: add SKIP_BUILD_GEO env variable Closes #4004 --- scripts/build-geo.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/build-geo.js b/scripts/build-geo.js index e36b097c2..b55d9134b 100644 --- a/scripts/build-geo.js +++ b/scripts/build-geo.js @@ -6,6 +6,11 @@ import https from 'https'; import { list } from 'tar'; import zlib from 'zlib'; +if (process.env.SKIP_BUILD_GEO) { + console.log('SKIP_BUILD_GEO is set. Skipping geo setup.'); + process.exit(0); +} + if (process.env.VERCEL && !process.env.BUILD_GEO) { console.log('Vercel environment detected. Skipping geo setup.'); process.exit(0); From c479a20cc042404847dc57a8f3742efa88b196d4 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 6 Feb 2026 11:47:53 -0800 Subject: [PATCH 04/55] Migrate old CSS variables to new react-zen design system. Journey component, global.css, and variables.css all referenced old CSS custom properties (--base-color-*, --primary-color, --text-base) that no longer exist in @umami/react-zen. Mapped them to the new variable names and removed the dead variables.css file. Co-Authored-By: Claude Opus 4.6 --- .../(reports)/journeys/Journey.module.css | 36 +++++++++---------- src/app/global.css | 2 +- src/styles/variables.css | 4 --- 3 files changed, 19 insertions(+), 23 deletions(-) delete mode 100644 src/styles/variables.css diff --git a/src/app/(main)/websites/[websiteId]/(reports)/journeys/Journey.module.css b/src/app/(main)/websites/[websiteId]/(reports)/journeys/Journey.module.css index 63643f137..ec6a2bd55 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/journeys/Journey.module.css +++ b/src/app/(main)/websites/[websiteId]/(reports)/journeys/Journey.module.css @@ -3,9 +3,9 @@ height: 100%; position: relative; - --journey-line-color: var(--base-color-6); - --journey-active-color: var(--primary-color); - --journey-faded-color: var(--base-color-3); + --journey-line-color: var(--border-strong); + --journey-active-color: var(--primary); + --journey-faded-color: var(--interactive-bg); } .view { @@ -43,8 +43,8 @@ .dropoff { font-weight: 600; - color: var(--font-color-muted); - background: var(--base-color-2); + color: var(--text-muted); + background: var(--surface-sunken); padding: 4px 8px; border-radius: 5px; } @@ -58,8 +58,8 @@ height: 50px; font-size: 16px; font-weight: 700; - color: var(--base-color-1); - background: var(--base-color-12); + color: var(--surface-base); + background: var(--surface-inverted); z-index: 1; margin: 0 auto 20px; } @@ -84,7 +84,7 @@ position: relative; cursor: pointer; padding: 10px 20px; - background: var(--base-color-3); + background: var(--interactive-bg); border-radius: 5px; display: flex; align-items: center; @@ -96,27 +96,27 @@ } .node:hover:not(.selected) { - background: var(--base-color-4); + background: var(--interactive-bg-hover); } .node.selected { - color: var(--base-color-1); - background: var(--base-color-12); + color: var(--surface-base); + background: var(--surface-inverted); } .node.active { - color: var(--primary-font-color); - background: var(--primary-color); + color: var(--primary-foreground); + background: var(--primary); } .node.selected .count { - color: var(--base-color-1); - background: var(--base-color-12); + color: var(--surface-base); + background: var(--surface-inverted); } .node.selected.active .count { - color: var(--primary-font-color); - background: var(--primary-color); + color: var(--primary-foreground); + background: var(--primary); } .name { @@ -212,7 +212,7 @@ position: absolute; border-radius: 100%; border: 3px solid var(--journey-line-color); - background: var(--base-color-1); + background: var(--surface-base); width: 14px; height: 14px; } diff --git a/src/app/global.css b/src/app/global.css index 3fa31b1fc..c647726f6 100644 --- a/src/app/global.css +++ b/src/app/global.css @@ -21,6 +21,6 @@ html[style*="padding-right"] { a, a:active, a:hover { - color: var(--text-base); + color: var(--text-primary); text-decoration: none; } diff --git a/src/styles/variables.css b/src/styles/variables.css deleted file mode 100644 index f7ebb0281..000000000 --- a/src/styles/variables.css +++ /dev/null @@ -1,4 +0,0 @@ -html body { - --primary-color: #147af3; - --primary-font-color: var(--light-color); -} From 9b814aa1caa76951bae26c839f7a8da3a3805559 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Fri, 6 Feb 2026 15:06:10 -0800 Subject: [PATCH 05/55] revert prisma schema to latest, add global css for scroll-bar, fix css --- prisma/schema.prisma | 29 +++++++------- src/app/(main)/App.tsx | 4 +- src/app/(main)/settings/SettingsLayout.tsx | 2 +- .../settings/preferences/DateRangeSetting.tsx | 7 +++- .../settings/preferences/LanguageSetting.tsx | 1 + .../preferences/PreferenceSettings.tsx | 2 +- .../settings/preferences/TimezoneSetting.tsx | 1 + .../settings/profile/ProfileSettings.tsx | 2 +- .../[websiteId]/sessions/SessionActivity.tsx | 2 +- src/app/global.css | 38 +++++++++++++++++++ src/app/login/LoginPage.tsx | 8 +++- src/components/common/NavMenu.tsx | 2 +- src/components/metrics/WeeklyTraffic.tsx | 2 +- 13 files changed, 76 insertions(+), 24 deletions(-) diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 6e456a675..8750f8d12 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -10,7 +10,7 @@ datasource db { } model User { - id String @id @unique @map("user_id") @db.Uuid + id String @id() @map("user_id") @db.Uuid username String @unique @db.VarChar(255) password String @db.VarChar(60) role String @map("role") @db.VarChar(50) @@ -32,7 +32,7 @@ model User { } model Session { - id String @id @unique @map("session_id") @db.Uuid + id String @id() @map("session_id") @db.Uuid websiteId String @map("website_id") @db.Uuid browser String? @db.VarChar(20) os String? @db.VarChar(20) @@ -64,7 +64,7 @@ model Session { } model Website { - id String @id @unique @map("website_id") @db.Uuid + id String @id() @map("website_id") @db.Uuid name String @db.VarChar(100) domain String? @db.VarChar(500) resetAt DateTime? @map("reset_at") @db.Timestamptz(6) @@ -185,7 +185,7 @@ model SessionData { } model Team { - id String @id() @unique() @map("team_id") @db.Uuid + id String @id() @map("team_id") @db.Uuid name String @db.VarChar(50) accessCode String? @unique @map("access_code") @db.VarChar(50) logoUrl String? @map("logo_url") @db.VarChar(2183) @@ -197,14 +197,14 @@ model Team { members TeamUser[] links Link[] pixels Pixel[] - boards Board[] + boards Board[] @@index([accessCode]) @@map("team") } model TeamUser { - id String @id() @unique() @map("team_user_id") @db.Uuid + id String @id() @map("team_user_id") @db.Uuid teamId String @map("team_id") @db.Uuid userId String @map("user_id") @db.Uuid role String @db.VarChar(50) @@ -220,7 +220,7 @@ model TeamUser { } model Report { - id String @id() @unique() @map("report_id") @db.Uuid + id String @id() @map("report_id") @db.Uuid userId String @map("user_id") @db.Uuid websiteId String @map("website_id") @db.Uuid type String @db.VarChar(50) @@ -241,7 +241,7 @@ model Report { } model Segment { - id String @id() @unique() @map("segment_id") @db.Uuid + id String @id() @map("segment_id") @db.Uuid websiteId String @map("website_id") @db.Uuid type String @db.VarChar(50) name String @db.VarChar(200) @@ -256,7 +256,7 @@ model Segment { } model Revenue { - id String @id() @unique() @map("revenue_id") @db.Uuid + id String @id() @map("revenue_id") @db.Uuid websiteId String @map("website_id") @db.Uuid sessionId String @map("session_id") @db.Uuid eventId String @map("event_id") @db.Uuid @@ -276,7 +276,7 @@ model Revenue { } model Link { - id String @id() @unique() @map("link_id") @db.Uuid + id String @id() @map("link_id") @db.Uuid name String @db.VarChar(100) url String @db.VarChar(500) slug String @unique() @db.VarChar(100) @@ -297,7 +297,7 @@ model Link { } model Pixel { - id String @id() @unique() @map("pixel_id") @db.Uuid + id String @id() @map("pixel_id") @db.Uuid name String @db.VarChar(100) slug String @unique() @db.VarChar(100) userId String? @map("user_id") @db.Uuid @@ -317,7 +317,7 @@ model Pixel { } model Board { - id String @id() @unique() @map("board_id") @db.Uuid + id String @id() @map("board_id") @db.Uuid type String @db.VarChar(50) name String @db.VarChar(200) description String @db.VarChar(500) @@ -339,8 +339,9 @@ model Board { } model Share { - id String @id() @unique() @map("share_id") @db.Uuid + id String @id() @map("share_id") @db.Uuid entityId String @map("entity_id") @db.Uuid + name String @db.VarChar(200) shareType Int @map("share_type") @db.Integer slug String @unique() @db.VarChar(100) parameters Json @@ -349,4 +350,4 @@ model Share { @@index([entityId]) @@map("share") -} +} \ No newline at end of file diff --git a/src/app/(main)/App.tsx b/src/app/(main)/App.tsx index 2e236db0f..eba4e264f 100644 --- a/src/app/(main)/App.tsx +++ b/src/app/(main)/App.tsx @@ -49,8 +49,8 @@ export function App({ children }) { - - {children} + + {children} {process.env.NODE_ENV === 'production' && !pathname.includes('/share/') && ( diff --git a/src/app/(main)/settings/SettingsLayout.tsx b/src/app/(main)/settings/SettingsLayout.tsx index 0da5f8451..2492ae9ea 100644 --- a/src/app/(main)/settings/SettingsLayout.tsx +++ b/src/app/(main)/settings/SettingsLayout.tsx @@ -12,7 +12,7 @@ export function SettingsLayout({ children }: { children: ReactNode }) { width="240px" height="100%" border="right" - backgroundColor + backgroundColor={'surface-raised'} marginRight="2" padding="3" > diff --git a/src/app/(main)/settings/preferences/DateRangeSetting.tsx b/src/app/(main)/settings/preferences/DateRangeSetting.tsx index 3f5e6647f..28745aab6 100644 --- a/src/app/(main)/settings/preferences/DateRangeSetting.tsx +++ b/src/app/(main)/settings/preferences/DateRangeSetting.tsx @@ -21,7 +21,12 @@ export function DateRangeSetting() { return ( - + ); diff --git a/src/app/(main)/settings/preferences/LanguageSetting.tsx b/src/app/(main)/settings/preferences/LanguageSetting.tsx index 00a2d74f0..2b2d0febe 100644 --- a/src/app/(main)/settings/preferences/LanguageSetting.tsx +++ b/src/app/(main)/settings/preferences/LanguageSetting.tsx @@ -34,6 +34,7 @@ export function LanguageSetting() { onSearch={setSearch} onOpenChange={handleOpen} listProps={{ style: { maxHeight: 300 } }} + style={{ minWidth: '250px' }} > {items.map(item => ( diff --git a/src/app/(main)/settings/preferences/PreferenceSettings.tsx b/src/app/(main)/settings/preferences/PreferenceSettings.tsx index cc2d1b620..c91a6eff2 100644 --- a/src/app/(main)/settings/preferences/PreferenceSettings.tsx +++ b/src/app/(main)/settings/preferences/PreferenceSettings.tsx @@ -15,7 +15,7 @@ export function PreferenceSettings() { } return ( - + diff --git a/src/app/(main)/settings/preferences/TimezoneSetting.tsx b/src/app/(main)/settings/preferences/TimezoneSetting.tsx index cf20b20da..8551e8cf0 100644 --- a/src/app/(main)/settings/preferences/TimezoneSetting.tsx +++ b/src/app/(main)/settings/preferences/TimezoneSetting.tsx @@ -30,6 +30,7 @@ export function TimezoneSetting() { onSearch={setSearch} onOpenChange={handleOpen} listProps={{ style: { maxHeight: 300 } }} + style={{ minWidth: '250px' }} > {items.map((item: any) => ( diff --git a/src/app/(main)/settings/profile/ProfileSettings.tsx b/src/app/(main)/settings/profile/ProfileSettings.tsx index fae73a53f..d53a68a03 100644 --- a/src/app/(main)/settings/profile/ProfileSettings.tsx +++ b/src/app/(main)/settings/profile/ProfileSettings.tsx @@ -29,7 +29,7 @@ export function ProfileSettings() { }; return ( - + {username} diff --git a/src/app/(main)/websites/[websiteId]/sessions/SessionActivity.tsx b/src/app/(main)/websites/[websiteId]/sessions/SessionActivity.tsx index a93885aa9..162279d96 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/SessionActivity.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/SessionActivity.tsx @@ -61,7 +61,7 @@ export function SessionActivity({ return ( - {showHeader && {formatTimezoneDate(createdAt, 'PPPP')}} + {showHeader && {formatTimezoneDate(createdAt, 'PPPP')}} {formatTimezoneDate(createdAt, 'pp')} diff --git a/src/app/global.css b/src/app/global.css index c647726f6..0df4185fc 100644 --- a/src/app/global.css +++ b/src/app/global.css @@ -24,3 +24,41 @@ a:hover { color: var(--text-primary); text-decoration: none; } + +::-webkit-scrollbar { + width: 15px; + background: transparent; +} + +::-webkit-scrollbar-track { + border: 7px solid rgba(0, 0, 0, 0); + background-color: var(--border-default); + background-clip: padding-box; +} + +::-webkit-scrollbar-thumb { + border: 7px solid rgba(0, 0, 0, 0); + background-color: var(--text-disabled); + border-radius: var(--border-radius-full); + background-clip: padding-box; +} + +::-webkit-scrollbar-thumb:hover { + border: 4px solid rgba(0, 0, 0, 0); + background-clip: padding-box; +} + +/* Fix autofill background color to match dark theme */ +input:-webkit-autofill, +input:-webkit-autofill:hover, +input:-webkit-autofill:focus, +input:-webkit-autofill:active, +textarea:-webkit-autofill, +textarea:-webkit-autofill:hover, +textarea:-webkit-autofill:focus, +select:-webkit-autofill, +select:-webkit-autofill:hover, +select:-webkit-autofill:focus { + -webkit-box-shadow: 0 0 0 1000px var(--background-color) inset !important; + transition: color 5000s ease-in-out 0s; +} diff --git a/src/app/login/LoginPage.tsx b/src/app/login/LoginPage.tsx index 8b90c8f33..7bb2e35fc 100644 --- a/src/app/login/LoginPage.tsx +++ b/src/app/login/LoginPage.tsx @@ -4,7 +4,13 @@ import { LoginForm } from './LoginForm'; export function LoginPage() { return ( - + ); diff --git a/src/components/common/NavMenu.tsx b/src/components/common/NavMenu.tsx index 8f5f599b3..3035db992 100644 --- a/src/components/common/NavMenu.tsx +++ b/src/components/common/NavMenu.tsx @@ -55,7 +55,7 @@ export function NavMenu({ {title && ( - {title} + {title} )} diff --git a/src/components/metrics/WeeklyTraffic.tsx b/src/components/metrics/WeeklyTraffic.tsx index 323990c5f..b62a9d719 100644 --- a/src/components/metrics/WeeklyTraffic.tsx +++ b/src/components/metrics/WeeklyTraffic.tsx @@ -96,7 +96,7 @@ export function WeeklyTraffic({ websiteId }: { websiteId: string }) { - {`${formatMessage(labels.visitors)}: ${count}`} + {`${formatMessage(labels.visitors)}: ${count}`} ); From 895abdbbaf1fd03066bc8f88ac29f0c21ac80e60 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Fri, 6 Feb 2026 16:48:45 -0800 Subject: [PATCH 06/55] Clean up colors and Selects --- src/app/(main)/admin/AdminLayout.tsx | 1 - src/app/(main)/settings/SettingsLayout.tsx | 1 - .../[websiteId]/(reports)/journeys/Journey.tsx | 2 +- src/components/common/FilterRecord.tsx | 5 ----- src/components/common/NavMenu.tsx | 2 +- src/components/input/UserSelect.tsx | 11 +---------- src/components/metrics/ChangeLabel.tsx | 4 ++-- 7 files changed, 5 insertions(+), 21 deletions(-) diff --git a/src/app/(main)/admin/AdminLayout.tsx b/src/app/(main)/admin/AdminLayout.tsx index 0164fba4b..681ba3f03 100644 --- a/src/app/(main)/admin/AdminLayout.tsx +++ b/src/app/(main)/admin/AdminLayout.tsx @@ -19,7 +19,6 @@ export function AdminLayout({ children }: { children: ReactNode }) { width="240px" height="100%" border="right" - backgroundColor marginRight="2" padding="3" > diff --git a/src/app/(main)/settings/SettingsLayout.tsx b/src/app/(main)/settings/SettingsLayout.tsx index 2492ae9ea..9e89b19eb 100644 --- a/src/app/(main)/settings/SettingsLayout.tsx +++ b/src/app/(main)/settings/SettingsLayout.tsx @@ -12,7 +12,6 @@ export function SettingsLayout({ children }: { children: ReactNode }) { width="240px" height="100%" border="right" - backgroundColor={'surface-raised'} marginRight="2" padding="3" > diff --git a/src/app/(main)/websites/[websiteId]/(reports)/journeys/Journey.tsx b/src/app/(main)/websites/[websiteId]/(reports)/journeys/Journey.tsx index 1b893d27e..20f184d06 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/journeys/Journey.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/journeys/Journey.tsx @@ -236,7 +236,7 @@ export function Journey({ websiteId, steps, startStep, endStep, view }: JourneyP
{formatLongNumber(nodeCount)}
- + {`${dropped}% ${formatMessage(labels.dropoff)}`} diff --git a/src/components/common/FilterRecord.tsx b/src/components/common/FilterRecord.tsx index e168ef791..26299eb83 100644 --- a/src/components/common/FilterRecord.tsx +++ b/src/components/common/FilterRecord.tsx @@ -57,10 +57,6 @@ export function FilterRecord({ onChange?.(name, value); }; - const renderValue = () => { - return formatValue(selected, type); - }; - return ( @@ -83,7 +79,6 @@ export function FilterRecord({ value={selected} onChange={handleSelectValue} searchValue={search} - renderValue={renderValue} onSearch={handleSearch} isLoading={isLoading} listProps={{ renderEmptyState: () => }} diff --git a/src/components/common/NavMenu.tsx b/src/components/common/NavMenu.tsx index 3035db992..f0ae91fe2 100644 --- a/src/components/common/NavMenu.tsx +++ b/src/components/common/NavMenu.tsx @@ -62,7 +62,7 @@ export function NavMenu({ {items?.map(({ label, items }, index) => { if (label) { return ( - + {label} diff --git a/src/components/input/UserSelect.tsx b/src/components/input/UserSelect.tsx index b77445c99..17a697bc2 100644 --- a/src/components/input/UserSelect.tsx +++ b/src/components/input/UserSelect.tsx @@ -1,4 +1,4 @@ -import { ListItem, Row, Select, type SelectProps, Text } from '@umami/react-zen'; +import { ListItem, Select, type SelectProps } from '@umami/react-zen'; import { useMemo, useState } from 'react'; import { Empty } from '@/components/common/Empty'; import { useMessages, useTeamMembersQuery, useUsersQuery } from '@/components/hooks'; @@ -40,14 +40,6 @@ export function UserSelect({ onChange(id); }; - const renderValue = () => { - return ( - - {username} - - ); - }; - return ( - {formatMessage(labels.viewOnly)} + {t(labels.viewOnly)} - {formatMessage(labels.user)} + {t(labels.user)} - {formatMessage(labels.admin)} + {t(labels.admin)} - {formatMessage(labels.save)} + {t(labels.save)} diff --git a/src/app/(main)/admin/users/UserDeleteButton.tsx b/src/app/(main)/admin/users/UserDeleteButton.tsx index ee8f2c19c..8425fbb09 100644 --- a/src/app/(main)/admin/users/UserDeleteButton.tsx +++ b/src/app/(main)/admin/users/UserDeleteButton.tsx @@ -12,7 +12,7 @@ export function UserDeleteButton({ username: string; onDelete?: () => void; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { user } = useLoginQuery(); return ( @@ -21,10 +21,10 @@ export function UserDeleteButton({ - {formatMessage(labels.delete)} + {t(labels.delete)} - + {({ close }) => ( )} diff --git a/src/app/(main)/admin/users/UserDeleteForm.tsx b/src/app/(main)/admin/users/UserDeleteForm.tsx index 8f6fd502b..bf060f560 100644 --- a/src/app/(main)/admin/users/UserDeleteForm.tsx +++ b/src/app/(main)/admin/users/UserDeleteForm.tsx @@ -12,7 +12,7 @@ export function UserDeleteForm({ onSave?: () => void; onClose?: () => void; }) { - const { messages, labels, formatMessage } = useMessages(); + const { messages, labels, t } = useMessages(); const { mutateAsync } = useDeleteQuery(`/users/${userId}`); const { touch } = useModified(); @@ -29,13 +29,13 @@ export function UserDeleteForm({ return ( - {formatMessage(messages.confirmDelete, { target: username })} + {t(messages.confirmDelete, { target: username })} ); } diff --git a/src/app/(main)/admin/users/UsersPage.tsx b/src/app/(main)/admin/users/UsersPage.tsx index 7e1b0f48b..eaabc7c80 100644 --- a/src/app/(main)/admin/users/UsersPage.tsx +++ b/src/app/(main)/admin/users/UsersPage.tsx @@ -7,13 +7,13 @@ import { UserAddButton } from './UserAddButton'; import { UsersDataTable } from './UsersDataTable'; export function UsersPage() { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const handleSave = () => {}; return ( - + diff --git a/src/app/(main)/admin/users/UsersTable.tsx b/src/app/(main)/admin/users/UsersTable.tsx index 9c10f3e79..16a5b9084 100644 --- a/src/app/(main)/admin/users/UsersTable.tsx +++ b/src/app/(main)/admin/users/UsersTable.tsx @@ -15,26 +15,24 @@ export function UsersTable({ data: any[]; showActions?: boolean; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const [deleteUser, setDeleteUser] = useState(null); return ( <> - + {(row: any) => {row.username}} - + {(row: any) => - formatMessage( - labels[Object.keys(ROLES).find(key => ROLES[key] === row.role)] || labels.unknown, - ) + t(labels[Object.keys(ROLES).find(key => ROLES[key] === row.role)] || labels.unknown) } - + {(row: any) => row._count.websites} - + {(row: any) => } {showActions && ( @@ -49,7 +47,7 @@ export function UsersTable({ - {formatMessage(labels.edit)} + {t(labels.edit)} - {formatMessage(labels.delete)} + {t(labels.delete)} diff --git a/src/app/(main)/admin/users/[userId]/UserEditForm.tsx b/src/app/(main)/admin/users/[userId]/UserEditForm.tsx index 28bf030f5..d8110ca90 100644 --- a/src/app/(main)/admin/users/[userId]/UserEditForm.tsx +++ b/src/app/(main)/admin/users/[userId]/UserEditForm.tsx @@ -12,7 +12,7 @@ import { useLoginQuery, useMessages, useUpdateQuery, useUser } from '@/component import { ROLES } from '@/lib/constants'; export function UserEditForm({ userId, onSave }: { userId: string; onSave?: () => void }) { - const { formatMessage, labels, messages, getMessage } = useMessages(); + const { t, labels, messages, getMessage } = useMessages(); const user = useUser(); const { user: login } = useLoginQuery(); @@ -21,7 +21,7 @@ export function UserEditForm({ userId, onSave }: { userId: string; onSave?: () = const handleSubmit = async (data: any) => { await mutateAsync(data, { onSuccess: async () => { - toast(formatMessage(messages.saved)); + toast(t(messages.saved)); touch('users'); touch(`user:${user.id}`); onSave?.(); @@ -31,41 +31,37 @@ export function UserEditForm({ userId, onSave }: { userId: string; onSave?: () = return (
- + {user.id !== login.id && ( - + )} - {formatMessage(labels.save)} + {t(labels.save)} diff --git a/src/app/(main)/admin/users/[userId]/UserSettings.tsx b/src/app/(main)/admin/users/[userId]/UserSettings.tsx index 3f17f3e16..e2119bb59 100644 --- a/src/app/(main)/admin/users/[userId]/UserSettings.tsx +++ b/src/app/(main)/admin/users/[userId]/UserSettings.tsx @@ -4,14 +4,14 @@ import { UserEditForm } from './UserEditForm'; import { UserWebsites } from './UserWebsites'; export function UserSettings({ userId }: { userId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - {formatMessage(labels.details)} - {formatMessage(labels.websites)} + {t(labels.details)} + {t(labels.websites)} diff --git a/src/app/(main)/admin/websites/AdminWebsitesPage.tsx b/src/app/(main)/admin/websites/AdminWebsitesPage.tsx index 1c2ac9218..e536a5bbe 100644 --- a/src/app/(main)/admin/websites/AdminWebsitesPage.tsx +++ b/src/app/(main)/admin/websites/AdminWebsitesPage.tsx @@ -6,11 +6,11 @@ import { useMessages } from '@/components/hooks'; import { AdminWebsitesDataTable } from './AdminWebsitesDataTable'; export function AdminWebsitesPage() { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - + diff --git a/src/app/(main)/admin/websites/AdminWebsitesTable.tsx b/src/app/(main)/admin/websites/AdminWebsitesTable.tsx index cfda59572..def6dd9ff 100644 --- a/src/app/(main)/admin/websites/AdminWebsitesTable.tsx +++ b/src/app/(main)/admin/websites/AdminWebsitesTable.tsx @@ -8,23 +8,23 @@ import { Edit, Trash, Users } from '@/components/icons'; import { MenuButton } from '@/components/input/MenuButton'; export function AdminWebsitesTable({ data = [] }: { data: any[] }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const [deleteWebsite, setDeleteWebsite] = useState(null); return ( <> - + {(row: any) => ( {row.name} )} - + {(row: any) => {row.domain}} - + {(row: any) => { if (row?.team) { return ( @@ -45,7 +45,7 @@ export function AdminWebsitesTable({ data = [] }: { data: any[] }) { ); }} - + {(row: any) => } @@ -59,7 +59,7 @@ export function AdminWebsitesTable({ data = [] }: { data: any[] }) { - {formatMessage(labels.edit)} + {t(labels.edit)} - {formatMessage(labels.delete)} + {t(labels.delete)} diff --git a/src/app/(main)/boards/BoardAddButton.tsx b/src/app/(main)/boards/BoardAddButton.tsx index dd25dbf30..e3139d4b2 100644 --- a/src/app/(main)/boards/BoardAddButton.tsx +++ b/src/app/(main)/boards/BoardAddButton.tsx @@ -4,13 +4,13 @@ import { Plus } from '@/components/icons'; import { BoardAddForm } from './BoardAddForm'; export function BoardAddButton() { - const { formatMessage, labels, messages } = useMessages(); + const { t, labels, messages } = useMessages(); const { toast } = useToast(); const { touch } = useModified(); const { teamId } = useNavigation(); const handleSave = async () => { - toast(formatMessage(messages.saved)); + toast(t(messages.saved)); touch('boards'); }; @@ -20,10 +20,10 @@ export function BoardAddButton() { - {formatMessage(labels.addBoard)} + {t(labels.addBoard)} - + {({ close }) => } diff --git a/src/app/(main)/boards/BoardAddForm.tsx b/src/app/(main)/boards/BoardAddForm.tsx index de42b7a14..63fc1366e 100644 --- a/src/app/(main)/boards/BoardAddForm.tsx +++ b/src/app/(main)/boards/BoardAddForm.tsx @@ -12,7 +12,7 @@ export function BoardAddForm({ onSave?: () => void; onClose?: () => void; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { mutateAsync, error, isPending } = useUpdateQuery('/boards', { teamId }); const [websiteId, setWebsiteId] = useState(); @@ -30,34 +30,30 @@ export function BoardAddForm({ return (
- + - {formatMessage(labels.website)} + {t(labels.website)} {onClose && ( )} - {formatMessage(labels.save)} + {t(labels.save)} diff --git a/src/app/(main)/boards/BoardProvider.tsx b/src/app/(main)/boards/BoardProvider.tsx index f96a13ab2..85dd0f737 100644 --- a/src/app/(main)/boards/BoardProvider.tsx +++ b/src/app/(main)/boards/BoardProvider.tsx @@ -40,7 +40,7 @@ export function BoardProvider({ const { post, useMutation } = useApi(); const { touch } = useModified(); const { toast } = useToast(); - const { formatMessage, labels, messages } = useMessages(); + const { t, labels, messages } = useMessages(); const { router, renderUrl } = useNavigation(); const [board, setBoard] = useState>(data ?? createDefaultBoard()); @@ -70,7 +70,7 @@ export function BoardProvider({ }, []); const saveBoard = useCallback(async () => { - const defaultName = formatMessage(labels.untitled); + const defaultName = t(labels.untitled); // Get current layout sizes from BoardBody if registered const layoutData = layoutGetterRef.current?.(); @@ -82,7 +82,7 @@ export function BoardProvider({ parameters, }); - toast(formatMessage(messages.saved)); + toast(t(messages.saved)); touch('boards'); if (board.id) { @@ -92,17 +92,7 @@ export function BoardProvider({ } return result; - }, [ - board, - mutateAsync, - toast, - formatMessage, - labels.untitled, - messages.saved, - touch, - router, - renderUrl, - ]); + }, [board, mutateAsync, toast, t, labels.untitled, messages.saved, touch, router, renderUrl]); if (boardId && isFetching && isLoading) { return ; diff --git a/src/app/(main)/boards/BoardsPage.tsx b/src/app/(main)/boards/BoardsPage.tsx index 126ac494c..22ffae528 100644 --- a/src/app/(main)/boards/BoardsPage.tsx +++ b/src/app/(main)/boards/BoardsPage.tsx @@ -10,14 +10,14 @@ import { Plus } from '@/components/icons'; import { BoardsDataTable } from './BoardsDataTable'; export function BoardsPage() { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - + - } label={formatMessage(labels.addBoard)} /> + } label={t(labels.addBoard)} /> diff --git a/src/app/(main)/boards/BoardsTable.tsx b/src/app/(main)/boards/BoardsTable.tsx index b23dd7a91..d750db9e5 100644 --- a/src/app/(main)/boards/BoardsTable.tsx +++ b/src/app/(main)/boards/BoardsTable.tsx @@ -4,19 +4,19 @@ import { DateDistance } from '@/components/common/DateDistance'; import { useMessages, useNavigation, useSlug } from '@/components/hooks'; export function BoardsTable(props: DataTableProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { websiteId, renderUrl } = useNavigation(); const { getSlugUrl } = useSlug('link'); return ( - + {({ id, name }: any) => { return {name}; }} - - + + {(row: any) => } diff --git a/src/app/(main)/boards/[boardId]/BoardEditHeader.tsx b/src/app/(main)/boards/[boardId]/BoardEditHeader.tsx index a3bc3bddb..afcbea6df 100644 --- a/src/app/(main)/boards/[boardId]/BoardEditHeader.tsx +++ b/src/app/(main)/boards/[boardId]/BoardEditHeader.tsx @@ -13,9 +13,9 @@ import { WebsiteSelect } from '@/components/input/WebsiteSelect'; export function BoardEditHeader() { const { board, updateBoard, saveBoard, isPending } = useBoard(); - const { formatMessage, labels } = useMessages(); - const { teamId, router, renderUrl } = useNavigation(); - const defaultName = formatMessage(labels.untitled); + const { t, labels } = useMessages(); + const { router, renderUrl } = useNavigation(); + const defaultName = t(labels.untitled); const handleNameChange = (value: string) => { updateBoard({ name: value }); @@ -71,7 +71,7 @@ export function BoardEditHeader() { variant="quiet" name="description" value={board?.description ?? ''} - placeholder={`+ ${formatMessage(labels.addDescription)}`} + placeholder={`+ ${t(labels.addDescription)}`} autoComplete="off" onChange={handleDescriptionChange} style={{ width: '100%' }} @@ -80,21 +80,17 @@ export function BoardEditHeader() { - {formatMessage(labels.website)} - + {t(labels.website)} + - {formatMessage(labels.save)} + {t(labels.save)} diff --git a/src/app/(main)/boards/[boardId]/BoardViewHeader.tsx b/src/app/(main)/boards/[boardId]/BoardViewHeader.tsx index 756f39d28..6303123b4 100644 --- a/src/app/(main)/boards/[boardId]/BoardViewHeader.tsx +++ b/src/app/(main)/boards/[boardId]/BoardViewHeader.tsx @@ -8,14 +8,14 @@ import { Edit } from '@/components/icons'; export function BoardViewHeader() { const { board } = useBoard(); const { renderUrl } = useNavigation(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { data: website } = useWebsiteQuery(board?.parameters?.websiteId); return ( {website?.name && {website.name}} - }>{formatMessage(labels.edit)} + }>{t(labels.edit)} ); diff --git a/src/app/(main)/dashboard/DashboardPage.tsx b/src/app/(main)/dashboard/DashboardPage.tsx index c2c7e75f0..81bb9719d 100644 --- a/src/app/(main)/dashboard/DashboardPage.tsx +++ b/src/app/(main)/dashboard/DashboardPage.tsx @@ -5,12 +5,12 @@ import { PageHeader } from '@/components/common/PageHeader'; import { useMessages } from '@/components/hooks'; export function DashboardPage() { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - + ); diff --git a/src/app/(main)/links/LinkAddButton.tsx b/src/app/(main)/links/LinkAddButton.tsx index 4276895d0..f7f89b81a 100644 --- a/src/app/(main)/links/LinkAddButton.tsx +++ b/src/app/(main)/links/LinkAddButton.tsx @@ -4,15 +4,10 @@ import { DialogButton } from '@/components/input/DialogButton'; import { LinkEditForm } from './LinkEditForm'; export function LinkAddButton({ teamId }: { teamId?: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - } - label={formatMessage(labels.addLink)} - variant="primary" - width="600px" - > + } label={t(labels.addLink)} variant="primary" width="600px"> {({ close }) => } ); diff --git a/src/app/(main)/links/LinkDeleteButton.tsx b/src/app/(main)/links/LinkDeleteButton.tsx index 32ccbaf7e..f17040741 100644 --- a/src/app/(main)/links/LinkDeleteButton.tsx +++ b/src/app/(main)/links/LinkDeleteButton.tsx @@ -2,7 +2,6 @@ import { ConfirmationForm } from '@/components/common/ConfirmationForm'; import { useDeleteQuery, useMessages, useModified } from '@/components/hooks'; import { Trash } from '@/components/icons'; import { DialogButton } from '@/components/input/DialogButton'; -import { messages } from '@/components/messages'; export function LinkDeleteButton({ linkId, @@ -14,7 +13,7 @@ export function LinkDeleteButton({ name: string; onSave?: () => void; }) { - const { formatMessage, labels, getErrorMessage, FormattedMessage } = useMessages(); + const { t, labels, messages, getErrorMessage } = useMessages(); const { mutateAsync, isPending, error } = useDeleteQuery(`/links/${linkId}`); const { touch } = useModified(); @@ -29,27 +28,18 @@ export function LinkDeleteButton({ }; return ( - } - title={formatMessage(labels.confirm)} - variant="quiet" - width="400px" - > + } title={t(labels.confirm)} variant="quiet" width="400px"> {({ close }) => ( {name}, - }} - /> - } + message={t.rich(messages.confirmRemove, { + target: name, + b: chunks => {chunks}, + })} isLoading={isPending} error={getErrorMessage(error)} onConfirm={handleConfirm.bind(null, close)} onClose={close} - buttonLabel={formatMessage(labels.delete)} + buttonLabel={t(labels.delete)} buttonVariant="danger" /> )} diff --git a/src/app/(main)/links/LinkEditButton.tsx b/src/app/(main)/links/LinkEditButton.tsx index 4d8587966..bd309282f 100644 --- a/src/app/(main)/links/LinkEditButton.tsx +++ b/src/app/(main)/links/LinkEditButton.tsx @@ -4,10 +4,10 @@ import { DialogButton } from '@/components/input/DialogButton'; import { LinkEditForm } from './LinkEditForm'; export function LinkEditButton({ linkId }: { linkId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - } title={formatMessage(labels.link)} variant="quiet" width="800px"> + } title={t(labels.link)} variant="quiet" width="800px"> {({ close }) => { return ; }} diff --git a/src/app/(main)/links/LinkEditForm.tsx b/src/app/(main)/links/LinkEditForm.tsx index a6c0164d0..64bfb8dbc 100644 --- a/src/app/(main)/links/LinkEditForm.tsx +++ b/src/app/(main)/links/LinkEditForm.tsx @@ -32,7 +32,7 @@ export function LinkEditForm({ onSave?: () => void; onClose?: () => void; }) { - const { formatMessage, labels, messages, getErrorMessage } = useMessages(); + const { t, labels, messages, getErrorMessage } = useMessages(); const { mutateAsync, error, isPending, touch, toast } = useUpdateQuery( linkId ? `/links/${linkId}` : '/links', { @@ -48,7 +48,7 @@ export function LinkEditForm({ const handleSubmit = async (data: any) => { await mutateAsync(data, { onSuccess: async () => { - toast(formatMessage(messages.saved)); + toast(t(messages.saved)); touch('links'); touch(`link:${linkId}`); onSave?.(); @@ -59,7 +59,7 @@ export function LinkEditForm({ const checkUrl = (url: string) => { if (!isValidUrl(url)) { - return formatMessage(labels.invalidUrl); + return t(labels.invalidUrl); } return true; }; @@ -79,18 +79,14 @@ export function LinkEditForm({ return ( <> - + @@ -98,9 +94,9 @@ export function LinkEditForm({ @@ -116,7 +112,7 @@ export function LinkEditForm({ - + {onClose && ( )} - {formatMessage(labels.save)} + {t(labels.save)} ); diff --git a/src/app/(main)/links/LinksPage.tsx b/src/app/(main)/links/LinksPage.tsx index cdaf8fced..a82ce6da3 100644 --- a/src/app/(main)/links/LinksPage.tsx +++ b/src/app/(main)/links/LinksPage.tsx @@ -10,7 +10,7 @@ import { LinkAddButton } from './LinkAddButton'; export function LinksPage() { const { user } = useLoginQuery(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { teamId } = useNavigation(); const { data } = useTeamMembersQuery(teamId); @@ -23,7 +23,7 @@ export function LinksPage() { return ( - + {showActions && } diff --git a/src/app/(main)/links/LinksTable.tsx b/src/app/(main)/links/LinksTable.tsx index 62eb0fb86..76fcc6df0 100644 --- a/src/app/(main)/links/LinksTable.tsx +++ b/src/app/(main)/links/LinksTable.tsx @@ -11,18 +11,18 @@ export interface LinksTableProps extends DataTableProps { } export function LinksTable({ showActions, ...props }: LinksTableProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { websiteId, renderUrl } = useNavigation(); const { getSlugUrl } = useSlug('link'); return ( - + {({ id, name }: any) => { return {name}; }} - + {({ slug }: any) => { const url = getSlugUrl(slug); return ( @@ -32,12 +32,12 @@ export function LinksTable({ showActions, ...props }: LinksTableProps) { ); }} - + {({ url }: any) => { return {url}; }} - + {(row: any) => } {showActions && ( diff --git a/src/app/(main)/links/[linkId]/LinkHeader.tsx b/src/app/(main)/links/[linkId]/LinkHeader.tsx index da1d75939..5ca713c58 100644 --- a/src/app/(main)/links/[linkId]/LinkHeader.tsx +++ b/src/app/(main)/links/[linkId]/LinkHeader.tsx @@ -5,14 +5,14 @@ import { useLink, useMessages, useSlug } from '@/components/hooks'; import { ExternalLink, Link } from '@/components/icons'; export function LinkHeader() { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { getSlugUrl } = useSlug('link'); const link = useLink(); return ( }> - } label={formatMessage(labels.view)} /> + } label={t(labels.view)} /> ); diff --git a/src/app/(main)/links/[linkId]/LinkMetricsBar.tsx b/src/app/(main)/links/[linkId]/LinkMetricsBar.tsx index 1fe8c45fa..ec07962c6 100644 --- a/src/app/(main)/links/[linkId]/LinkMetricsBar.tsx +++ b/src/app/(main)/links/[linkId]/LinkMetricsBar.tsx @@ -13,7 +13,7 @@ export function LinkMetricsBar({ compareMode?: boolean; }) { const { isAllTime } = useDateRange(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { data, isLoading, isFetching, error } = useWebsiteStatsQuery(linkId); const { pageviews, visitors, visits, comparison } = data || {}; @@ -22,19 +22,19 @@ export function LinkMetricsBar({ ? [ { value: visitors, - label: formatMessage(labels.visitors), + label: t(labels.visitors), change: visitors - comparison.visitors, formatValue: formatLongNumber, }, { value: visits, - label: formatMessage(labels.visits), + label: t(labels.visits), change: visits - comparison.visits, formatValue: formatLongNumber, }, { value: pageviews, - label: formatMessage(labels.views), + label: t(labels.views), change: pageviews - comparison.pageviews, formatValue: formatLongNumber, }, diff --git a/src/app/(main)/links/[linkId]/LinkPanels.tsx b/src/app/(main)/links/[linkId]/LinkPanels.tsx index c044abe5d..6d246618a 100644 --- a/src/app/(main)/links/[linkId]/LinkPanels.tsx +++ b/src/app/(main)/links/[linkId]/LinkPanels.tsx @@ -6,13 +6,13 @@ import { MetricsTable } from '@/components/metrics/MetricsTable'; import { WorldMap } from '@/components/metrics/WorldMap'; export function LinkPanels({ linkId }: { linkId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const tableProps = { websiteId: linkId, limit: 10, allowDownload: false, showMore: true, - metric: formatMessage(labels.visitors), + metric: t(labels.visitors), }; const rowProps = { minHeight: 570 }; @@ -20,36 +20,36 @@ export function LinkPanels({ linkId }: { linkId: string }) { - {formatMessage(labels.sources)} + {t(labels.sources)} - {formatMessage(labels.referrers)} - {formatMessage(labels.channels)} + {t(labels.referrers)} + {t(labels.channels)} - + - + - {formatMessage(labels.environment)} + {t(labels.environment)} - {formatMessage(labels.browsers)} - {formatMessage(labels.os)} - {formatMessage(labels.devices)} + {t(labels.browsers)} + {t(labels.os)} + {t(labels.devices)} - + - + - + @@ -59,21 +59,21 @@ export function LinkPanels({ linkId }: { linkId: string }) { - {formatMessage(labels.location)} + {t(labels.location)} - {formatMessage(labels.countries)} - {formatMessage(labels.regions)} - {formatMessage(labels.cities)} + {t(labels.countries)} + {t(labels.regions)} + {t(labels.cities)} - + - + - + diff --git a/src/app/(main)/pixels/PixelAddButton.tsx b/src/app/(main)/pixels/PixelAddButton.tsx index 1573b9e0f..be8edd418 100644 --- a/src/app/(main)/pixels/PixelAddButton.tsx +++ b/src/app/(main)/pixels/PixelAddButton.tsx @@ -4,15 +4,10 @@ import { DialogButton } from '@/components/input/DialogButton'; import { PixelEditForm } from './PixelEditForm'; export function PixelAddButton({ teamId }: { teamId?: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - } - label={formatMessage(labels.addPixel)} - variant="primary" - width="600px" - > + } label={t(labels.addPixel)} variant="primary" width="600px"> {({ close }) => } ); diff --git a/src/app/(main)/pixels/PixelDeleteButton.tsx b/src/app/(main)/pixels/PixelDeleteButton.tsx index 436dba5c4..68bb896ce 100644 --- a/src/app/(main)/pixels/PixelDeleteButton.tsx +++ b/src/app/(main)/pixels/PixelDeleteButton.tsx @@ -2,7 +2,6 @@ import { ConfirmationForm } from '@/components/common/ConfirmationForm'; import { useDeleteQuery, useMessages, useModified } from '@/components/hooks'; import { Trash } from '@/components/icons'; import { DialogButton } from '@/components/input/DialogButton'; -import { messages } from '@/components/messages'; export function PixelDeleteButton({ pixelId, @@ -13,7 +12,7 @@ export function PixelDeleteButton({ name: string; onSave?: () => void; }) { - const { formatMessage, labels, getErrorMessage, FormattedMessage } = useMessages(); + const { t, labels, messages, getErrorMessage } = useMessages(); const { mutateAsync, isPending, error } = useDeleteQuery(`/pixels/${pixelId}`); const { touch } = useModified(); @@ -28,27 +27,18 @@ export function PixelDeleteButton({ }; return ( - } - variant="quiet" - title={formatMessage(labels.confirm)} - width="400px" - > + } variant="quiet" title={t(labels.confirm)} width="400px"> {({ close }) => ( {name}, - }} - /> - } + message={t.rich(messages.confirmRemove, { + target: name, + b: chunks => {chunks}, + })} isLoading={isPending} error={getErrorMessage(error)} onConfirm={handleConfirm.bind(null, close)} onClose={close} - buttonLabel={formatMessage(labels.delete)} + buttonLabel={t(labels.delete)} buttonVariant="danger" /> )} diff --git a/src/app/(main)/pixels/PixelEditButton.tsx b/src/app/(main)/pixels/PixelEditButton.tsx index 3c5924da4..2a16118c2 100644 --- a/src/app/(main)/pixels/PixelEditButton.tsx +++ b/src/app/(main)/pixels/PixelEditButton.tsx @@ -4,15 +4,10 @@ import { DialogButton } from '@/components/input/DialogButton'; import { PixelEditForm } from './PixelEditForm'; export function PixelEditButton({ pixelId }: { pixelId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - } - title={formatMessage(labels.addPixel)} - variant="quiet" - width="600px" - > + } title={t(labels.addPixel)} variant="quiet" width="600px"> {({ close }) => { return ; }} diff --git a/src/app/(main)/pixels/PixelEditForm.tsx b/src/app/(main)/pixels/PixelEditForm.tsx index 46241c1cf..54c5e64c5 100644 --- a/src/app/(main)/pixels/PixelEditForm.tsx +++ b/src/app/(main)/pixels/PixelEditForm.tsx @@ -30,7 +30,7 @@ export function PixelEditForm({ onSave?: () => void; onClose?: () => void; }) { - const { formatMessage, labels, messages, getErrorMessage } = useMessages(); + const { t, labels, messages, getErrorMessage } = useMessages(); const { mutateAsync, error, isPending, touch, toast } = useUpdateQuery( pixelId ? `/pixels/${pixelId}` : '/pixels', { @@ -46,7 +46,7 @@ export function PixelEditForm({ const handleSubmit = async (data: any) => { await mutateAsync(data, { onSuccess: async () => { - toast(formatMessage(messages.saved)); + toast(t(messages.saved)); touch('pixels'); touch(`pixel:${pixelId}`); onSave?.(); @@ -78,18 +78,14 @@ export function PixelEditForm({ {({ setValue }) => { return ( <> - + @@ -97,7 +93,7 @@ export function PixelEditForm({ - + {onClose && ( )} - {formatMessage(labels.save)} + {t(labels.save)} ); diff --git a/src/app/(main)/pixels/PixelsPage.tsx b/src/app/(main)/pixels/PixelsPage.tsx index 91ddcdcda..76e210061 100644 --- a/src/app/(main)/pixels/PixelsPage.tsx +++ b/src/app/(main)/pixels/PixelsPage.tsx @@ -10,7 +10,7 @@ import { PixelsDataTable } from './PixelsDataTable'; export function PixelsPage() { const { user } = useLoginQuery(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { teamId } = useNavigation(); const { data } = useTeamMembersQuery(teamId); @@ -23,7 +23,7 @@ export function PixelsPage() { return ( - + {showActions && } diff --git a/src/app/(main)/pixels/PixelsTable.tsx b/src/app/(main)/pixels/PixelsTable.tsx index 018b40eb5..98ae6a8ac 100644 --- a/src/app/(main)/pixels/PixelsTable.tsx +++ b/src/app/(main)/pixels/PixelsTable.tsx @@ -11,13 +11,13 @@ export interface PixelsTableProps extends DataTableProps { } export function PixelsTable({ showActions, ...props }: PixelsTableProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { renderUrl } = useNavigation(); const { getSlugUrl } = useSlug('pixel'); return ( - + {({ id, name }: any) => { return {name}; }} @@ -32,7 +32,7 @@ export function PixelsTable({ showActions, ...props }: PixelsTableProps) { ); }} - + {(row: any) => } {showActions && ( diff --git a/src/app/(main)/pixels/[pixelId]/PixelHeader.tsx b/src/app/(main)/pixels/[pixelId]/PixelHeader.tsx index 3fab6b73f..26afc811e 100644 --- a/src/app/(main)/pixels/[pixelId]/PixelHeader.tsx +++ b/src/app/(main)/pixels/[pixelId]/PixelHeader.tsx @@ -5,14 +5,14 @@ import { useMessages, usePixel, useSlug } from '@/components/hooks'; import { ExternalLink, Grid2x2 } from '@/components/icons'; export function PixelHeader() { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { getSlugUrl } = useSlug('pixel'); const pixel = usePixel(); return ( }> - } label={formatMessage(labels.view)} /> + } label={t(labels.view)} /> ); diff --git a/src/app/(main)/pixels/[pixelId]/PixelMetricsBar.tsx b/src/app/(main)/pixels/[pixelId]/PixelMetricsBar.tsx index c9dcd357c..3a46291e1 100644 --- a/src/app/(main)/pixels/[pixelId]/PixelMetricsBar.tsx +++ b/src/app/(main)/pixels/[pixelId]/PixelMetricsBar.tsx @@ -13,7 +13,7 @@ export function PixelMetricsBar({ compareMode?: boolean; }) { const { isAllTime } = useDateRange(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { data, isLoading, isFetching, error } = useWebsiteStatsQuery(pixelId); const { pageviews, visitors, visits, comparison } = data || {}; @@ -22,19 +22,19 @@ export function PixelMetricsBar({ ? [ { value: visitors, - label: formatMessage(labels.visitors), + label: t(labels.visitors), change: visitors - comparison.visitors, formatValue: formatLongNumber, }, { value: visits, - label: formatMessage(labels.visits), + label: t(labels.visits), change: visits - comparison.visits, formatValue: formatLongNumber, }, { value: pageviews, - label: formatMessage(labels.views), + label: t(labels.views), change: pageviews - comparison.pageviews, formatValue: formatLongNumber, }, diff --git a/src/app/(main)/pixels/[pixelId]/PixelPanels.tsx b/src/app/(main)/pixels/[pixelId]/PixelPanels.tsx index 9f19d65aa..54079a168 100644 --- a/src/app/(main)/pixels/[pixelId]/PixelPanels.tsx +++ b/src/app/(main)/pixels/[pixelId]/PixelPanels.tsx @@ -6,13 +6,13 @@ import { MetricsTable } from '@/components/metrics/MetricsTable'; import { WorldMap } from '@/components/metrics/WorldMap'; export function PixelPanels({ pixelId }: { pixelId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const tableProps = { websiteId: pixelId, limit: 10, allowDownload: false, showMore: true, - metric: formatMessage(labels.visitors), + metric: t(labels.visitors), }; const rowProps = { minHeight: 570 }; @@ -20,36 +20,36 @@ export function PixelPanels({ pixelId }: { pixelId: string }) { - {formatMessage(labels.sources)} + {t(labels.sources)} - {formatMessage(labels.referrers)} - {formatMessage(labels.channels)} + {t(labels.referrers)} + {t(labels.channels)} - + - + - {formatMessage(labels.environment)} + {t(labels.environment)} - {formatMessage(labels.browsers)} - {formatMessage(labels.os)} - {formatMessage(labels.devices)} + {t(labels.browsers)} + {t(labels.os)} + {t(labels.devices)} - + - + - + @@ -59,21 +59,21 @@ export function PixelPanels({ pixelId }: { pixelId: string }) { - {formatMessage(labels.location)} + {t(labels.location)} - {formatMessage(labels.countries)} - {formatMessage(labels.regions)} - {formatMessage(labels.cities)} + {t(labels.countries)} + {t(labels.regions)} + {t(labels.cities)} - + - + - + diff --git a/src/app/(main)/settings/SettingsNav.tsx b/src/app/(main)/settings/SettingsNav.tsx index 5274ed84e..bfe8a0aee 100644 --- a/src/app/(main)/settings/SettingsNav.tsx +++ b/src/app/(main)/settings/SettingsNav.tsx @@ -3,33 +3,33 @@ import { useMessages, useNavigation } from '@/components/hooks'; import { Settings2, UserCircle, Users } from '@/components/icons'; export function SettingsNav({ onItemClick }: { onItemClick?: () => void }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { renderUrl, pathname } = useNavigation(); const items = [ { - label: formatMessage(labels.application), + label: t(labels.application), items: [ { id: 'preferences', - label: formatMessage(labels.preferences), + label: t(labels.preferences), path: renderUrl('/settings/preferences'), icon: , }, ], }, { - label: formatMessage(labels.account), + label: t(labels.account), items: [ { id: 'profile', - label: formatMessage(labels.profile), + label: t(labels.profile), path: renderUrl('/settings/profile'), icon: , }, { id: 'teams', - label: formatMessage(labels.teams), + label: t(labels.teams), path: renderUrl('/settings/teams'), icon: , }, @@ -44,7 +44,7 @@ export function SettingsNav({ onItemClick }: { onItemClick?: () => void }) { return ( { @@ -27,7 +27,7 @@ export function DateRangeSetting() { placement="bottom start" style={{ minWidth: '250px' }} /> - + ); } diff --git a/src/app/(main)/settings/preferences/LanguageSetting.tsx b/src/app/(main)/settings/preferences/LanguageSetting.tsx index 2b2d0febe..34470c36c 100644 --- a/src/app/(main)/settings/preferences/LanguageSetting.tsx +++ b/src/app/(main)/settings/preferences/LanguageSetting.tsx @@ -6,7 +6,7 @@ import { languages } from '@/lib/lang'; export function LanguageSetting() { const [search, setSearch] = useState(''); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { locale, saveLocale } = useLocale(); const items = search ? Object.keys(languages).filter(n => { @@ -43,7 +43,7 @@ export function LanguageSetting() { ))} {!items.length && } - + ); } diff --git a/src/app/(main)/settings/preferences/PreferenceSettings.tsx b/src/app/(main)/settings/preferences/PreferenceSettings.tsx index c91a6eff2..55695946b 100644 --- a/src/app/(main)/settings/preferences/PreferenceSettings.tsx +++ b/src/app/(main)/settings/preferences/PreferenceSettings.tsx @@ -8,7 +8,7 @@ import { VersionSetting } from './VersionSetting'; export function PreferenceSettings() { const { user } = useLoginQuery(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); if (!user) { return null; @@ -17,23 +17,23 @@ export function PreferenceSettings() { return ( - + - + - + - + - + diff --git a/src/app/(main)/settings/preferences/PreferencesPage.tsx b/src/app/(main)/settings/preferences/PreferencesPage.tsx index 61e26694f..2cbfd6dbf 100644 --- a/src/app/(main)/settings/preferences/PreferencesPage.tsx +++ b/src/app/(main)/settings/preferences/PreferencesPage.tsx @@ -7,12 +7,12 @@ import { useMessages } from '@/components/hooks'; import { PreferenceSettings } from './PreferenceSettings'; export function PreferencesPage() { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - + diff --git a/src/app/(main)/settings/preferences/TimezoneSetting.tsx b/src/app/(main)/settings/preferences/TimezoneSetting.tsx index 8551e8cf0..f206a6e4f 100644 --- a/src/app/(main)/settings/preferences/TimezoneSetting.tsx +++ b/src/app/(main)/settings/preferences/TimezoneSetting.tsx @@ -7,7 +7,7 @@ const timezones = Intl.supportedValuesOf('timeZone'); export function TimezoneSetting() { const [search, setSearch] = useState(''); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { timezone, saveTimezone } = useTimezone(); const items = search ? timezones.filter(n => n.toLowerCase().includes(search.toLowerCase())) @@ -39,7 +39,7 @@ export function TimezoneSetting() { ))} {!items.length && } - + ); } diff --git a/src/app/(main)/settings/profile/PasswordChangeButton.tsx b/src/app/(main)/settings/profile/PasswordChangeButton.tsx index 6ce8ef842..105269dd4 100644 --- a/src/app/(main)/settings/profile/PasswordChangeButton.tsx +++ b/src/app/(main)/settings/profile/PasswordChangeButton.tsx @@ -4,11 +4,11 @@ import { LockKeyhole } from '@/components/icons'; import { PasswordEditForm } from './PasswordEditForm'; export function PasswordChangeButton() { - const { formatMessage, labels, messages } = useMessages(); + const { t, labels, messages } = useMessages(); const { toast } = useToast(); const handleSave = () => { - toast(formatMessage(messages.saved)); + toast(t(messages.saved)); }; return ( @@ -17,10 +17,10 @@ export function PasswordChangeButton() { - {formatMessage(labels.changePassword)} + {t(labels.changePassword)} - + {({ close }) => } diff --git a/src/app/(main)/settings/profile/PasswordEditForm.tsx b/src/app/(main)/settings/profile/PasswordEditForm.tsx index 6f782e44b..8a1615a07 100644 --- a/src/app/(main)/settings/profile/PasswordEditForm.tsx +++ b/src/app/(main)/settings/profile/PasswordEditForm.tsx @@ -9,7 +9,7 @@ import { import { useMessages, useUpdateQuery } from '@/components/hooks'; export function PasswordEditForm({ onSave, onClose }) { - const { formatMessage, labels, messages, getErrorMessage } = useMessages(); + const { t, labels, messages, getErrorMessage } = useMessages(); const { mutateAsync, error, isPending } = useUpdateQuery('/me/password'); const handleSubmit = async (data: any) => { @@ -23,7 +23,7 @@ export function PasswordEditForm({ onSave, onClose }) { const samePassword = (value: string, values: Record) => { if (value !== values.newPassword) { - return formatMessage(messages.noMatchPassword); + return t(messages.noMatchPassword); } return true; }; @@ -31,7 +31,7 @@ export function PasswordEditForm({ onSave, onClose }) { return (
@@ -39,28 +39,28 @@ export function PasswordEditForm({ onSave, onClose }) { - - {formatMessage(labels.save)} + + {t(labels.save)}
); diff --git a/src/app/(main)/settings/profile/ProfileHeader.tsx b/src/app/(main)/settings/profile/ProfileHeader.tsx index 05f799637..09cabbe2c 100644 --- a/src/app/(main)/settings/profile/ProfileHeader.tsx +++ b/src/app/(main)/settings/profile/ProfileHeader.tsx @@ -2,7 +2,7 @@ import { SectionHeader } from '@/components/common/SectionHeader'; import { useMessages } from '@/components/hooks'; export function ProfileHeader() { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); - return ; + return ; } diff --git a/src/app/(main)/settings/profile/ProfilePage.tsx b/src/app/(main)/settings/profile/ProfilePage.tsx index f03499a37..896464a13 100644 --- a/src/app/(main)/settings/profile/ProfilePage.tsx +++ b/src/app/(main)/settings/profile/ProfilePage.tsx @@ -7,12 +7,12 @@ import { useMessages } from '@/components/hooks'; import { ProfileSettings } from './ProfileSettings'; export function ProfilePage() { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - + diff --git a/src/app/(main)/settings/profile/ProfileSettings.tsx b/src/app/(main)/settings/profile/ProfileSettings.tsx index d53a68a03..e991dcda5 100644 --- a/src/app/(main)/settings/profile/ProfileSettings.tsx +++ b/src/app/(main)/settings/profile/ProfileSettings.tsx @@ -5,7 +5,7 @@ import { PasswordChangeButton } from './PasswordChangeButton'; export function ProfileSettings() { const { user } = useLoginQuery(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { cloudMode } = useConfig(); if (!user) { @@ -16,31 +16,31 @@ export function ProfileSettings() { const renderRole = (value: string) => { if (value === ROLES.user) { - return formatMessage(labels.user); + return t(labels.user); } if (value === ROLES.admin) { - return formatMessage(labels.admin); + return t(labels.admin); } if (value === ROLES.viewOnly) { - return formatMessage(labels.viewOnly); + return t(labels.viewOnly); } - return formatMessage(labels.unknown); + return t(labels.unknown); }; return ( - + {username} - + {renderRole(role)} {!cloudMode && ( - + diff --git a/src/app/(main)/settings/websites/WebsitesSettingsPage.tsx b/src/app/(main)/settings/websites/WebsitesSettingsPage.tsx index 5009ec6c6..d83dfbf02 100644 --- a/src/app/(main)/settings/websites/WebsitesSettingsPage.tsx +++ b/src/app/(main)/settings/websites/WebsitesSettingsPage.tsx @@ -5,11 +5,11 @@ import { SectionHeader } from '@/components/common/SectionHeader'; import { useMessages } from '@/components/hooks'; export function WebsitesSettingsPage({ teamId }: { teamId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - + ); diff --git a/src/app/(main)/teams/TeamAddForm.tsx b/src/app/(main)/teams/TeamAddForm.tsx index 3b827776b..2599baa40 100644 --- a/src/app/(main)/teams/TeamAddForm.tsx +++ b/src/app/(main)/teams/TeamAddForm.tsx @@ -18,7 +18,7 @@ export function TeamAddForm({ onClose: () => void; isAdmin: boolean; }) { - const { formatMessage, labels, getErrorMessage } = useMessages(); + const { t, labels, getErrorMessage } = useMessages(); const { mutateAsync, error, isPending } = useUpdateQuery('/teams'); const handleSubmit = async (data: any) => { @@ -32,20 +32,20 @@ export function TeamAddForm({ return (
- + {isAdmin && ( - + )} - {formatMessage(labels.save)} + {t(labels.save)} diff --git a/src/app/(main)/teams/TeamJoinForm.tsx b/src/app/(main)/teams/TeamJoinForm.tsx index 697807889..3aa865319 100644 --- a/src/app/(main)/teams/TeamJoinForm.tsx +++ b/src/app/(main)/teams/TeamJoinForm.tsx @@ -9,7 +9,7 @@ import { import { useMessages, useUpdateQuery } from '@/components/hooks'; export function TeamJoinForm({ onSave, onClose }: { onSave: () => void; onClose: () => void }) { - const { formatMessage, labels, getErrorMessage } = useMessages(); + const { t, labels, getErrorMessage } = useMessages(); const { mutateAsync, error, touch } = useUpdateQuery('/teams/join'); const handleSubmit = async (data: any) => { @@ -25,15 +25,15 @@ export function TeamJoinForm({ onSave, onClose }: { onSave: () => void; onClose: return (
- - {formatMessage(labels.join)} + + {t(labels.join)}
); diff --git a/src/app/(main)/teams/TeamLeaveButton.tsx b/src/app/(main)/teams/TeamLeaveButton.tsx index 2cca76f86..b4902fa01 100644 --- a/src/app/(main)/teams/TeamLeaveButton.tsx +++ b/src/app/(main)/teams/TeamLeaveButton.tsx @@ -5,7 +5,7 @@ import { LogOut } from '@/components/icons'; import { TeamLeaveForm } from './TeamLeaveForm'; export function TeamLeaveButton({ teamId, teamName }: { teamId: string; teamName: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const router = useRouter(); const { user } = useLoginQuery(); const { touch } = useModified(); @@ -21,10 +21,10 @@ export function TeamLeaveButton({ teamId, teamName }: { teamId: string; teamName - {formatMessage(labels.leave)} + {t(labels.leave)} - + {({ close }) => ( void; onClose: () => void; }) { - const { formatMessage, labels, messages, getErrorMessage, FormattedMessage } = useMessages(); + const { t, labels, messages, getErrorMessage } = useMessages(); const { mutateAsync, error, isPending } = useDeleteQuery(`/teams/${teamId}/users/${userId}`); const { touch } = useModified(); @@ -30,15 +30,11 @@ export function TeamLeaveForm({ return ( {teamName}, - }} - /> - } + buttonLabel={t(labels.leave)} + message={t.rich(messages.confirmLeave, { + target: teamName, + b: chunks => {chunks}, + })} onConfirm={handleConfirm} onClose={onClose} isLoading={isPending} diff --git a/src/app/(main)/teams/TeamMemberAddForm.tsx b/src/app/(main)/teams/TeamMemberAddForm.tsx index d929364eb..4ab314752 100644 --- a/src/app/(main)/teams/TeamMemberAddForm.tsx +++ b/src/app/(main)/teams/TeamMemberAddForm.tsx @@ -22,7 +22,7 @@ export function TeamMemberAddForm({ onSave?: () => void; onClose?: () => void; }) { - const { formatMessage, labels, getErrorMessage } = useMessages(); + const { t, labels, getErrorMessage } = useMessages(); const { mutateAsync, error, isPending } = useUpdateQuery(`/teams/${teamId}/users`); const handleSubmit = async (data: any) => { @@ -37,24 +37,20 @@ export function TeamMemberAddForm({ const renderRole = role => { switch (role) { case ROLES.teamManager: - return formatMessage(labels.manager); + return t(labels.manager); case ROLES.teamMember: - return formatMessage(labels.member); + return t(labels.member); case ROLES.teamViewOnly: - return formatMessage(labels.viewOnly); + return t(labels.viewOnly); } }; return (
- + - + - {formatMessage(labels.manager)} - {formatMessage(labels.member)} - {formatMessage(labels.viewOnly)} + {t(labels.manager)} + {t(labels.member)} + {t(labels.viewOnly)} - {formatMessage(labels.save)} + {t(labels.save)} diff --git a/src/app/(main)/teams/[teamId]/TeamMemberRemoveButton.tsx b/src/app/(main)/teams/[teamId]/TeamMemberRemoveButton.tsx index 4d3e8e91e..ff55a7aab 100644 --- a/src/app/(main)/teams/[teamId]/TeamMemberRemoveButton.tsx +++ b/src/app/(main)/teams/[teamId]/TeamMemberRemoveButton.tsx @@ -2,7 +2,6 @@ import { ConfirmationForm } from '@/components/common/ConfirmationForm'; import { useDeleteQuery, useMessages, useModified } from '@/components/hooks'; import { Trash } from '@/components/icons'; import { DialogButton } from '@/components/input/DialogButton'; -import { messages } from '@/components/messages'; export function TeamMemberRemoveButton({ teamId, @@ -16,7 +15,7 @@ export function TeamMemberRemoveButton({ disabled?: boolean; onSave?: () => void; }) { - const { formatMessage, labels, FormattedMessage } = useMessages(); + const { t, labels, messages } = useMessages(); const { mutateAsync, isPending, error } = useDeleteQuery(`/teams/${teamId}/users/${userId}`); const { touch } = useModified(); @@ -31,27 +30,18 @@ export function TeamMemberRemoveButton({ }; return ( - } - title={formatMessage(labels.confirm)} - variant="quiet" - width="400px" - > + } title={t(labels.confirm)} variant="quiet" width="400px"> {({ close }) => ( {userName}, - }} - /> - } + message={t.rich(messages.confirmRemove, { + target: userName, + b: chunks => {chunks}, + })} isLoading={isPending} error={error} onConfirm={handleConfirm.bind(null, close)} onClose={close} - buttonLabel={formatMessage(labels.remove)} + buttonLabel={t(labels.remove)} buttonVariant="danger" /> )} diff --git a/src/app/(main)/teams/[teamId]/TeamMembersTable.tsx b/src/app/(main)/teams/[teamId]/TeamMembersTable.tsx index 8414908c1..6c77c89b1 100644 --- a/src/app/(main)/teams/[teamId]/TeamMembersTable.tsx +++ b/src/app/(main)/teams/[teamId]/TeamMembersTable.tsx @@ -13,21 +13,21 @@ export function TeamMembersTable({ teamId: string; allowEdit: boolean; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const roles = { - [ROLES.teamOwner]: formatMessage(labels.teamOwner), - [ROLES.teamManager]: formatMessage(labels.teamManager), - [ROLES.teamMember]: formatMessage(labels.teamMember), - [ROLES.teamViewOnly]: formatMessage(labels.viewOnly), + [ROLES.teamOwner]: t(labels.teamOwner), + [ROLES.teamManager]: t(labels.teamManager), + [ROLES.teamMember]: t(labels.teamMember), + [ROLES.teamViewOnly]: t(labels.viewOnly), }; return ( - + {(row: any) => row?.user?.username} - + {(row: any) => roles[row?.role]} {allowEdit && ( diff --git a/src/app/(main)/teams/[teamId]/TeamSettings.tsx b/src/app/(main)/teams/[teamId]/TeamSettings.tsx index c0259f47d..e854c127e 100644 --- a/src/app/(main)/teams/[teamId]/TeamSettings.tsx +++ b/src/app/(main)/teams/[teamId]/TeamSettings.tsx @@ -4,7 +4,6 @@ import { PageHeader } from '@/components/common/PageHeader'; import { Panel } from '@/components/common/Panel'; import { useLoginQuery, useMessages, useNavigation, useTeam } from '@/components/hooks'; import { Users } from '@/components/icons'; -import { labels } from '@/components/messages'; import { ROLES } from '@/lib/constants'; import { TeamsMemberAddButton } from '../TeamsMemberAddButton'; import { TeamEditForm } from './TeamEditForm'; @@ -15,7 +14,7 @@ export function TeamSettings({ teamId }: { teamId: string }) { const team: any = useTeam(); const { user } = useLoginQuery(); const { pathname } = useNavigation(); - const { formatMessage } = useMessages(); + const { t, labels } = useMessages(); const isAdmin = pathname.includes('/admin'); @@ -41,7 +40,7 @@ export function TeamSettings({ teamId }: { teamId: string }) {
- {formatMessage(labels.members)} + {t(labels.members)} {isAdmin && } diff --git a/src/app/(main)/teams/[teamId]/TeamWebsiteRemoveButton.tsx b/src/app/(main)/teams/[teamId]/TeamWebsiteRemoveButton.tsx index f2b4ecea0..7ba5ba11a 100644 --- a/src/app/(main)/teams/[teamId]/TeamWebsiteRemoveButton.tsx +++ b/src/app/(main)/teams/[teamId]/TeamWebsiteRemoveButton.tsx @@ -3,7 +3,7 @@ import { useDeleteQuery, useMessages } from '@/components/hooks'; import { X } from '@/components/icons'; export function TeamWebsiteRemoveButton({ teamId, websiteId, onSave }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { mutateAsync } = useDeleteQuery(`/teams/${teamId}/websites/${websiteId}`); const handleRemoveTeamMember = async () => { @@ -19,7 +19,7 @@ export function TeamWebsiteRemoveButton({ teamId, websiteId, onSave }) { - {formatMessage(labels.remove)} + {t(labels.remove)} ); } diff --git a/src/app/(main)/teams/[teamId]/TeamWebsitesTable.tsx b/src/app/(main)/teams/[teamId]/TeamWebsitesTable.tsx index 10f565432..f4ed2df7e 100644 --- a/src/app/(main)/teams/[teamId]/TeamWebsitesTable.tsx +++ b/src/app/(main)/teams/[teamId]/TeamWebsitesTable.tsx @@ -14,15 +14,15 @@ export function TeamWebsitesTable({ data: any[]; allowEdit: boolean; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - + {(row: any) => {row.name}} - - + + {(row: any) => row?.createUser?.username} {allowEdit && ( diff --git a/src/app/(main)/websites/WebsiteAddButton.tsx b/src/app/(main)/websites/WebsiteAddButton.tsx index 76710abbd..340c6fdc0 100644 --- a/src/app/(main)/websites/WebsiteAddButton.tsx +++ b/src/app/(main)/websites/WebsiteAddButton.tsx @@ -5,23 +5,18 @@ import { DialogButton } from '@/components/input/DialogButton'; import { WebsiteAddForm } from './WebsiteAddForm'; export function WebsiteAddButton({ teamId, onSave }: { teamId: string; onSave?: () => void }) { - const { formatMessage, labels, messages } = useMessages(); + const { t, labels, messages } = useMessages(); const { toast } = useToast(); const { touch } = useModified(); const handleSave = async () => { - toast(formatMessage(messages.saved)); + toast(t(messages.saved)); touch('websites'); onSave?.(); }; return ( - } - label={formatMessage(labels.addWebsite)} - variant="primary" - width="400px" - > + } label={t(labels.addWebsite)} variant="primary" width="400px"> {({ close }) => } ); diff --git a/src/app/(main)/websites/WebsiteAddForm.tsx b/src/app/(main)/websites/WebsiteAddForm.tsx index df17ad5a6..7f28651fc 100644 --- a/src/app/(main)/websites/WebsiteAddForm.tsx +++ b/src/app/(main)/websites/WebsiteAddForm.tsx @@ -11,7 +11,7 @@ export function WebsiteAddForm({ onSave?: () => void; onClose?: () => void; }) { - const { formatMessage, labels, messages } = useMessages(); + const { t, labels, messages } = useMessages(); const { mutateAsync, error, isPending } = useUpdateQuery('/websites', { teamId }); const handleSubmit = async (data: any) => { @@ -26,21 +26,21 @@ export function WebsiteAddForm({ return (
@@ -48,11 +48,11 @@ export function WebsiteAddForm({ {onClose && ( )} - {formatMessage(labels.save)} + {t(labels.save)} diff --git a/src/app/(main)/websites/WebsitesHeader.tsx b/src/app/(main)/websites/WebsitesHeader.tsx index 889b6025f..da9fd7e87 100644 --- a/src/app/(main)/websites/WebsitesHeader.tsx +++ b/src/app/(main)/websites/WebsitesHeader.tsx @@ -7,11 +7,11 @@ export interface WebsitesHeaderProps { } export function WebsitesHeader({ allowCreate = true }: WebsitesHeaderProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { teamId } = useNavigation(); return ( - + {allowCreate && } ); diff --git a/src/app/(main)/websites/WebsitesPage.tsx b/src/app/(main)/websites/WebsitesPage.tsx index 6f3548a97..4decd8f19 100644 --- a/src/app/(main)/websites/WebsitesPage.tsx +++ b/src/app/(main)/websites/WebsitesPage.tsx @@ -11,7 +11,7 @@ import { WebsitesDataTable } from './WebsitesDataTable'; export function WebsitesPage() { const { user } = useLoginQuery(); const { teamId } = useNavigation(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { data } = useTeamMembersQuery(teamId); const showActions = @@ -23,7 +23,7 @@ export function WebsitesPage() { return ( - + {showActions && } diff --git a/src/app/(main)/websites/WebsitesTable.tsx b/src/app/(main)/websites/WebsitesTable.tsx index 70648ed78..714e1c66c 100644 --- a/src/app/(main)/websites/WebsitesTable.tsx +++ b/src/app/(main)/websites/WebsitesTable.tsx @@ -12,15 +12,15 @@ export interface WebsitesTableProps extends DataTableProps { } export function WebsitesTable({ showActions, renderLink, ...props }: WebsitesTableProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { renderUrl } = useNavigation(); return ( - + {renderLink} - + {showActions && ( {(row: any) => { diff --git a/src/app/(main)/websites/[websiteId]/(reports)/attribution/Attribution.tsx b/src/app/(main)/websites/[websiteId]/(reports)/attribution/Attribution.tsx index 629c91391..e11308fb3 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/attribution/Attribution.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/attribution/Attribution.tsx @@ -37,7 +37,7 @@ export function Attribution({ step, }); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { pageviews, visitors, visits } = data?.total || {}; @@ -45,17 +45,17 @@ export function Attribution({ ? [ { value: visitors, - label: formatMessage(labels.visitors), + label: t(labels.visitors), formatValue: formatLongNumber, }, { value: visits, - label: formatMessage(labels.visits), + label: t(labels.visits), formatValue: formatLongNumber, }, { value: pageviews, - label: formatMessage(labels.views), + label: t(labels.views), formatValue: formatLongNumber, }, ] @@ -72,7 +72,7 @@ export function Attribution({ return ( ({ label: x, @@ -94,31 +94,31 @@ export function Attribution({ ); })} - + - + - + - + - + - + - + - + diff --git a/src/app/(main)/websites/[websiteId]/(reports)/attribution/AttributionPage.tsx b/src/app/(main)/websites/[websiteId]/(reports)/attribution/AttributionPage.tsx index 485277f20..f0786332a 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/attribution/AttributionPage.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/attribution/AttributionPage.tsx @@ -9,7 +9,7 @@ export function AttributionPage({ websiteId }: { websiteId: string }) { const [model, setModel] = useState('first-click'); const [type, setType] = useState('path'); const [step, setStep] = useState('/'); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { dateRange: { startDate, endDate }, } = useDateRange(); @@ -19,30 +19,20 @@ export function AttributionPage({ websiteId }: { websiteId: string }) { - + {t(labels.firstClick)} + {t(labels.lastClick)} - + {t(labels.viewedPage)} + {t(labels.triggeredEvent)} ( @@ -48,37 +48,22 @@ export function Breakdown({ websiteId, selectedFields = [], startDate, endDate }
); })} - + {row => row?.visitors?.toLocaleString()} - + {row => row?.visits?.toLocaleString()} - + {row => row?.views?.toLocaleString()} - + {row => { const n = (Math.min(row?.visits, row?.bounces) / row?.visits) * 100; return `${Math.round(+n)}%`; }} - + {row => { const n = row?.totaltime / row?.visits; return `${+n < 0 ? '-' : ''}${formatShortTime(Math.abs(~~n), ['m', 's'], ' ')}`; diff --git a/src/app/(main)/websites/[websiteId]/(reports)/breakdown/BreakdownPage.tsx b/src/app/(main)/websites/[websiteId]/(reports)/breakdown/BreakdownPage.tsx index fdead9fbf..17e4a2829 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/breakdown/BreakdownPage.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/breakdown/BreakdownPage.tsx @@ -33,12 +33,12 @@ export function BreakdownPage({ websiteId }: { websiteId: string }) { } const FieldsButton = ({ value, onChange }) => { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( } - label={formatMessage(labels.fields)} + label={t(labels.fields)} width="400px" minHeight="300px" variant="outline" diff --git a/src/app/(main)/websites/[websiteId]/(reports)/breakdown/FieldSelectForm.tsx b/src/app/(main)/websites/[websiteId]/(reports)/breakdown/FieldSelectForm.tsx index fbad47491..b7537c7fa 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/breakdown/FieldSelectForm.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/breakdown/FieldSelectForm.tsx @@ -12,7 +12,7 @@ export function FieldSelectForm({ onClose?: () => void; }) { const [selected, setSelected] = useState(selectedFields); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { fields, groupLabels } = useFields(); const handleChange = (value: string[]) => { @@ -57,9 +57,9 @@ export function FieldSelectForm({
- +
diff --git a/src/app/(main)/websites/[websiteId]/(reports)/funnels/Funnel.tsx b/src/app/(main)/websites/[websiteId]/(reports)/funnels/Funnel.tsx index 7821b07c1..dc11544d9 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/funnels/Funnel.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/funnels/Funnel.tsx @@ -19,7 +19,7 @@ type FunnelResult = { }; export function Funnel({ id, name, type, parameters, websiteId }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { pathname } = useNavigation(); const isSharePage = pathname.includes('/share/'); const { data, error, isLoading } = useResultQuery(type, { @@ -43,10 +43,7 @@ export function Funnel({ id, name, type, parameters, websiteId }) { {({ close }) => { return ( - + ); @@ -90,9 +87,9 @@ export function Funnel({ id, name, type, parameters, websiteId }) { - {formatMessage(isPage ? labels.viewedPage : labels.triggeredEvent)} + {t(isPage ? labels.viewedPage : labels.triggeredEvent)} - {formatMessage(labels.conversionRate)} + {t(labels.conversionRate)} @@ -109,7 +106,7 @@ export function Funnel({ id, name, type, parameters, websiteId }) { - {`${formatLongNumber(visitors)} ${formatMessage(labels.visitors)}`} + {`${formatLongNumber(visitors)} ${t(labels.visitors)}`} diff --git a/src/app/(main)/websites/[websiteId]/(reports)/funnels/FunnelAddButton.tsx b/src/app/(main)/websites/[websiteId]/(reports)/funnels/FunnelAddButton.tsx index 29b548032..699ff83bf 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/funnels/FunnelAddButton.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/funnels/FunnelAddButton.tsx @@ -4,7 +4,7 @@ import { Plus } from '@/components/icons'; import { FunnelEditForm } from './FunnelEditForm'; export function FunnelAddButton({ websiteId }: { websiteId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( @@ -12,14 +12,10 @@ export function FunnelAddButton({ websiteId }: { websiteId: string }) { - {formatMessage(labels.funnel)} + {t(labels.funnel)} - + {({ close }) => } diff --git a/src/app/(main)/websites/[websiteId]/(reports)/funnels/FunnelEditForm.tsx b/src/app/(main)/websites/[websiteId]/(reports)/funnels/FunnelEditForm.tsx index 5d950ea66..a00c916de 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/funnels/FunnelEditForm.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/funnels/FunnelEditForm.tsx @@ -31,7 +31,7 @@ export function FunnelEditForm({ onSave?: () => void; onClose?: () => void; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { data } = useReportQuery(id); const { mutateAsync, error, isPending, touch } = useUpdateQuery(`/reports${id ? `/${id}` : ''}`); @@ -61,23 +61,15 @@ export function FunnelEditForm({ return (
- + - + value.length > 1 || 'At least two steps are required', }} @@ -91,7 +83,7 @@ export function FunnelEditForm({ @@ -99,7 +91,7 @@ export function FunnelEditForm({ {({ field, context }) => { const type = context.watch(`steps.${index}.type`); @@ -123,7 +115,7 @@ export function FunnelEditForm({ - {formatMessage(labels.add)} + {t(labels.add)} @@ -132,9 +124,9 @@ export function FunnelEditForm({ - {formatMessage(labels.save)} + {t(labels.save)} ); diff --git a/src/app/(main)/websites/[websiteId]/(reports)/goals/Goal.tsx b/src/app/(main)/websites/[websiteId]/(reports)/goals/Goal.tsx index 40abea27c..d7553eea5 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/goals/Goal.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/goals/Goal.tsx @@ -24,7 +24,7 @@ export interface GoalProps { export type GoalData = { num: number; total: number }; export function Goal({ id, name, type, parameters, websiteId, startDate, endDate }: GoalProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { pathname } = useNavigation(); const isSharePage = pathname.includes('/share/'); const { data, error, isLoading, isFetching } = useResultQuery(type, { @@ -53,7 +53,7 @@ export function Goal({ id, name, type, parameters, websiteId, startDate, endDate {({ close }) => { return ( @@ -66,10 +66,8 @@ export function Goal({ id, name, type, parameters, websiteId, startDate, endDate )} - - {formatMessage(isPage ? labels.viewedPage : labels.triggeredEvent)} - - {formatMessage(labels.conversionRate)} + {t(isPage ? labels.viewedPage : labels.triggeredEvent)} + {t(labels.conversionRate)} diff --git a/src/app/(main)/websites/[websiteId]/(reports)/goals/GoalAddButton.tsx b/src/app/(main)/websites/[websiteId]/(reports)/goals/GoalAddButton.tsx index c85b79c54..bf42b6560 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/goals/GoalAddButton.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/goals/GoalAddButton.tsx @@ -4,7 +4,7 @@ import { Plus } from '@/components/icons'; import { GoalEditForm } from './GoalEditForm'; export function GoalAddButton({ websiteId }: { websiteId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( @@ -12,12 +12,12 @@ export function GoalAddButton({ websiteId }: { websiteId: string }) { - {formatMessage(labels.goal)} + {t(labels.goal)} {({ close }) => } diff --git a/src/app/(main)/websites/[websiteId]/(reports)/goals/GoalEditForm.tsx b/src/app/(main)/websites/[websiteId]/(reports)/goals/GoalEditForm.tsx index 7f68047c3..159e43828 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/goals/GoalEditForm.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/goals/GoalEditForm.tsx @@ -25,7 +25,7 @@ export function GoalEditForm({ onSave?: () => void; onClose?: () => void; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { data } = useReportQuery(id); const { mutateAsync, error, isPending, touch } = useUpdateQuery(`/reports${id ? `/${id}` : ''}`); @@ -59,29 +59,19 @@ export function GoalEditForm({ return ( <> - + - + - + - + {({ field }) => { return ; }} @@ -92,9 +82,9 @@ export function GoalEditForm({ - {formatMessage(labels.save)} + {t(labels.save)} ); diff --git a/src/app/(main)/websites/[websiteId]/(reports)/journeys/Journey.tsx b/src/app/(main)/websites/[websiteId]/(reports)/journeys/Journey.tsx index 2afa08f3b..8b3c47499 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/journeys/Journey.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/journeys/Journey.tsx @@ -32,7 +32,7 @@ const EVENT_TYPES = { export function Journey({ websiteId, steps, startStep, endStep, view }: JourneyProps) { const [selectedNode, setSelectedNode] = useState(null); const [activeNode, setActiveNode] = useState(null); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { data, error, isLoading } = useResultQuery('journey', { websiteId, steps, @@ -178,7 +178,7 @@ export function Journey({ websiteId, steps, startStep, endStep, view }: JourneyP
{columnIndex + 1}
- {formatLongNumber(visitorCount)} {formatMessage(labels.visitors)} + {formatLongNumber(visitorCount)} {t(labels.visitors)}
@@ -237,11 +237,11 @@ export function Journey({ websiteId, steps, startStep, endStep, view }: JourneyP - {`${dropped}% ${formatMessage(labels.dropoff)}`} + {`${dropped}% ${t(labels.dropoff)}`} - {`${remaining}% ${formatMessage(labels.conversion)}`} + {`${remaining}% ${t(labels.conversion)}`} diff --git a/src/app/(main)/websites/[websiteId]/(reports)/journeys/JourneysPage.tsx b/src/app/(main)/websites/[websiteId]/(reports)/journeys/JourneysPage.tsx index c8276edca..f7cc4a88d 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/journeys/JourneysPage.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/journeys/JourneysPage.tsx @@ -11,7 +11,7 @@ const JOURNEY_STEPS = [2, 3, 4, 5, 6, 7]; const DEFAULT_STEP = 3; export function JourneysPage({ websiteId }: { websiteId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { dateRange: { startDate, endDate }, } = useDateRange(); @@ -23,15 +23,15 @@ export function JourneysPage({ websiteId }: { websiteId: string }) { const buttons = [ { id: 'all', - label: formatMessage(labels.all), + label: t(labels.all), }, { id: 'views', - label: formatMessage(labels.views), + label: t(labels.views), }, { id: 'events', - label: formatMessage(labels.events), + label: t(labels.events), }, ]; @@ -39,12 +39,7 @@ export function JourneysPage({ websiteId }: { websiteId: string }) { - {JOURNEY_STEPS.map(step => ( {step} @@ -53,7 +48,7 @@ export function JourneysPage({ websiteId }: { websiteId: string }) { - {formatMessage(labels.cohort)} + {t(labels.cohort)} {days.map(n => ( - {formatMessage(labels.day)} {n} + {t(labels.day)} {n} ))} diff --git a/src/app/(main)/websites/[websiteId]/(reports)/revenue/Revenue.tsx b/src/app/(main)/websites/[websiteId]/(reports)/revenue/Revenue.tsx index faee8b9a4..3a7b2058b 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/revenue/Revenue.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/revenue/Revenue.tsx @@ -34,7 +34,7 @@ export function Revenue({ websiteId, startDate, endDate, unit }: RevenueProps) { setItem(CURRENCY_CONFIG, value); }; - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { locale, dateLocale } = useLocale(); const { countryNames } = useCountryNames(locale); const { data, error, isLoading } = useResultQuery('revenue', { @@ -48,7 +48,7 @@ export function Revenue({ websiteId, startDate, endDate, unit }: RevenueProps) { ({ label: code }) => ( - {countryNames[code] || formatMessage(labels.unknown)} + {countryNames[code] || t(labels.unknown)} ), [countryNames, locale], @@ -90,22 +90,22 @@ export function Revenue({ websiteId, startDate, endDate, unit }: RevenueProps) { return [ { value: sum, - label: formatMessage(labels.total), + label: t(labels.total), formatValue: n => formatLongCurrency(n, currency), }, { value: count ? sum / count : 0, - label: formatMessage(labels.average), + label: t(labels.average), formatValue: n => formatLongCurrency(n, currency), }, { value: count, - label: formatMessage(labels.transactions), + label: t(labels.transactions), formatValue: formatLongNumber, }, { value: unique_count, - label: formatMessage(labels.uniqueCustomers), + label: t(labels.uniqueCustomers), formatValue: formatLongNumber, }, ] as any; @@ -142,8 +142,8 @@ export function Revenue({ websiteId, startDate, endDate, unit }: RevenueProps) { ({ label: name, count: Number(value), diff --git a/src/app/(main)/websites/[websiteId]/(reports)/revenue/RevenueTable.tsx b/src/app/(main)/websites/[websiteId]/(reports)/revenue/RevenueTable.tsx index e30d54c76..f8164147f 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/revenue/RevenueTable.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/revenue/RevenueTable.tsx @@ -3,19 +3,19 @@ import { useMessages } from '@/components/hooks'; import { formatLongCurrency } from '@/lib/format'; export function RevenueTable({ data = [] }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - - + + {(row: any) => formatLongCurrency(row.sum, row.currency)} - + {(row: any) => formatLongCurrency(row.count ? row.sum / row.count : 0, row.currency)} - - + + ); } diff --git a/src/app/(main)/websites/[websiteId]/(reports)/utm/UTM.tsx b/src/app/(main)/websites/[websiteId]/(reports)/utm/UTM.tsx index d6265802b..846546106 100644 --- a/src/app/(main)/websites/[websiteId]/(reports)/utm/UTM.tsx +++ b/src/app/(main)/websites/[websiteId]/(reports)/utm/UTM.tsx @@ -13,7 +13,7 @@ export interface UTMProps { } export function UTM({ websiteId, startDate, endDate }: UTMProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { data, error, isLoading } = useResultQuery('utm', { websiteId, startDate, @@ -49,7 +49,7 @@ export function UTM({ websiteId, startDate, endDate }: UTMProps) { {param.replace(/^utm_/, '')} ({ label: utm, count: views, diff --git a/src/app/(main)/websites/[websiteId]/WebsiteExpandedMenu.tsx b/src/app/(main)/websites/[websiteId]/WebsiteExpandedMenu.tsx index b504bd360..c49eaa02f 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteExpandedMenu.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteExpandedMenu.tsx @@ -35,7 +35,7 @@ export function WebsiteExpandedMenu({ excludedIds?: string[]; onItemClick?: () => void; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { updateParams, query: { view }, @@ -49,176 +49,176 @@ export function WebsiteExpandedMenu({ items: [ { id: 'path', - label: formatMessage(labels.path), + label: t(labels.path), path: updateParams({ view: 'path' }), icon: , }, { id: 'entry', - label: formatMessage(labels.entry), + label: t(labels.entry), path: updateParams({ view: 'entry' }), icon: , }, { id: 'exit', - label: formatMessage(labels.exit), + label: t(labels.exit), path: updateParams({ view: 'exit' }), icon: , }, { id: 'title', - label: formatMessage(labels.title), + label: t(labels.title), path: updateParams({ view: 'title' }), icon: , }, { id: 'query', - label: formatMessage(labels.query), + label: t(labels.query), path: updateParams({ view: 'query' }), icon: , }, ].filter(filterExcluded), }, { - label: formatMessage(labels.sources), + label: t(labels.sources), items: [ { id: 'referrer', - label: formatMessage(labels.referrer), + label: t(labels.referrer), path: updateParams({ view: 'referrer' }), icon: , }, { id: 'channel', - label: formatMessage(labels.channel), + label: t(labels.channel), path: updateParams({ view: 'channel' }), icon: , }, { id: 'domain', - label: formatMessage(labels.domain), + label: t(labels.domain), path: updateParams({ view: 'domain' }), icon: , }, ].filter(filterExcluded), }, { - label: formatMessage(labels.location), + label: t(labels.location), items: [ { id: 'country', - label: formatMessage(labels.country), + label: t(labels.country), path: updateParams({ view: 'country' }), icon: , }, { id: 'region', - label: formatMessage(labels.region), + label: t(labels.region), path: updateParams({ view: 'region' }), icon: , }, { id: 'city', - label: formatMessage(labels.city), + label: t(labels.city), path: updateParams({ view: 'city' }), icon: , }, ].filter(filterExcluded), }, { - label: formatMessage(labels.environment), + label: t(labels.environment), items: [ { id: 'browser', - label: formatMessage(labels.browser), + label: t(labels.browser), path: updateParams({ view: 'browser' }), icon: , }, { id: 'os', - label: formatMessage(labels.os), + label: t(labels.os), path: updateParams({ view: 'os' }), icon: , }, { id: 'device', - label: formatMessage(labels.device), + label: t(labels.device), path: updateParams({ view: 'device' }), icon: , }, { id: 'language', - label: formatMessage(labels.language), + label: t(labels.language), path: updateParams({ view: 'language' }), icon: , }, { id: 'screen', - label: formatMessage(labels.screen), + label: t(labels.screen), path: updateParams({ view: 'screen' }), icon: , }, ].filter(filterExcluded), }, { - label: formatMessage(labels.utm), + label: t(labels.utm), items: [ { id: 'utmSource', - label: formatMessage(labels.source), + label: t(labels.source), path: updateParams({ view: 'utmSource' }), icon: , }, { id: 'utmMedium', - label: formatMessage(labels.medium), + label: t(labels.medium), path: updateParams({ view: 'utmMedium' }), icon: , }, { id: 'utmCampaign', - label: formatMessage(labels.campaign), + label: t(labels.campaign), path: updateParams({ view: 'utmCampaign' }), icon: , }, { id: 'utmContent', - label: formatMessage(labels.content), + label: t(labels.content), path: updateParams({ view: 'utmContent' }), icon: , }, { id: 'utmTerm', - label: formatMessage(labels.term), + label: t(labels.term), path: updateParams({ view: 'utmTerm' }), icon: , }, ].filter(filterExcluded), }, { - label: formatMessage(labels.other), + label: t(labels.other), items: [ { id: 'event', - label: formatMessage(labels.event), + label: t(labels.event), path: updateParams({ view: 'event' }), icon: , }, { id: 'hostname', - label: formatMessage(labels.hostname), + label: t(labels.hostname), path: updateParams({ view: 'hostname' }), icon: , }, { id: 'distinctId', - label: formatMessage(labels.distinctId), + label: t(labels.distinctId), path: updateParams({ view: 'distinctId' }), icon: , }, { id: 'tag', - label: formatMessage(labels.tag), + label: t(labels.tag), path: updateParams({ view: 'tag' }), icon: , }, diff --git a/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx b/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx index 3641e75d8..71fbdc703 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteExpandedView.tsx @@ -13,7 +13,7 @@ export function WebsiteExpandedView({ excludedIds?: string[]; onClose?: () => void; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { query: { view }, } = useNavigation(); @@ -45,7 +45,7 @@ export function WebsiteExpandedView({ - }>{formatMessage(labels.edit)} + }>{t(labels.edit)} )}
diff --git a/src/app/(main)/websites/[websiteId]/WebsiteMenu.tsx b/src/app/(main)/websites/[websiteId]/WebsiteMenu.tsx index 132d3b14e..3446440c1 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteMenu.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteMenu.tsx @@ -13,12 +13,12 @@ import { useMessages, useNavigation } from '@/components/hooks'; import { Edit, MoreHorizontal, Share } from '@/components/icons'; export function WebsiteMenu({ websiteId }: { websiteId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { router, updateParams, renderUrl } = useNavigation(); const menuItems = [ - { id: 'share', label: formatMessage(labels.share), icon: }, - { id: 'edit', label: formatMessage(labels.edit), icon: , seperator: true }, + { id: 'share', label: t(labels.share), icon: }, + { id: 'edit', label: t(labels.edit), icon: , seperator: true }, ]; const handleAction = (id: any) => { diff --git a/src/app/(main)/websites/[websiteId]/WebsiteMetricsBar.tsx b/src/app/(main)/websites/[websiteId]/WebsiteMetricsBar.tsx index 605ee3855..e3c263373 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteMetricsBar.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteMetricsBar.tsx @@ -14,7 +14,7 @@ export function WebsiteMetricsBar({ compareMode?: boolean; }) { const { isAllTime, dateCompare } = useDateRange(); - const { formatMessage, labels, getErrorMessage } = useMessages(); + const { t, labels, getErrorMessage } = useMessages(); const { data, isLoading, isFetching, error } = useWebsiteStatsQuery({ websiteId, compare: compareMode ? dateCompare?.compare : undefined, @@ -26,24 +26,24 @@ export function WebsiteMetricsBar({ ? [ { value: visitors, - label: formatMessage(labels.visitors), + label: t(labels.visitors), change: visitors - comparison.visitors, formatValue: formatLongNumber, }, { value: visits, - label: formatMessage(labels.visits), + label: t(labels.visits), change: visits - comparison.visits, formatValue: formatLongNumber, }, { value: pageviews, - label: formatMessage(labels.views), + label: t(labels.views), change: pageviews - comparison.pageviews, formatValue: formatLongNumber, }, { - label: formatMessage(labels.bounceRate), + label: t(labels.bounceRate), value: (Math.min(visits, bounces) / visits) * 100, prev: (Math.min(comparison.visits, comparison.bounces) / comparison.visits) * 100, change: @@ -53,7 +53,7 @@ export function WebsiteMetricsBar({ reverseColors: true, }, { - label: formatMessage(labels.visitDuration), + label: t(labels.visitDuration), value: totaltime / visits, prev: comparison.totaltime / comparison.visits, change: totaltime / visits - comparison.totaltime / comparison.visits, diff --git a/src/app/(main)/websites/[websiteId]/WebsiteNav.tsx b/src/app/(main)/websites/[websiteId]/WebsiteNav.tsx index c23b1fe23..6bd892e40 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteNav.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteNav.tsx @@ -24,7 +24,7 @@ export function WebsiteNav({ isCollapsed?: boolean; onItemClick?: () => void; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { teamId, router, renderUrl } = useNavigation(); const { items, selectedKey } = useWebsiteNavItems(websiteId); @@ -52,14 +52,10 @@ export function WebsiteNav({ borderRadius minHeight="40px" > - } - label={isCollapsed ? '' : formatMessage(labels.back)} - padding - /> + } label={isCollapsed ? '' : t(labels.back)} padding />
- {formatMessage(labels.back)} + {t(labels.back)} {!isCollapsed && ( diff --git a/src/app/(main)/websites/[websiteId]/WebsitePanels.tsx b/src/app/(main)/websites/[websiteId]/WebsitePanels.tsx index d76db4af3..7d5d08c8c 100644 --- a/src/app/(main)/websites/[websiteId]/WebsitePanels.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsitePanels.tsx @@ -7,13 +7,13 @@ import { WeeklyTraffic } from '@/components/metrics/WeeklyTraffic'; import { WorldMap } from '@/components/metrics/WorldMap'; export function WebsitePanels({ websiteId }: { websiteId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const tableProps = { websiteId, limit: 10, allowDownload: false, showMore: true, - metric: formatMessage(labels.visitors), + metric: t(labels.visitors), }; const rowProps = { minHeight: '570px' }; const { isMobile } = useMobile(); @@ -22,40 +22,36 @@ export function WebsitePanels({ websiteId }: { websiteId: string }) { - {formatMessage(labels.pages)} + {t(labels.pages)} - {formatMessage(labels.path)} - {formatMessage(labels.entry)} - {formatMessage(labels.exit)} + {t(labels.path)} + {t(labels.entry)} + {t(labels.exit)} - + - + - + - {formatMessage(labels.sources)} + {t(labels.sources)} - {formatMessage(labels.referrers)} - {formatMessage(labels.channels)} + {t(labels.referrers)} + {t(labels.channels)} - + - + @@ -63,41 +59,41 @@ export function WebsitePanels({ websiteId }: { websiteId: string }) { - {formatMessage(labels.environment)} + {t(labels.environment)} - {formatMessage(labels.browsers)} - {formatMessage(labels.os)} - {formatMessage(labels.devices)} + {t(labels.browsers)} + {t(labels.os)} + {t(labels.devices)} - + - + - + - {formatMessage(labels.location)} + {t(labels.location)} - {formatMessage(labels.countries)} - {formatMessage(labels.regions)} - {formatMessage(labels.cities)} + {t(labels.countries)} + {t(labels.regions)} + {t(labels.cities)} - + - + - + @@ -109,7 +105,7 @@ export function WebsitePanels({ websiteId }: { websiteId: string }) { - {formatMessage(labels.traffic)} + {t(labels.traffic)} diff --git a/src/app/(main)/websites/[websiteId]/WebsiteTabs.tsx b/src/app/(main)/websites/[websiteId]/WebsiteTabs.tsx index ac978a238..782d55ad8 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteTabs.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteTabs.tsx @@ -6,36 +6,36 @@ import { Lightning } from '@/components/svg'; export function WebsiteTabs() { const website = useWebsite(); const { pathname, renderUrl } = useNavigation(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const links = [ { id: 'overview', - label: formatMessage(labels.overview), + label: t(labels.overview), icon: , path: '', }, { id: 'events', - label: formatMessage(labels.events), + label: t(labels.events), icon: , path: '/events', }, { id: 'sessions', - label: formatMessage(labels.sessions), + label: t(labels.sessions), icon: , path: '/sessions', }, { id: 'realtime', - label: formatMessage(labels.realtime), + label: t(labels.realtime), icon: , path: '/realtime', }, { id: 'reports', - label: formatMessage(labels.reports), + label: t(labels.reports), icon: , path: '/reports', }, diff --git a/src/app/(main)/websites/[websiteId]/cohorts/CohortAddButton.tsx b/src/app/(main)/websites/[websiteId]/cohorts/CohortAddButton.tsx index 3f7f87232..80699ae99 100644 --- a/src/app/(main)/websites/[websiteId]/cohorts/CohortAddButton.tsx +++ b/src/app/(main)/websites/[websiteId]/cohorts/CohortAddButton.tsx @@ -4,15 +4,10 @@ import { DialogButton } from '@/components/input/DialogButton'; import { CohortEditForm } from './CohortEditForm'; export function CohortAddButton({ websiteId }: { websiteId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - } - label={formatMessage(labels.cohort)} - variant="primary" - width="800px" - > + } label={t(labels.cohort)} variant="primary" width="800px"> {({ close }) => { return ; }} diff --git a/src/app/(main)/websites/[websiteId]/cohorts/CohortDeleteButton.tsx b/src/app/(main)/websites/[websiteId]/cohorts/CohortDeleteButton.tsx index 94d62ff2a..1493ed297 100644 --- a/src/app/(main)/websites/[websiteId]/cohorts/CohortDeleteButton.tsx +++ b/src/app/(main)/websites/[websiteId]/cohorts/CohortDeleteButton.tsx @@ -2,7 +2,6 @@ import { ConfirmationForm } from '@/components/common/ConfirmationForm'; import { useDeleteQuery, useMessages } from '@/components/hooks'; import { Trash } from '@/components/icons'; import { DialogButton } from '@/components/input/DialogButton'; -import { messages } from '@/components/messages'; export function CohortDeleteButton({ cohortId, @@ -15,7 +14,7 @@ export function CohortDeleteButton({ name: string; onSave?: () => void; }) { - const { formatMessage, labels, FormattedMessage } = useMessages(); + const { t, labels, messages } = useMessages(); const { mutateAsync, isPending, error, touch } = useDeleteQuery( `/websites/${websiteId}/segments/${cohortId}`, ); @@ -31,27 +30,18 @@ export function CohortDeleteButton({ }; return ( - } - variant="quiet" - title={formatMessage(labels.confirm)} - width="400px" - > + } variant="quiet" title={t(labels.confirm)} width="400px"> {({ close }) => ( {name}, - }} - /> - } + message={t.rich(messages.confirmRemove, { + target: name, + b: chunks => {chunks}, + })} isLoading={isPending} error={error} onConfirm={handleConfirm.bind(null, close)} onClose={close} - buttonLabel={formatMessage(labels.delete)} + buttonLabel={t(labels.delete)} buttonVariant="danger" /> )} diff --git a/src/app/(main)/websites/[websiteId]/cohorts/CohortEditButton.tsx b/src/app/(main)/websites/[websiteId]/cohorts/CohortEditButton.tsx index 07990712a..02f533dbf 100644 --- a/src/app/(main)/websites/[websiteId]/cohorts/CohortEditButton.tsx +++ b/src/app/(main)/websites/[websiteId]/cohorts/CohortEditButton.tsx @@ -13,15 +13,10 @@ export function CohortEditButton({ websiteId: string; filters: Filter[]; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - } - variant="quiet" - title={formatMessage(labels.cohort)} - width="800px" - > + } variant="quiet" title={t(labels.cohort)} width="800px"> {({ close }) => { return ( void; }) { const { data } = useWebsiteCohortQuery(websiteId, cohortId); - const { formatMessage, labels, messages, getErrorMessage } = useMessages(); + const { t, labels, messages, getErrorMessage } = useMessages(); const { mutateAsync, error, isPending, touch, toast } = useUpdateQuery( `/websites/${websiteId}/segments${cohortId ? `/${cohortId}` : ''}`, @@ -43,7 +43,7 @@ export function CohortEditForm({ const handleSubmit = async (formData: any) => { await mutateAsync(formData, { onSuccess: async () => { - toast(formatMessage(messages.saved)); + toast(t(messages.saved)); touch('cohorts'); onSave?.(); onClose?.(); @@ -70,29 +70,22 @@ export function CohortEditForm({ return ( <> - + - + - + {({ field }) => { return ; @@ -103,17 +96,14 @@ export function CohortEditForm({ - - + + - + @@ -121,10 +111,10 @@ export function CohortEditForm({ - {formatMessage(labels.save)} + {t(labels.save)} diff --git a/src/app/(main)/websites/[websiteId]/cohorts/CohortsTable.tsx b/src/app/(main)/websites/[websiteId]/cohorts/CohortsTable.tsx index 5c7ac03fa..fe9c95441 100644 --- a/src/app/(main)/websites/[websiteId]/cohorts/CohortsTable.tsx +++ b/src/app/(main)/websites/[websiteId]/cohorts/CohortsTable.tsx @@ -7,17 +7,17 @@ import { useMessages, useNavigation } from '@/components/hooks'; import { filtersObjectToArray } from '@/lib/params'; export function CohortsTable(props: DataTableProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { websiteId, renderUrl } = useNavigation(); return ( - + {(row: any) => ( {row.name} )} - + {(row: any) => } diff --git a/src/app/(main)/websites/[websiteId]/compare/CompareTables.tsx b/src/app/(main)/websites/[websiteId]/compare/CompareTables.tsx index c44a05508..3a07f9e66 100644 --- a/src/app/(main)/websites/[websiteId]/compare/CompareTables.tsx +++ b/src/app/(main)/websites/[websiteId]/compare/CompareTables.tsx @@ -10,7 +10,7 @@ import { formatNumber } from '@/lib/format'; export function CompareTables({ websiteId }: { websiteId: string }) { const [data, setData] = useState([]); const { dateRange, dateCompare } = useDateRange(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { router, updateParams, @@ -30,102 +30,102 @@ export function CompareTables({ websiteId }: { websiteId: string }) { const items = [ { id: 'path', - label: formatMessage(labels.path), + label: t(labels.path), path: renderPath('path'), }, { id: 'channel', - label: formatMessage(labels.channels), + label: t(labels.channels), path: renderPath('channel'), }, { id: 'referrer', - label: formatMessage(labels.referrers), + label: t(labels.referrers), path: renderPath('referrer'), }, { id: 'browser', - label: formatMessage(labels.browsers), + label: t(labels.browsers), path: renderPath('browser'), }, { id: 'os', - label: formatMessage(labels.os), + label: t(labels.os), path: renderPath('os'), }, { id: 'device', - label: formatMessage(labels.devices), + label: t(labels.devices), path: renderPath('device'), }, { id: 'country', - label: formatMessage(labels.countries), + label: t(labels.countries), path: renderPath('country'), }, { id: 'region', - label: formatMessage(labels.regions), + label: t(labels.regions), path: renderPath('region'), }, { id: 'city', - label: formatMessage(labels.cities), + label: t(labels.cities), path: renderPath('city'), }, { id: 'language', - label: formatMessage(labels.languages), + label: t(labels.languages), path: renderPath('language'), }, { id: 'screen', - label: formatMessage(labels.screens), + label: t(labels.screens), path: renderPath('screen'), }, { id: 'event', - label: formatMessage(labels.events), + label: t(labels.events), path: renderPath('event'), }, { id: 'utmSource', - label: formatMessage(labels.utmSource), + label: t(labels.utmSource), path: renderPath('utmSource'), }, { id: 'utmMedium', - label: formatMessage(labels.utmMedium), + label: t(labels.utmMedium), path: renderPath('utmMedium'), }, { id: 'utmCampaign', - label: formatMessage(labels.utmCampaign), + label: t(labels.utmCampaign), path: renderPath('utmCampaign'), }, { id: 'utmContent', - label: formatMessage(labels.utmContent), + label: t(labels.utmContent), path: renderPath('utmContent'), }, { id: 'utmTerm', - label: formatMessage(labels.utmTerm), + label: t(labels.utmTerm), path: renderPath('utmTerm'), }, { id: 'hostname', - label: formatMessage(labels.hostname), + label: t(labels.hostname), path: renderPath('hostname'), }, { id: 'distinctId', - label: formatMessage(labels.distinctId), + label: t(labels.distinctId), path: renderPath('distinctId'), }, { id: 'tag', - label: formatMessage(labels.tags), + label: t(labels.tags), path: renderPath('tag'), }, ]; @@ -152,7 +152,7 @@ export function CompareTables({ websiteId }: { websiteId: string }) { <> - - - + + + `${+n < 0 ? '-' : ''}${formatShortTime(Math.abs(~~n), ['m', 's'], ' ')}`} /> diff --git a/src/app/(main)/websites/[websiteId]/sessions/SessionsMetricsBar.tsx b/src/app/(main)/websites/[websiteId]/sessions/SessionsMetricsBar.tsx index c8317a2be..34dfcefee 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/SessionsMetricsBar.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/SessionsMetricsBar.tsx @@ -6,7 +6,7 @@ import { MetricsBar } from '@/components/metrics/MetricsBar'; import { formatLongNumber } from '@/lib/format'; export function SessionsMetricsBar({ websiteId }: { websiteId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { data, isLoading, isFetching, error } = useWebsiteSessionStatsQuery(websiteId); return ( @@ -15,22 +15,22 @@ export function SessionsMetricsBar({ websiteId }: { websiteId: string }) { diff --git a/src/app/(main)/websites/[websiteId]/sessions/SessionsPage.tsx b/src/app/(main)/websites/[websiteId]/sessions/SessionsPage.tsx index 8e9d2f218..7b0a1afb1 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/SessionsPage.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/SessionsPage.tsx @@ -13,7 +13,7 @@ const KEY_NAME = 'umami.sessions.tab'; export function SessionsPage({ websiteId }) { const [tab, setTab] = useState(getItem(KEY_NAME) || 'activity'); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const handleSelect = (value: Key) => { setItem(KEY_NAME, value); @@ -26,8 +26,8 @@ export function SessionsPage({ websiteId }) { - {formatMessage(labels.activity)} - {formatMessage(labels.properties)} + {t(labels.activity)} + {t(labels.properties)} diff --git a/src/app/(main)/websites/[websiteId]/sessions/SessionsTable.tsx b/src/app/(main)/websites/[websiteId]/sessions/SessionsTable.tsx index 5d3bb374e..78a41359b 100644 --- a/src/app/(main)/websites/[websiteId]/sessions/SessionsTable.tsx +++ b/src/app/(main)/websites/[websiteId]/sessions/SessionsTable.tsx @@ -6,51 +6,51 @@ import { TypeIcon } from '@/components/common/TypeIcon'; import { useFormat, useMessages, useNavigation } from '@/components/hooks'; export function SessionsTable(props: DataTableProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { formatValue } = useFormat(); const { updateParams } = useNavigation(); return ( - + {(row: any) => ( )} - - - + + + {(row: any) => ( {formatValue(row.country, 'country')} )} - - + + {(row: any) => ( {formatValue(row.browser, 'browser')} )} - + {(row: any) => ( {formatValue(row.os, 'os')} )} - + {(row: any) => ( {formatValue(row.device, 'device')} )} - + {(row: any) => } diff --git a/src/app/(main)/websites/[websiteId]/settings/ShareDeleteButton.tsx b/src/app/(main)/websites/[websiteId]/settings/ShareDeleteButton.tsx index 35e96df3f..0c05c5819 100644 --- a/src/app/(main)/websites/[websiteId]/settings/ShareDeleteButton.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/ShareDeleteButton.tsx @@ -2,7 +2,6 @@ import { ConfirmationForm } from '@/components/common/ConfirmationForm'; import { useDeleteQuery, useMessages, useModified } from '@/components/hooks'; import { Trash } from '@/components/icons'; import { DialogButton } from '@/components/input/DialogButton'; -import { messages } from '@/components/messages'; export function ShareDeleteButton({ shareId, @@ -13,7 +12,7 @@ export function ShareDeleteButton({ slug: string; onSave?: () => void; }) { - const { formatMessage, labels, getErrorMessage, FormattedMessage } = useMessages(); + const { t, labels, messages, getErrorMessage } = useMessages(); const { mutateAsync, isPending, error } = useDeleteQuery(`/share/id/${shareId}`); const { touch } = useModified(); @@ -28,27 +27,18 @@ export function ShareDeleteButton({ }; return ( - } - title={formatMessage(labels.confirm)} - variant="quiet" - width="400px" - > + } title={t(labels.confirm)} variant="quiet" width="400px"> {({ close }) => ( {slug}, - }} - /> - } + message={t.rich(messages.confirmRemove, { + target: slug, + b: chunks => {chunks}, + })} isLoading={isPending} error={getErrorMessage(error)} onConfirm={handleConfirm.bind(null, close)} onClose={close} - buttonLabel={formatMessage(labels.delete)} + buttonLabel={t(labels.delete)} buttonVariant="danger" /> )} diff --git a/src/app/(main)/websites/[websiteId]/settings/ShareEditButton.tsx b/src/app/(main)/websites/[websiteId]/settings/ShareEditButton.tsx index df1c2e648..66664c5c1 100644 --- a/src/app/(main)/websites/[websiteId]/settings/ShareEditButton.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/ShareEditButton.tsx @@ -4,10 +4,10 @@ import { DialogButton } from '@/components/input/DialogButton'; import { ShareEditForm } from './ShareEditForm'; export function ShareEditButton({ shareId }: { shareId: string }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( - } title={formatMessage(labels.share)} variant="quiet" width="600px"> + } title={t(labels.share)} variant="quiet" width="600px"> {({ close }) => { return ; }} diff --git a/src/app/(main)/websites/[websiteId]/settings/ShareEditForm.tsx b/src/app/(main)/websites/[websiteId]/settings/ShareEditForm.tsx index a71a49277..ff62226b1 100644 --- a/src/app/(main)/websites/[websiteId]/settings/ShareEditForm.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/ShareEditForm.tsx @@ -27,7 +27,7 @@ export function ShareEditForm({ onSave?: () => void; onClose?: () => void; }) { - const { formatMessage, labels, getErrorMessage } = useMessages(); + const { t, labels, getErrorMessage } = useMessages(); const { cloudMode } = useConfig(); const { get, post } = useApi(); const { touch } = useModified(); @@ -125,25 +125,21 @@ export function ShareEditForm({ {url && ( - + )} - + {SHARE_NAV_ITEMS.map(section => ( - {formatMessage((labels as any)[section.section])} + {t((labels as any)[section.section])} {section.items.map(item => ( - {formatMessage((labels as any)[item.label])} + {t((labels as any)[item.label])} ))} @@ -153,14 +149,14 @@ export function ShareEditForm({ {onClose && ( )} - {formatMessage(labels.save)} + {t(labels.save)} diff --git a/src/app/(main)/websites/[websiteId]/settings/SharesTable.tsx b/src/app/(main)/websites/[websiteId]/settings/SharesTable.tsx index 52f8a0579..933fb65ff 100644 --- a/src/app/(main)/websites/[websiteId]/settings/SharesTable.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/SharesTable.tsx @@ -6,7 +6,7 @@ import { ShareDeleteButton } from './ShareDeleteButton'; import { ShareEditButton } from './ShareEditButton'; export function SharesTable(props: DataTableProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { cloudMode } = useConfig(); const { isMobile } = useMobile(); @@ -19,10 +19,10 @@ export function SharesTable(props: DataTableProps) { return ( - + {({ name }: any) => name} - + {({ slug }: any) => { const url = getUrl(slug); return ( @@ -33,7 +33,7 @@ export function SharesTable(props: DataTableProps) { }} {!isMobile && ( - + {(row: any) => } )} diff --git a/src/app/(main)/websites/[websiteId]/settings/WebsiteData.tsx b/src/app/(main)/websites/[websiteId]/settings/WebsiteData.tsx index 21cd61370..daf39f8de 100644 --- a/src/app/(main)/websites/[websiteId]/settings/WebsiteData.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/WebsiteData.tsx @@ -13,7 +13,7 @@ import { WebsiteResetForm } from './WebsiteResetForm'; import { WebsiteTransferForm } from './WebsiteTransferForm'; export function WebsiteData({ websiteId, onSave }: { websiteId: string; onSave?: () => void }) { - const { formatMessage, labels, messages } = useMessages(); + const { t, labels, messages } = useMessages(); const { user } = useLoginQuery(); const { touch } = useModified(); const { router, pathname, teamId, renderUrl } = useNavigation(); @@ -49,14 +49,11 @@ export function WebsiteData({ websiteId, onSave }: { websiteId: string; onSave?: return ( {!isAdmin && ( - + - + - + {({ close }) => ( )} @@ -66,14 +63,11 @@ export function WebsiteData({ websiteId, onSave }: { websiteId: string; onSave?: )} - + - + - + {({ close }) => ( )} @@ -82,16 +76,13 @@ export function WebsiteData({ websiteId, onSave }: { websiteId: string; onSave?: - + - + {({ close }) => ( )} diff --git a/src/app/(main)/websites/[websiteId]/settings/WebsiteDeleteForm.tsx b/src/app/(main)/websites/[websiteId]/settings/WebsiteDeleteForm.tsx index 2fc027687..fb450f478 100644 --- a/src/app/(main)/websites/[websiteId]/settings/WebsiteDeleteForm.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/WebsiteDeleteForm.tsx @@ -12,7 +12,7 @@ export function WebsiteDeleteForm({ onSave?: () => void; onClose?: () => void; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { mutateAsync, isPending, error, touch } = useDeleteQuery(`/websites/${websiteId}`); const handleConfirm = async () => { @@ -33,7 +33,7 @@ export function WebsiteDeleteForm({ onClose={onClose} isLoading={isPending} error={error} - buttonLabel={formatMessage(labels.delete)} + buttonLabel={t(labels.delete)} buttonVariant="danger" /> ); diff --git a/src/app/(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx b/src/app/(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx index 4ae819ee5..49344558c 100644 --- a/src/app/(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx @@ -4,13 +4,13 @@ import { DOMAIN_REGEX } from '@/lib/constants'; export function WebsiteEditForm({ websiteId, onSave }: { websiteId: string; onSave?: () => void }) { const website = useWebsite(); - const { formatMessage, labels, messages, getErrorMessage } = useMessages(); + const { t, labels, messages, getErrorMessage } = useMessages(); const { mutateAsync, error, touch, toast } = useUpdateQuery(`/websites/${websiteId}`); const handleSubmit = async (data: any) => { await mutateAsync(data, { onSuccess: async () => { - toast(formatMessage(messages.saved)); + toast(t(messages.saved)); touch('websites'); touch(`website:${website.id}`); onSave?.(); @@ -20,26 +20,26 @@ export function WebsiteEditForm({ websiteId, onSave }: { websiteId: string; onSa return (
- + @@ -47,7 +47,7 @@ export function WebsiteEditForm({ websiteId, onSave }: { websiteId: string; onSa - {formatMessage(labels.save)} + {t(labels.save)} diff --git a/src/app/(main)/websites/[websiteId]/settings/WebsiteResetForm.tsx b/src/app/(main)/websites/[websiteId]/settings/WebsiteResetForm.tsx index d791bc965..72a308eb0 100644 --- a/src/app/(main)/websites/[websiteId]/settings/WebsiteResetForm.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/WebsiteResetForm.tsx @@ -12,7 +12,7 @@ export function WebsiteResetForm({ onSave?: () => void; onClose?: () => void; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { mutateAsync, isPending, error } = useUpdateQuery(`/websites/${websiteId}/reset`); const handleConfirm = async () => { @@ -31,7 +31,7 @@ export function WebsiteResetForm({ onClose={onClose} isLoading={isPending} error={error} - buttonLabel={formatMessage(labels.reset)} + buttonLabel={t(labels.reset)} /> ); } diff --git a/src/app/(main)/websites/[websiteId]/settings/WebsiteSettingsHeader.tsx b/src/app/(main)/websites/[websiteId]/settings/WebsiteSettingsHeader.tsx index 4332577b7..ec9eb0b81 100644 --- a/src/app/(main)/websites/[websiteId]/settings/WebsiteSettingsHeader.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/WebsiteSettingsHeader.tsx @@ -7,14 +7,14 @@ import { ArrowLeft, Globe } from '@/components/icons'; export function WebsiteSettingsHeader() { const website = useWebsite(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { renderUrl } = useNavigation(); return ( <> - } label={formatMessage(labels.website)} /> + } label={t(labels.website)} /> } /> diff --git a/src/app/(main)/websites/[websiteId]/settings/WebsiteShareForm.tsx b/src/app/(main)/websites/[websiteId]/settings/WebsiteShareForm.tsx index 2ba9764d2..57b52cfb7 100644 --- a/src/app/(main)/websites/[websiteId]/settings/WebsiteShareForm.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/WebsiteShareForm.tsx @@ -11,7 +11,7 @@ export interface WebsiteShareFormProps { } export function WebsiteShareForm({ websiteId }: WebsiteShareFormProps) { - const { formatMessage, labels, messages } = useMessages(); + const { t, labels, messages } = useMessages(); const { data, error, isLoading } = useWebsiteSharesQuery({ websiteId }); const shares = data?.data || []; @@ -21,11 +21,11 @@ export function WebsiteShareForm({ websiteId }: WebsiteShareFormProps) { - {formatMessage(labels.share)} + {t(labels.share)} } - label={formatMessage(labels.add)} - title={formatMessage(labels.share)} + label={t(labels.add)} + title={t(labels.share)} variant="primary" width="600px" > @@ -34,12 +34,12 @@ export function WebsiteShareForm({ websiteId }: WebsiteShareFormProps) { {hasShares ? ( <> - {formatMessage(messages.shareUrl)} + {t(messages.shareUrl)} ) : ( - {formatMessage(messages.noDataAvailable)} + {t(messages.noDataAvailable)} )} diff --git a/src/app/(main)/websites/[websiteId]/settings/WebsiteTrackingCode.tsx b/src/app/(main)/websites/[websiteId]/settings/WebsiteTrackingCode.tsx index d24f9485d..4fdf7ca70 100644 --- a/src/app/(main)/websites/[websiteId]/settings/WebsiteTrackingCode.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/WebsiteTrackingCode.tsx @@ -10,7 +10,7 @@ export function WebsiteTrackingCode({ websiteId: string; hostUrl?: string; }) { - const { formatMessage, messages, labels } = useMessages(); + const { t, messages, labels } = useMessages(); const config = useConfig(); const trackerScriptName = @@ -32,8 +32,8 @@ export function WebsiteTrackingCode({ return ( - - {formatMessage(messages.trackingCode)} + + {t(messages.trackingCode)} ); diff --git a/src/app/(main)/websites/[websiteId]/settings/WebsiteTransferForm.tsx b/src/app/(main)/websites/[websiteId]/settings/WebsiteTransferForm.tsx index 8af4f05c2..ce54f8199 100644 --- a/src/app/(main)/websites/[websiteId]/settings/WebsiteTransferForm.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/WebsiteTransferForm.tsx @@ -31,7 +31,7 @@ export function WebsiteTransferForm({ const { user } = useLoginQuery(); const website = useWebsite(); const [teamId, setTeamId] = useState(null); - const { formatMessage, labels, messages, getErrorMessage } = useMessages(); + const { t, labels, messages, getErrorMessage } = useMessages(); const { mutateAsync, error, isPending } = useUpdateQuery(`/websites/${websiteId}/transfer`); const { data: teams, isLoading } = useUserTeamsQuery(user.id); const isTeamWebsite = !!website?.teamId; @@ -70,9 +70,7 @@ export function WebsiteTransferForm({ return (
- {formatMessage( - isTeamWebsite ? messages.transferTeamWebsiteToUser : messages.transferUserWebsiteToTeam, - )} + {t(isTeamWebsite ? messages.transferTeamWebsiteToUser : messages.transferUserWebsiteToTeam)} {!isTeamWebsite && ( @@ -88,13 +86,13 @@ export function WebsiteTransferForm({ )} - + - {formatMessage(labels.transfer)} + {t(labels.transfer)}
diff --git a/src/app/login/LoginForm.tsx b/src/app/login/LoginForm.tsx index 26d78dd54..936a30e77 100644 --- a/src/app/login/LoginForm.tsx +++ b/src/app/login/LoginForm.tsx @@ -16,7 +16,7 @@ import { setClientAuthToken } from '@/lib/client'; import { setUser } from '@/store/app'; export function LoginForm() { - const { formatMessage, labels, getErrorMessage } = useMessages(); + const { t, labels, getErrorMessage } = useMessages(); const router = useRouter(); const { mutateAsync, error } = useUpdateQuery('/auth/login'); @@ -38,19 +38,19 @@ export function LoginForm() { umami
@@ -61,7 +61,7 @@ export function LoginForm() { style={{ flex: 1 }} isDisabled={false} > - {formatMessage(labels.login)} + {t(labels.login)}
diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx index b37615134..fe7e70442 100644 --- a/src/app/not-found.tsx +++ b/src/app/not-found.tsx @@ -3,11 +3,11 @@ import { Flexbox } from '@umami/react-zen'; import { useMessages } from '@/components/hooks'; export default function () { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( -

{formatMessage(labels.pageNotFound)}

+

{t(labels.pageNotFound)}

); } diff --git a/src/app/share/[slug]/[[...path]]/ShareNav.tsx b/src/app/share/[slug]/[[...path]]/ShareNav.tsx index c05be050d..8afe1ce64 100644 --- a/src/app/share/[slug]/[[...path]]/ShareNav.tsx +++ b/src/app/share/[slug]/[[...path]]/ShareNav.tsx @@ -16,7 +16,7 @@ export function ShareNav({ onItemClick?: () => void; }) { const share = useShare(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { pathname } = useNavigation(); const { slug, parameters, whiteLabel } = share; @@ -29,41 +29,41 @@ export function ShareNav({ const allItems = [ { section: 'traffic', - label: formatMessage(labels.traffic), + label: t(labels.traffic), items: [ { id: 'overview', - label: formatMessage(labels.overview), + label: t(labels.overview), icon: , path: renderPath(''), }, { id: 'events', - label: formatMessage(labels.events), + label: t(labels.events), icon: , path: renderPath('/events'), }, { id: 'sessions', - label: formatMessage(labels.sessions), + label: t(labels.sessions), icon: , path: renderPath('/sessions'), }, { id: 'realtime', - label: formatMessage(labels.realtime), + label: t(labels.realtime), icon: , path: renderPath('/realtime'), }, { id: 'compare', - label: formatMessage(labels.compare), + label: t(labels.compare), icon: , path: renderPath('/compare'), }, { id: 'breakdown', - label: formatMessage(labels.breakdown), + label: t(labels.breakdown), icon: , path: renderPath('/breakdown'), }, @@ -71,29 +71,29 @@ export function ShareNav({ }, { section: 'behavior', - label: formatMessage(labels.behavior), + label: t(labels.behavior), items: [ { id: 'goals', - label: formatMessage(labels.goals), + label: t(labels.goals), icon: , path: renderPath('/goals'), }, { id: 'funnels', - label: formatMessage(labels.funnels), + label: t(labels.funnels), icon: , path: renderPath('/funnels'), }, { id: 'journeys', - label: formatMessage(labels.journeys), + label: t(labels.journeys), icon: , path: renderPath('/journeys'), }, { id: 'retention', - label: formatMessage(labels.retention), + label: t(labels.retention), icon: , path: renderPath('/retention'), }, @@ -101,23 +101,23 @@ export function ShareNav({ }, { section: 'growth', - label: formatMessage(labels.growth), + label: t(labels.growth), items: [ { id: 'utm', - label: formatMessage(labels.utm), + label: t(labels.utm), icon: , path: renderPath('/utm'), }, { id: 'revenue', - label: formatMessage(labels.revenue), + label: t(labels.revenue), icon: , path: renderPath('/revenue'), }, { id: 'attribution', - label: formatMessage(labels.attribution), + label: t(labels.attribution), icon: , path: renderPath('/attribution'), }, diff --git a/src/components/common/ConfirmationForm.tsx b/src/components/common/ConfirmationForm.tsx index b909ef58a..fd7663369 100644 --- a/src/components/common/ConfirmationForm.tsx +++ b/src/components/common/ConfirmationForm.tsx @@ -21,20 +21,20 @@ export function ConfirmationForm({ onConfirm, onClose, }: ConfirmationFormProps) { - const { formatMessage, labels, getErrorMessage } = useMessages(); + const { t, labels, getErrorMessage } = useMessages(); return (
{message} - + - {buttonLabel || formatMessage(labels.ok)} + {buttonLabel || t(labels.ok)}
diff --git a/src/components/common/DataGrid.tsx b/src/components/common/DataGrid.tsx index b98367e2f..e01891a5f 100644 --- a/src/components/common/DataGrid.tsx +++ b/src/components/common/DataGrid.tsx @@ -37,7 +37,7 @@ export function DataGrid({ renderEmpty = () => , children, }: DataGridProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { data, error, isLoading, isFetching } = query; const { router, updateParams, query: queryParams } = useNavigation(); const [search, setSearch] = useState(queryParams?.search || data?.search || ''); @@ -70,7 +70,7 @@ export function DataGrid({ onSearch={handleSearch} delay={searchDelay || DEFAULT_SEARCH_DELAY} autoFocus={autoFocus} - placeholder={formatMessage(labels.search)} + placeholder={t(labels.search)} /> {renderActions?.()}
diff --git a/src/components/common/Empty.tsx b/src/components/common/Empty.tsx index 8bd8d82db..3f1374c7c 100644 --- a/src/components/common/Empty.tsx +++ b/src/components/common/Empty.tsx @@ -6,7 +6,7 @@ export interface EmptyProps { } export function Empty({ message }: EmptyProps) { - const { formatMessage, messages } = useMessages(); + const { t, messages } = useMessages(); return ( - {message || formatMessage(messages.noDataAvailable)} + {message || t(messages.noDataAvailable)} ); } diff --git a/src/components/common/ErrorBoundary.tsx b/src/components/common/ErrorBoundary.tsx index 4c0c82ed3..e70c193a3 100644 --- a/src/components/common/ErrorBoundary.tsx +++ b/src/components/common/ErrorBoundary.tsx @@ -9,7 +9,7 @@ const logError = (error: Error, info: ErrorInfo) => { }; export function ErrorBoundary({ children }: { children: ReactNode }) { - const { formatMessage, messages } = useMessages(); + const { t, messages } = useMessages(); const fallbackRender = ({ error, resetErrorBoundary }) => { return ( @@ -22,7 +22,7 @@ export function ErrorBoundary({ children }: { children: ReactNode }) { justifyContent="center" alignItems="center" > -

{formatMessage(messages.error)}

+

{t(messages.error)}

{error.message}

{error.stack}
diff --git a/src/components/common/ErrorMessage.tsx b/src/components/common/ErrorMessage.tsx index 3c3015131..a1ff16bb8 100644 --- a/src/components/common/ErrorMessage.tsx +++ b/src/components/common/ErrorMessage.tsx @@ -3,14 +3,14 @@ import { useMessages } from '@/components/hooks'; import { AlertTriangle } from '@/components/icons'; export function ErrorMessage() { - const { formatMessage, messages } = useMessages(); + const { t, messages } = useMessages(); return ( - {formatMessage(messages.error)} + {t(messages.error)} ); } diff --git a/src/components/common/FilterLink.tsx b/src/components/common/FilterLink.tsx index d719a37e8..df9eab9b7 100644 --- a/src/components/common/FilterLink.tsx +++ b/src/components/common/FilterLink.tsx @@ -14,7 +14,7 @@ export interface FilterLinkProps extends HTMLAttributes { export function FilterLink({ type, value, label, externalUrl, icon }: FilterLinkProps) { const [showLink, setShowLink] = useState(false); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { updateParams, query } = useNavigation(); const active = query[type] !== undefined; const selected = query[type] === value; @@ -29,7 +29,7 @@ export function FilterLink({ type, value, label, externalUrl, icon }: FilterLink onMouseOut={() => setShowLink(false)} > {icon} - {!value && `(${label || formatMessage(labels.unknown)})`} + {!value && `(${label || t(labels.unknown)})`} {value && ( diff --git a/src/components/common/PageBody.tsx b/src/components/common/PageBody.tsx index 9feab71fe..45bfdc8bb 100644 --- a/src/components/common/PageBody.tsx +++ b/src/components/common/PageBody.tsx @@ -17,10 +17,10 @@ export function PageBody({ isLoading?: boolean; children?: ReactNode; } & ColumnProps) { - const { formatMessage, messages } = useMessages(); + const { t, messages } = useMessages(); if (error) { - return ; + return ; } if (isLoading) { diff --git a/src/components/common/Pager.tsx b/src/components/common/Pager.tsx index c65e2f6ab..128d33e24 100644 --- a/src/components/common/Pager.tsx +++ b/src/components/common/Pager.tsx @@ -11,7 +11,7 @@ export interface PagerProps { } export function Pager({ page, pageSize, count, onPageChange }: PagerProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const maxPage = pageSize && count ? Math.ceil(+count / +pageSize) : 0; const lastPage = page === maxPage; const firstPage = page === 1; @@ -34,10 +34,10 @@ export function Pager({ page, pageSize, count, onPageChange }: PagerProps) { return ( - {formatMessage(labels.numberOfRecords, { x: count.toLocaleString() })} + {t(labels.numberOfRecords, { x: count.toLocaleString() })} - {formatMessage(labels.pageOf, { + {t(labels.pageOf, { current: page.toLocaleString(), total: maxPage.toLocaleString(), })} diff --git a/src/components/common/Panel.tsx b/src/components/common/Panel.tsx index 0eba55677..0af322bc6 100644 --- a/src/components/common/Panel.tsx +++ b/src/components/common/Panel.tsx @@ -36,7 +36,7 @@ export function Panel({ width, ...props }: PanelProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const [isFullscreen, setIsFullscreen] = useState(false); const handleFullscreen = () => { @@ -62,7 +62,7 @@ export function Panel({ - {formatMessage(labels.maximize)} + {t(labels.maximize)} )} diff --git a/src/components/common/TypeConfirmationForm.tsx b/src/components/common/TypeConfirmationForm.tsx index 1121fa7d6..3b6413cf0 100644 --- a/src/components/common/TypeConfirmationForm.tsx +++ b/src/components/common/TypeConfirmationForm.tsx @@ -25,7 +25,7 @@ export function TypeConfirmationForm({ onConfirm?: () => void; onClose?: () => void; }) { - const { formatMessage, labels, messages, getErrorMessage } = useMessages(); + const { t, labels, messages, getErrorMessage } = useMessages(); if (!confirmationValue) { return null; } @@ -33,21 +33,21 @@ export function TypeConfirmationForm({ return (

- {formatMessage(messages.actionConfirmation, { + {t(messages.actionConfirmation, { confirmation: confirmationValue, })}

value === confirmationValue }} > - + - {buttonLabel || formatMessage(labels.ok)} + {buttonLabel || t(labels.ok)}
diff --git a/src/components/hooks/useFields.ts b/src/components/hooks/useFields.ts index 644be3a03..7b473cf89 100644 --- a/src/components/hooks/useFields.ts +++ b/src/components/hooks/useFields.ts @@ -10,132 +10,132 @@ export interface Field { } export function useFields() { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const fields: Field[] = [ { name: 'path', - filterLabel: formatMessage(labels.path), - label: formatMessage(labels.path), + filterLabel: t(labels.path), + label: t(labels.path), group: 'url', }, { name: 'query', - filterLabel: formatMessage(labels.query), - label: formatMessage(labels.query), + filterLabel: t(labels.query), + label: t(labels.query), group: 'url', }, { name: 'title', - filterLabel: formatMessage(labels.pageTitle), - label: formatMessage(labels.pageTitle), + filterLabel: t(labels.pageTitle), + label: t(labels.pageTitle), group: 'url', }, { name: 'referrer', - filterLabel: formatMessage(labels.referrer), - label: formatMessage(labels.referrer), + filterLabel: t(labels.referrer), + label: t(labels.referrer), group: 'sources', }, { name: 'country', - filterLabel: formatMessage(labels.country), - label: formatMessage(labels.country), + filterLabel: t(labels.country), + label: t(labels.country), group: 'location', }, { name: 'region', - filterLabel: formatMessage(labels.region), - label: formatMessage(labels.region), + filterLabel: t(labels.region), + label: t(labels.region), group: 'location', }, { name: 'city', - filterLabel: formatMessage(labels.city), - label: formatMessage(labels.city), + filterLabel: t(labels.city), + label: t(labels.city), group: 'location', }, { name: 'browser', - filterLabel: formatMessage(labels.browser), - label: formatMessage(labels.browser), + filterLabel: t(labels.browser), + label: t(labels.browser), group: 'environment', }, { name: 'os', - filterLabel: formatMessage(labels.os), - label: formatMessage(labels.os), + filterLabel: t(labels.os), + label: t(labels.os), group: 'environment', }, { name: 'device', - filterLabel: formatMessage(labels.device), - label: formatMessage(labels.device), + filterLabel: t(labels.device), + label: t(labels.device), group: 'environment', }, { name: 'utmSource', - filterLabel: formatMessage(labels.source), - label: formatMessage(labels.utmSource), + filterLabel: t(labels.source), + label: t(labels.utmSource), group: 'utm', }, { name: 'utmMedium', - filterLabel: formatMessage(labels.medium), - label: formatMessage(labels.utmMedium), + filterLabel: t(labels.medium), + label: t(labels.utmMedium), group: 'utm', }, { name: 'utmCampaign', - filterLabel: formatMessage(labels.campaign), - label: formatMessage(labels.utmCampaign), + filterLabel: t(labels.campaign), + label: t(labels.utmCampaign), group: 'utm', }, { name: 'utmContent', - filterLabel: formatMessage(labels.content), - label: formatMessage(labels.utmContent), + filterLabel: t(labels.content), + label: t(labels.utmContent), group: 'utm', }, { name: 'utmTerm', - filterLabel: formatMessage(labels.term), - label: formatMessage(labels.utmTerm), + filterLabel: t(labels.term), + label: t(labels.utmTerm), group: 'utm', }, { name: 'hostname', - filterLabel: formatMessage(labels.hostname), - label: formatMessage(labels.hostname), + filterLabel: t(labels.hostname), + label: t(labels.hostname), group: 'other', }, { name: 'distinctId', - filterLabel: formatMessage(labels.distinctId), - label: formatMessage(labels.distinctId), + filterLabel: t(labels.distinctId), + label: t(labels.distinctId), group: 'other', }, { name: 'tag', - filterLabel: formatMessage(labels.tag), - label: formatMessage(labels.tag), + filterLabel: t(labels.tag), + label: t(labels.tag), group: 'other', }, { name: 'event', - filterLabel: formatMessage(labels.event), - label: formatMessage(labels.event), + filterLabel: t(labels.event), + label: t(labels.event), group: 'other', }, ]; const groupLabels: { key: FieldGroup; label: string }[] = [ - { key: 'url', label: formatMessage(labels.url) }, - { key: 'sources', label: formatMessage(labels.sources) }, - { key: 'location', label: formatMessage(labels.location) }, - { key: 'environment', label: formatMessage(labels.environment) }, - { key: 'utm', label: formatMessage(labels.utm) }, - { key: 'other', label: formatMessage(labels.other) }, + { key: 'url', label: t(labels.url) }, + { key: 'sources', label: t(labels.sources) }, + { key: 'location', label: t(labels.location) }, + { key: 'environment', label: t(labels.environment) }, + { key: 'utm', label: t(labels.utm) }, + { key: 'other', label: t(labels.other) }, ]; return { fields, groupLabels }; diff --git a/src/components/hooks/useFilters.ts b/src/components/hooks/useFilters.ts index 850e2afb1..0dd9a00bb 100644 --- a/src/components/hooks/useFilters.ts +++ b/src/components/hooks/useFilters.ts @@ -5,45 +5,45 @@ import { useMessages } from './useMessages'; import { useNavigation } from './useNavigation'; export function useFilters() { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { query } = useNavigation(); const { fields } = useFields(); const operators = [ - { name: 'eq', type: 'string', label: formatMessage(labels.is) }, - { name: 'neq', type: 'string', label: formatMessage(labels.isNot) }, - { name: 'c', type: 'string', label: formatMessage(labels.contains) }, - { name: 'dnc', type: 'string', label: formatMessage(labels.doesNotContain) }, - { name: 'i', type: 'array', label: formatMessage(labels.includes) }, - { name: 'dni', type: 'array', label: formatMessage(labels.doesNotInclude) }, - { name: 't', type: 'boolean', label: formatMessage(labels.isTrue) }, - { name: 'f', type: 'boolean', label: formatMessage(labels.isFalse) }, - { name: 'eq', type: 'number', label: formatMessage(labels.is) }, - { name: 'neq', type: 'number', label: formatMessage(labels.isNot) }, - { name: 'gt', type: 'number', label: formatMessage(labels.greaterThan) }, - { name: 'lt', type: 'number', label: formatMessage(labels.lessThan) }, - { name: 'gte', type: 'number', label: formatMessage(labels.greaterThanEquals) }, - { name: 'lte', type: 'number', label: formatMessage(labels.lessThanEquals) }, - { name: 'bf', type: 'date', label: formatMessage(labels.before) }, - { name: 'af', type: 'date', label: formatMessage(labels.after) }, - { name: 'eq', type: 'uuid', label: formatMessage(labels.is) }, + { name: 'eq', type: 'string', label: t(labels.is) }, + { name: 'neq', type: 'string', label: t(labels.isNot) }, + { name: 'c', type: 'string', label: t(labels.contains) }, + { name: 'dnc', type: 'string', label: t(labels.doesNotContain) }, + { name: 'i', type: 'array', label: t(labels.includes) }, + { name: 'dni', type: 'array', label: t(labels.doesNotInclude) }, + { name: 't', type: 'boolean', label: t(labels.isTrue) }, + { name: 'f', type: 'boolean', label: t(labels.isFalse) }, + { name: 'eq', type: 'number', label: t(labels.is) }, + { name: 'neq', type: 'number', label: t(labels.isNot) }, + { name: 'gt', type: 'number', label: t(labels.greaterThan) }, + { name: 'lt', type: 'number', label: t(labels.lessThan) }, + { name: 'gte', type: 'number', label: t(labels.greaterThanEquals) }, + { name: 'lte', type: 'number', label: t(labels.lessThanEquals) }, + { name: 'bf', type: 'date', label: t(labels.before) }, + { name: 'af', type: 'date', label: t(labels.after) }, + { name: 'eq', type: 'uuid', label: t(labels.is) }, ]; const operatorLabels = { - [OPERATORS.equals]: formatMessage(labels.is), - [OPERATORS.notEquals]: formatMessage(labels.isNot), - [OPERATORS.set]: formatMessage(labels.isSet), - [OPERATORS.notSet]: formatMessage(labels.isNotSet), - [OPERATORS.contains]: formatMessage(labels.contains), - [OPERATORS.doesNotContain]: formatMessage(labels.doesNotContain), - [OPERATORS.true]: formatMessage(labels.true), - [OPERATORS.false]: formatMessage(labels.false), - [OPERATORS.greaterThan]: formatMessage(labels.greaterThan), - [OPERATORS.lessThan]: formatMessage(labels.lessThan), - [OPERATORS.greaterThanEquals]: formatMessage(labels.greaterThanEquals), - [OPERATORS.lessThanEquals]: formatMessage(labels.lessThanEquals), - [OPERATORS.before]: formatMessage(labels.before), - [OPERATORS.after]: formatMessage(labels.after), + [OPERATORS.equals]: t(labels.is), + [OPERATORS.notEquals]: t(labels.isNot), + [OPERATORS.set]: t(labels.isSet), + [OPERATORS.notSet]: t(labels.isNotSet), + [OPERATORS.contains]: t(labels.contains), + [OPERATORS.doesNotContain]: t(labels.doesNotContain), + [OPERATORS.true]: t(labels.true), + [OPERATORS.false]: t(labels.false), + [OPERATORS.greaterThan]: t(labels.greaterThan), + [OPERATORS.lessThan]: t(labels.lessThan), + [OPERATORS.greaterThanEquals]: t(labels.greaterThanEquals), + [OPERATORS.lessThanEquals]: t(labels.lessThanEquals), + [OPERATORS.before]: t(labels.before), + [OPERATORS.after]: t(labels.after), }; const typeFilters = { diff --git a/src/components/hooks/useFormat.ts b/src/components/hooks/useFormat.ts index 896fa0769..998102c31 100644 --- a/src/components/hooks/useFormat.ts +++ b/src/components/hooks/useFormat.ts @@ -6,7 +6,7 @@ import { useLocale } from './useLocale'; import { useMessages } from './useMessages'; export function useFormat() { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { locale } = useLocale(); const { countryNames } = useCountryNames(locale); const { languageNames } = useLanguageNames(locale); @@ -20,7 +20,7 @@ export function useFormat() { }; const formatDevice = (value: string): string => { - return formatMessage(labels[value] || labels.unknown); + return t(labels[value] || labels.unknown); }; const formatCountry = (value: string): string => { diff --git a/src/components/hooks/useMessages.ts b/src/components/hooks/useMessages.ts index ec2088ed9..b8ed46f2e 100644 --- a/src/components/hooks/useMessages.ts +++ b/src/components/hooks/useMessages.ts @@ -1,47 +1,11 @@ import { useTranslations } from 'next-intl'; -import { createElement, type ReactNode } from 'react'; -import { labels, type MessageDescriptor, messages } from '@/components/messages'; +import { labels, messages } from '@/components/messages'; import type { ApiError } from '@/lib/types'; -type FormatMessage = ( - descriptor: MessageDescriptor, - values?: Record, - opts?: any, -) => string | null; - -interface FormattedMessageProps extends MessageDescriptor { - values?: Record; -} - -interface UseMessages { - formatMessage: FormatMessage; - messages: typeof messages; - labels: typeof labels; - getMessage: (id: string) => string; - getErrorMessage: (error: ApiError) => string | undefined; - FormattedMessage: (props: FormattedMessageProps) => ReactNode; -} - -export function useMessages(): UseMessages { +export function useMessages() { const t = useTranslations(); - const formatMessage = ( - descriptor: MessageDescriptor, - values?: Record, - ) => { - if (!descriptor) return null; - try { - return t(descriptor.id, values); - } catch { - return descriptor.defaultMessage || descriptor.id; - } - }; - - const getMessage = (id: string) => { - const message = Object.values(messages).find(value => value.id === `message.${id}`); - - return message ? formatMessage(message) : id; - }; + const getMessage = (id: string) => t(`message.${id}`); const getErrorMessage = (error: ApiError) => { if (!error) { @@ -53,50 +17,5 @@ export function useMessages(): UseMessages { return code ? getMessage(code) : error?.message || 'Unknown error'; }; - function FormattedMessage({ id, defaultMessage, values }: FormattedMessageProps) { - if ( - !values || - Object.values(values).every(v => typeof v === 'string' || typeof v === 'number') - ) { - try { - return t(id, values as any); - } catch { - return defaultMessage || id; - } - } - - // For JSX values: get the raw ICU template and manually interpolate - let template: string; - try { - template = t.raw(id) as string; - } catch { - template = defaultMessage || id; - } - - if (typeof template !== 'string') { - return defaultMessage || id; - } - - // Split on {placeholder} tokens and interleave with values - const parts: ReactNode[] = []; - const regex = /\{(\w+)\}/g; - let lastIndex = 0; - - for (let match = regex.exec(template); match !== null; match = regex.exec(template)) { - if (match.index > lastIndex) { - parts.push(template.slice(lastIndex, match.index)); - } - const key = match[1]; - parts.push(values[key] !== undefined ? values[key] : match[0]); - lastIndex = regex.lastIndex; - } - - if (lastIndex < template.length) { - parts.push(template.slice(lastIndex)); - } - - return createElement('span', null, ...parts); - } - - return { formatMessage, messages, labels, getMessage, getErrorMessage, FormattedMessage }; + return { t, messages, labels, getMessage, getErrorMessage }; } diff --git a/src/components/hooks/useWebsiteNavItems.tsx b/src/components/hooks/useWebsiteNavItems.tsx index eb43eea49..918a423d6 100644 --- a/src/components/hooks/useWebsiteNavItems.tsx +++ b/src/components/hooks/useWebsiteNavItems.tsx @@ -13,7 +13,7 @@ import { useMessages } from './useMessages'; import { useNavigation } from './useNavigation'; export function useWebsiteNavItems(websiteId: string) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { pathname, renderUrl } = useNavigation(); const renderPath = (path: string) => @@ -27,110 +27,110 @@ export function useWebsiteNavItems(websiteId: string) { const items = [ { - label: formatMessage(labels.traffic), + label: t(labels.traffic), items: [ { id: 'overview', - label: formatMessage(labels.overview), + label: t(labels.overview), icon: , path: renderPath(''), }, { id: 'events', - label: formatMessage(labels.events), + label: t(labels.events), icon: , path: renderPath('/events'), }, { id: 'sessions', - label: formatMessage(labels.sessions), + label: t(labels.sessions), icon: , path: renderPath('/sessions'), }, { id: 'realtime', - label: formatMessage(labels.realtime), + label: t(labels.realtime), icon: , path: renderPath('/realtime'), }, { id: 'compare', - label: formatMessage(labels.compare), + label: t(labels.compare), icon: , path: renderPath('/compare'), }, { id: 'breakdown', - label: formatMessage(labels.breakdown), + label: t(labels.breakdown), icon: , path: renderPath('/breakdown'), }, ], }, { - label: formatMessage(labels.behavior), + label: t(labels.behavior), items: [ { id: 'goals', - label: formatMessage(labels.goals), + label: t(labels.goals), icon: , path: renderPath('/goals'), }, { id: 'funnel', - label: formatMessage(labels.funnels), + label: t(labels.funnels), icon: , path: renderPath('/funnels'), }, { id: 'journeys', - label: formatMessage(labels.journeys), + label: t(labels.journeys), icon: , path: renderPath('/journeys'), }, { id: 'retention', - label: formatMessage(labels.retention), + label: t(labels.retention), icon: , path: renderPath('/retention'), }, ], }, { - label: formatMessage(labels.audience), + label: t(labels.audience), items: [ { id: 'segments', - label: formatMessage(labels.segments), + label: t(labels.segments), icon: , path: renderPath('/segments'), }, { id: 'cohorts', - label: formatMessage(labels.cohorts), + label: t(labels.cohorts), icon: , path: renderPath('/cohorts'), }, ], }, { - label: formatMessage(labels.growth), + label: t(labels.growth), items: [ { id: 'utm', - label: formatMessage(labels.utm), + label: t(labels.utm), icon: , path: renderPath('/utm'), }, { id: 'revenue', - label: formatMessage(labels.revenue), + label: t(labels.revenue), icon: , path: renderPath('/revenue'), }, { id: 'attribution', - label: formatMessage(labels.attribution), + label: t(labels.attribution), icon: , path: renderPath('/attribution'), }, diff --git a/src/components/input/ActionSelect.tsx b/src/components/input/ActionSelect.tsx index 616ee3471..79827ea0c 100644 --- a/src/components/input/ActionSelect.tsx +++ b/src/components/input/ActionSelect.tsx @@ -7,12 +7,12 @@ export interface ActionSelectProps { } export function ActionSelect({ value = 'path', onChange }: ActionSelectProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); return ( ); } diff --git a/src/components/input/BounceFilter.tsx b/src/components/input/BounceFilter.tsx index e8a4b31b6..2b5c45388 100644 --- a/src/components/input/BounceFilter.tsx +++ b/src/components/input/BounceFilter.tsx @@ -5,7 +5,7 @@ import { useNavigation } from '@/components/hooks/useNavigation'; export function BounceFilter() { const { router, query, updateParams } = useNavigation(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const isSelected = query.excludeBounce === 'true'; const handleChange = (value: boolean) => { @@ -19,7 +19,7 @@ export function BounceFilter() { return ( - {formatMessage(labels.excludeBounce)} + {t(labels.excludeBounce)} ); diff --git a/src/components/input/CurrencySelect.tsx b/src/components/input/CurrencySelect.tsx index 84e0ee21d..8bad9821c 100644 --- a/src/components/input/CurrencySelect.tsx +++ b/src/components/input/CurrencySelect.tsx @@ -4,12 +4,12 @@ import { useMessages } from '@/components/hooks'; import { CURRENCIES } from '@/lib/constants'; export function CurrencySelect({ value, onChange }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const [search, setSearch] = useState(''); return (
diff --git a/src/components/input/WebsiteFilterButton.tsx b/src/components/input/WebsiteFilterButton.tsx index d00c27865..c558374ec 100644 --- a/src/components/input/WebsiteFilterButton.tsx +++ b/src/components/input/WebsiteFilterButton.tsx @@ -13,7 +13,7 @@ export function WebsiteFilterButton({ position?: 'bottom' | 'top' | 'left' | 'right'; alignment?: 'end' | 'center' | 'start'; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { updateParams, pathname, router, query } = useNavigation(); const [excludeBounce, setExcludeBounce] = useState(!!query.excludeBounce); const isOverview = @@ -33,7 +33,7 @@ export function WebsiteFilterButton({ }; return ( - } label={formatMessage(labels.filter)} variant="outline"> + } label={t(labels.filter)} variant="outline"> {({ close }) => { return ( <> @@ -44,7 +44,7 @@ export function WebsiteFilterButton({ onChange={setExcludeBounce} style={{ marginTop: '3px' }} > - {formatMessage(labels.excludeBounce)} + {t(labels.excludeBounce)} )} diff --git a/src/components/input/WebsiteSelect.tsx b/src/components/input/WebsiteSelect.tsx index 636911844..f3b8e7ff5 100644 --- a/src/components/input/WebsiteSelect.tsx +++ b/src/components/input/WebsiteSelect.tsx @@ -19,7 +19,7 @@ export function WebsiteSelect({ teamId?: string; includeTeams?: boolean; } & SelectProps) { - const { formatMessage, messages } = useMessages(); + const { t, messages } = useMessages(); const { data: website } = useWebsiteQuery(websiteId); const [name, setName] = useState(website?.name); const [search, setSearch] = useState(''); @@ -63,7 +63,7 @@ export function WebsiteSelect({ onOpenChange={handleOpenChange} renderValue={renderValue} listProps={{ - renderEmptyState: () => , + renderEmptyState: () => , style: { maxHeight: 'calc(42vh - 65px)', width: 280 }, }} buttonProps={{ style: { minHeight: 40 } }} diff --git a/src/components/messages.ts b/src/components/messages.ts index ba45ae468..e93cb8f81 100644 --- a/src/components/messages.ts +++ b/src/components/messages.ts @@ -1,536 +1,388 @@ -export interface MessageDescriptor { - id: string; - defaultMessage: string; -} - -export const labels: Record = { - ok: { id: 'label.ok', defaultMessage: 'OK' }, - unknown: { id: 'label.unknown', defaultMessage: 'Unknown' }, - required: { id: 'label.required', defaultMessage: 'Required' }, - save: { id: 'label.save', defaultMessage: 'Save' }, - cancel: { id: 'label.cancel', defaultMessage: 'Cancel' }, - continue: { id: 'label.continue', defaultMessage: 'Continue' }, - delete: { id: 'label.delete', defaultMessage: 'Delete' }, - leave: { id: 'label.leave', defaultMessage: 'Leave' }, - users: { id: 'label.users', defaultMessage: 'Users' }, - createUser: { id: 'label.create-user', defaultMessage: 'Create user' }, - deleteUser: { id: 'label.delete-user', defaultMessage: 'Delete user' }, - username: { id: 'label.username', defaultMessage: 'Username' }, - password: { id: 'label.password', defaultMessage: 'Password' }, - role: { id: 'label.role', defaultMessage: 'Role' }, - user: { id: 'label.user', defaultMessage: 'User' }, - viewOnly: { id: 'label.view-only', defaultMessage: 'View only' }, - manage: { id: 'label.manage', defaultMessage: 'Manage' }, - admin: { id: 'label.admin', defaultMessage: 'Admin' }, - confirm: { id: 'label.confirm', defaultMessage: 'Confirm' }, - details: { id: 'label.details', defaultMessage: 'Details' }, - website: { id: 'label.website', defaultMessage: 'Website' }, - websites: { id: 'label.websites', defaultMessage: 'Websites' }, - myWebsites: { id: 'label.my-websites', defaultMessage: 'My websites' }, - teamWebsites: { id: 'label.team-websites', defaultMessage: 'Team websites' }, - created: { id: 'label.created', defaultMessage: 'Created' }, - createdBy: { id: 'label.created-by', defaultMessage: 'Created By' }, - edit: { id: 'label.edit', defaultMessage: 'Edit' }, - name: { id: 'label.name', defaultMessage: 'Name' }, - manager: { id: 'label.manager', defaultMessage: 'Manager' }, - member: { id: 'label.member', defaultMessage: 'Member' }, - members: { id: 'label.members', defaultMessage: 'Members' }, - accessCode: { id: 'label.access-code', defaultMessage: 'Access code' }, - teamId: { id: 'label.team-id', defaultMessage: 'Team ID' }, - team: { id: 'label.team', defaultMessage: 'Team' }, - teamName: { id: 'label.team-name', defaultMessage: 'Team name' }, - regenerate: { id: 'label.regenerate', defaultMessage: 'Regenerate' }, - remove: { id: 'label.remove', defaultMessage: 'Remove' }, - join: { id: 'label.join', defaultMessage: 'Join' }, - createTeam: { id: 'label.create-team', defaultMessage: 'Create team' }, - joinTeam: { id: 'label.join-team', defaultMessage: 'Join team' }, - settings: { id: 'label.settings', defaultMessage: 'Settings' }, - owner: { id: 'label.owner', defaultMessage: 'Owner' }, - url: { id: 'label.url', defaultMessage: 'URL' }, - teamOwner: { id: 'label.team-owner', defaultMessage: 'Team owner' }, - teamManager: { id: 'label.team-manager', defaultMessage: 'Team manager' }, - teamMember: { id: 'label.team-member', defaultMessage: 'Team member' }, - teamViewOnly: { id: 'label.team-view-only', defaultMessage: 'Team view only' }, - enableShareUrl: { id: 'label.enable-share-url', defaultMessage: 'Enable share URL' }, - data: { id: 'label.data', defaultMessage: 'Data' }, - trackingCode: { id: 'label.tracking-code', defaultMessage: 'Tracking code' }, - shareUrl: { id: 'label.share-url', defaultMessage: 'Share URL' }, - action: { id: 'label.action', defaultMessage: 'Action' }, - actions: { id: 'label.actions', defaultMessage: 'Actions' }, - domain: { id: 'label.domain', defaultMessage: 'Domain' }, - websiteId: { id: 'label.website-id', defaultMessage: 'Website ID' }, - resetWebsite: { id: 'label.reset-website', defaultMessage: 'Reset website' }, - deleteWebsite: { id: 'label.delete-website', defaultMessage: 'Delete website' }, - transferWebsite: { id: 'label.transfer-website', defaultMessage: 'Transfer website' }, - deleteReport: { id: 'label.delete-report', defaultMessage: 'Delete report' }, - reset: { id: 'label.reset', defaultMessage: 'Reset' }, - addWebsite: { id: 'label.add-website', defaultMessage: 'Add website' }, - addMember: { id: 'label.add-member', defaultMessage: 'Add member' }, - editMember: { id: 'label.edit-member', defaultMessage: 'Edit member' }, - removeMember: { id: 'label.remove-member', defaultMessage: 'Remove member' }, - addDescription: { id: 'label.add-description', defaultMessage: 'Add description' }, - changePassword: { id: 'label.change-password', defaultMessage: 'Change password' }, - currentPassword: { id: 'label.current-password', defaultMessage: 'Current password' }, - newPassword: { id: 'label.new-password', defaultMessage: 'New password' }, - confirmPassword: { id: 'label.confirm-password', defaultMessage: 'Confirm password' }, - timezone: { id: 'label.timezone', defaultMessage: 'Timezone' }, - defaultDateRange: { id: 'label.default-date-range', defaultMessage: 'Default date range' }, - language: { id: 'label.language', defaultMessage: 'Language' }, - theme: { id: 'label.theme', defaultMessage: 'Theme' }, - profile: { id: 'label.profile', defaultMessage: 'Profile' }, - profiles: { id: 'label.profiles', defaultMessage: 'Profiles' }, - dashboard: { id: 'label.dashboard', defaultMessage: 'Dashboard' }, - more: { id: 'label.more', defaultMessage: 'More' }, - realtime: { id: 'label.realtime', defaultMessage: 'Realtime' }, - queries: { id: 'label.queries', defaultMessage: 'Queries' }, - teams: { id: 'label.teams', defaultMessage: 'Teams' }, - teamSettings: { id: 'label.team-settings', defaultMessage: 'Team settings' }, - analytics: { id: 'label.analytics', defaultMessage: 'Analytics' }, - login: { id: 'label.login', defaultMessage: 'Login' }, - logout: { id: 'label.logout', defaultMessage: 'Logout' }, - singleDay: { id: 'label.single-day', defaultMessage: 'Single day' }, - dateRange: { id: 'label.date-range', defaultMessage: 'Date range' }, - viewDetails: { id: 'label.view-details', defaultMessage: 'View details' }, - deleteTeam: { id: 'label.delete-team', defaultMessage: 'Delete team' }, - leaveTeam: { id: 'label.leave-team', defaultMessage: 'Leave team' }, - refresh: { id: 'label.refresh', defaultMessage: 'Refresh' }, - page: { id: 'label.page', defaultMessage: 'Page' }, - pages: { id: 'label.pages', defaultMessage: 'Pages' }, - entry: { id: 'label.entry', defaultMessage: 'Entry' }, - exit: { id: 'label.exit', defaultMessage: 'Exit' }, - referrers: { id: 'label.referrers', defaultMessage: 'Referrers' }, - screen: { id: 'label.screen', defaultMessage: 'Screen' }, - screens: { id: 'label.screens', defaultMessage: 'Screens' }, - browsers: { id: 'label.browsers', defaultMessage: 'Browsers' }, - os: { id: 'label.os', defaultMessage: 'OS' }, - devices: { id: 'label.devices', defaultMessage: 'Devices' }, - countries: { id: 'label.countries', defaultMessage: 'Countries' }, - languages: { id: 'label.languages', defaultMessage: 'Languages' }, - tags: { id: 'label.tags', defaultMessage: 'Tags' }, - segments: { id: 'label.segments', defaultMessage: 'Segments' }, - cohorts: { id: 'label.cohorts', defaultMessage: 'Cohorts' }, - count: { id: 'label.count', defaultMessage: 'Count' }, - average: { id: 'label.average', defaultMessage: 'Average' }, - sum: { id: 'label.sum', defaultMessage: 'Sum' }, - event: { id: 'label.event', defaultMessage: 'Event' }, - events: { id: 'label.events', defaultMessage: 'Events' }, - eventName: { id: 'label.event-name', defaultMessage: 'Event name' }, - excludeBounce: { id: 'label.exclude-bounce', defaultMessage: 'Exclude bounces' }, - query: { id: 'label.query', defaultMessage: 'Query' }, - queryParameters: { id: 'label.query-parameters', defaultMessage: 'Query parameters' }, - back: { id: 'label.back', defaultMessage: 'Back' }, - visitors: { id: 'label.visitors', defaultMessage: 'Visitors' }, - visits: { id: 'label.visits', defaultMessage: 'Visits' }, - filterCombined: { id: 'label.filter-combined', defaultMessage: 'Combined' }, - filterRaw: { id: 'label.filter-raw', defaultMessage: 'Raw' }, - views: { id: 'label.views', defaultMessage: 'Views' }, - none: { id: 'label.none', defaultMessage: 'None' }, - clearAll: { id: 'label.clear-all', defaultMessage: 'Clear all' }, - property: { id: 'label.property', defaultMessage: 'Property' }, - today: { id: 'label.today', defaultMessage: 'Today' }, - lastHours: { id: 'label.last-hours', defaultMessage: 'Last {x} hours' }, - yesterday: { id: 'label.yesterday', defaultMessage: 'Yesterday' }, - thisWeek: { id: 'label.this-week', defaultMessage: 'This week' }, - lastDays: { id: 'label.last-days', defaultMessage: 'Last {x} days' }, - lastMonths: { id: 'label.last-months', defaultMessage: 'Last {x} months' }, - thisMonth: { id: 'label.this-month', defaultMessage: 'This month' }, - thisYear: { id: 'label.this-year', defaultMessage: 'This year' }, - allTime: { id: 'label.all-time', defaultMessage: 'All time' }, - customRange: { id: 'label.custom-range', defaultMessage: 'Custom range' }, - selectWebsite: { id: 'label.select-website', defaultMessage: 'Select website' }, - selectRole: { id: 'label.select-role', defaultMessage: 'Select role' }, - selectDate: { id: 'label.select-date', defaultMessage: 'Select date' }, - selectFilter: { id: 'label.select-filter', defaultMessage: 'Select filter' }, - all: { id: 'label.all', defaultMessage: 'All' }, - session: { id: 'label.session', defaultMessage: 'Session' }, - sessions: { id: 'label.sessions', defaultMessage: 'Sessions' }, - distinctId: { id: 'label.distinct-id', defaultMessage: 'Distinct ID' }, - pageNotFound: { id: 'message.page-not-found', defaultMessage: 'Page not found' }, - activity: { id: 'label.activity', defaultMessage: 'Activity' }, - dismiss: { id: 'label.dismiss', defaultMessage: 'Dismiss' }, - poweredBy: { id: 'label.powered-by', defaultMessage: 'Powered by {name}' }, - pageViews: { id: 'label.page-views', defaultMessage: 'Page views' }, - uniqueVisitors: { id: 'label.unique-visitors', defaultMessage: 'Unique visitors' }, - uniqueEvents: { id: 'label.unique-events', defaultMessage: 'Unique Events' }, - bounceRate: { id: 'label.bounce-rate', defaultMessage: 'Bounce rate' }, - viewsPerVisit: { id: 'label.views-per-visit', defaultMessage: 'Views per visit' }, - visitDuration: { id: 'label.visit-duration', defaultMessage: 'Visit duration' }, - desktop: { id: 'label.desktop', defaultMessage: 'Desktop' }, - laptop: { id: 'label.laptop', defaultMessage: 'Laptop' }, - tablet: { id: 'label.tablet', defaultMessage: 'Tablet' }, - mobile: { id: 'label.mobile', defaultMessage: 'Mobile' }, - toggleCharts: { id: 'label.toggle-charts', defaultMessage: 'Toggle charts' }, - editDashboard: { id: 'label.edit-dashboard', defaultMessage: 'Edit dashboard' }, - title: { id: 'label.title', defaultMessage: 'Title' }, - view: { id: 'label.view', defaultMessage: 'View' }, - cities: { id: 'label.cities', defaultMessage: 'Cities' }, - regions: { id: 'label.regions', defaultMessage: 'Regions' }, - reports: { id: 'label.reports', defaultMessage: 'Reports' }, - eventData: { id: 'label.event-data', defaultMessage: 'Event data' }, - sessionData: { id: 'label.session-data', defaultMessage: 'Session data' }, - funnel: { id: 'label.funnel', defaultMessage: 'Funnel' }, - funnels: { id: 'label.funnels', defaultMessage: 'Funnels' }, - funnelDescription: { - id: 'label.funnel-description', - defaultMessage: 'Understand the conversion and drop-off rate of users.', - }, - revenue: { id: 'label.revenue', defaultMessage: 'Revenue' }, - revenueDescription: { - id: 'label.revenue-description', - defaultMessage: 'Look into your revenue data and how users are spending.', - }, - attribution: { id: 'label.attribution', defaultMessage: 'Attribution' }, - attributionDescription: { - id: 'label.attribution-description', - defaultMessage: 'See how users engage with your marketing and what drives conversions.', - }, - currency: { id: 'label.currency', defaultMessage: 'Currency' }, - model: { id: 'label.model', defaultMessage: 'Model' }, - path: { id: 'label.path', defaultMessage: 'Path' }, - paths: { id: 'label.paths', defaultMessage: 'Paths' }, - add: { id: 'label.add', defaultMessage: 'Add' }, - update: { id: 'label.update', defaultMessage: 'Update' }, - window: { id: 'label.window', defaultMessage: 'Window' }, - runQuery: { id: 'label.run-query', defaultMessage: 'Run query' }, - field: { id: 'label.field', defaultMessage: 'Field' }, - fields: { id: 'label.fields', defaultMessage: 'Fields' }, - createReport: { id: 'label.create-report', defaultMessage: 'Create report' }, - description: { id: 'label.description', defaultMessage: 'Description' }, - untitled: { id: 'label.untitled', defaultMessage: 'Untitled' }, - type: { id: 'label.type', defaultMessage: 'Type' }, - filter: { id: 'label.filter', defaultMessage: 'Filter' }, - filters: { id: 'label.filters', defaultMessage: 'Filters' }, - breakdown: { id: 'label.breakdown', defaultMessage: 'Breakdown' }, - true: { id: 'label.true', defaultMessage: 'True' }, - false: { id: 'label.false', defaultMessage: 'False' }, - is: { id: 'label.is', defaultMessage: 'Is' }, - isNot: { id: 'label.is-not', defaultMessage: 'Is not' }, - isSet: { id: 'label.is-set', defaultMessage: 'Is set' }, - isNotSet: { id: 'label.is-not-set', defaultMessage: 'Is not set' }, - greaterThan: { id: 'label.greater-than', defaultMessage: 'Greater than' }, - lessThan: { id: 'label.less-than', defaultMessage: 'Less than' }, - greaterThanEquals: { id: 'label.greater-than-equals', defaultMessage: 'Greater than or equals' }, - lessThanEquals: { id: 'label.less-than-equals', defaultMessage: 'Less than or equals' }, - contains: { id: 'label.contains', defaultMessage: 'Contains' }, - doesNotContain: { id: 'label.does-not-contain', defaultMessage: 'Does not contain' }, - includes: { id: 'label.includes', defaultMessage: 'Includes' }, - doesNotInclude: { id: 'label.does-not-include', defaultMessage: 'Does not include' }, - before: { id: 'label.before', defaultMessage: 'Before' }, - after: { id: 'label.after', defaultMessage: 'After' }, - isTrue: { id: 'label.is-true', defaultMessage: 'Is true' }, - isFalse: { id: 'label.is-false', defaultMessage: 'Is false' }, - exists: { id: 'label.exists', defaultMessage: 'Exists' }, - doesNotExist: { id: 'label.doest-not-exist', defaultMessage: 'Does not exist' }, - total: { id: 'label.total', defaultMessage: 'Total' }, - min: { id: 'label.min', defaultMessage: 'Min' }, - max: { id: 'label.max', defaultMessage: 'Max' }, - unique: { id: 'label.unique', defaultMessage: 'Unique' }, - value: { id: 'label.value', defaultMessage: 'Value' }, - overview: { id: 'label.overview', defaultMessage: 'Overview' }, - totalRecords: { id: 'label.total-records', defaultMessage: 'Total records' }, - insight: { id: 'label.insight', defaultMessage: 'Insight' }, - insights: { id: 'label.insights', defaultMessage: 'Insights' }, - insightsDescription: { - id: 'label.insights-description', - defaultMessage: 'Dive deeper into your data by using segments and filters.', - }, - retention: { id: 'label.retention', defaultMessage: 'Retention' }, - retentionDescription: { - id: 'label.retention-description', - defaultMessage: 'Measure your website stickiness by tracking how often users return.', - }, - dropoff: { id: 'label.dropoff', defaultMessage: 'Dropoff' }, - referrer: { id: 'label.referrer', defaultMessage: 'Referrer' }, - hostname: { id: 'label.hostname', defaultMessage: 'Hostname' }, - country: { id: 'label.country', defaultMessage: 'Country' }, - region: { id: 'label.region', defaultMessage: 'Region' }, - city: { id: 'label.city', defaultMessage: 'City' }, - browser: { id: 'label.browser', defaultMessage: 'Browser' }, - device: { id: 'label.device', defaultMessage: 'Device' }, - pageTitle: { id: 'label.pageTitle', defaultMessage: 'Page title' }, - tag: { id: 'label.tag', defaultMessage: 'Tag' }, - source: { id: 'label.source', defaultMessage: 'Source' }, - medium: { id: 'label.medium', defaultMessage: 'Medium' }, - campaign: { id: 'label.campaign', defaultMessage: 'Campaign' }, - content: { id: 'label.content', defaultMessage: 'Content' }, - term: { id: 'label.term', defaultMessage: 'Term' }, - utmSource: { id: 'label.utm-source', defaultMessage: 'UTM source' }, - utmMedium: { id: 'label.utm-medium', defaultMessage: 'UTM medium' }, - utmCampaign: { id: 'label.utm-campaign', defaultMessage: 'UTM campaign' }, - utmContent: { id: 'label.utm-content', defaultMessage: 'UTM content' }, - utmTerm: { id: 'label.utm-term', defaultMessage: 'UTM term' }, - segment: { id: 'label.segment', defaultMessage: 'Segment' }, - cohort: { id: 'label.cohort', defaultMessage: 'Cohort' }, - minute: { id: 'label.minute', defaultMessage: 'Minute' }, - hour: { id: 'label.hour', defaultMessage: 'Hour' }, - day: { id: 'label.day', defaultMessage: 'Day' }, - month: { id: 'label.month', defaultMessage: 'Month' }, - date: { id: 'label.date', defaultMessage: 'Date' }, - pageOf: { id: 'label.page-of', defaultMessage: 'Page {current} of {total}' }, - create: { id: 'label.create', defaultMessage: 'Create' }, - search: { id: 'label.search', defaultMessage: 'Search' }, - numberOfRecords: { - id: 'label.number-of-records', - defaultMessage: '{x} {x, plural, one {record} other {records}}', - }, - select: { id: 'label.select', defaultMessage: 'Select' }, - myAccount: { id: 'label.my-account', defaultMessage: 'My account' }, - transfer: { id: 'label.transfer', defaultMessage: 'Transfer' }, - transactions: { id: 'label.transactions', defaultMessage: 'Transactions' }, - uniqueCustomers: { id: 'label.uniqueCustomers', defaultMessage: 'Unique Customers' }, - viewedPage: { - id: 'message.viewed-page', - defaultMessage: 'Viewed page', - }, - collectedData: { - id: 'message.collected-data', - defaultMessage: 'Collected data', - }, - triggeredEvent: { - id: 'message.triggered-event', - defaultMessage: 'Triggered event', - }, - utm: { id: 'label.utm', defaultMessage: 'UTM' }, - utmDescription: { - id: 'label.utm-description', - defaultMessage: 'Track your campaigns through UTM parameters.', - }, - conversionStep: { id: 'label.conversion-step', defaultMessage: 'Conversion step' }, - conversionRate: { id: 'label.conversion-rate', defaultMessage: 'Conversion rate' }, - steps: { id: 'label.steps', defaultMessage: 'Steps' }, - startStep: { id: 'label.start-step', defaultMessage: 'Start Step' }, - endStep: { id: 'label.end-step', defaultMessage: 'End Step' }, - addStep: { id: 'label.add-step', defaultMessage: 'Add step' }, - goal: { id: 'label.goal', defaultMessage: 'Goal' }, - goals: { id: 'label.goals', defaultMessage: 'Goals' }, - goalsDescription: { - id: 'label.goals-description', - defaultMessage: 'Track your goals for pageviews and events.', - }, - journey: { id: 'label.journey', defaultMessage: 'Journey' }, - journeys: { id: 'label.journeys', defaultMessage: 'Journeys' }, - journeyDescription: { - id: 'label.journey-description', - defaultMessage: 'Understand how users navigate through your website.', - }, - compareDates: { id: 'label.compare-dates', defaultMessage: 'Compare dates' }, - compare: { id: 'label.compare', defaultMessage: 'Compare' }, - current: { id: 'label.current', defaultMessage: 'Current' }, - previous: { id: 'label.previous', defaultMessage: 'Previous' }, - previousPeriod: { id: 'label.previous-period', defaultMessage: 'Previous period' }, - previousYear: { id: 'label.previous-year', defaultMessage: 'Previous year' }, - lastSeen: { id: 'label.last-seen', defaultMessage: 'Last seen' }, - firstSeen: { id: 'label.first-seen', defaultMessage: 'First seen' }, - properties: { id: 'label.properties', defaultMessage: 'Properties' }, - channel: { id: 'label.channel', defaultMessage: 'Channel' }, - channels: { id: 'label.channels', defaultMessage: 'Channels' }, - sources: { id: 'label.sources', defaultMessage: 'Sources' }, - campaigns: { id: 'label.campaigns', defaultMessage: 'Campaigns' }, - terms: { id: 'label.terms', defaultMessage: 'Terms' }, - direct: { id: 'label.direct', defaultMessage: 'Direct' }, - referral: { id: 'label.referral', defaultMessage: 'Referral' }, - affiliate: { id: 'label.affiliate', defaultMessage: 'Affiliate' }, - email: { id: 'label.email', defaultMessage: 'Email' }, - sms: { id: 'label.sms', defaultMessage: 'SMS' }, - organicSearch: { id: 'label.organic-search', defaultMessage: 'Organic search' }, - organicSocial: { id: 'label.organic-social', defaultMessage: 'Organic social' }, - organicShopping: { id: 'label.organic-shopping', defaultMessage: 'Organic shopping' }, - organicVideo: { id: 'label.organic-video', defaultMessage: 'Organic video' }, - paidAds: { id: 'label.paid-ads', defaultMessage: 'Paid ads' }, - paidSearch: { id: 'label.paid-search', defaultMessage: 'Paid search' }, - paidSocial: { id: 'label.paid-social', defaultMessage: 'Paid social' }, - paidShopping: { id: 'label.paid-shopping', defaultMessage: 'Paid shopping' }, - paidVideo: { id: 'label.paid-video', defaultMessage: 'Paid video' }, - grouped: { id: 'label.grouped', defaultMessage: 'Grouped' }, - other: { id: 'label.other', defaultMessage: 'Other' }, - boards: { id: 'label.boards', defaultMessage: 'Boards' }, - apply: { id: 'label.apply', defaultMessage: 'Apply' }, - link: { id: 'label.link', defaultMessage: 'Link' }, - links: { id: 'label.links', defaultMessage: 'Links' }, - pixel: { id: 'label.pixel', defaultMessage: 'Pixel' }, - pixels: { id: 'label.pixels', defaultMessage: 'Pixels' }, - addBoard: { id: 'label.add-board', defaultMessage: 'Add board' }, - addLink: { id: 'label.add-link', defaultMessage: 'Add link' }, - addPixel: { id: 'label.add-pixel', defaultMessage: 'Add pixel' }, - maximize: { id: 'label.maximize', defaultMessage: 'Maximize' }, - remaining: { id: 'label.remaining', defaultMessage: 'Remaining' }, - conversion: { id: 'label.conversion', defaultMessage: 'Conversion' }, - firstClick: { id: 'label.first-click', defaultMessage: 'First click' }, - lastClick: { id: 'label.last-click', defaultMessage: 'Last click' }, - online: { id: 'label.online', defaultMessage: 'Online' }, - preferences: { id: 'label.preferences', defaultMessage: 'Preferences' }, - location: { id: 'label.location', defaultMessage: 'Location' }, - chart: { id: 'label.chart', defaultMessage: 'Chart' }, - table: { id: 'label.table', defaultMessage: 'Table' }, - download: { id: 'label.download', defaultMessage: 'Download' }, - traffic: { id: 'label.traffic', defaultMessage: 'Traffic' }, - behavior: { id: 'label.behavior', defaultMessage: 'Behavior' }, - growth: { id: 'label.growth', defaultMessage: 'Growth' }, - account: { id: 'label.account', defaultMessage: 'Account' }, - application: { id: 'label.application', defaultMessage: 'Application' }, - version: { id: 'label.version', defaultMessage: 'Version' }, - saveSegment: { id: 'label.save-segment', defaultMessage: 'Save as segment' }, - saveCohort: { id: 'label.save-cohort', defaultMessage: 'Save as cohort' }, - analysis: { id: 'label.analysis', defaultMessage: 'Analysis' }, - destinationUrl: { id: 'label.destination-url', defaultMessage: 'Destination URL' }, - audience: { id: 'label.audience', defaultMessage: 'Audience' }, - invalidUrl: { id: 'label.invalid-url', defaultMessage: 'Invalid URL' }, - environment: { id: 'label.environment', defaultMessage: 'Environment' }, - criteria: { id: 'label.criteria', defaultMessage: 'Criteria' }, - share: { id: 'label.share', defaultMessage: 'Share' }, - support: { id: 'label.support', defaultMessage: 'Support' }, - documentation: { id: 'label.documentation', defaultMessage: 'Documentation' }, - switchAccount: { id: 'label.switch-account', defaultMessage: 'Switch account' }, +export const labels: Record = { + ok: 'label.ok', + unknown: 'label.unknown', + required: 'label.required', + save: 'label.save', + cancel: 'label.cancel', + continue: 'label.continue', + delete: 'label.delete', + leave: 'label.leave', + users: 'label.users', + createUser: 'label.create-user', + deleteUser: 'label.delete-user', + username: 'label.username', + password: 'label.password', + role: 'label.role', + user: 'label.user', + viewOnly: 'label.view-only', + manage: 'label.manage', + admin: 'label.admin', + confirm: 'label.confirm', + details: 'label.details', + website: 'label.website', + websites: 'label.websites', + myWebsites: 'label.my-websites', + teamWebsites: 'label.team-websites', + created: 'label.created', + createdBy: 'label.created-by', + edit: 'label.edit', + name: 'label.name', + manager: 'label.manager', + member: 'label.member', + members: 'label.members', + accessCode: 'label.access-code', + teamId: 'label.team-id', + team: 'label.team', + teamName: 'label.team-name', + regenerate: 'label.regenerate', + remove: 'label.remove', + join: 'label.join', + createTeam: 'label.create-team', + joinTeam: 'label.join-team', + settings: 'label.settings', + owner: 'label.owner', + url: 'label.url', + teamOwner: 'label.team-owner', + teamManager: 'label.team-manager', + teamMember: 'label.team-member', + teamViewOnly: 'label.team-view-only', + enableShareUrl: 'label.enable-share-url', + data: 'label.data', + trackingCode: 'label.tracking-code', + shareUrl: 'label.share-url', + action: 'label.action', + actions: 'label.actions', + domain: 'label.domain', + websiteId: 'label.website-id', + resetWebsite: 'label.reset-website', + deleteWebsite: 'label.delete-website', + transferWebsite: 'label.transfer-website', + deleteReport: 'label.delete-report', + reset: 'label.reset', + addWebsite: 'label.add-website', + addMember: 'label.add-member', + editMember: 'label.edit-member', + removeMember: 'label.remove-member', + addDescription: 'label.add-description', + changePassword: 'label.change-password', + currentPassword: 'label.current-password', + newPassword: 'label.new-password', + confirmPassword: 'label.confirm-password', + timezone: 'label.timezone', + defaultDateRange: 'label.default-date-range', + language: 'label.language', + theme: 'label.theme', + profile: 'label.profile', + profiles: 'label.profiles', + dashboard: 'label.dashboard', + more: 'label.more', + realtime: 'label.realtime', + queries: 'label.queries', + teams: 'label.teams', + teamSettings: 'label.team-settings', + analytics: 'label.analytics', + login: 'label.login', + logout: 'label.logout', + singleDay: 'label.single-day', + dateRange: 'label.date-range', + viewDetails: 'label.view-details', + deleteTeam: 'label.delete-team', + leaveTeam: 'label.leave-team', + refresh: 'label.refresh', + page: 'label.page', + pages: 'label.pages', + entry: 'label.entry', + exit: 'label.exit', + referrers: 'label.referrers', + screen: 'label.screen', + screens: 'label.screens', + browsers: 'label.browsers', + os: 'label.os', + devices: 'label.devices', + countries: 'label.countries', + languages: 'label.languages', + tags: 'label.tags', + segments: 'label.segments', + cohorts: 'label.cohorts', + count: 'label.count', + average: 'label.average', + sum: 'label.sum', + event: 'label.event', + events: 'label.events', + eventName: 'label.event-name', + excludeBounce: 'label.exclude-bounce', + query: 'label.query', + queryParameters: 'label.query-parameters', + back: 'label.back', + visitors: 'label.visitors', + visits: 'label.visits', + filterCombined: 'label.filter-combined', + filterRaw: 'label.filter-raw', + views: 'label.views', + none: 'label.none', + clearAll: 'label.clear-all', + property: 'label.property', + today: 'label.today', + lastHours: 'label.last-hours', + yesterday: 'label.yesterday', + thisWeek: 'label.this-week', + lastDays: 'label.last-days', + lastMonths: 'label.last-months', + thisMonth: 'label.this-month', + thisYear: 'label.this-year', + allTime: 'label.all-time', + customRange: 'label.custom-range', + selectWebsite: 'label.select-website', + selectRole: 'label.select-role', + selectDate: 'label.select-date', + selectFilter: 'label.select-filter', + all: 'label.all', + session: 'label.session', + sessions: 'label.sessions', + distinctId: 'label.distinct-id', + pageNotFound: 'message.page-not-found', + activity: 'label.activity', + dismiss: 'label.dismiss', + poweredBy: 'label.powered-by', + pageViews: 'label.page-views', + uniqueVisitors: 'label.unique-visitors', + uniqueEvents: 'label.unique-events', + bounceRate: 'label.bounce-rate', + viewsPerVisit: 'label.views-per-visit', + visitDuration: 'label.visit-duration', + desktop: 'label.desktop', + laptop: 'label.laptop', + tablet: 'label.tablet', + mobile: 'label.mobile', + toggleCharts: 'label.toggle-charts', + editDashboard: 'label.edit-dashboard', + title: 'label.title', + view: 'label.view', + cities: 'label.cities', + regions: 'label.regions', + reports: 'label.reports', + eventData: 'label.event-data', + sessionData: 'label.session-data', + funnel: 'label.funnel', + funnels: 'label.funnels', + funnelDescription: 'label.funnel-description', + revenue: 'label.revenue', + revenueDescription: 'label.revenue-description', + attribution: 'label.attribution', + attributionDescription: 'label.attribution-description', + currency: 'label.currency', + model: 'label.model', + path: 'label.path', + paths: 'label.paths', + add: 'label.add', + update: 'label.update', + window: 'label.window', + runQuery: 'label.run-query', + field: 'label.field', + fields: 'label.fields', + createReport: 'label.create-report', + description: 'label.description', + untitled: 'label.untitled', + type: 'label.type', + filter: 'label.filter', + filters: 'label.filters', + breakdown: 'label.breakdown', + true: 'label.true', + false: 'label.false', + is: 'label.is', + isNot: 'label.is-not', + isSet: 'label.is-set', + isNotSet: 'label.is-not-set', + greaterThan: 'label.greater-than', + lessThan: 'label.less-than', + greaterThanEquals: 'label.greater-than-equals', + lessThanEquals: 'label.less-than-equals', + contains: 'label.contains', + doesNotContain: 'label.does-not-contain', + includes: 'label.includes', + doesNotInclude: 'label.does-not-include', + before: 'label.before', + after: 'label.after', + isTrue: 'label.is-true', + isFalse: 'label.is-false', + exists: 'label.exists', + doesNotExist: 'label.doest-not-exist', + total: 'label.total', + min: 'label.min', + max: 'label.max', + unique: 'label.unique', + value: 'label.value', + overview: 'label.overview', + totalRecords: 'label.total-records', + insight: 'label.insight', + insights: 'label.insights', + insightsDescription: 'label.insights-description', + retention: 'label.retention', + retentionDescription: 'label.retention-description', + dropoff: 'label.dropoff', + referrer: 'label.referrer', + hostname: 'label.hostname', + country: 'label.country', + region: 'label.region', + city: 'label.city', + browser: 'label.browser', + device: 'label.device', + pageTitle: 'label.pageTitle', + tag: 'label.tag', + source: 'label.source', + medium: 'label.medium', + campaign: 'label.campaign', + content: 'label.content', + term: 'label.term', + utmSource: 'label.utm-source', + utmMedium: 'label.utm-medium', + utmCampaign: 'label.utm-campaign', + utmContent: 'label.utm-content', + utmTerm: 'label.utm-term', + segment: 'label.segment', + cohort: 'label.cohort', + minute: 'label.minute', + hour: 'label.hour', + day: 'label.day', + month: 'label.month', + date: 'label.date', + pageOf: 'label.page-of', + create: 'label.create', + search: 'label.search', + numberOfRecords: 'label.number-of-records', + select: 'label.select', + myAccount: 'label.my-account', + transfer: 'label.transfer', + transactions: 'label.transactions', + uniqueCustomers: 'label.uniqueCustomers', + viewedPage: 'message.viewed-page', + collectedData: 'message.collected-data', + triggeredEvent: 'message.triggered-event', + utm: 'label.utm', + utmDescription: 'label.utm-description', + conversionStep: 'label.conversion-step', + conversionRate: 'label.conversion-rate', + steps: 'label.steps', + startStep: 'label.start-step', + endStep: 'label.end-step', + addStep: 'label.add-step', + goal: 'label.goal', + goals: 'label.goals', + goalsDescription: 'label.goals-description', + journey: 'label.journey', + journeys: 'label.journeys', + journeyDescription: 'label.journey-description', + compareDates: 'label.compare-dates', + compare: 'label.compare', + current: 'label.current', + previous: 'label.previous', + previousPeriod: 'label.previous-period', + previousYear: 'label.previous-year', + lastSeen: 'label.last-seen', + firstSeen: 'label.first-seen', + properties: 'label.properties', + channel: 'label.channel', + channels: 'label.channels', + sources: 'label.sources', + campaigns: 'label.campaigns', + terms: 'label.terms', + direct: 'label.direct', + referral: 'label.referral', + affiliate: 'label.affiliate', + email: 'label.email', + sms: 'label.sms', + organicSearch: 'label.organic-search', + organicSocial: 'label.organic-social', + organicShopping: 'label.organic-shopping', + organicVideo: 'label.organic-video', + paidAds: 'label.paid-ads', + paidSearch: 'label.paid-search', + paidSocial: 'label.paid-social', + paidShopping: 'label.paid-shopping', + paidVideo: 'label.paid-video', + grouped: 'label.grouped', + other: 'label.other', + boards: 'label.boards', + apply: 'label.apply', + link: 'label.link', + links: 'label.links', + pixel: 'label.pixel', + pixels: 'label.pixels', + addBoard: 'label.add-board', + addLink: 'label.add-link', + addPixel: 'label.add-pixel', + maximize: 'label.maximize', + remaining: 'label.remaining', + conversion: 'label.conversion', + firstClick: 'label.first-click', + lastClick: 'label.last-click', + online: 'label.online', + preferences: 'label.preferences', + location: 'label.location', + chart: 'label.chart', + table: 'label.table', + download: 'label.download', + traffic: 'label.traffic', + behavior: 'label.behavior', + growth: 'label.growth', + account: 'label.account', + application: 'label.application', + version: 'label.version', + saveSegment: 'label.save-segment', + saveCohort: 'label.save-cohort', + analysis: 'label.analysis', + destinationUrl: 'label.destination-url', + audience: 'label.audience', + invalidUrl: 'label.invalid-url', + environment: 'label.environment', + criteria: 'label.criteria', + share: 'label.share', + support: 'label.support', + documentation: 'label.documentation', + switchAccount: 'label.switch-account', }; -export const messages: Record = { - error: { id: 'message.error', defaultMessage: 'Something went wrong.' }, - saved: { id: 'message.saved', defaultMessage: 'Saved successfully.' }, - noUsers: { id: 'message.no-users', defaultMessage: 'There are no users.' }, - userDeleted: { id: 'message.user-deleted', defaultMessage: 'User deleted.' }, - noDataAvailable: { id: 'message.no-data-available', defaultMessage: 'No data available.' }, - nothingSelected: { id: 'message.nothing-selected', defaultMessage: 'Nothing selected.' }, - confirmReset: { - id: 'message.confirm-reset', - defaultMessage: 'Are you sure you want to reset {target}?', - }, - confirmDelete: { - id: 'message.confirm-delete', - defaultMessage: 'Are you sure you want to delete {target}?', - }, - confirmRemove: { - id: 'message.confirm-remove', - defaultMessage: 'Are you sure you want to remove {target}?', - }, - confirmLeave: { - id: 'message.confirm-leave', - defaultMessage: 'Are you sure you want to leave {target}?', - }, - minPasswordLength: { - id: 'message.min-password-length', - defaultMessage: 'Minimum length of {n} characters', - }, - noTeams: { - id: 'message.no-teams', - defaultMessage: 'You have not created any teams.', - }, - shareUrl: { - id: 'message.share-url', - defaultMessage: 'Your website stats are publicly available at the following URL:', - }, - trackingCode: { - id: 'message.tracking-code', - defaultMessage: - 'To track stats for this website, place the following code in the ... section of your HTML.', - }, - joinTeamWarning: { - id: 'message.team-already-member', - defaultMessage: 'You are already a member of the team.', - }, - actionConfirmation: { - id: 'message.action-confirmation', - defaultMessage: 'Type {confirmation} in the box below to confirm.', - }, - resetWebsite: { - id: 'message.reset-website', - defaultMessage: 'To reset this website, type {confirmation} in the box below to confirm.', - }, - invalidDomain: { - id: 'message.invalid-domain', - defaultMessage: 'Invalid domain. Do not include http/https.', - }, - resetWebsiteWarning: { - id: 'message.reset-website-warning', - defaultMessage: - 'All statistics for this website will be deleted, but your settings will remain intact.', - }, - deleteWebsiteWarning: { - id: 'message.delete-website-warning', - defaultMessage: 'All website data will be deleted.', - }, - deleteTeamWarning: { - id: 'message.delete-team-warning', - defaultMessage: 'Deleting a team will also delete all team websites.', - }, - noResultsFound: { - id: 'message.no-results-found', - defaultMessage: 'No results found.', - }, - noWebsitesConfigured: { - id: 'message.no-websites-configured', - defaultMessage: 'You do not have any websites configured.', - }, - noTeamWebsites: { - id: 'message.no-team-websites', - defaultMessage: 'This team does not have any websites.', - }, - teamWebsitesInfo: { - id: 'message.team-websites-info', - defaultMessage: 'Websites can be viewed by anyone on the team.', - }, - noMatchPassword: { id: 'message.no-match-password', defaultMessage: 'Passwords do not match.' }, - goToSettings: { - id: 'message.go-to-settings', - defaultMessage: 'Go to settings', - }, - activeUsers: { - id: 'message.active-users', - defaultMessage: '{x} current {x, plural, one {visitor} other {visitors}}', - }, - teamNotFound: { - id: 'message.team-not-found', - defaultMessage: 'Team not found.', - }, - visitorLog: { - id: 'message.visitor-log', - defaultMessage: 'Visitor from {country} using {browser} on {os} {device}', - }, - eventLog: { - id: 'message.event-log', - defaultMessage: '{event} on {url}', - }, - incorrectUsernamePassword: { - id: 'message.incorrect-username-password', - defaultMessage: 'Incorrect username and/or password.', - }, - noEventData: { - id: 'message.no-event-data', - defaultMessage: 'No event data is available.', - }, - newVersionAvailable: { - id: 'message.new-version-available', - defaultMessage: 'A new version of Umami {version} is available!', - }, - transferWebsite: { - id: 'message.transfer-website', - defaultMessage: 'Transfer website ownership to your account or another team.', - }, - transferTeamWebsiteToUser: { - id: 'message.transfer-team-website-to-user', - defaultMessage: 'Transfer this website to your account?', - }, - transferUserWebsiteToTeam: { - id: 'message.transfer-user-website-to-team', - defaultMessage: 'Select the team to transfer this website to.', - }, - unauthorized: { - id: 'message.unauthorized', - defaultMessage: 'Unauthorized', - }, - badRequest: { - id: 'message.bad-request', - defaultMessage: 'Bad request', - }, - forbidden: { - id: 'message.forbidden', - defaultMessage: 'Forbidden', - }, - notFound: { - id: 'message.not-found', - defaultMessage: 'Not found', - }, - serverError: { - id: 'message.sever-error', - defaultMessage: 'Server error', - }, +export const messages: Record = { + error: 'message.error', + saved: 'message.saved', + noUsers: 'message.no-users', + userDeleted: 'message.user-deleted', + noDataAvailable: 'message.no-data-available', + nothingSelected: 'message.nothing-selected', + confirmReset: 'message.confirm-reset', + confirmDelete: 'message.confirm-delete', + confirmRemove: 'message.confirm-remove', + confirmLeave: 'message.confirm-leave', + minPasswordLength: 'message.min-password-length', + noTeams: 'message.no-teams', + shareUrl: 'message.share-url', + trackingCode: 'message.tracking-code', + joinTeamWarning: 'message.team-already-member', + actionConfirmation: 'message.action-confirmation', + resetWebsite: 'message.reset-website', + invalidDomain: 'message.invalid-domain', + resetWebsiteWarning: 'message.reset-website-warning', + deleteWebsiteWarning: 'message.delete-website-warning', + deleteTeamWarning: 'message.delete-team-warning', + noResultsFound: 'message.no-results-found', + noWebsitesConfigured: 'message.no-websites-configured', + noTeamWebsites: 'message.no-team-websites', + teamWebsitesInfo: 'message.team-websites-info', + noMatchPassword: 'message.no-match-password', + goToSettings: 'message.go-to-settings', + activeUsers: 'message.active-users', + teamNotFound: 'message.team-not-found', + visitorLog: 'message.visitor-log', + eventLog: 'message.event-log', + incorrectUsernamePassword: 'message.incorrect-username-password', + noEventData: 'message.no-event-data', + newVersionAvailable: 'message.new-version-available', + transferWebsite: 'message.transfer-website', + transferTeamWebsiteToUser: 'message.transfer-team-website-to-user', + transferUserWebsiteToTeam: 'message.transfer-user-website-to-team', + unauthorized: 'message.unauthorized', + badRequest: 'message.bad-request', + forbidden: 'message.forbidden', + notFound: 'message.not-found', + serverError: 'message.sever-error', }; diff --git a/src/components/metrics/ActiveUsers.tsx b/src/components/metrics/ActiveUsers.tsx index d440f9ae7..fda0ba2a4 100644 --- a/src/components/metrics/ActiveUsers.tsx +++ b/src/components/metrics/ActiveUsers.tsx @@ -12,7 +12,7 @@ export function ActiveUsers({ value?: number; refetchInterval?: number; }) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { data } = useActyiveUsersQuery(websiteId, { refetchInterval }); const count = useMemo(() => { @@ -31,7 +31,7 @@ export function ActiveUsers({ - {count} {formatMessage(labels.online)} + {count} {t(labels.online)} diff --git a/src/components/metrics/DatePickerForm.tsx b/src/components/metrics/DatePickerForm.tsx index 59d170937..cb6041af6 100644 --- a/src/components/metrics/DatePickerForm.tsx +++ b/src/components/metrics/DatePickerForm.tsx @@ -20,7 +20,7 @@ export function DatePickerForm({ const [date, setDate] = useState(defaultStartDate || new Date()); const [startDate, setStartDate] = useState(defaultStartDate || new Date()); const [endDate, setEndDate] = useState(defaultEndDate || new Date()); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const disabled = selected.includes(FILTER_DAY) ? isAfter(minDate, date) && isBefore(maxDate, date) @@ -38,8 +38,8 @@ export function DatePickerForm({ - {formatMessage(labels.singleDay)} - {formatMessage(labels.dateRange)} + {t(labels.singleDay)} + {t(labels.dateRange)} @@ -64,9 +64,9 @@ export function DatePickerForm({ )} - + diff --git a/src/components/metrics/ListTable.tsx b/src/components/metrics/ListTable.tsx index 00192d1b2..b2924b374 100644 --- a/src/components/metrics/ListTable.tsx +++ b/src/components/metrics/ListTable.tsx @@ -41,7 +41,7 @@ export function ListTable({ itemCount = 10, currency, }: ListTableProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { isPhone } = useMobile(); const getRow = (row: ListData, index: number) => { @@ -50,7 +50,7 @@ export function ListTable({ return ( } /> ); case 'domain': if (label === 'Other') { - return `(${formatMessage(labels.other)})`; + return `(${t(labels.other)})`; } else { const name = GROUPED_DOMAINS.find(({ domain }) => domain === label)?.name; diff --git a/src/components/metrics/MetricsExpandedTable.tsx b/src/components/metrics/MetricsExpandedTable.tsx index f24c952de..c4c49e75a 100644 --- a/src/components/metrics/MetricsExpandedTable.tsx +++ b/src/components/metrics/MetricsExpandedTable.tsx @@ -33,7 +33,7 @@ export function MetricsExpandedTable({ children, }: MetricsExpandedTableProps) { const [search, setSearch] = useState(''); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const isType = ['browser', 'country', 'device', 'os'].includes(type); const showBounceDuration = SESSION_COLUMNS.includes(type); @@ -79,35 +79,20 @@ export function MetricsExpandedTable({ )}
- + {row => row?.visitors?.toLocaleString()} - + {row => row?.visits?.toLocaleString()} - + {row => row?.pageviews?.toLocaleString()} {showBounceDuration && [ @@ -120,7 +105,7 @@ export function MetricsExpandedTable({ diff --git a/src/components/metrics/MetricsTable.tsx b/src/components/metrics/MetricsTable.tsx index e2fbc287e..8c94b26b4 100644 --- a/src/components/metrics/MetricsTable.tsx +++ b/src/components/metrics/MetricsTable.tsx @@ -32,7 +32,7 @@ export function MetricsTable({ ...props }: MetricsTableProps) { const { updateParams } = useNavigation(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { data, isLoading, isFetching, error } = useWebsiteMetricsQuery(websiteId, { type, limit, @@ -83,7 +83,7 @@ export function MetricsTable({ {showMore && limit && ( - }>{formatMessage(labels.more)} + }>{t(labels.more)} )} diff --git a/src/components/metrics/PageviewsChart.tsx b/src/components/metrics/PageviewsChart.tsx index b83f8dc3a..6727facaa 100644 --- a/src/components/metrics/PageviewsChart.tsx +++ b/src/components/metrics/PageviewsChart.tsx @@ -19,7 +19,7 @@ export interface PageviewsChartProps extends BarChartProps { } export function PageviewsChart({ data, unit, minDate, maxDate, ...props }: PageviewsChartProps) { - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { theme } = useTheme(); const { locale, dateLocale } = useLocale(); const { colors } = useMemo(() => getThemeColors(theme), [theme]); @@ -32,7 +32,7 @@ export function PageviewsChart({ data, unit, minDate, maxDate, ...props }: Pagev datasets: [ { type: 'bar', - label: formatMessage(labels.visitors), + label: t(labels.visitors), data: generateTimeSeries(data.sessions, minDate, maxDate, unit, dateLocale), borderWidth: 1, barPercentage: 0.9, @@ -42,7 +42,7 @@ export function PageviewsChart({ data, unit, minDate, maxDate, ...props }: Pagev }, { type: 'bar', - label: formatMessage(labels.views), + label: t(labels.views), data: generateTimeSeries(data.pageviews, minDate, maxDate, unit, dateLocale), barPercentage: 0.9, categoryPercentage: 0.9, @@ -54,7 +54,7 @@ export function PageviewsChart({ data, unit, minDate, maxDate, ...props }: Pagev ? [ { type: 'line', - label: `${formatMessage(labels.views)} (${formatMessage(labels.previous)})`, + label: `${t(labels.views)} (${t(labels.previous)})`, data: generateTimeSeries( data.compare.pageviews, minDate, @@ -69,7 +69,7 @@ export function PageviewsChart({ data, unit, minDate, maxDate, ...props }: Pagev }, { type: 'line', - label: `${formatMessage(labels.visitors)} (${formatMessage(labels.previous)})`, + label: `${t(labels.visitors)} (${t(labels.previous)})`, data: generateTimeSeries(data.compare.sessions, minDate, maxDate, unit, dateLocale), borderWidth: 2, backgroundColor: '#f15bb5', diff --git a/src/components/metrics/WeeklyTraffic.tsx b/src/components/metrics/WeeklyTraffic.tsx index 40d562d6a..c1c58ee82 100644 --- a/src/components/metrics/WeeklyTraffic.tsx +++ b/src/components/metrics/WeeklyTraffic.tsx @@ -7,7 +7,7 @@ import { getDayOfWeekAsDate } from '@/lib/date'; export function WeeklyTraffic({ websiteId }: { websiteId: string }) { const { data, isLoading, error } = useWeeklyTrafficQuery(websiteId); const { dateLocale } = useLocale(); - const { labels, formatMessage } = useMessages(); + const { labels, t } = useMessages(); const { weekStartsOn } = dateLocale.options; const daysOfWeek = Array(7) .fill(weekStartsOn) @@ -96,7 +96,7 @@ export function WeeklyTraffic({ websiteId }: { websiteId: string }) { - {`${formatMessage(labels.visitors)}: ${count}`} + {`${t(labels.visitors)}: ${count}`} ); diff --git a/src/components/metrics/WorldMap.tsx b/src/components/metrics/WorldMap.tsx index 1939fe89d..f0df71487 100644 --- a/src/components/metrics/WorldMap.tsx +++ b/src/components/metrics/WorldMap.tsx @@ -23,10 +23,10 @@ export function WorldMap({ websiteId, data, ...props }: WorldMapProps) { const { theme } = useTheme(); const { colors } = getThemeColors(theme); const { locale } = useLocale(); - const { formatMessage, labels } = useMessages(); + const { t, labels } = useMessages(); const { countryNames } = useCountryNames(locale); - const visitorsLabel = formatMessage(labels.visitors).toLocaleLowerCase(locale); - const unknownLabel = formatMessage(labels.unknown); + const visitorsLabel = t(labels.visitors).toLocaleLowerCase(locale); + const unknownLabel = t(labels.unknown); const { data: mapData } = useWebsiteMetricsQuery(websiteId, { type: 'country', From a954824f65540fed6a98df2f2c4d8ca487ee6599 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 7 Feb 2026 11:24:01 -0800 Subject: [PATCH 13/55] Add 46 missing translation keys to all locale files. These keys existed in messages.ts but were missing from the JSON files, previously relying on react-intl defaultMessage fallback. Co-Authored-By: Claude Opus 4.6 --- public/intl/messages/ar-SA.json | 50 +++++++++++++++++++++++++++++-- public/intl/messages/be-BY.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/bg-BG.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/bn-BD.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/bs-BA.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/ca-ES.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/cs-CZ.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/da-DK.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/de-CH.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/de-DE.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/el-GR.json | 48 +++++++++++++++++++++++++++++- public/intl/messages/en-GB.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/en-US.json | 50 +++++++++++++++++++++++++++++-- public/intl/messages/es-ES.json | 50 +++++++++++++++++++++++++++++-- public/intl/messages/fa-IR.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/fi-FI.json | 50 +++++++++++++++++++++++++++++-- public/intl/messages/fo-FO.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/fr-FR.json | 52 ++++++++++++++++++++++++++++++--- public/intl/messages/ga-ES.json | 50 +++++++++++++++++++++++++++++-- public/intl/messages/he-IL.json | 48 +++++++++++++++++++++++++++++- public/intl/messages/hi-IN.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/hr-HR.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/hu-HU.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/id-ID.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/it-IT.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/ja-JP.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/km-KH.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/ko-KR.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/lt-LT.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/mn-MN.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/ms-MY.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/my-MM.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/nb-NO.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/nl-NL.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/pl-PL.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/pt-BR.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/pt-PT.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/ro-RO.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/ru-RU.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/si-LK.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/sk-SK.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/sl-SI.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/sv-SE.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/ta-IN.json | 48 +++++++++++++++++++++++++++++- public/intl/messages/th-TH.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/tr-TR.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/uk-UA.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/ur-PK.json | 46 +++++++++++++++++++++++++++++ public/intl/messages/uz-UZ.json | 45 ++++++++++++++++++++++++++++ public/intl/messages/vi-VN.json | 45 ++++++++++++++++++++++++++++ public/intl/messages/zh-CN.json | 15 ++++++++++ public/intl/messages/zh-TW.json | 46 +++++++++++++++++++++++++++++ 52 files changed, 2374 insertions(+), 17 deletions(-) diff --git a/public/intl/messages/ar-SA.json b/public/intl/messages/ar-SA.json index cdf48aa80..7b60b2985 100644 --- a/public/intl/messages/ar-SA.json +++ b/public/intl/messages/ar-SA.json @@ -1,12 +1,16 @@ { "label": { "access-code": "كود الدعوة", + "account": "Account", + "action": "Action", "actions": "الإجراءات", "activity": "سجل الأحداث", "add": "أضِف", "add-board": "أضف لوحة", "add-description": "أضِف وصف", + "add-link": "Add link", "add-member": "أضِف عضو", + "add-pixel": "Add pixel", "add-step": "إضافة خطوة", "add-website": "إضافة موقع", "admin": "مدير", @@ -14,26 +18,34 @@ "after": "يعد", "all": "الكل", "all-time": "كل الوقت", + "analysis": "Analysis", "analytics": "تحليلات", + "application": "Application", "apply": "تطبيق", "attribution": "الإسناد", "attribution-description": "شاهد كيف يتفاعل المستخدمون مع حملاتك التسويقية وما الذي يحفز التحويلات.", + "audience": "Audience", "average": "المتوسط", "back": "للخلف", "before": "قبل", + "behavior": "السلوك", "boards": "لوحات", "bounce-rate": "معدل الارتداد", "breakdown": "التصنيف", "browser": "المتصفح", "browsers": "المتصفحات", + "campaign": "Campaign", "campaigns": "حملات", "cancel": "إلغاء", "change-password": "تغيير كلمة المرور", + "channel": "Channel", "channels": "قنوات", + "chart": "Chart", "cities": "المدن", "city": "المدينة", "clear-all": "مسح الكل", "cohort": "مجموعة", + "cohorts": "Cohorts", "compare": "المقارنة", "compare-dates": "قارن التواريخ", "confirm": "تأكيد", @@ -53,6 +65,7 @@ "create-user": "أنشِئ مستخدم", "created": "أُنشئت", "created-by": "أُنشئ من قبل", + "criteria": "Criteria", "currency": "العملة", "current": "الحالي", "current-password": "كلمة المرور الحالية", @@ -70,16 +83,19 @@ "delete-website": "حذف الموقع", "description": "الوصف", "desktop": "كمبيوتر", + "destination-url": "Destination URL", "details": "تفاصيل", "device": "الجهاز", "devices": "الأجهزة", "direct": "مباشر", "dismiss": "تجاهل", "distinct-id": "معرّف مميز", + "documentation": "Documentation", "does-not-contain": "لا يحتوي على", "does-not-include": "لا يتضمن", "doest-not-exist": "غير موجود", "domain": "النطاق", + "download": "Download", "dropoff": "إنزال", "edit": "تعديل", "edit-dashboard": "عدّل لوحة التحكم", @@ -88,10 +104,12 @@ "enable-share-url": "فعّل مشاركة الرابط", "end-step": "الخطوة الأخيرة", "entry": "رابط الدخول", + "environment": "Environment", "event": "الحدث", "event-data": "تاريخ الحدث", "event-name": "اسم الحدث", "events": "الأحداث", + "exclude-bounce": "Exclude bounce", "exists": "موجود", "exit": "رابط المغادرة", "false": "خطأ", @@ -112,11 +130,14 @@ "greater-than": "أكبَر مِن", "greater-than-equals": "أكبَر مِن أو يساوي", "grouped": "مجمع", + "growth": "Growth", "hostname": "اسم المضيف", + "hour": "Hour", "includes": "يتضمن", "insight": "رؤية معمقة", "insights": "نتائج التحليلات", "insights-description": "تعمق في بياناتك باستخدام الشرائح والتصفيات.", + "invalid-url": "Invalid URL", "is": "يساوي", "is-false": "غير صحيح", "is-not": "لا يساوي", @@ -140,7 +161,9 @@ "leave-team": "مغادرة المجموعة", "less-than": "أقل مِن", "less-than-equals": "أقل مِن أو يساوي", + "link": "Link", "links": "روابط", + "location": "Location", "login": "تسجيل الدخول", "logout": "تسجيل الخروج", "manage": "التحكم", @@ -151,8 +174,10 @@ "member": "عضو", "members": "الأعضاء", "min": "الحد الأدنى", + "minute": "Minute", "mobile": "جوال", "model": "نموذج", + "month": "Month", "more": "المزيد", "my-account": "حسابي", "my-websites": "مواقعي", @@ -183,12 +208,15 @@ "password": "كلمة المرور", "path": "مسار", "paths": "مسارات", + "pixel": "Pixel", "pixels": "بكسلات", "powered-by": "مشغل بواسطة {name}", + "preferences": "Preferences", "previous": "السابق", "previous-period": "الفترة السابقة", "previous-year": "العام السابق", "profile": "الملف الشخصي", + "profiles": "Profiles", "properties": "خصائص", "property": "خاصية", "queries": "استعلامات", @@ -216,8 +244,13 @@ "role": "الصلاحية", "run-query": "شغّل الاستعلام", "save": "حفظ", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "الشاشات", "search": "بحث", + "segment": "Segment", + "segments": "Segments", "select": "اختر", "select-date": "حدد التاريخ", "select-filter": "اختر تصفية", @@ -231,10 +264,14 @@ "share-url": "مشاركة الرابط", "single-day": "يوم واحد", "sms": "SMS", + "source": "Source", "sources": "مصادر", "start-step": "الخطوة الأولى", "steps": "الخطوات", "sum": "المجموع", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "تابلت", "tag": "الوسم", "tags": "الوسوم", @@ -248,6 +285,7 @@ "team-view-only": "عرض الفريق فقط", "team-websites": "مواقع الفريق", "teams": "الفرق", + "term": "Term", "terms": "مصطلحات", "theme": "السمة", "this-month": "الشهر الحالي", @@ -260,23 +298,32 @@ "total": "الإجمالي", "total-records": "إجمالي السجلات", "tracking-code": "كود التتبع", + "traffic": "Traffic", "transactions": "المعاملات", "transfer": "نقل", "transfer-website": "انقل الموقع", "true": "حقيقي", "type": "النوع", "unique": "فريد", + "unique-events": "Unique events", "unique-visitors": "زائرون فريدون", "uniqueCustomers": "العملاء الفريدون", "unknown": "غير معروف", "untitled": "بدون عنوان", "update": "تحديث", + "url": "URL", "user": "المستخدم", "username": "اسم المستخدم", "users": "المستخدمين", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "تابع حملاتك التسويقية باستخدام معلمات UTM.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "القيمة", + "version": "Version", "view": "عرض", "view-details": "عرض التفاصيل", "view-only": "عرض فقط", @@ -289,8 +336,7 @@ "website-id": "معرّف الموقع", "websites": "المواقع", "window": "النافذة", - "yesterday": "الأمس", - "behavior": "السلوك" + "yesterday": "الأمس" }, "message": { "action-confirmation": "اكتب {confirmation} في المربع أدناه للتأكيد.", diff --git a/public/intl/messages/be-BY.json b/public/intl/messages/be-BY.json index b9791cc37..67ef12f7c 100644 --- a/public/intl/messages/be-BY.json +++ b/public/intl/messages/be-BY.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Код доступу", + "account": "Account", + "action": "Action", "actions": "Дзеянні", "activity": "Журнал актыўнасці", "add": "Дадаць", "add-board": "Дадаць дошку", "add-description": "Дадаць апісанне", + "add-link": "Add link", "add-member": "Дадаць удзельніка", + "add-pixel": "Add pixel", "add-step": "Дадаць крок", "add-website": "Дадаць сайт", "admin": "Адміністратар", @@ -14,10 +18,13 @@ "after": "Пасля", "all": "Усё", "all-time": "Увесь час", + "analysis": "Analysis", "analytics": "Аналітыка", + "application": "Application", "apply": "Ужыць", "attribution": "Атрыбуцыя", "attribution-description": "Глядзіце, як карыстальнікі ўзаемадзейнічаюць з вашым маркетынгам і што прыводзіць да канверсій.", + "audience": "Audience", "average": "Сярэдняе", "back": "Назад", "before": "Да", @@ -27,14 +34,18 @@ "breakdown": "Разбіўка", "browser": "Браўзер", "browsers": "Браўзеры", + "campaign": "Campaign", "campaigns": "Кампаніі", "cancel": "Адмена", "change-password": "Змяніць пароль", + "channel": "Channel", "channels": "Каналы", + "chart": "Chart", "cities": "Гарады", "city": "Горад", "clear-all": "Ачысціць усё", "cohort": "Кагорта", + "cohorts": "Cohorts", "compare": "Параўнаць", "compare-dates": "Параўнаць даты", "confirm": "Падцвердзіць", @@ -54,6 +65,7 @@ "create-user": "Стварыць карыстальніка", "created": "Створана", "created-by": "Створана", + "criteria": "Criteria", "currency": "Валюта", "current": "Цяперашні", "current-password": "Цяперашні пароль", @@ -71,16 +83,19 @@ "delete-website": "Выдаліць сайт", "description": "Апісанне", "desktop": "Настольны ПК", + "destination-url": "Destination URL", "details": "Дэталі", "device": "Прылада", "devices": "Прылады", "direct": "Прама", "dismiss": "Адхіліць", "distinct-id": "Унікальны ID", + "documentation": "Documentation", "does-not-contain": "Не ўключае", "does-not-include": "Не ўключае", "doest-not-exist": "Не існуе", "domain": "Дамен", + "download": "Download", "dropoff": "Адмовы", "edit": "Змяніць", "edit-dashboard": "Змяніць інфармацыйную панэль", @@ -89,10 +104,12 @@ "enable-share-url": "Дазволіць дзяліцца спасылкай", "end-step": "Канчатковы крок", "entry": "URL уваходу", + "environment": "Environment", "event": "Падзея", "event-data": "Дадзеныя падзеі", "event-name": "Назва падзеі", "events": "Падзеі", + "exclude-bounce": "Exclude bounce", "exists": "Існуе", "exit": "URL выхаду", "false": "Ложна", @@ -113,11 +130,14 @@ "greater-than": "Больш чым", "greater-than-equals": "Больш чым або роўна", "grouped": "Групаваны", + "growth": "Growth", "hostname": "Імя хаста", + "hour": "Hour", "includes": "Уключае", "insight": "Інсайт", "insights": "Інсайты", "insights-description": "Даследваць дадзеныя з дапамогай сегментаў і фільтраў.", + "invalid-url": "Invalid URL", "is": "З'яўляецца", "is-false": "Ложна", "is-not": "Не з'яўляецца", @@ -141,7 +161,9 @@ "leave-team": "Пакінуць каманду", "less-than": "Менш чым", "less-than-equals": "Менш чым або роўна", + "link": "Link", "links": "Спасылкі", + "location": "Location", "login": "Увайсці", "logout": "Выйсці", "manage": "Кіраваць", @@ -152,8 +174,10 @@ "member": "Удзельнік", "members": "Удзельнікі", "min": "Мінімум", + "minute": "Minute", "mobile": "Мабільны", "model": "Мадэль", + "month": "Month", "more": "Болей", "my-account": "Мой уліковы запіс", "my-websites": "Мае сайты", @@ -184,12 +208,15 @@ "password": "Пароль", "path": "Шлях", "paths": "Шляхи", + "pixel": "Pixel", "pixels": "Пікселі", "powered-by": "Зроблена {name}", + "preferences": "Preferences", "previous": "Папярэдні", "previous-period": "Папярэдні перыяд", "previous-year": "Папярэдні год", "profile": "Профіль", + "profiles": "Profiles", "properties": "Уласцівасці", "property": "Уласцівасць", "queries": "Запыты", @@ -217,8 +244,13 @@ "role": "Роля", "run-query": "Запусціць запыт", "save": "Захаваць", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Экраны", "search": "Пошук", + "segment": "Segment", + "segments": "Segments", "select": "Выбраць", "select-date": "Выбраць дату", "select-filter": "Выбраць фільтр", @@ -232,10 +264,14 @@ "share-url": "Падзяліцца спасылкай", "single-day": "Адзін дзень", "sms": "SMS", + "source": "Source", "sources": "Крыніцы", "start-step": "Першы кроку", "steps": "Крокі", "sum": "Сума", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Планшэт", "tag": "Tag", "tags": "Tags", @@ -249,6 +285,7 @@ "team-view-only": "Толькі для каманднага прагляду", "team-websites": "Сайты каманды", "teams": "Каманды", + "term": "Term", "terms": "Тэрміны", "theme": "Тэма", "this-month": "Гэты месяц", @@ -261,23 +298,32 @@ "total": "Агульная колькасць", "total-records": "Агульная колькасць запісаў", "tracking-code": "Код адсочвання", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Перадаць", "transfer-website": "Перадаць сайт", "true": "Ісціна", "type": "Тып", "unique": "Унікальны", + "unique-events": "Unique events", "unique-visitors": "Унікальныя наведвальнікі", "uniqueCustomers": "Unique Customers", "unknown": "Невядома", "untitled": "Без назвы", "update": "Абнавіць", + "url": "URL", "user": "Карыстальнік", "username": "Імя карыстальніка", "users": "Карыстальнікі", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Сачыць за кампаніямі з дапамогай UTM-метак.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Значэнне", + "version": "Version", "view": "Паглядзець", "view-details": "Паглядзець дэталі", "view-only": "Толькі прагляд", diff --git a/public/intl/messages/bg-BG.json b/public/intl/messages/bg-BG.json index 35f6fd33b..fbb6733ce 100644 --- a/public/intl/messages/bg-BG.json +++ b/public/intl/messages/bg-BG.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Код за достъп", + "account": "Account", + "action": "Action", "actions": "Действия", "activity": "Активностти", "add": "Добави", "add-board": "Добави дъска", "add-description": "Добави описание", + "add-link": "Add link", "add-member": "Добави член", + "add-pixel": "Add pixel", "add-step": "Добави стъпка", "add-website": "Добави уебсайт", "admin": "Администратор", @@ -14,10 +18,13 @@ "after": "След", "all": "Всички", "all-time": "За всички времена", + "analysis": "Analysis", "analytics": "Анализи", + "application": "Application", "apply": "Приложи", "attribution": "Атрибуция", "attribution-description": "Вижте как потребителите взаимодействат с вашия маркетинг и какво води до конверсии.", + "audience": "Audience", "average": "Средно", "back": "Назад", "before": "Преди", @@ -27,14 +34,18 @@ "breakdown": "Разбивка", "browser": "Браузър", "browsers": "Браузъри", + "campaign": "Campaign", "campaigns": "Кампании", "cancel": "Отмени", "change-password": "Смени парола", + "channel": "Channel", "channels": "Канали", + "chart": "Chart", "cities": "Градове", "city": "Град", "clear-all": "Изчисти всички", "cohort": "Кохорта", + "cohorts": "Cohorts", "compare": "Сравни", "compare-dates": "Сравни дати", "confirm": "Потвърди", @@ -54,6 +65,7 @@ "create-user": "Създай потребител", "created": "Създадено", "created-by": "Създадено от", + "criteria": "Criteria", "currency": "Валута", "current": "Текущ", "current-password": "Текуща парола", @@ -71,16 +83,19 @@ "delete-website": "Изтрий уебсайт", "description": "Описание", "desktop": "Десктоп", + "destination-url": "Destination URL", "details": "Детайли", "device": "Устройство", "devices": "Устройства", "direct": "Директно", "dismiss": "Отхвърли", "distinct-id": "Уникален ID", + "documentation": "Documentation", "does-not-contain": "Не съдържа", "does-not-include": "Не включва", "doest-not-exist": "Не съществува", "domain": "Домейн", + "download": "Download", "dropoff": "Отпадане", "edit": "Редактирай", "edit-dashboard": "Редактирай табло", @@ -89,10 +104,12 @@ "enable-share-url": "Активирай Линк за споделяне", "end-step": "Крайна стъпка", "entry": "URL на вход", + "environment": "Environment", "event": "Събитие", "event-data": "Данни за събитие", "event-name": "Име на събитие", "events": "Събития", + "exclude-bounce": "Exclude bounce", "exists": "Съществува", "exit": "URL за изход", "false": "Грешно", @@ -113,11 +130,14 @@ "greater-than": "По-голямо от", "greater-than-equals": "По-голямо или равно на", "grouped": "Групирано", + "growth": "Growth", "hostname": "Име на хост", + "hour": "Hour", "includes": "Включва", "insight": "Прозрение", "insights": "Изводи", "insights-description": "Навлезте по-дълбоко в данните си, като използвате сегменти и филтри.", + "invalid-url": "Invalid URL", "is": "Е", "is-false": "Грешно", "is-not": "Не е", @@ -141,7 +161,9 @@ "leave-team": "Напусни екип", "less-than": "По-малко от", "less-than-equals": "По-малко или равно на", + "link": "Link", "links": "Връзки", + "location": "Location", "login": "Вход", "logout": "Изход", "manage": "Управлявай", @@ -152,8 +174,10 @@ "member": "Член", "members": "Членове", "min": "Минимум", + "minute": "Minute", "mobile": "Мобилен", "model": "Модел", + "month": "Month", "more": "Още", "my-account": "Моят акаунт", "my-websites": "Моите уебсайтове", @@ -184,12 +208,15 @@ "password": "Парола", "path": "Път", "paths": "Пътища", + "pixel": "Pixel", "pixels": "Пиксели", "powered-by": "Поддържано от {name}", + "preferences": "Preferences", "previous": "Предишен", "previous-period": "Предишен период", "previous-year": "Предишна година", "profile": "Профил", + "profiles": "Profiles", "properties": "Свойства", "property": "Свойство", "queries": "Запитвания", @@ -217,8 +244,13 @@ "role": "Роля", "run-query": "Изпълни запитване", "save": "Запази", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Екрани", "search": "Търсене", + "segment": "Segment", + "segments": "Segments", "select": "Избери", "select-date": "Избери дата", "select-filter": "Избери филтър", @@ -232,10 +264,14 @@ "share-url": "Сподели Линк", "single-day": "Един ден", "sms": "SMS", + "source": "Source", "sources": "Източници", "start-step": "Начална стъпка", "steps": "Стъпки", "sum": "Сума", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Таблет", "tag": "Етикет", "tags": "Етикети", @@ -249,6 +285,7 @@ "team-view-only": "Видимо само за членове на екипа", "team-websites": "Уебсайтове на екипа", "teams": "Екипи", + "term": "Term", "terms": "Термини", "theme": "Тема", "this-month": "Този месец", @@ -261,23 +298,32 @@ "total": "Общо", "total-records": "Общо записи", "tracking-code": "Код за проследяване", + "traffic": "Traffic", "transactions": "Транзакции", "transfer": "Прехвърли", "transfer-website": "Прехвърляне на уебсайт", "true": "Вярно", "type": "Вид", "unique": "Уникален", + "unique-events": "Unique events", "unique-visitors": "Уникални посетители", "uniqueCustomers": "Уникални клиенти", "unknown": "Неизвестен", "untitled": "Без заглавие", "update": "Актуализирай", + "url": "URL", "user": "Потребител", "username": "Потребителско име", "users": "Потребители", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Следете кампаниите си чрез UTM параметри.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Стойност", + "version": "Version", "view": "Преглед", "view-details": "Преглед на детайлите", "view-only": "Само за преглед", diff --git a/public/intl/messages/bn-BD.json b/public/intl/messages/bn-BD.json index 41f3553cc..73dc28faf 100644 --- a/public/intl/messages/bn-BD.json +++ b/public/intl/messages/bn-BD.json @@ -1,12 +1,16 @@ { "label": { "access-code": "এক্সেস কোড", + "account": "Account", + "action": "Action", "actions": "অ্যাকশনস", "activity": "একটিভিটি দেখুন", "add": "যুক্ত করুন", "add-board": "বোর্ড যুক্ত করুন", "add-description": "বর্ননা যোগ করুন", + "add-link": "Add link", "add-member": "সদস্য যোগ করুন", + "add-pixel": "Add pixel", "add-step": "পদ যোগ করুন", "add-website": "ওয়েবসাইট যুক্ত করুন", "admin": "অ্যাডমিন", @@ -14,10 +18,13 @@ "after": "পরে", "all": "সবগুলো", "all-time": "সব সময়", + "analysis": "Analysis", "analytics": "বিশ্লেষণ", + "application": "Application", "apply": "প্রয়োগ করুন", "attribution": "অ্যাট্রিবিউশন", "attribution-description": "দেখুন ব্যবহারকারীরা কীভাবে আপনার মার্কেটিংয়ের সাথে যুক্ত হয় এবং কীভাবে রূপান্তর ঘটে।", + "audience": "Audience", "average": "গড়", "back": "পেছনে", "before": "পূর্বে", @@ -27,14 +34,18 @@ "breakdown": "ভাঙ্গন", "browser": "ব্রাউজার", "browsers": "ব্রাউজার সমূহ", + "campaign": "Campaign", "campaigns": "প্রচারণা", "cancel": "বাতিল", "change-password": "পাসওয়ার্ড পরিবর্তন করুন", + "channel": "Channel", "channels": "চ্যানেলসমূহ", + "chart": "Chart", "cities": "শহরসমূহ", "city": "শহর", "clear-all": "সব মুছে ফেলুন", "cohort": "কোহর্ট", + "cohorts": "Cohorts", "compare": "তুলনা করুন", "compare-dates": "তারিখ তুলনা করুন", "confirm": "নিশ্চিত করুন", @@ -54,6 +65,7 @@ "create-user": "ব্যবহারকারী তৈরি করুন", "created": "তৈরি করা হয়েছে", "created-by": "তৈরি করেছেন", + "criteria": "Criteria", "currency": "মুদ্রা", "current": "বর্তমান", "current-password": "বর্তমান পাসওয়ার্ড", @@ -71,16 +83,19 @@ "delete-website": "ওয়েবসাইট মুছুন", "description": "বর্ণনা", "desktop": "ডেস্কটপ", + "destination-url": "Destination URL", "details": "বিস্তারিত", "device": "ডিভাইস", "devices": "ডিভাইস গুলো", "direct": "সরাসরি", "dismiss": "বাতিল", "distinct-id": "স্বতন্ত্র আইডি", + "documentation": "Documentation", "does-not-contain": "ধারণ করে না", "does-not-include": "অন্তর্ভুক্ত নয়", "doest-not-exist": "অস্তিত্ব নেই", "domain": "ডোমেইন", + "download": "Download", "dropoff": "ছেড়ে যাওয়া", "edit": "সম্পাদনা করুন", "edit-dashboard": "ড্যাশবোর্ড সম্পাদনা করুন", @@ -89,10 +104,12 @@ "enable-share-url": "শেয়ার ইউআরএল শেয়ার করুন", "end-step": "শেষ ধাপ", "entry": "প্রবেশ URL", + "environment": "Environment", "event": "ইভেন্ট", "event-data": "ইভেন্ট ডেটা", "event-name": "ইভেন্টের নাম", "events": "ঘটনা", + "exclude-bounce": "Exclude bounce", "exists": "অস্তিত্ব আছে", "exit": "প্রস্থান URL", "false": "মিথ্যা", @@ -113,11 +130,14 @@ "greater-than": "এর চেয়ে বেশি", "greater-than-equals": "এর চেয়ে বেশি বা সমান", "grouped": "গ্রুপ করা", + "growth": "Growth", "hostname": "হোস্টনেম", + "hour": "Hour", "includes": "অন্তর্ভুক্ত", "insight": "অন্তর্দৃষ্টি", "insights": "Insights", "insights-description": "Dive deeper into your data by using segments and filters.", + "invalid-url": "Invalid URL", "is": "হয়", "is-false": "মিথ্যা", "is-not": "নয়", @@ -141,7 +161,9 @@ "leave-team": "দল ত্যাগ করুন", "less-than": "এর চেয়ে কম", "less-than-equals": "এর চেয়ে কম বা সমান", + "link": "Link", "links": "লিঙ্কসমূহ", + "location": "Location", "login": "লগিন", "logout": "লগ আউট", "manage": "পরিচালনা করুন", @@ -152,8 +174,10 @@ "member": "সদস্য", "members": "সদস্যগণ", "min": "সর্বনিম্ন", + "minute": "Minute", "mobile": "মুঠোফোন", "model": "মডেল", + "month": "Month", "more": "আরও", "my-account": "আমার অ্যাকাউন্ট", "my-websites": "আমার ওয়েবসাইটসমূহ", @@ -184,12 +208,15 @@ "password": "পাসওয়ার্ড", "path": "পথ", "paths": "পথসমূহ", + "pixel": "Pixel", "pixels": "পিক্সেল", "powered-by": "{name} দ্বারা চালিত", + "preferences": "Preferences", "previous": "পূর্ববর্তী", "previous-period": "পূর্ববর্তী সময়কাল", "previous-year": "গত বছর", "profile": "প্রোফাইল", + "profiles": "Profiles", "properties": "বৈশিষ্ট্যসমূহ", "property": "বৈশিষ্ট্য", "queries": "Queries", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "সংরক্ষণ", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "স্ক্রিনগুলি", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "ফিল্টার নির্বাচন করুন", @@ -232,10 +264,14 @@ "share-url": "এটি {target} এর জন্য প্রকাশ্যে শেয়ার করার ইউআরএল।", "single-day": "একদিন", "sms": "SMS", + "source": "Source", "sources": "উৎসসমূহ", "start-step": "Start Step", "steps": "Steps", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "ট্যাবলেট", "tag": "ট্যাগ", "tags": "ট্যাগসমূহ", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "শর্তাবলী", "theme": "থিম", "this-month": "এই মাস", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "ট্র্যাকিং কোড", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "অনন্য ভিজিটর", "uniqueCustomers": "Unique Customers", "unknown": "অজানা", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "ব্যবহারকারীর নাম", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "বিস্তারিত দেখুন", "view-only": "View only", diff --git a/public/intl/messages/bs-BA.json b/public/intl/messages/bs-BA.json index c451ff8ea..86952a2c4 100644 --- a/public/intl/messages/bs-BA.json +++ b/public/intl/messages/bs-BA.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Pristupni kod", + "account": "Account", + "action": "Action", "actions": "Akcije", "activity": "Log aktivnosti", "add": "Dodaj", "add-board": "Dodaj ploču", "add-description": "Dodaj opis", + "add-link": "Add link", "add-member": "Dodaj člana", + "add-pixel": "Add pixel", "add-step": "Dodaj korak", "add-website": "Dodaj web stranicu", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "Nakon", "all": "Sve", "all-time": "Cijelo vrijeme", + "analysis": "Analysis", "analytics": "Analitike", + "application": "Application", "apply": "Primijeni", "attribution": "Atribucija", "attribution-description": "Pogledajte kako korisnici komuniciraju s vašim marketingom i šta dovodi do konverzija.", + "audience": "Audience", "average": "Prosjek", "back": "Nazad", "before": "Prije", @@ -27,14 +34,18 @@ "breakdown": "Pregled po kategorijama", "browser": "Browser", "browsers": "Browseri", + "campaign": "Campaign", "campaigns": "Kampanje", "cancel": "Otkaži", "change-password": "Promijeni šifru", + "channel": "Channel", "channels": "Kanali", + "chart": "Chart", "cities": "Gradovi", "city": "Grad", "clear-all": "Očisti sve", "cohort": "Kohorta", + "cohorts": "Cohorts", "compare": "Uporedi", "compare-dates": "Uporedi datume", "confirm": "Potvrdi", @@ -54,6 +65,7 @@ "create-user": "Kreiraj korisnika", "created": "Kreiraj", "created-by": "Kreirao", + "criteria": "Criteria", "currency": "Valuta", "current": "Trenutno", "current-password": "Trenutna šifra", @@ -71,16 +83,19 @@ "delete-website": "Izbriši web stranicu", "description": "Opis", "desktop": "Desktop", + "destination-url": "Destination URL", "details": "Detalji", "device": "Uređaj", "devices": "Uređaji", "direct": "Direktno", "dismiss": "Odbaci", "distinct-id": "Jedinstveni ID", + "documentation": "Documentation", "does-not-contain": "Ne sadrži", "does-not-include": "Ne uključuje", "doest-not-exist": "Ne postoji", "domain": "Domena", + "download": "Download", "dropoff": "Odlazak", "edit": "Uredi", "edit-dashboard": "Uredi dashboard", @@ -89,10 +104,12 @@ "enable-share-url": "Omogući URL za dijeljenje", "end-step": "Završni korak", "entry": "URL ulaza", + "environment": "Environment", "event": "Događaj", "event-data": "Podaci o događaju", "event-name": "Naziv događaja", "events": "Događaji", + "exclude-bounce": "Exclude bounce", "exists": "Postoji", "exit": "Exit URL", "false": "Ne", @@ -113,11 +130,14 @@ "greater-than": "Veće od", "greater-than-equals": "Veće od ili jednako", "grouped": "Grupisano", + "growth": "Growth", "hostname": "Naziv hosta", + "hour": "Hour", "includes": "Uključuje", "insight": "Uvid", "insights": "Uvidi", "insights-description": "Zaronite dublje u vaše podatke korištenjem segmenata i filtera", + "invalid-url": "Invalid URL", "is": "Jeste", "is-false": "Nije tačno", "is-not": "Nije", @@ -141,7 +161,9 @@ "leave-team": "Napusti tim", "less-than": "Manje od", "less-than-equals": "Manje od ili jednako", + "link": "Link", "links": "Linkovi", + "location": "Location", "login": "Login", "logout": "Logout", "manage": "Manage", @@ -152,8 +174,10 @@ "member": "Član", "members": "Članovi", "min": "Min", + "minute": "Minute", "mobile": "Mobile", "model": "Model", + "month": "Month", "more": "Više", "my-account": "Moj račun", "my-websites": "Moje web stranice", @@ -184,12 +208,15 @@ "password": "Šifra", "path": "Putanja", "paths": "Putanje", + "pixel": "Pixel", "pixels": "Pikseli", "powered-by": "Omogućeno s {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "Profil", + "profiles": "Profiles", "properties": "Svojstva", "property": "Svojstvo", "queries": "Upiti", @@ -217,8 +244,13 @@ "role": "Rola", "run-query": "Pokreni query", "save": "Sačuvaj", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Ekrani", "search": "Traži", + "segment": "Segment", + "segments": "Segments", "select": "Odaberi", "select-date": "Odaberi datum", "select-filter": "Odaberi filter", @@ -232,10 +264,14 @@ "share-url": "URL za dijeljenje", "single-day": "Jedan dan", "sms": "SMS", + "source": "Source", "sources": "Izvori", "start-step": "Početni korak", "steps": "Koraci", "sum": "Suma", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Oznaka", "tags": "Oznake", @@ -249,6 +285,7 @@ "team-view-only": "Samo tim može vidjeti", "team-websites": "Timske web stranice", "teams": "Timovi", + "term": "Term", "terms": "Pojmovi", "theme": "Teme", "this-month": "Ovaj mjesec", @@ -261,23 +298,32 @@ "total": "Ukupno", "total-records": "Ukupno redova", "tracking-code": "Kod za praćenje", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer web stranice", "true": "Da", "type": "Tip", "unique": "Jedinstveno", + "unique-events": "Unique events", "unique-visitors": "Jedinstvenih posjetitelja", "uniqueCustomers": "Unique Customers", "unknown": "Nepoznato", "untitled": "Bezimeno", "update": "Update", + "url": "URL", "user": "Korisnik", "username": "Korisničko ime", "users": "Korisnici", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Pratite vaše kampanje kroz UTM parametre.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Vrijednost", + "version": "Version", "view": "Pregled", "view-details": "Pogledaj detalje", "view-only": "Samo gledanje", diff --git a/public/intl/messages/ca-ES.json b/public/intl/messages/ca-ES.json index 710922e31..0e50da6a1 100644 --- a/public/intl/messages/ca-ES.json +++ b/public/intl/messages/ca-ES.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Codi d'accés", + "account": "Account", + "action": "Action", "actions": "Accions", "activity": "Registre d'activitat", "add": "Afegir", "add-board": "Afegir tauler", "add-description": "Afegir descripció", + "add-link": "Add link", "add-member": "Afegir membre", + "add-pixel": "Add pixel", "add-step": "Afegir pas", "add-website": "Afegir lloc web", "admin": "Administrador", @@ -14,10 +18,13 @@ "after": "Després", "all": "Tots", "all-time": "Sempre", + "analysis": "Analysis", "analytics": "Analítiques", + "application": "Application", "apply": "Aplica", "attribution": "Atribució", "attribution-description": "Vegeu com els usuaris interactuen amb el vostre màrqueting i què impulsa les conversions.", + "audience": "Audience", "average": "Mitjana", "back": "Enrere", "before": "Abans", @@ -27,14 +34,18 @@ "breakdown": "Desglossament", "browser": "Navegador", "browsers": "Navegadors", + "campaign": "Campaign", "campaigns": "Campanyes", "cancel": "Cancel·la", "change-password": "Canvia la contrasenya", + "channel": "Channel", "channels": "Canals", + "chart": "Chart", "cities": "Ciutats", "city": "Ciutat", "clear-all": "Netejar tot", "cohort": "Cohort", + "cohorts": "Cohorts", "compare": "Comparar", "compare-dates": "Comparar dates", "confirm": "Confirmar", @@ -54,6 +65,7 @@ "create-user": "Crear usuari", "created": "Creat", "created-by": "Creat Per", + "criteria": "Criteria", "currency": "Moneda", "current": "Actual", "current-password": "Contrasenya actual", @@ -71,16 +83,19 @@ "delete-website": "Esborra el lloc web", "description": "Descripció", "desktop": "Escriptori", + "destination-url": "Destination URL", "details": "Detalls", "device": "Dispositiu", "devices": "Dispositius", "direct": "Directe", "dismiss": "Descarta", "distinct-id": "ID distintiu", + "documentation": "Documentation", "does-not-contain": "No conté", "does-not-include": "No inclou", "doest-not-exist": "No existeix", "domain": "Domini", + "download": "Download", "dropoff": "Abandonament", "edit": "Edita", "edit-dashboard": "Edita panell", @@ -89,10 +104,12 @@ "enable-share-url": "Activa l'enllaç per compartir", "end-step": "Pas Final", "entry": "URL d'entrada", + "environment": "Environment", "event": "Esdeveniment", "event-data": "Dades de l'esdeveniment", "event-name": "Nom de l'esdeveniment", "events": "Esdeveniments", + "exclude-bounce": "Exclude bounce", "exists": "Existeix", "exit": "URL de sortida", "false": "Fals", @@ -113,11 +130,14 @@ "greater-than": "Més gran que", "greater-than-equals": "Més gran que o igual a", "grouped": "Agrupat", + "growth": "Growth", "hostname": "Nom de host", + "hour": "Hour", "includes": "Inclou", "insight": "Visió", "insights": "Insights", "insights-description": "Aprofundeixi en les seves dades mitjançant l'ús de segments i filtres.", + "invalid-url": "Invalid URL", "is": "És igual a", "is-false": "És fals", "is-not": "No és igual a", @@ -141,7 +161,9 @@ "leave-team": "Abandonar equip", "less-than": "Menor que", "less-than-equals": "Menor que o igual a", + "link": "Link", "links": "Enllaços", + "location": "Location", "login": "Connecta't", "logout": "Desconnecta't", "manage": "Administrar", @@ -152,8 +174,10 @@ "member": "Membre", "members": "Membres", "min": "Mín", + "minute": "Minute", "mobile": "Mòbil", "model": "Model", + "month": "Month", "more": "Més", "my-account": "El meu compte", "my-websites": "Els meus llocs web", @@ -184,12 +208,15 @@ "password": "Contrasenya", "path": "Camí", "paths": "Camins", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "Funciona amb {name}", + "preferences": "Preferences", "previous": "Anterior", "previous-period": "Període anterior", "previous-year": "Any anterior", "profile": "Perfil", + "profiles": "Profiles", "properties": "Propietats", "property": "Propietat", "queries": "Consultes", @@ -217,8 +244,13 @@ "role": "Rol", "run-query": "Executar consulta", "save": "Desa", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Pantalles", "search": "Buscar", + "segment": "Segment", + "segments": "Segments", "select": "Seleccionar", "select-date": "Seleccionar data", "select-filter": "Seleccionar filtre", @@ -232,10 +264,14 @@ "share-url": "Enllaç per compartir", "single-day": "Un sol dia", "sms": "SMS", + "source": "Source", "sources": "Fonts", "start-step": "Pas inicial", "steps": "Pasos", "sum": "Suma", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tauleta", "tag": "Etiqueta", "tags": "Etiquetes", @@ -249,6 +285,7 @@ "team-view-only": "Vista només de l'equip", "team-websites": "Llocs web de l'equip", "teams": "Equips", + "term": "Term", "terms": "Termes", "theme": "Tema", "this-month": "Aquest mes", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total de registres", "tracking-code": "Codi de seguiment", + "traffic": "Traffic", "transactions": "Transaccions", "transfer": "Transferir", "transfer-website": "Transferir lloc web", "true": "Cert", "type": "Tipus", "unique": "Únic", + "unique-events": "Unique events", "unique-visitors": "Visitants únics", "uniqueCustomers": "Clients Únics", "unknown": "Desconegut", "untitled": "Sense títol", "update": "Actualitzar", + "url": "URL", "user": "Usuari", "username": "Nom d'usuari", "users": "Usuaris", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Rastreji les seves campanyes a través de paràmetres UTM.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Valor", + "version": "Version", "view": "Visualitzar", "view-details": "Veure els detalls", "view-only": "Només veure", diff --git a/public/intl/messages/cs-CZ.json b/public/intl/messages/cs-CZ.json index 6ab0fc5e2..276247e65 100644 --- a/public/intl/messages/cs-CZ.json +++ b/public/intl/messages/cs-CZ.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Přístupový kód", + "account": "Account", + "action": "Action", "actions": "Akce", "activity": "Log aktivity", "add": "Přidat", "add-board": "Přidat nástěnku", "add-description": "Přidat popis", + "add-link": "Add link", "add-member": "Přidat člena", + "add-pixel": "Add pixel", "add-step": "Přidat krok", "add-website": "Přidat web", "admin": "Administrátor", @@ -14,10 +18,13 @@ "after": "Po", "all": "Vše", "all-time": "Celá doba", + "analysis": "Analysis", "analytics": "Analytika", + "application": "Application", "apply": "Použít", "attribution": "Atribuce", "attribution-description": "Podívejte se, jak uživatelé interagují s vaším marketingem a co vede ke konverzím.", + "audience": "Audience", "average": "Průměr", "back": "Zpět", "before": "Před", @@ -27,14 +34,18 @@ "breakdown": "Rozpis", "browser": "Prohlížeč", "browsers": "Prohlížeče", + "campaign": "Campaign", "campaigns": "Kampaně", "cancel": "Zrušit", "change-password": "Změnit heslo", + "channel": "Channel", "channels": "Kanály", + "chart": "Chart", "cities": "Města", "city": "Město", "clear-all": "Vyčistit vše", "cohort": "Kohorta", + "cohorts": "Cohorts", "compare": "Porovnat", "compare-dates": "Porovnat data", "confirm": "Potvrdit", @@ -54,6 +65,7 @@ "create-user": "Vytvořit uživatele", "created": "Vytvořeno", "created-by": "Created By", + "criteria": "Criteria", "currency": "Měna", "current": "Aktuální", "current-password": "Aktuální heslo", @@ -71,16 +83,19 @@ "delete-website": "Smazat web", "description": "Popis", "desktop": "Stolní počítač", + "destination-url": "Destination URL", "details": "Detaily", "device": "Zařízení", "devices": "Zařízení", "direct": "Přímý", "dismiss": "Odejít", "distinct-id": "Jedinečné ID", + "documentation": "Documentation", "does-not-contain": "Neobsahuje", "does-not-include": "Nezahrnuje", "doest-not-exist": "Neexistuje", "domain": "Doména", + "download": "Download", "dropoff": "Opuštění", "edit": "Upravit", "edit-dashboard": "Upravit dashboard", @@ -89,10 +104,12 @@ "enable-share-url": "Povolit sdílení URL", "end-step": "Konečný krok", "entry": "Vstupní URL", + "environment": "Environment", "event": "Událost", "event-data": "Data události", "event-name": "Název události", "events": "Události", + "exclude-bounce": "Exclude bounce", "exists": "Existuje", "exit": "Exit URL", "false": "Nepravda", @@ -113,11 +130,14 @@ "greater-than": "Větší než", "greater-than-equals": "Větší nebo rovno", "grouped": "Seskupeno", + "growth": "Growth", "hostname": "Název hostitele", + "hour": "Hour", "includes": "Zahrnuje", "insight": "Pohled", "insights": "Pohledy", "insights-description": "Ponořte se hlouběji do svých dat pomocí segmentů a filtrů.", + "invalid-url": "Invalid URL", "is": "Je", "is-false": "Nepravda", "is-not": "Není", @@ -141,7 +161,9 @@ "leave-team": "Opustit tým", "less-than": "Méně než", "less-than-equals": "Méně nebo rovno", + "link": "Link", "links": "Odkazy", + "location": "Location", "login": "Přihlásit", "logout": "Odhlásit", "manage": "Spravovat", @@ -152,8 +174,10 @@ "member": "Člen", "members": "Členové", "min": "Min", + "minute": "Minute", "mobile": "Mobilní telefon", "model": "Model", + "month": "Month", "more": "Více", "my-account": "Můj účet", "my-websites": "Mé weby", @@ -184,12 +208,15 @@ "password": "Heslo", "path": "Cesta", "paths": "Cesty", + "pixel": "Pixel", "pixels": "Pixely", "powered-by": "Běží na {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "Profil", + "profiles": "Profiles", "properties": "Vlastnosti", "property": "Vlastnost", "queries": "Dotazy", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Spustit dotaz", "save": "Uložit", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Obrazovky", "search": "Hledat", + "segment": "Segment", + "segments": "Segments", "select": "Vybrat", "select-date": "Vybrat datum", "select-filter": "Vybrat filtr", @@ -232,10 +264,14 @@ "share-url": "URL pro sdílení", "single-day": "Jeden den", "sms": "SMS", + "source": "Source", "sources": "Zdroje", "start-step": "Počáteční krok", "steps": "Kroky", "sum": "Součet", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Štítek", "tags": "Štítky", @@ -249,6 +285,7 @@ "team-view-only": "Pouze pro zobrazení týmu", "team-websites": "Weby týmu", "teams": "Týmy", + "term": "Term", "terms": "Termíny", "theme": "Téma", "this-month": "Tento měsíc", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "Sledovací kód", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Jedinečné návštěvy", "uniqueCustomers": "Unique Customers", "unknown": "Neznámý", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "Uživatelské jméno", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "Zobrazit detaily", "view-only": "View only", diff --git a/public/intl/messages/da-DK.json b/public/intl/messages/da-DK.json index 187430d1e..8ab9bf1fe 100644 --- a/public/intl/messages/da-DK.json +++ b/public/intl/messages/da-DK.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Adgangskode", + "account": "Account", + "action": "Action", "actions": "Handlinger", "activity": "Aktivitetslog", "add": "Tilføj", "add-board": "Tilføj tavle", "add-description": "Tilføj beskrivelse", + "add-link": "Add link", "add-member": "Tilføj medlem", + "add-pixel": "Add pixel", "add-step": "Tilføj trin", "add-website": "Tilføj hjemmeside", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "Efter", "all": "Alle", "all-time": "Altid", + "analysis": "Analysis", "analytics": "Analyser", + "application": "Application", "apply": "Anvend", "attribution": "Attribuering", "attribution-description": "Se, hvordan brugere interagerer med din markedsføring, og hvad der driver konverteringer.", + "audience": "Audience", "average": "Gennemsnit", "back": "Tilbage", "before": "Før", @@ -27,14 +34,18 @@ "breakdown": "Opdeling", "browser": "Browser", "browsers": "Browsere", + "campaign": "Campaign", "campaigns": "Kampagner", "cancel": "Afvis", "change-password": "Skift adgangskode", + "channel": "Channel", "channels": "Kanaler", + "chart": "Chart", "cities": "Byer", "city": "By", "clear-all": "Ryd alt", "cohort": "Kohorte", + "cohorts": "Cohorts", "compare": "Sammenlign", "compare-dates": "Sammenlign datoer", "confirm": "Bekræft", @@ -54,6 +65,7 @@ "create-user": "Opret bruger", "created": "Oprettet", "created-by": "Oprettet af", + "criteria": "Criteria", "currency": "Valuta", "current": "Nuværende", "current-password": "Nuværende adgangskode", @@ -71,16 +83,19 @@ "delete-website": "Slet hjemmeside", "description": "Beskrivelse", "desktop": "Skrivebord", + "destination-url": "Destination URL", "details": "Detaljer", "device": "Enhed", "devices": "Enheder", "direct": "Direkte", "dismiss": "Afvis", "distinct-id": "Unikt ID", + "documentation": "Documentation", "does-not-contain": "Indeholder ikke", "does-not-include": "Inkluderer ikke", "doest-not-exist": "Findes ikke", "domain": "Domæne", + "download": "Download", "dropoff": "Frafald", "edit": "Rediger", "edit-dashboard": "Rediger betjeningspanel", @@ -89,10 +104,12 @@ "enable-share-url": "Aktivér delings-URL", "end-step": "Sluttrin", "entry": "Indgangs-URL", + "environment": "Environment", "event": "Hændelse", "event-data": "Hændelsesdata", "event-name": "Hændelsesnavn", "events": "Hændelser", + "exclude-bounce": "Exclude bounce", "exists": "Findes", "exit": "Udgangs-URL", "false": "Falsk", @@ -113,11 +130,14 @@ "greater-than": "Større end", "greater-than-equals": "Større end eller lig med", "grouped": "Gruperet", + "growth": "Growth", "hostname": "Værtsnavn", + "hour": "Hour", "includes": "Inkluderer", "insight": "Indsigt", "insights": "Indsigter", "insights-description": "Dyk dybere ned i dine data ved at bruge segmenter og filtre.", + "invalid-url": "Invalid URL", "is": "Er", "is-false": "Er falsk", "is-not": "Er ikke", @@ -141,7 +161,9 @@ "leave-team": "Forlad team", "less-than": "Mindre end", "less-than-equals": "Mindre end eller lig med", + "link": "Link", "links": "Links", + "location": "Location", "login": "Log ind", "logout": "Log ud", "manage": "Administrer", @@ -152,8 +174,10 @@ "member": "Medlem", "members": "Medlemmer", "min": "Min", + "minute": "Minute", "mobile": "Mobil", "model": "Model", + "month": "Month", "more": "Mere", "my-account": "Min konto", "my-websites": "Mine hjemmesider", @@ -184,12 +208,15 @@ "password": "Adgangskode", "path": "Sti", "paths": "Stier", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "Drevet af {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "Profil", + "profiles": "Profiles", "properties": "Egenskaber", "property": "Egenskab", "queries": "Forespørgsler", @@ -217,8 +244,13 @@ "role": "Rolle", "run-query": "Kør forespørgsel", "save": "Gem", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Skærme", "search": "Søg", + "segment": "Segment", + "segments": "Segments", "select": "Vælg", "select-date": "Vælg dato", "select-filter": "Vælg filter", @@ -232,10 +264,14 @@ "share-url": "Del URL", "single-day": "Enkelt dag", "sms": "SMS", + "source": "Source", "sources": "Kilder", "start-step": "Starttrin", "steps": "Trin", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Tag", "tags": "Tags", @@ -249,6 +285,7 @@ "team-view-only": "Kun visning af team", "team-websites": "Teamets hjemmesider", "teams": "Teams", + "term": "Term", "terms": "Vilkår", "theme": "Tema", "this-month": "Denne måned", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "Sporingskode", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Unikke besøgende", "uniqueCustomers": "Unique Customers", "unknown": "Ukendt", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "Brugernavn", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "Vis detajler", "view-only": "View only", diff --git a/public/intl/messages/de-CH.json b/public/intl/messages/de-CH.json index e69c4ee44..cc37cd897 100644 --- a/public/intl/messages/de-CH.json +++ b/public/intl/messages/de-CH.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Zuegangscode", + "account": "Account", + "action": "Action", "actions": "Aktione", "activity": "Aktivitätsverlauf", "add": "hinzuefüege", "add-board": "Board hinzuefüege", "add-description": "Beschriibig hinzuefüege", + "add-link": "Add link", "add-member": "Mitglied hinzuefüege", + "add-pixel": "Add pixel", "add-step": "Schritt hinzuefüege", "add-website": "Websiite hinzuefüege", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "Nach", "all": "Alli", "all-time": "Gsamte Zitruum", + "analysis": "Analysis", "analytics": "Analytik", + "application": "Application", "apply": "Aawände", "attribution": "Zuordnig", "attribution-description": "Lueg wie d'Benutzer mit dim Marketing interagiere und was zu Umwandlige führt.", + "audience": "Audience", "average": "Durchschnitt", "back": "Zrugg", "before": "Vor", @@ -27,14 +34,18 @@ "breakdown": "Uufschlüsselig", "browser": "Browser", "browsers": "Browser", + "campaign": "Campaign", "campaigns": "Kampagne", "cancel": "Abbreche", "change-password": "Passwort ändere", + "channel": "Channel", "channels": "Kanäle", + "chart": "Chart", "cities": "Städt", "city": "Stadt", "clear-all": "Alles lösche", "cohort": "Gruppe", + "cohorts": "Cohorts", "compare": "Vergliiche", "compare-dates": "Datum vergleiche", "confirm": "Bestätige", @@ -54,6 +65,7 @@ "create-user": "Benutzer erstelle", "created": "Erstellt", "created-by": "Erstellt vo", + "criteria": "Criteria", "currency": "Währung", "current": "Aktuell", "current-password": "Aktuells Passwort", @@ -71,16 +83,19 @@ "delete-website": "Websiite lösche", "description": "Beschriibig", "desktop": "Desktop", + "destination-url": "Destination URL", "details": "Details", "device": "Grät", "devices": "Grät", "direct": "Direkt", "dismiss": "Verwärfe", "distinct-id": "Eindeutigi ID", + "documentation": "Documentation", "does-not-contain": "Enthaltet nid", "does-not-include": "Isch nid debii", "doest-not-exist": "Existiert nid", "domain": "Domain", + "download": "Download", "dropoff": "Absprung", "edit": "Bearbeite", "edit-dashboard": "Dashboard bearbeite", @@ -89,10 +104,12 @@ "enable-share-url": "Freigab-URL aktiviere", "end-step": "Schlussschritt", "entry": "Iigangs URL", + "environment": "Environment", "event": "Ereigniss", "event-data": "Ereigniss Date", "event-name": "Ereignissname", "events": "Ereigniss", + "exclude-bounce": "Exclude bounce", "exists": "Existiert", "exit": "Uusgangs URL", "false": "Falsch", @@ -113,11 +130,14 @@ "greater-than": "Grösser als", "greater-than-equals": "Grösser oder gliich", "grouped": "Gruppiert", + "growth": "Growth", "hostname": "Hostnam", + "hour": "Hour", "includes": "Isch debii", "insight": "Iiblick", "insights": "Iiblick", "insights-description": "Vertüfed Sie sich i Ihri Date, mit Hilf vo Segment und Filter.", + "invalid-url": "Invalid URL", "is": "Isch", "is-false": "Isch falsch", "is-not": "Isch nid", @@ -141,7 +161,9 @@ "leave-team": "Team verlah", "less-than": "Kliiner als", "less-than-equals": "Kliiner oder gliich", + "link": "Link", "links": "Links", + "location": "Location", "login": "Aamälde", "logout": "Abmälde", "manage": "Verwalte", @@ -152,8 +174,10 @@ "member": "Mitglied", "members": "Mitglieder", "min": "Min", + "minute": "Minute", "mobile": "Händy", "model": "Model", + "month": "Month", "more": "Meh", "my-account": "Min Account", "my-websites": "Mini Websiite", @@ -184,12 +208,15 @@ "password": "Passwort", "path": "Pfad", "paths": "Pfade", + "pixel": "Pixel", "pixels": "Pixel", "powered-by": "Betriibe dur {name}", + "preferences": "Preferences", "previous": "Vorherig", "previous-period": "Vorherigi Periode", "previous-year": "Vorherigs Jahr", "profile": "Profil", + "profiles": "Profiles", "properties": "Eigeschafte", "property": "Eigeschafte", "queries": "Abfrage", @@ -217,8 +244,13 @@ "role": "Rollä", "run-query": "Abfrag starte", "save": "Speichere", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Bildschirmuflösige", "search": "Sueche", + "segment": "Segment", + "segments": "Segments", "select": "Auswähle", "select-date": "Datä uuswähle", "select-filter": "Filter uuswähle", @@ -232,10 +264,14 @@ "share-url": "Freigab-URL", "single-day": "Ein Tag", "sms": "SMS", + "source": "Source", "sources": "Quälle", "start-step": "Startschritt", "steps": "Schritt", "sum": "Summe", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Tag", "tags": "Stichwort", @@ -249,6 +285,7 @@ "team-view-only": "Nur für Teammitglieder sichtbar", "team-websites": "Team Websiite", "teams": "Teams", + "term": "Term", "terms": "Bedingige", "theme": "Thema", "this-month": "Dä Monet", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Gsamti Datesätz", "tracking-code": "Tracking Code", + "traffic": "Traffic", "transactions": "Transaktione", "transfer": "Transferiere", "transfer-website": "Websiite transferiere", "true": "Wahr", "type": "Typ", "unique": "Einzigartigi", + "unique-events": "Unique events", "unique-visitors": "Einzigartigi Bsuecher", "uniqueCustomers": "Einzigartigi Kunde", "unknown": "Unbekannt", "untitled": "Unbennant", "update": "Update", + "url": "URL", "user": "Benutzer", "username": "Benutzername", "users": "Benutzer", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Tracked Sie Ihri Kampagnen mit UTM Parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Wärt", + "version": "Version", "view": "Azeige", "view-details": "Details azeige", "view-only": "Nume aluege", diff --git a/public/intl/messages/de-DE.json b/public/intl/messages/de-DE.json index 255a17fe7..1a2d78f24 100644 --- a/public/intl/messages/de-DE.json +++ b/public/intl/messages/de-DE.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Zugangscode", + "account": "Account", + "action": "Action", "actions": "Aktionen", "activity": "Aktivitätsverlauf", "add": "Hinzufügen", "add-board": "Board hinzufügen", "add-description": "Beschreibung hinzufügen", + "add-link": "Add link", "add-member": "Mitglied hinzufügen", + "add-pixel": "Add pixel", "add-step": "Schritt hinzufügen", "add-website": "Website hinzufügen", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "Nach", "all": "Alle", "all-time": "Gesamter Zeitraum", + "analysis": "Analysis", "analytics": "Analysen", + "application": "Application", "apply": "Anwenden", "attribution": "Zuordnung", "attribution-description": "Sehen Sie, wie Nutzer mit Ihrem Marketing interagieren und was zu Konversionen führt.", + "audience": "Audience", "average": "Durchschnitt", "back": "Zurück", "before": "Vor", @@ -27,14 +34,18 @@ "breakdown": "Aufschlüsselung", "browser": "Browser", "browsers": "Browser", + "campaign": "Campaign", "campaigns": "Kampagnen", "cancel": "Abbrechen", "change-password": "Passwort ändern", + "channel": "Channel", "channels": "Kanäle", + "chart": "Chart", "cities": "Städte", "city": "Stadt", "clear-all": "Alles löschen", "cohort": "Gruppe", + "cohorts": "Cohorts", "compare": "Vergleichen", "compare-dates": "Daten vergleichen", "confirm": "Bestätigen", @@ -54,6 +65,7 @@ "create-user": "Benutzer erstellen", "created": "Erstellt", "created-by": "Erstellt von", + "criteria": "Criteria", "currency": "Währung", "current": "Aktuell", "current-password": "Derzeitiges Passwort", @@ -71,16 +83,19 @@ "delete-website": "Website löschen", "description": "Beschreibung", "desktop": "Desktop", + "destination-url": "Destination URL", "details": "Details", "device": "Gerät", "devices": "Geräte", "direct": "Direkt", "dismiss": "Verwerfen", "distinct-id": "Eindeutige ID", + "documentation": "Documentation", "does-not-contain": "Enthält nicht", "does-not-include": "Nicht enthalten", "doest-not-exist": "Existiert nicht", "domain": "Domain", + "download": "Download", "dropoff": "Absprung", "edit": "Bearbeiten", "edit-dashboard": "Dashboard bearbeiten", @@ -89,10 +104,12 @@ "enable-share-url": "Freigabe-URL aktivieren", "end-step": "Schlussschritt", "entry": "Eingangs-URL", + "environment": "Environment", "event": "Ereignis", "event-data": "Ereignisdaten", "event-name": "Ereignisname", "events": "Ereignisse", + "exclude-bounce": "Exclude bounce", "exists": "Existiert", "exit": "Ausgangs-URL", "false": "Falsch", @@ -113,11 +130,14 @@ "greater-than": "Größer als", "greater-than-equals": "Größer oder gleich", "grouped": "Gruppiert", + "growth": "Growth", "hostname": "Hostname", + "hour": "Hour", "includes": "Enthält", "insight": "Einblick", "insights": "Einblicke", "insights-description": "Vertiefen Sie sich mit Hilfe von Segmenten und Filtern in Ihre Daten.", + "invalid-url": "Invalid URL", "is": "Ist", "is-false": "Ist falsch", "is-not": "Ist nicht", @@ -141,7 +161,9 @@ "leave-team": "Team verlassen", "less-than": "Kleiner als", "less-than-equals": "Kleiner oder gleich", + "link": "Link", "links": "Links", + "location": "Location", "login": "Anmelden", "logout": "Abmelden", "manage": "Verwalten", @@ -152,8 +174,10 @@ "member": "Mitglied", "members": "Mitglieder", "min": "Min", + "minute": "Minute", "mobile": "Handy", "model": "Model", + "month": "Month", "more": "Mehr", "my-account": "Mein Account", "my-websites": "Meine Websites", @@ -184,12 +208,15 @@ "password": "Passwort", "path": "Pfad", "paths": "Pfade", + "pixel": "Pixel", "pixels": "Pixel", "powered-by": "Betrieben durch {name}", + "preferences": "Preferences", "previous": "Vorherig", "previous-period": "Vorherige Periode", "previous-year": "Vorheriges Jahr", "profile": "Profil", + "profiles": "Profiles", "properties": "Eigenschaften", "property": "Eigenschaft", "queries": "Abfragen", @@ -217,8 +244,13 @@ "role": "Rolle", "run-query": "Abfrage starten", "save": "Speichern", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Bildschirmauflösungen", "search": "Suche", + "segment": "Segment", + "segments": "Segments", "select": "Auswählen", "select-date": "Datum auswählen", "select-filter": "Filter auswählen", @@ -232,10 +264,14 @@ "share-url": "Freigabe-URL", "single-day": "Ein Tag", "sms": "SMS", + "source": "Source", "sources": "Quellen", "start-step": "Startschritt", "steps": "Schritte", "sum": "Summe", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Tag", "tags": "Stichworte", @@ -249,6 +285,7 @@ "team-view-only": "Nur für Team-Mitglieder sichtbar", "team-websites": "Team-Websites", "teams": "Teams", + "term": "Term", "terms": "Bedingungen", "theme": "Thema", "this-month": "Diesen Monat", @@ -261,23 +298,32 @@ "total": "Gesamt", "total-records": "Datensätze insgesamt", "tracking-code": "Tracking Code", + "traffic": "Traffic", "transactions": "Transaktionen", "transfer": "Übertragung", "transfer-website": "Website übertragen", "true": "Wahr", "type": "Typ", "unique": "Einzigartig", + "unique-events": "Unique events", "unique-visitors": "Einzigartige Besucher", "uniqueCustomers": "Einzigartige Kunden", "unknown": "Unbekannt", "untitled": "Unbenannt", "update": "Update", + "url": "URL", "user": "Benutzer", "username": "Benutzername", "users": "Benutzer", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Tracken Sie Ihre Kampagnen mit UTM Parametern.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Wert", + "version": "Version", "view": "Anzeigen", "view-details": "Details anzeigen", "view-only": "Nur ansehen", diff --git a/public/intl/messages/el-GR.json b/public/intl/messages/el-GR.json index 5accbb9a9..694718cf8 100644 --- a/public/intl/messages/el-GR.json +++ b/public/intl/messages/el-GR.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Access code", + "account": "Account", + "action": "Action", "actions": "Ενέργειες", "activity": "Activity log", "add": "Add", "add-board": "Add board", "add-description": "Add description", + "add-link": "Add link", "add-member": "Add member", + "add-pixel": "Add pixel", "add-step": "Add step", "add-website": "Προσθήκη ιστότοπου", "admin": "Διαχειριστής", @@ -14,27 +18,34 @@ "after": "After", "all": "All", "all-time": "All time", + "analysis": "Analysis", "analytics": "Analytics", + "application": "Application", "apply": "Apply", "attribution": "Attribution", "attribution-description": "See how users engage with your marketing and what drives conversions.", + "audience": "Audience", "average": "Average", "back": "Πίσω", "before": "Before", + "behavior": "Συμπεριφορά", "boards": "Boards", "bounce-rate": "Ποσοστό αναπήδησης", "breakdown": "Breakdown", - "behavior": "Συμπεριφορά", "browser": "Browser", "browsers": "Προγράμματα περιήγησης", + "campaign": "Campaign", "campaigns": "Campaigns", "cancel": "Ακύρωση", "change-password": "Αλλαγή κωδικού", + "channel": "Channel", "channels": "Channels", + "chart": "Chart", "cities": "Cities", "city": "City", "clear-all": "Clear all", "cohort": "Cohort", + "cohorts": "Cohorts", "compare": "Compare", "compare-dates": "Compare dates", "confirm": "Confirm", @@ -54,6 +65,7 @@ "create-user": "Create user", "created": "Created", "created-by": "Created By", + "criteria": "Criteria", "currency": "Currency", "current": "Current", "current-password": "Τωρινός κωδικός πρόσβασης", @@ -71,16 +83,19 @@ "delete-website": "Διαγραφή ιστότοπου", "description": "Description", "desktop": "Σταθερός υπολογιστής", + "destination-url": "Destination URL", "details": "Details", "device": "Device", "devices": "Συσκευές", "direct": "Direct", "dismiss": "Dismiss", "distinct-id": "Distinct ID", + "documentation": "Documentation", "does-not-contain": "Does not contain", "does-not-include": "Does not include", "doest-not-exist": "Does not exist", "domain": "Τομέας", + "download": "Download", "dropoff": "Dropoff", "edit": "Επεξεργασία", "edit-dashboard": "Edit dashboard", @@ -89,10 +104,12 @@ "enable-share-url": "Ενεργοποίηση κοινής χρήσης URL", "end-step": "End Step", "entry": "Entry URL", + "environment": "Environment", "event": "Event", "event-data": "Event data", "event-name": "Event name", "events": "Γεγονότα", + "exclude-bounce": "Exclude bounce", "exists": "Exists", "exit": "Exit URL", "false": "False", @@ -113,11 +130,14 @@ "greater-than": "Greater than", "greater-than-equals": "Greater than or equals", "grouped": "Grouped", + "growth": "Growth", "hostname": "Hostname", + "hour": "Hour", "includes": "Includes", "insight": "Insight", "insights": "Insights", "insights-description": "Dive deeper into your data by using segments and filters.", + "invalid-url": "Invalid URL", "is": "Is", "is-false": "Is false", "is-not": "Is not", @@ -141,7 +161,9 @@ "leave-team": "Leave team", "less-than": "Less than", "less-than-equals": "Less than or equals", + "link": "Link", "links": "Links", + "location": "Location", "login": "Είσοδος", "logout": "Αποσύνδεση", "manage": "Manage", @@ -152,8 +174,10 @@ "member": "Member", "members": "Members", "min": "Min", + "minute": "Minute", "mobile": "Κινητό", "model": "Model", + "month": "Month", "more": "Περισσότερα", "my-account": "My account", "my-websites": "My websites", @@ -184,12 +208,15 @@ "password": "Κωδικός", "path": "Path", "paths": "Paths", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "Με την υποστήριξη του {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "Προφίλ", + "profiles": "Profiles", "properties": "Properties", "property": "Property", "queries": "Queries", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "Αποθήκευση", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Screens", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "Select filter", @@ -232,10 +264,14 @@ "share-url": "Κοινοποίηση διεύθυνσης URL", "single-day": "Ημερήσια", "sms": "SMS", + "source": "Source", "sources": "Sources", "start-step": "Start Step", "steps": "Steps", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Τάμπλετ", "tag": "Tag", "tags": "Tags", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Terms", "theme": "Theme", "this-month": "Αυτο το μήνα", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "Κωδικός παρακολούθησης", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Μοναδικοί επισκέπτες", "uniqueCustomers": "Unique Customers", "unknown": "Άγνωστο", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "Όνομα χρήστη", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "Λεπτομέρειες", "view-only": "View only", diff --git a/public/intl/messages/en-GB.json b/public/intl/messages/en-GB.json index 69d880096..ac9d331c1 100644 --- a/public/intl/messages/en-GB.json +++ b/public/intl/messages/en-GB.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Access code", + "account": "Account", + "action": "Action", "actions": "Actions", "activity": "Activity log", "add": "Add", "add-board": "Add board", "add-description": "Add description", + "add-link": "Add link", "add-member": "Add member", + "add-pixel": "Add pixel", "add-step": "Add step", "add-website": "Add website", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "After", "all": "All", "all-time": "All time", + "analysis": "Analysis", "analytics": "Analytics", + "application": "Application", "apply": "Apply", "attribution": "Attribution", "attribution-description": "See how users engage with your marketing and what drives conversions.", + "audience": "Audience", "average": "Average", "back": "Back", "before": "Before", @@ -27,14 +34,18 @@ "breakdown": "Breakdown", "browser": "Browser", "browsers": "Browsers", + "campaign": "Campaign", "campaigns": "Campaigns", "cancel": "Cancel", "change-password": "Change password", + "channel": "Channel", "channels": "Channels", + "chart": "Chart", "cities": "Cities", "city": "City", "clear-all": "Clear all", "cohort": "Cohort", + "cohorts": "Cohorts", "compare": "Compare", "compare-dates": "Compare dates", "confirm": "Confirm", @@ -54,6 +65,7 @@ "create-user": "Create user", "created": "Created", "created-by": "Created By", + "criteria": "Criteria", "currency": "Currency", "current": "Current", "current-password": "Current password", @@ -71,16 +83,19 @@ "delete-website": "Delete website", "description": "Description", "desktop": "Desktop", + "destination-url": "Destination URL", "details": "Details", "device": "Device", "devices": "Devices", "direct": "Direct", "dismiss": "Dismiss", "distinct-id": "Distinct ID", + "documentation": "Documentation", "does-not-contain": "Does not contain", "does-not-include": "Does not include", "doest-not-exist": "Does not exist", "domain": "Domain", + "download": "Download", "dropoff": "Dropoff", "edit": "Edit", "edit-dashboard": "Edit dashboard", @@ -89,10 +104,12 @@ "enable-share-url": "Enable share URL", "end-step": "End Step", "entry": "Entry URL", + "environment": "Environment", "event": "Event", "event-data": "Event data", "event-name": "Event name", "events": "Events", + "exclude-bounce": "Exclude bounce", "exists": "Exists", "exit": "Exit URL", "false": "False", @@ -113,11 +130,14 @@ "greater-than": "Greater than", "greater-than-equals": "Greater than or equals", "grouped": "Grouped", + "growth": "Growth", "hostname": "Hostname", + "hour": "Hour", "includes": "Includes", "insight": "Insight", "insights": "Insights", "insights-description": "Dive deeper into your data by using segments and filters.", + "invalid-url": "Invalid URL", "is": "Is", "is-false": "Is false", "is-not": "Is not", @@ -141,7 +161,9 @@ "leave-team": "Leave team", "less-than": "Less than", "less-than-equals": "Less than or equals", + "link": "Link", "links": "Links", + "location": "Location", "login": "Login", "logout": "Logout", "manage": "Manage", @@ -152,8 +174,10 @@ "member": "Member", "members": "Members", "min": "Min", + "minute": "Minute", "mobile": "Mobile", "model": "Model", + "month": "Month", "more": "More", "my-account": "My account", "my-websites": "My websites", @@ -184,12 +208,15 @@ "password": "Password", "path": "Path", "paths": "Paths", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "Powered by {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "Profile", + "profiles": "Profiles", "properties": "Properties", "property": "Property", "queries": "Queries", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "Save", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Screens", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "Select filter", @@ -232,10 +264,14 @@ "share-url": "Share URL", "single-day": "Single day", "sms": "SMS", + "source": "Source", "sources": "Sources", "start-step": "Start Step", "steps": "Steps", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Tag", "tags": "Tags", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Terms", "theme": "Theme", "this-month": "This month", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "Tracking code", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Unique visitors", "uniqueCustomers": "Unique Customers", "unknown": "Unknown", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "Username", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "View details", "view-only": "View only", diff --git a/public/intl/messages/en-US.json b/public/intl/messages/en-US.json index 95664e4d9..5fe797d85 100644 --- a/public/intl/messages/en-US.json +++ b/public/intl/messages/en-US.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Access code", + "account": "Account", + "action": "Action", "actions": "Actions", "activity": "Activity", "add": "Add", "add-board": "Add board", "add-description": "Add description", + "add-link": "Add link", "add-member": "Add member", + "add-pixel": "Add pixel", "add-step": "Add step", "add-website": "Add website", "admin": "Admin", @@ -14,26 +18,34 @@ "after": "After", "all": "All", "all-time": "All time", + "analysis": "Analysis", "analytics": "Analytics", + "application": "Application", "apply": "Apply", "attribution": "Attribution", "attribution-description": "See how users engage with your marketing and what drives conversions.", + "audience": "Audience", "average": "Average", "back": "Back", "before": "Before", + "behavior": "Behavior", "boards": "Boards", "bounce-rate": "Bounce rate", "breakdown": "Breakdown", "browser": "Browser", "browsers": "Browsers", + "campaign": "Campaign", "campaigns": "Campaigns", "cancel": "Cancel", "change-password": "Change password", + "channel": "Channel", "channels": "Channels", + "chart": "Chart", "cities": "Cities", "city": "City", "clear-all": "Clear all", "cohort": "Cohort", + "cohorts": "Cohorts", "compare": "Compare", "compare-dates": "Compare dates", "confirm": "Confirm", @@ -53,6 +65,7 @@ "create-user": "Create user", "created": "Created", "created-by": "Created By", + "criteria": "Criteria", "currency": "Currency", "current": "Current", "current-password": "Current password", @@ -70,16 +83,19 @@ "delete-website": "Delete website", "description": "Description", "desktop": "Desktop", + "destination-url": "Destination URL", "details": "Details", "device": "Device", "devices": "Devices", "direct": "Direct", "dismiss": "Dismiss", "distinct-id": "Distinct ID", + "documentation": "Documentation", "does-not-contain": "Does not contain", "does-not-include": "Does not include", "doest-not-exist": "Does not exist", "domain": "Domain", + "download": "Download", "dropoff": "Dropoff", "edit": "Edit", "edit-dashboard": "Edit dashboard", @@ -88,10 +104,12 @@ "enable-share-url": "Enable share URL", "end-step": "End Step", "entry": "Entry page", + "environment": "Environment", "event": "Event", "event-data": "Event data", "event-name": "Event name", "events": "Events", + "exclude-bounce": "Exclude bounce", "exists": "Exists", "exit": "Exit page", "false": "False", @@ -112,11 +130,14 @@ "greater-than": "Greater than", "greater-than-equals": "Greater than or equals", "grouped": "Grouped", + "growth": "Growth", "hostname": "Hostname", + "hour": "Hour", "includes": "Includes", "insight": "Insight", "insights": "Insights", "insights-description": "Dive deeper into your data by using segments and filters.", + "invalid-url": "Invalid URL", "is": "Is", "is-false": "Is false", "is-not": "Is not", @@ -140,7 +161,9 @@ "leave-team": "Leave team", "less-than": "Less than", "less-than-equals": "Less than or equals", + "link": "Link", "links": "Links", + "location": "Location", "login": "Login", "logout": "Logout", "manage": "Manage", @@ -151,8 +174,10 @@ "member": "Member", "members": "Members", "min": "Min", + "minute": "Minute", "mobile": "Mobile", "model": "Model", + "month": "Month", "more": "More", "my-account": "My account", "my-websites": "My websites", @@ -183,12 +208,15 @@ "password": "Password", "path": "Path", "paths": "Paths", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "Powered by {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "Profile", + "profiles": "Profiles", "properties": "Properties", "property": "Property", "queries": "Queries", @@ -216,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "Save", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Screens", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "Select filter", @@ -231,10 +264,14 @@ "share-url": "Share URL", "single-day": "Single day", "sms": "SMS", + "source": "Source", "sources": "Sources", "start-step": "Start Step", "steps": "Steps", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Tag", "tags": "Tags", @@ -248,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Terms", "theme": "Theme", "this-month": "This month", @@ -260,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "Tracking code", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Unique visitors", "uniqueCustomers": "Unique Customers", "unknown": "Unknown", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "Username", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "View details", "view-only": "View only", @@ -289,8 +336,7 @@ "website-id": "Website ID", "websites": "Websites", "window": "Window", - "yesterday": "Yesterday", - "behavior": "Behavior" + "yesterday": "Yesterday" }, "message": { "action-confirmation": "Type {confirmation} in the box below to confirm.", diff --git a/public/intl/messages/es-ES.json b/public/intl/messages/es-ES.json index d6431adcc..44f0dc7b8 100644 --- a/public/intl/messages/es-ES.json +++ b/public/intl/messages/es-ES.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Código de acceso", + "account": "Account", + "action": "Action", "actions": "Acciones", "activity": "Registro de actividad", "add": "Añadir", "add-board": "Añadir tablero", "add-description": "Añadir descripción", + "add-link": "Add link", "add-member": "Añadir miembro", + "add-pixel": "Add pixel", "add-step": "Añadir paso", "add-website": "Nuevo sitio web", "admin": "Administrador", @@ -14,26 +18,34 @@ "after": "Después", "all": "Todos", "all-time": "Todos los tiempos", + "analysis": "Analysis", "analytics": "Analíticas", + "application": "Application", "apply": "Aplicar", "attribution": "Atribución", "attribution-description": "Vea cómo los usuarios interactúan con su marketing y qué impulsa las conversiones.", + "audience": "Audience", "average": "Media", "back": "Atrás", "before": "Antes", + "behavior": "Comportamiento", "boards": "Tableros", "bounce-rate": "Porcentaje de rebote", "breakdown": "Desglose", "browser": "Navegador", "browsers": "Navegadores", + "campaign": "Campaign", "campaigns": "Campañas", "cancel": "Cancelar", "change-password": "Cambiar contraseña", + "channel": "Channel", "channels": "Canales", + "chart": "Chart", "cities": "Ciudades", "city": "Ciudad", "clear-all": "Limpiar todo", "cohort": "Cohorte", + "cohorts": "Cohorts", "compare": "Comparar", "compare-dates": "Comparar fechas", "confirm": "Confirmar", @@ -53,6 +65,7 @@ "create-user": "Crear usuario", "created": "Creado", "created-by": "Creado por", + "criteria": "Criteria", "currency": "Moneda", "current": "Actual", "current-password": "Contraseña actual", @@ -70,16 +83,19 @@ "delete-website": "Eliminar sitio", "description": "Descripción", "desktop": "Escritorio", + "destination-url": "Destination URL", "details": "Detalles", "device": "Dispositivo", "devices": "Dispositivos", "direct": "Directo", "dismiss": "Cerrar", "distinct-id": "ID distinto", + "documentation": "Documentation", "does-not-contain": "No contiene", "does-not-include": "No incluye", "doest-not-exist": "No existe", "domain": "Dominio", + "download": "Download", "dropoff": "Abandono", "edit": "Editar", "edit-dashboard": "Editar panel", @@ -88,10 +104,12 @@ "enable-share-url": "Habilitar compartir URL", "end-step": "Paso final", "entry": "URL de entrada", + "environment": "Environment", "event": "Evento", "event-data": "Datos de evento", "event-name": "Nombre del evento", "events": "Eventos", + "exclude-bounce": "Exclude bounce", "exists": "Existe", "exit": "URL de salida", "false": "Falso", @@ -112,11 +130,14 @@ "greater-than": "Mayor que", "greater-than-equals": "Mayor que o igual a", "grouped": "Agrupado", + "growth": "Growth", "hostname": "Nombre de host", + "hour": "Hour", "includes": "Incluye", "insight": "Perspectiva", "insights": "Perspectivas", "insights-description": "Profundice en sus datos mediante el uso de segmentos y filtros.", + "invalid-url": "Invalid URL", "is": "Es igual a", "is-false": "Es falso", "is-not": "No es igual a", @@ -140,7 +161,9 @@ "leave-team": "Abandonar equipo", "less-than": "Menor que", "less-than-equals": "Menor que o igual a", + "link": "Link", "links": "Enlaces", + "location": "Location", "login": "Iniciar sesión", "logout": "Cerrar sesión", "manage": "Administrar", @@ -151,8 +174,10 @@ "member": "Miembro", "members": "Miembros", "min": "Mínimo", + "minute": "Minute", "mobile": "Móvil", "model": "Modelo", + "month": "Month", "more": "Más", "my-account": "Mi cuenta", "my-websites": "Mis sitios web", @@ -183,12 +208,15 @@ "password": "Contraseña", "path": "Ruta", "paths": "Rutas", + "pixel": "Pixel", "pixels": "Píxeles", "powered-by": "Analíticas de {name}", + "preferences": "Preferences", "previous": "Anterior", "previous-period": "Periodo anterior", "previous-year": "Año anterior", "profile": "Perfil", + "profiles": "Profiles", "properties": "Propiedades", "property": "Propiedad", "queries": "Consultas", @@ -217,8 +245,13 @@ "role": "Rol", "run-query": "Ejecutar consulta", "save": "Guardar", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Pantallas", "search": "Buscar", + "segment": "Segment", + "segments": "Segments", "select": "Seleccionar", "select-date": "Seleccionar fecha", "select-filter": "Seleccionar filtro", @@ -231,10 +264,14 @@ "share-url": "Compartir URL", "single-day": "Un solo día", "sms": "SMS", + "source": "Source", "sources": "Fuentes", "start-step": "Paso inicial", "steps": "Pasos", "sum": "Suma", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tableta", "tag": "Etiqueta", "tags": "Etiquetas", @@ -248,6 +285,7 @@ "team-view-only": "Vista solo del equipo", "team-websites": "Sitios web del equipo", "teams": "Equipos", + "term": "Term", "terms": "Términos", "theme": "Tema", "this-month": "Este mes", @@ -260,24 +298,33 @@ "total": "Total", "total-records": "Total de registros", "tracking-code": "Código de rastreo", + "traffic": "Traffic", "transactions": "Transacciones", "transfer": "Transferir", "transfer-website": "Transferir sitio web", "true": "Verdadero", "type": "Tipo", "unique": "Único", + "unique-events": "Unique events", "unique-visitors": "Visitantes únicos", "uniqueCustomers": "Clientes únicos", "unknown": "Desconocida", "untitled": "Sin título", "update": "Actualizar", + "url": "URL", "user": "Usuario", "user-property": "Propiedad de usuario", "username": "Nombre de usuario", "users": "Usuarios", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Realice un seguimiento de sus campañas a través de parámetros UTM.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Valor", + "version": "Version", "view": "Visualizar", "view-details": "Ver detalles", "view-only": "Ver sólo", @@ -290,8 +337,7 @@ "website-id": "ID del sitio web", "websites": "Sitios web", "window": "Ventana", - "yesterday": "Ayer", - "behavior": "Comportamiento" + "yesterday": "Ayer" }, "message": { "action-confirmation": "Escriba {confirmation} en el cuadro a continuación para confirmar.", diff --git a/public/intl/messages/fa-IR.json b/public/intl/messages/fa-IR.json index 3213d391e..ab8e984f1 100644 --- a/public/intl/messages/fa-IR.json +++ b/public/intl/messages/fa-IR.json @@ -1,12 +1,16 @@ { "label": { "access-code": "کد دسترسی", + "account": "Account", + "action": "Action", "actions": "اقدامات", "activity": "فعالیت", "add": "افزودن", "add-board": "افزودن برد", "add-description": "افزودن توضیحات", + "add-link": "Add link", "add-member": "افزودن عضو", + "add-pixel": "Add pixel", "add-step": "افزودن قدم", "add-website": "افزودن وب‌سایت", "admin": "مدیر", @@ -14,10 +18,13 @@ "after": "بعد", "all": "همه", "all-time": "تمامی زمان‌ها", + "analysis": "Analysis", "analytics": "تجزیه و تحلیل", + "application": "Application", "apply": "اعمال", "attribution": "انتساب", "attribution-description": "ببینید کاربران چگونه با بازاریابی شما تعامل دارند و چه چیزی باعث تبدیل می‌شود.", + "audience": "Audience", "average": "میانگین", "back": "بازگشت", "before": "قبل از", @@ -27,14 +34,18 @@ "breakdown": "تفکیک", "browser": "مرورگر", "browsers": "مرورگرها", + "campaign": "Campaign", "campaigns": "کمپین‌ها", "cancel": "انصراف", "change-password": "تغییر رمز", + "channel": "Channel", "channels": "کانال‌ها", + "chart": "Chart", "cities": "شهرها", "city": "شهر", "clear-all": "پاک کردن همه", "cohort": "گروه", + "cohorts": "Cohorts", "compare": "مقایسه", "compare-dates": "مقایسه تاریخ‌ها", "confirm": "تأیید", @@ -54,6 +65,7 @@ "create-user": "ایجاد کاربر", "created": "ایجاد شد", "created-by": "ایجاد شده توسط", + "criteria": "Criteria", "currency": "واحد پول", "current": "فعلی", "current-password": "رمز فعلی", @@ -71,16 +83,19 @@ "delete-website": "حذف وب‌سایت", "description": "توضیحات", "desktop": "دسکتاپ", + "destination-url": "Destination URL", "details": "جزئیات", "device": "دستگاه", "devices": "دستگاه‌ها", "direct": "مستقیم", "dismiss": "رد کردن", "distinct-id": "شناسه یکتا", + "documentation": "Documentation", "does-not-contain": "شامل نمی‌شود", "does-not-include": "شامل نمی‌شود", "doest-not-exist": "وجود ندارد", "domain": "دامنه", + "download": "Download", "dropoff": "رها کردن", "edit": "ویرایش", "edit-dashboard": "ویرایش داشبورد", @@ -89,10 +104,12 @@ "enable-share-url": "فعال کردن اشتراک گذاری آدرس اینترنتی", "end-step": "قدم پایانی", "entry": "آدرس اینترنتی ورودی", + "environment": "Environment", "event": "رویداد", "event-data": "داده‌های رویداد", "event-name": "نام رویداد", "events": "رویدادها", + "exclude-bounce": "Exclude bounce", "exists": "وجود دارد", "exit": "آدرس اینترنتی خروجی", "false": "نادرست", @@ -113,11 +130,14 @@ "greater-than": "بزرگ‌تر از", "greater-than-equals": "بزرگ‌تر یا مساوی", "grouped": "گروه‌بندی شده", + "growth": "Growth", "hostname": "نام میزبان", + "hour": "Hour", "includes": "شامل می‌شود", "insight": "بینش", "insights": "بینش", "insights-description": "با استفاده از بخش‌ها و فیلترها، در داده‌های خود عمیق‌تر شوید.", + "invalid-url": "Invalid URL", "is": "برابر است با", "is-false": "نادرست است", "is-not": "برابر نیست با", @@ -141,7 +161,9 @@ "leave-team": "ترک تیم", "less-than": "کمتر از", "less-than-equals": "کمتر یا مساوی", + "link": "Link", "links": "لینک‌ها", + "location": "Location", "login": "ورود", "logout": "خروج", "manage": "مدیریت", @@ -152,8 +174,10 @@ "member": "عضو", "members": "اعضا", "min": "حداقل", + "minute": "Minute", "mobile": "موبایل", "model": "مدل", + "month": "Month", "more": "بیشتر", "my-account": "حساب کاربری من", "my-websites": "وب‌سایت‌های من", @@ -184,12 +208,15 @@ "password": "رمز", "path": "مسیر", "paths": "مسیرها", + "pixel": "Pixel", "pixels": "پیکسل‌ها", "powered-by": "قدرت گرفته توسط {name}", + "preferences": "Preferences", "previous": "قبلی", "previous-period": "دوره‌ی قبل", "previous-year": "سال قبل", "profile": "پروفایل", + "profiles": "Profiles", "properties": "ویژگی‌ها", "property": "ویژگی", "queries": "کوئری‌ها", @@ -217,8 +244,13 @@ "role": "نقش", "run-query": "اجرای کوئری", "save": "ذخیره", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "صفحه", "search": "جستجو", + "segment": "Segment", + "segments": "Segments", "select": "انتخاب", "select-date": "انتخاب تاریخ", "select-filter": "انتخاب فیلتر", @@ -232,10 +264,14 @@ "share-url": "به اشتراک گذاری آدرس اینترنتی", "single-day": "یک روز", "sms": "SMS", + "source": "Source", "sources": "منابع", "start-step": "قدم شروع", "steps": "قدم‌ها", "sum": "جمع", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "تبلت", "tag": "برچسب", "tags": "برچسب‌ها", @@ -249,6 +285,7 @@ "team-view-only": "فقط مشاهده‌ی تیم", "team-websites": "وب‌سایت‌های تیم", "teams": "تیم‌ها", + "term": "Term", "terms": "شرایط", "theme": "تم", "this-month": "این ماه", @@ -261,23 +298,32 @@ "total": "جمع", "total-records": "جمع رکوردها", "tracking-code": "کد رهگیری", + "traffic": "Traffic", "transactions": "تراکنش‌ها", "transfer": "انتقال", "transfer-website": "انتقال وب‌سایت", "true": "درست", "type": "نوع", "unique": "یکتا", + "unique-events": "Unique events", "unique-visitors": "بازدیدکننده‌های یکتا", "uniqueCustomers": "مشتریان یکتا", "unknown": "ناشناخته", "untitled": "بدون عنوان", "update": "به‌روزرسانی", + "url": "URL", "user": "کاربر", "username": "نام کاربری", "users": "کاربران", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "با استفاده از پارامترهای UTM، کمپین‌های خود را بررسی کنید.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "مقدار", + "version": "Version", "view": "مشاهده", "view-details": "مشاهده‌ی جزئیات", "view-only": "فقط مشاهده", diff --git a/public/intl/messages/fi-FI.json b/public/intl/messages/fi-FI.json index 45a695779..dd15f07ac 100644 --- a/public/intl/messages/fi-FI.json +++ b/public/intl/messages/fi-FI.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Pääsykoodi", + "account": "Account", + "action": "Action", "actions": "Toiminnat", "activity": "Toimintaloki", "add": "Lisää", "add-board": "Lisää taulu", "add-description": "Lisää kuvaus", + "add-link": "Add link", "add-member": "Lisää jäsen", + "add-pixel": "Add pixel", "add-step": "Lisää vaihe", "add-website": "Lisää verkkosivu", "admin": "Järjestelmänvalvoja", @@ -14,26 +18,34 @@ "after": "Jälkeen", "all": "Kaikki", "all-time": "Alusta lähtien", + "analysis": "Analysis", "analytics": "Analytiikka", + "application": "Application", "apply": "Käytä", "attribution": "Attribuutio", "attribution-description": "Katso, miten käyttäjät ovat vuorovaikutuksessa markkinointisi kanssa ja mikä johtaa konversioihin.", + "audience": "Audience", "average": "Keskiarvo", "back": "Takaisin", "before": "Ennen", + "behavior": "Käyttäytyminen", "boards": "Taulut", "bounce-rate": "Välitön poistuminen", "breakdown": "Erittele", "browser": "Selain", "browsers": "Selaimet", + "campaign": "Campaign", "campaigns": "Kampanjat", "cancel": "Peruuta", "change-password": "Vaihda salasana", + "channel": "Channel", "channels": "Kanavat", + "chart": "Chart", "cities": "Kaupungit", "city": "Kaupunki", "clear-all": "Tyhjennä kaikki", "cohort": "Kohortti", + "cohorts": "Cohorts", "compare": "Vertaa", "compare-dates": "Vertaa päivämääriä", "confirm": "Vahvista", @@ -53,6 +65,7 @@ "create-user": "Luo käyttäjä", "created": "Luotu", "created-by": "Luonut", + "criteria": "Criteria", "currency": "Valuutta", "current": "Nykyinen", "current-password": "Nykyinen salasana", @@ -70,16 +83,19 @@ "delete-website": "Poista verkkosivu", "description": "Kuvaus", "desktop": "Pöytäkone", + "destination-url": "Destination URL", "details": "Tiedot", "device": "Laite", "devices": "Laitteet", "direct": "Suora", "dismiss": "Hylkää", "distinct-id": "Yksilöllinen ID", + "documentation": "Documentation", "does-not-contain": "Ei sisällä", "does-not-include": "Ei sisällä", "doest-not-exist": "Ei ole olemassa", "domain": "Verkkotunnus", + "download": "Download", "dropoff": "Poistuminen", "edit": "Muokkaa", "edit-dashboard": "Muokkaa ohjauspaneelia", @@ -88,10 +104,12 @@ "enable-share-url": "Ota jakamisen URL-osoite käyttöön", "end-step": "Loppuvaihe", "entry": "Tulo-URL", + "environment": "Environment", "event": "Tapahtuma", "event-data": "Tapahtumatiedot", "event-name": "Tapahtuman nimi", "events": "Tapahtumat", + "exclude-bounce": "Exclude bounce", "exists": "On olemassa", "exit": "Poistumis-URL", "false": "Epätosi", @@ -112,11 +130,14 @@ "greater-than": "Suurempi kuin", "greater-than-equals": "Suurempi tai yhtä suuri kuin", "grouped": "Ryhmitelty", + "growth": "Growth", "hostname": "Isäntänimi", + "hour": "Hour", "includes": "Sisältää", "insight": "Oivallus", "insights": "Oivallukset", "insights-description": "Sukella syvemmälle tietoihisi käyttämällä segmenttejä ja suodattimia.", + "invalid-url": "Invalid URL", "is": "On", "is-false": "On epätosi", "is-not": "Ei ole", @@ -140,7 +161,9 @@ "leave-team": "Poistu tiimistä", "less-than": "Vähemmän kuin", "less-than-equals": "Vähemmän tai yhtä suuri kuin", + "link": "Link", "links": "Linkit", + "location": "Location", "login": "Kirjaudu sisään", "logout": "Kirjaudu ulos", "manage": "Hallinnoi", @@ -151,8 +174,10 @@ "member": "Jäsen", "members": "Jäsenet", "min": "Minimi", + "minute": "Minute", "mobile": "Puhelin", "model": "Malli", + "month": "Month", "more": "Lisää", "my-account": "Oma tili", "my-websites": "Omat verkkosivut", @@ -183,12 +208,15 @@ "password": "Salasana", "path": "Polku", "paths": "Polut", + "pixel": "Pixel", "pixels": "Pikselit", "powered-by": "Voimanlähteenä {name}", + "preferences": "Preferences", "previous": "Edellinen", "previous-period": "Edellinen ajanjakso", "previous-year": "Edellinen vuosi", "profile": "Profiili", + "profiles": "Profiles", "properties": "Ominaisuudet", "property": "Ominaisuus", "queries": "Kyselyt", @@ -216,8 +244,13 @@ "role": "Rooli", "run-query": "Suorita kysely", "save": "Tallenna", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Näytöt", "search": "Haku", + "segment": "Segment", + "segments": "Segments", "select": "Valitse", "select-date": "Valitse päivämäärä", "select-filter": "Valitse suodatin", @@ -231,10 +264,14 @@ "share-url": "Jaa URL", "single-day": "Yksi päivä", "sms": "SMS", + "source": "Source", "sources": "Lähteet", "start-step": "Aloitusvaihe", "steps": "Vaiheet", "sum": "Summa", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tabletti", "tag": "Tunniste", "tags": "Tunnisteet", @@ -248,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Tiimin verkkosivut", "teams": "Tiimit", + "term": "Term", "terms": "Ehdot", "theme": "Teema", "this-month": "Tämä kuukausi", @@ -260,23 +298,32 @@ "total": "Yhteensä", "total-records": "Tietueita yhteensä", "tracking-code": "Seurantakoodi", + "traffic": "Traffic", "transactions": "Transaktiot", "transfer": "Siirrä", "transfer-website": "Siirrä verkkosivu", "true": "Tosi", "type": "Tyyppi", "unique": "Uniikki", + "unique-events": "Unique events", "unique-visitors": "Yksittäiset kävijät", "uniqueCustomers": "Uniikit asiakkaat", "unknown": "Tuntematon", "untitled": "Nimetön", "update": "Päivitä", + "url": "URL", "user": "Käyttäjä", "username": "Käyttäjänimi", "users": "Käyttäjät", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Seuraa kampanjoitasi UTM-parametrien avulla.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Arvo", + "version": "Version", "view": "Näytä", "view-details": "Katso tiedot", "view-only": "Vain katselu", @@ -289,8 +336,7 @@ "website-id": "Verkkosivun ID", "websites": "Verkkosivut", "window": "Ikkuna", - "yesterday": "Eilen", - "behavior": "Käyttäytyminen" + "yesterday": "Eilen" }, "message": { "action-confirmation": "Kirjoita {confirmation} alla olevaan kenttään vahvistaaksesi.", diff --git a/public/intl/messages/fo-FO.json b/public/intl/messages/fo-FO.json index 2e95fbe8e..8e9e162a4 100644 --- a/public/intl/messages/fo-FO.json +++ b/public/intl/messages/fo-FO.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Aðgangskoda", + "account": "Account", + "action": "Action", "actions": "Gerðir", "activity": "Activity log", "add": "Legg afturat", "add-board": "Legg borð afturat", "add-description": "Legg lýsing afturat", + "add-link": "Add link", "add-member": "Legg lim afturat", + "add-pixel": "Add pixel", "add-step": "Legg stig afturat", "add-website": "Legg heimasíðu afturat", "admin": "Fyrisitari", @@ -14,10 +18,13 @@ "after": "Eftir", "all": "Alt", "all-time": "Allur tíðin", + "analysis": "Analysis", "analytics": "Greining", + "application": "Application", "apply": "Nýt", "attribution": "Áseting", "attribution-description": "Síggj hvussu brúkarar samskifta við marknaðarføringina og hvat førir til umvendingar.", + "audience": "Audience", "average": "Miðal", "back": "Aftur", "before": "Áðrenn", @@ -27,14 +34,18 @@ "breakdown": "Sundurgreining", "browser": "Kagi", "browsers": "Kagar", + "campaign": "Campaign", "campaigns": "Herferðir", "cancel": "Strika", "change-password": "Skift loyniorð", + "channel": "Channel", "channels": "Rásir", + "chart": "Chart", "cities": "Býir", "city": "Býur", "clear-all": "Tøm alt", "cohort": "Bólkur", + "cohorts": "Cohorts", "compare": "Samanber", "compare-dates": "Samanber dato", "confirm": "Staðfest", @@ -54,6 +65,7 @@ "create-user": "Stovna brúkara", "created": "Stovnaður", "created-by": "Stovnaður av", + "criteria": "Criteria", "currency": "Gjaldoyra", "current": "Núverandi", "current-password": "Núverandi loyniorð", @@ -71,16 +83,19 @@ "delete-website": "Sletta heimasíðu", "description": "Lýsing", "desktop": "Borðtelda", + "destination-url": "Destination URL", "details": "Nærri upplýsingar", "device": "Tól", "devices": "Tóleindir", "direct": "Beinleiðis", "dismiss": "Lat fara", "distinct-id": "Sermerkt ID", + "documentation": "Documentation", "does-not-contain": "Inniheldur ikki", "does-not-include": "Er ikki við", "doest-not-exist": "Er ikki til", "domain": "Økisnavn", + "download": "Download", "dropoff": "Dropoff", "edit": "Ger broyting", "edit-dashboard": "Ritstjórna yvirlitsskíggja", @@ -89,10 +104,12 @@ "enable-share-url": "Virkja deili leinki", "end-step": "Endastigur", "entry": "Inngangs URL", + "environment": "Environment", "event": "Tiltak", "event-data": "Tiltaksdata", "event-name": "Tiltaksnavn", "events": "Hendingar/tiltøk", + "exclude-bounce": "Exclude bounce", "exists": "Er til", "exit": "Útgangs URL", "false": "Falskt", @@ -113,11 +130,14 @@ "greater-than": "Størri enn", "greater-than-equals": "Størri ella javnt", "grouped": "Bólkað", + "growth": "Growth", "hostname": "Vertnavn", + "hour": "Hour", "includes": "Inniheldur", "insight": "Innlit", "insights": "Innlit", "insights-description": "Fá meira innlit í tínar dátur við at brúka bólkar og síur.", + "invalid-url": "Invalid URL", "is": "Er", "is-false": "Er falskt", "is-not": "Er ikki", @@ -141,7 +161,9 @@ "leave-team": "Far úr liði", "less-than": "Minni enn", "less-than-equals": "Minni ella javnt", + "link": "Link", "links": "Leinkjur", + "location": "Location", "login": "Rita inn", "logout": "Rita út", "manage": "Stýra", @@ -152,8 +174,10 @@ "member": "Limur", "members": "Limir", "min": "Minst", + "minute": "Minute", "mobile": "Telefon", "model": "Model", + "month": "Month", "more": "Meira", "my-account": "Mín konto", "my-websites": "Mínar heimasíður", @@ -184,12 +208,15 @@ "password": "Loyniorð", "path": "Leið", "paths": "Leiðir", + "pixel": "Pixel", "pixels": "Pikslur", "powered-by": "Rikið av {name}", + "preferences": "Preferences", "previous": "Fyrra", "previous-period": "Fyrra tíðarskeið", "previous-year": "Fyrra ár", "profile": "Vangi", + "profiles": "Profiles", "properties": "Eginleikar", "property": "Eginleiki", "queries": "Fyrispurningar", @@ -217,8 +244,13 @@ "role": "Leiklutur", "run-query": "Koyr fyrispurning", "save": "Goym", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Skíggjar", "search": "Leita", + "segment": "Segment", + "segments": "Segments", "select": "Vel", "select-date": "Vel dato", "select-filter": "Vel síu", @@ -232,10 +264,14 @@ "share-url": "Deil leinku", "single-day": "Einkultur dagur", "sms": "SMS", + "source": "Source", "sources": "Keldur", "start-step": "Byrjanarstigur", "steps": "Stig", "sum": "Samanlagt", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Teldil", "tag": "Merki", "tags": "Merki", @@ -249,6 +285,7 @@ "team-view-only": "Bert til at síggja lið", "team-websites": "Lið heimasíður", "teams": "Lið", + "term": "Term", "terms": "Treytir", "theme": "Evni", "this-month": "Hendan mánan", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "Spori kota", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Einsýna vitjanir", "uniqueCustomers": "Unique Customers", "unknown": "Ókent", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "Brúkaranavn", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "Vís frágreiðing", "view-only": "View only", diff --git a/public/intl/messages/fr-FR.json b/public/intl/messages/fr-FR.json index 8b0796cea..8dacd6b74 100644 --- a/public/intl/messages/fr-FR.json +++ b/public/intl/messages/fr-FR.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Code d'accès", + "account": "Account", + "action": "Action", "actions": "Actions", "activity": "Journal d'activité", "add": "Ajouter", "add-board": "Ajouter un tableau", "add-description": "Ajouter une description", + "add-link": "Add link", "add-member": "Ajouter un membre", + "add-pixel": "Add pixel", "add-step": "Ajouter une étape", "add-website": "Ajouter un site", "admin": "Administrateur", @@ -14,26 +18,34 @@ "after": "Après", "all": "Tout", "all-time": "Toutes les données", + "analysis": "Analysis", "analytics": "Analytique", + "application": "Application", "apply": "Appliquer", "attribution": "Attribution", "attribution-description": "Découvrez comment les utilisateurs s'engagent avec votre marketing et ce qui génère des conversions.", + "audience": "Audience", "average": "Moyenne", "back": "Retour", "before": "Avant", + "behavior": "Comportement", "boards": "Tableaux", "bounce-rate": "Taux de rebond", "breakdown": "Répartition", "browser": "Navigateur", "browsers": "Navigateurs", + "campaign": "Campaign", "campaigns": "Campagnes", "cancel": "Annuler", "change-password": "Changer le mot de passe", + "channel": "Channel", "channels": "Canaux", + "chart": "Chart", "cities": "Villes", "city": "Ville", "clear-all": "Réinitialiser", "cohort": "Cohorte", + "cohorts": "Cohorts", "compare": "Comparer", "compare-dates": "Comparer les dates", "confirm": "Confirmer", @@ -53,6 +65,7 @@ "create-user": "Créer un utilisateur", "created": "Créé", "created-by": "Créé par", + "criteria": "Criteria", "currency": "Devise", "current": "Actuel", "current-password": "Mot de passe actuel", @@ -70,16 +83,19 @@ "delete-website": "Supprimer le site", "description": "Description", "desktop": "Ordinateur", + "destination-url": "Destination URL", "details": "Détails", "device": "Appareil", "devices": "Appareils", "direct": "Direct", "dismiss": "Ignorer", "distinct-id": "ID distinct", + "documentation": "Documentation", "does-not-contain": "Ne contient pas", "does-not-include": "N'inclut pas", "doest-not-exist": "N'existe pas", "domain": "Domaine", + "download": "Download", "dropoff": "Abandons", "edit": "Modifier", "edit-dashboard": "Modifier le tableau de bord", @@ -88,10 +104,12 @@ "enable-share-url": "Activer l'URL de partage", "end-step": "Étape de fin", "entry": "Chemin d'entrée", + "environment": "Environment", "event": "Évènement", "event-data": "Données d'évènements", "event-name": "Nom de l'évènement", "events": "Évènements", + "exclude-bounce": "Exclude bounce", "exists": "Existe", "exit": "Chemin de sortie", "false": "Faux", @@ -112,11 +130,14 @@ "greater-than": "Supérieur à", "greater-than-equals": "Supérieur ou égal à", "grouped": "Groupé", + "growth": "Growth", "hostname": "Nom d'hôte", + "hour": "Hour", "includes": "Inclut", "insight": "Aperçu", "insights": "Aperçus", "insights-description": "Analysez précisément vos données en utilisant des segments et des filtres.", + "invalid-url": "Invalid URL", "is": "Est", "is-false": "Est faux", "is-not": "N'est pas", @@ -140,7 +161,9 @@ "leave-team": "Quitter l'équipe", "less-than": "Inférieur à", "less-than-equals": "Inférieur ou égal à", + "link": "Link", "links": "Liens", + "location": "Location", "login": "Connexion", "logout": "Déconnexion", "manage": "Gérer", @@ -151,8 +174,10 @@ "member": "Membre", "members": "Membres", "min": "Min", + "minute": "Minute", "mobile": "Téléphone", "model": "Modèle", + "month": "Month", "more": "Plus", "my-account": "Mon compte", "my-websites": "Mes sites", @@ -183,12 +208,15 @@ "password": "Mot de passe", "path": "Chemin", "paths": "Chemins", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "Propulsé par {name}", + "preferences": "Preferences", "previous": "Précédent", "previous-period": "Période précédente", "previous-year": "Année précédente", "profile": "Profil", + "profiles": "Profiles", "properties": "Propriétés", "property": "Propriété", "queries": "Requêtes", @@ -216,8 +244,13 @@ "role": "Rôle", "run-query": "Exécuter la requête", "save": "Enregistrer", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Écrans", "search": "Rechercher", + "segment": "Segment", + "segments": "Segments", "select": "Sélectionner", "select-date": "Choisir une période", "select-filter": "Sélectionner un filtre", @@ -231,10 +264,14 @@ "share-url": "URL de partage", "single-day": "Journée", "sms": "SMS", + "source": "Source", "sources": "Sources", "start-step": "Étape de départ", "steps": "Étapes", "sum": "Somme", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablette", "tag": "Étiquette", "tags": "Étiquettes", @@ -248,6 +285,7 @@ "team-view-only": "Vue d'équipe uniquement", "team-websites": "Sites d'équipes", "teams": "Équipes", + "term": "Term", "terms": "Mots clés", "theme": "Thème", "this-month": "Ce mois", @@ -260,23 +298,32 @@ "total": "Total", "total-records": "Nombre d'enregistrements", "tracking-code": "Code de suivi", + "traffic": "Trafic", "transactions": "Transactions", "transfer": "Transférer", "transfer-website": "Transférer le site", "true": "Vrai", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Visiteurs uniques", "uniqueCustomers": "Clients uniques", "unknown": "Inconnu", "untitled": "Sans titre", "update": "Modifier", + "url": "URL", "user": "Utilisateur", "username": "Nom d'utilisateur", "users": "Utilisateurs", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Suivez vos campagnes via les paramètres UTM.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Valeur", + "version": "Version", "view": "Voir", "view-details": "Voir les détails", "view-only": "Consultation", @@ -289,10 +336,7 @@ "website-id": "ID de site", "websites": "Sites", "window": "Fenêtre", - "yesterday": "Hier", - "behavior": "Comportement", - "traffic": "Trafic", - "segments": "Segments" + "yesterday": "Hier" }, "message": { "action-confirmation": "Taper {confirmation} ci-dessous pour confirmer.", diff --git a/public/intl/messages/ga-ES.json b/public/intl/messages/ga-ES.json index 74f63aa8f..a8436aa74 100644 --- a/public/intl/messages/ga-ES.json +++ b/public/intl/messages/ga-ES.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Código de acceso", + "account": "Account", + "action": "Action", "actions": "Accións", "activity": "Rexistro de actividade", "add": "Engadir", "add-board": "Engadir taboleiro", "add-description": "Engadir descrición", + "add-link": "Add link", "add-member": "Engadir membro", + "add-pixel": "Add pixel", "add-step": "Engadir paso", "add-website": "Engadir sitio web", "admin": "Administrador/a", @@ -14,26 +18,34 @@ "after": "Despois", "all": "Todo", "all-time": "Sempre", + "analysis": "Analysis", "analytics": "Analíticas", + "application": "Application", "apply": "Aplicar", "attribution": "Atribución", "attribution-description": "Vexa como os usuarios interactúan co seu márketing e que impulsa as conversións.", + "audience": "Audience", "average": "Media", "back": "Atrás", "before": "Antes", + "behavior": "Comportamento", "boards": "Taboleiros", "bounce-rate": "Proporción de rebote", "breakdown": "Desglose", "browser": "Navegador", "browsers": "Navegadores", + "campaign": "Campaign", "campaigns": "Campañas", "cancel": "Cancelar", "change-password": "Mudar contrasinal", + "channel": "Channel", "channels": "Canles", + "chart": "Chart", "cities": "Cidades", "city": "Cidade", "clear-all": "Limpar todo", "cohort": "Cohorte", + "cohorts": "Cohorts", "compare": "Comparar", "compare-dates": "Comparar datas", "confirm": "Confirmar", @@ -53,6 +65,7 @@ "create-user": "Crear usuario", "created": "Creado", "created-by": "Creado por", + "criteria": "Criteria", "currency": "Moeda", "current": "Actual", "current-password": "Contrasinal actual", @@ -70,16 +83,19 @@ "delete-website": "Eliminar sitio web", "description": "Descripción", "desktop": "Escritorio", + "destination-url": "Destination URL", "details": "Detalles", "device": "Dispositivo", "devices": "Dispositivos", "direct": "Directo", "dismiss": "Desbotar", "distinct-id": "ID distinto", + "documentation": "Documentation", "does-not-contain": "Non contén", "does-not-include": "Non inclúe", "doest-not-exist": "Non existe", "domain": "Dominio", + "download": "Download", "dropoff": "Disminución", "edit": "Editar", "edit-dashboard": "Editar taboleiro", @@ -88,10 +104,12 @@ "enable-share-url": "Activar URL de compartición", "end-step": "Paso final", "entry": "URL de entrada", + "environment": "Environment", "event": "Evento", "event-data": "Datos do evento", "event-name": "Nome do evento", "events": "Eventos", + "exclude-bounce": "Exclude bounce", "exists": "Existe", "exit": "URL de saída", "false": "Falso", @@ -112,11 +130,14 @@ "greater-than": "Maior que", "greater-than-equals": "Maior ou igual que", "grouped": "Agrupado", + "growth": "Growth", "hostname": "Nome do host", + "hour": "Hour", "includes": "Inclúe", "insight": "Información", "insights": "Informacións", "insights-description": "Afonda nos teus datos usando segmentos e filtros.", + "invalid-url": "Invalid URL", "is": "É", "is-false": "É falso", "is-not": "Non é", @@ -140,7 +161,9 @@ "leave-team": "Deixar o equipo", "less-than": "Menor que", "less-than-equals": "Menor ou igual que", + "link": "Link", "links": "Ligazóns", + "location": "Location", "login": "Acceder", "logout": "Pechar sesión", "manage": "Xestionar", @@ -151,8 +174,10 @@ "member": "Membro", "members": "Membros", "min": "Min", + "minute": "Minute", "mobile": "Móbil", "model": "Modelo", + "month": "Month", "more": "Máis", "my-account": "A miña conta", "my-websites": "Os meus sitios web", @@ -183,12 +208,15 @@ "password": "Contrasinal", "path": "Ruta", "paths": "Rutas", + "pixel": "Pixel", "pixels": "Píxeles", "powered-by": "Funciona grazas a {name}", + "preferences": "Preferences", "previous": "Anterior", "previous-period": "Periodo anterior", "previous-year": "Ano anterior", "profile": "Perfil", + "profiles": "Profiles", "properties": "Propiedades", "property": "Propiedade", "queries": "Peticións", @@ -216,8 +244,13 @@ "role": "Rol", "run-query": "Executar petición", "save": "Gardar", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Pantallas", "search": "Buscar", + "segment": "Segment", + "segments": "Segments", "select": "Seleccionar", "select-date": "Seleccionar data", "select-filter": "Seleccionar filtro", @@ -231,10 +264,14 @@ "share-url": "Compartir URL", "single-day": "Un só día", "sms": "SMS", + "source": "Source", "sources": "Fontes", "start-step": "Start Step", "steps": "Pasos", "sum": "Suma", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tableta", "tag": "Etiqueta", "tags": "Etiquetas", @@ -248,6 +285,7 @@ "team-view-only": "Equipo de só lectura", "team-websites": "Sitios web do equipo", "teams": "Equipos", + "term": "Term", "terms": "Termos", "theme": "Decorado", "this-month": "Este mes", @@ -260,23 +298,32 @@ "total": "Total", "total-records": "Rexistros totais", "tracking-code": "Código de seguemento", + "traffic": "Traffic", "transactions": "Transaccións", "transfer": "Transferir", "transfer-website": "Transferir sitio web", "true": "Verdadeiro", "type": "Tipo", "unique": "Único", + "unique-events": "Unique events", "unique-visitors": "Visitas únicas", "uniqueCustomers": "Clientes únicos", "unknown": "Descoñecido", "untitled": "Sen título", "update": "Actualizar", + "url": "URL", "user": "Usuario", "username": "Identificador", "users": "Usuarios", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Segue as túas campañas a través dos parámetros UTM.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Valor", + "version": "Version", "view": "Vista", "view-details": "Ver detalles", "view-only": "Só lectura", @@ -289,8 +336,7 @@ "website-id": "ID do sitio web", "websites": "Sitios web", "window": "Ventá", - "yesterday": "Onte", - "behavior": "Comportamento" + "yesterday": "Onte" }, "message": { "action-confirmation": "Escribe {confirmation} na caixa de embaixo para confirmar.", diff --git a/public/intl/messages/he-IL.json b/public/intl/messages/he-IL.json index 719d74d89..b618296a4 100644 --- a/public/intl/messages/he-IL.json +++ b/public/intl/messages/he-IL.json @@ -1,12 +1,16 @@ { "label": { "access-code": "קוד גישה", + "account": "Account", + "action": "Action", "actions": "פעולות", "activity": "יומן פעילות", "add": "הוסף", "add-board": "הוסף לוח", "add-description": "הוסף תיאור", + "add-link": "Add link", "add-member": "הוסף חבר", + "add-pixel": "Add pixel", "add-step": "הוסף שלב", "add-website": "הוספת אתר", "admin": "מנהל", @@ -14,26 +18,34 @@ "after": "אחרי", "all": "הכל", "all-time": "כל הזמנים", + "analysis": "Analysis", "analytics": "אנליטיקה", + "application": "Application", "apply": "החל", "attribution": "שיוך", "attribution-description": "צפה כיצד משתמשים מתקשרים עם השיווק שלך ומה מניע המרות.", + "audience": "Audience", "average": "ממוצע", "back": "חזרה", "before": "לפני", + "behavior": "התנהגות", "boards": "לוחות", "bounce-rate": "שיעור נטישה", "breakdown": "פירוט", "browser": "דפדפן", "browsers": "דפדפנים", + "campaign": "Campaign", "campaigns": "קמפיינים", "cancel": "ביטול", "change-password": "שינוי סיסמה", + "channel": "Channel", "channels": "ערוצים", + "chart": "Chart", "cities": "ערים", "city": "עיר", "clear-all": "נקה הכל", "cohort": "קבוצה", + "cohorts": "Cohorts", "compare": "השווה", "compare-dates": "השווה תאריכים", "confirm": "אשר", @@ -53,6 +65,7 @@ "create-user": "צור משתמש", "created": "נוצר", "created-by": "נוצר על ידי", + "criteria": "Criteria", "currency": "מטבע", "current": "נוכחי", "current-password": "סיסמה נוכחית", @@ -70,16 +83,19 @@ "delete-website": "הסרת אתר", "description": "תיאור", "desktop": "מחשב שולחני", + "destination-url": "Destination URL", "details": "פרטים", "device": "מכשיר", "devices": "מכשירים", "direct": "ישיר", "dismiss": "שיחרור", "distinct-id": "מזהה ייחודי", + "documentation": "Documentation", "does-not-contain": "לא מכיל", "does-not-include": "לא כולל", "doest-not-exist": "לא קיים", "domain": "דומיין", + "download": "Download", "dropoff": "עזיבה", "edit": "עריכה", "edit-dashboard": "ערוך לוח מחוונים", @@ -88,10 +104,12 @@ "enable-share-url": "הפעלת URL שיתוף", "end-step": "שלב סיום", "entry": "כתובת כניסה", + "environment": "Environment", "event": "אירוע", "event-data": "נתוני אירוע", "event-name": "שם האירוע", "events": "אירועים", + "exclude-bounce": "Exclude bounce", "exists": "קיים", "exit": "כתובת יציאה", "false": "שקר", @@ -112,11 +130,14 @@ "greater-than": "גדול מ-", "greater-than-equals": "גדול או שווה ל-", "grouped": "מקובץ", + "growth": "Growth", "hostname": "שם מארח", + "hour": "Hour", "includes": "כולל", "insight": "תובנה", "insights": "תובנות", "insights-description": "צלול עמוק יותר לנתונים שלך באמצעות פילוחים ומסננים.", + "invalid-url": "Invalid URL", "is": "הוא", "is-false": "הוא שקר", "is-not": "אינו", @@ -140,7 +161,9 @@ "leave-team": "עזוב צוות", "less-than": "פחות מ-", "less-than-equals": "פחות או שווה ל-", + "link": "Link", "links": "קישורים", + "location": "Location", "login": "התחברות", "logout": "התנתקות", "manage": "נהל", @@ -151,8 +174,10 @@ "member": "חבר", "members": "חברים", "min": "מינימום", + "minute": "Minute", "mobile": "מובייל", "model": "Model", + "month": "Month", "more": "עוד", "my-account": "החשבון שלי", "my-websites": "האתרים שלי", @@ -183,12 +208,15 @@ "password": "סיסמה", "path": "נתיב", "paths": "נתיבים", + "pixel": "Pixel", "pixels": "פיקסלים", "powered-by": "Powered by {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "פרופיל", + "profiles": "Profiles", "properties": "מאפיינים", "property": "מאפיין", "queries": "שאילתות", @@ -216,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "שמירה", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "מסכים", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "בחר מסנן", @@ -231,10 +264,14 @@ "share-url": "שיתוף URL", "single-day": "יום בודד", "sms": "SMS", + "source": "Source", "sources": "מקורות", "start-step": "שלב התחלה", "steps": "שלבים", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "טאבלט", "tag": "תגית", "tags": "תגיות", @@ -248,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "תנאים", "theme": "Theme", "this-month": "החודש", @@ -260,26 +298,34 @@ "total": "Total", "total-records": "Total records", "tracking-code": "קוד מעקב", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "מבקרים ייחודיים", "uniqueCustomers": "Unique Customers", "unknown": "לא ידוע", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "שם משתמש", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "פרטים נוספים", - "behavior": "התנהגות", "view-only": "View only", "views": "צפיות", "views-per-visit": "Views per visit", diff --git a/public/intl/messages/hi-IN.json b/public/intl/messages/hi-IN.json index c16491c0a..33ab84f6e 100644 --- a/public/intl/messages/hi-IN.json +++ b/public/intl/messages/hi-IN.json @@ -1,12 +1,16 @@ { "label": { "access-code": "पहुंच कोड", + "account": "Account", + "action": "Action", "actions": "कार्य", "activity": "गतिविधि लॉग", "add": "जोडो", "add-board": "बोर्ड जोड़ें", "add-description": "विवरण लिखें", + "add-link": "Add link", "add-member": "सदस्य जोड़ें", + "add-pixel": "Add pixel", "add-step": "चरण जोड़ें", "add-website": "वेबसाइट", "admin": "प्रशासक", @@ -14,10 +18,13 @@ "after": "बाद में", "all": "सब", "all-time": "सभी समय", + "analysis": "Analysis", "analytics": "विश्लेषण", + "application": "Application", "apply": "लागू करें", "attribution": "अर्पण", "attribution-description": "देखें कि उपयोगकर्ता आपके विपणन के साथ कैसे जुड़ते हैं और क्या रूपांतरण को प्रेरित करता है।", + "audience": "Audience", "average": "औसत", "back": "पीछे", "before": "पहले", @@ -27,14 +34,18 @@ "breakdown": "विभाजन", "browser": "ब्राउज़र", "browsers": "वेब ब्राउज़र", + "campaign": "Campaign", "campaigns": "अभियान", "cancel": "रद्द करें", "change-password": "पासवर्ड बदलें", + "channel": "Channel", "channels": "चैनल", + "chart": "Chart", "cities": "शहर", "city": "शहर", "clear-all": "सभी साफ करें", "cohort": "समूह", + "cohorts": "Cohorts", "compare": "तुलना करें", "compare-dates": "तिथियों की तुलना करें", "confirm": "पुष्टि करें", @@ -54,6 +65,7 @@ "create-user": "उपयोगकर्ता बनाएं", "created": "बनाया गया", "created-by": "द्वारा बनाया गया", + "criteria": "Criteria", "currency": "मुद्रा", "current": "वर्तमान", "current-password": "वर्तमान पासवर्ड", @@ -71,16 +83,19 @@ "delete-website": "वेबसाइट हटाएं", "description": "विवरण", "desktop": "डेस्कटॉप", + "destination-url": "Destination URL", "details": "विवरण", "device": "डिवाइस", "devices": "उपकरण", "direct": "प्रत्यक्ष", "dismiss": "खारिज कीजिये", "distinct-id": "अद्वितीय आईडी", + "documentation": "Documentation", "does-not-contain": "शामिल नहीं है", "does-not-include": "शामिल नहीं है", "doest-not-exist": "मौजूद नहीं है", "domain": "डोमेन", + "download": "Download", "dropoff": "Dropoff", "edit": "संपादित करें", "edit-dashboard": "डैशबोर्ड संपादित करें", @@ -89,10 +104,12 @@ "enable-share-url": "शेयर URL सक्षम करें", "end-step": "अंतिम चरण", "entry": "प्रवेश URL", + "environment": "Environment", "event": "घटना", "event-data": "घटना डेटा", "event-name": "घटना नाम", "events": "स्पर्धाएँ", + "exclude-bounce": "Exclude bounce", "exists": "मौजूद है", "exit": "निकास URL", "false": "गलत", @@ -113,11 +130,14 @@ "greater-than": "से अधिक", "greater-than-equals": "से अधिक या बराबर", "grouped": "समूहित", + "growth": "Growth", "hostname": "होस्टनाम", + "hour": "Hour", "includes": "शामिल है", "insight": "अंतर्दृष्टि", "insights": "अंतर्दृष्टियाँ", "insights-description": "सेगमेंट और फ़िल्टर का उपयोग करके अपने डेटा में गहराई से जाएं।", + "invalid-url": "Invalid URL", "is": "है", "is-false": "गलत है", "is-not": "नहीं है", @@ -141,7 +161,9 @@ "leave-team": "टीम छोड़ें", "less-than": "से कम", "less-than-equals": "से कम या बराबर", + "link": "Link", "links": "लिंक", + "location": "Location", "login": "लॉग इन", "logout": "लॉग आउट", "manage": "प्रबंधित करें", @@ -152,8 +174,10 @@ "member": "सदस्य", "members": "सदस्यगण", "min": "न्यूनतम", + "minute": "Minute", "mobile": "मोबाइल फोन", "model": "मॉडल", + "month": "Month", "more": "और", "my-account": "मेरा खाता", "my-websites": "मेरी वेबसाइट्स", @@ -184,12 +208,15 @@ "password": "पासवर्ड", "path": "पथ", "paths": "पथ", + "pixel": "Pixel", "pixels": "पिक्सेल", "powered-by": "{name} द्वारा संचालित", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "प्रोफ़ाइल", + "profiles": "Profiles", "properties": "गुण", "property": "गुण", "queries": "प्रश्न", @@ -217,8 +244,13 @@ "role": "भूमिका", "run-query": "प्रश्न चलाएँ", "save": "सहेजें", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "स्क्रीन", "search": "खोजें", + "segment": "Segment", + "segments": "Segments", "select": "चुनें", "select-date": "तिथि चुनें", "select-filter": "फ़िल्टर चुनें", @@ -232,10 +264,14 @@ "share-url": "यूआरएल साझा करें", "single-day": "एक दिन", "sms": "SMS", + "source": "Source", "sources": "स्रोत", "start-step": "प्रारंभिक चरण", "steps": "चरण", "sum": "योग", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "टैबलेट", "tag": "टैग", "tags": "टैग्स", @@ -249,6 +285,7 @@ "team-view-only": "केवल टीम देखें", "team-websites": "टीम वेबसाइट्स", "teams": "टीमें", + "term": "Term", "terms": "शर्तें", "theme": "थीम", "this-month": "इस महीने", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "ट्रैकिंग कोड", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "अद्वितीय आगंतुकों", "uniqueCustomers": "Unique Customers", "unknown": "अज्ञात", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "उपयोगकर्ता नाम", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "विवरण देखें", "view-only": "View only", diff --git a/public/intl/messages/hr-HR.json b/public/intl/messages/hr-HR.json index 664eaec73..a99f8e5e1 100644 --- a/public/intl/messages/hr-HR.json +++ b/public/intl/messages/hr-HR.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Pristupni kod", + "account": "Account", + "action": "Action", "actions": "Akcije", "activity": "Dnevnik aktivnosti", "add": "Dodaj", "add-board": "Dodaj ploču", "add-description": "Dodaj opis", + "add-link": "Add link", "add-member": "Dodaj člana", + "add-pixel": "Add pixel", "add-step": "Dodaj korak", "add-website": "Dodaj web stranicu", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "Nakon", "all": "Sve", "all-time": "Svo vrijeme", + "analysis": "Analysis", "analytics": "Analitika", + "application": "Application", "apply": "Primijeni", "attribution": "Atribucija", "attribution-description": "Pogledajte kako korisnici komuniciraju s vašim marketingom i što dovodi do konverzija.", + "audience": "Audience", "average": "Prosjek", "back": "Natrag ", "before": "Prije", @@ -27,14 +34,18 @@ "breakdown": "Raspad", "browser": "Preglednik", "browsers": "Preglednici", + "campaign": "Campaign", "campaigns": "Kampanje", "cancel": "Odustani", "change-password": "Promijeni lozinku", + "channel": "Channel", "channels": "Kanali", + "chart": "Chart", "cities": "Gradovi", "city": "Grad", "clear-all": "Očisti sve", "cohort": "Kohorta", + "cohorts": "Cohorts", "compare": "Usporedi", "compare-dates": "Usporedi datume", "confirm": "Potvrdi", @@ -54,6 +65,7 @@ "create-user": "Kreiraj korisnika", "created": "Kreirano", "created-by": "Kreirao", + "criteria": "Criteria", "currency": "Valuta", "current": "Trenutno", "current-password": "Trenutna lozinka", @@ -71,16 +83,19 @@ "delete-website": "Obriši web stranicu", "description": "Opis", "desktop": "Stolno računalo", + "destination-url": "Destination URL", "details": "Detalji", "device": "Uređaj", "devices": "Uređaji", "direct": "Direktno", "dismiss": "Odbaci", "distinct-id": "Jedinstveni ID", + "documentation": "Documentation", "does-not-contain": "Ne sadrži", "does-not-include": "Ne uključuje", "doest-not-exist": "Ne postoji", "domain": "Domena", + "download": "Download", "dropoff": "Odlazak", "edit": "Uredi", "edit-dashboard": "Uredi nadzornu ploču", @@ -89,10 +104,12 @@ "enable-share-url": "Omogući dijeljenje poveznice", "end-step": "Završni korak", "entry": "Ulazni URL", + "environment": "Environment", "event": "Događaj", "event-data": "Podaci događaja", "event-name": "Naziv događaja", "events": "Events", + "exclude-bounce": "Exclude bounce", "exists": "Postoji", "exit": "Izlazni URL", "false": "Netočno", @@ -113,11 +130,14 @@ "greater-than": "Veće od", "greater-than-equals": "Veće ili jednako", "grouped": "Grupirano", + "growth": "Growth", "hostname": "Naziv hosta", + "hour": "Hour", "includes": "Uključuje", "insight": "Uvid", "insights": "Uvidi", "insights-description": "Dublje analizirajte svoje podatke pomoću segmenata i filtera.", + "invalid-url": "Invalid URL", "is": "Je", "is-false": "Je netočno", "is-not": "Nije", @@ -141,7 +161,9 @@ "leave-team": "Napusti tim", "less-than": "Manje od", "less-than-equals": "Manje ili jednako", + "link": "Link", "links": "Poveznice", + "location": "Location", "login": "Prijava", "logout": "Odjava", "manage": "Upravljaj", @@ -152,8 +174,10 @@ "member": "Član", "members": "Članovi", "min": "Minimum", + "minute": "Minute", "mobile": "Mobile", "model": "Model", + "month": "Month", "more": "Više", "my-account": "Moj račun", "my-websites": "Moje web stranice", @@ -184,12 +208,15 @@ "password": "Lozinka", "path": "Putanja", "paths": "Putanje", + "pixel": "Pixel", "pixels": "Pikseli", "powered-by": "Powered by {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "Profil", + "profiles": "Profiles", "properties": "Svojstva", "property": "Svojstvo", "queries": "Upiti", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "Spremi", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Ekrani", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "Odaberi filter", @@ -232,10 +264,14 @@ "share-url": "Podijeli poveznicu", "single-day": "Jedan dan", "sms": "SMS", + "source": "Source", "sources": "Izvori", "start-step": "Početni korak", "steps": "Koraci", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Oznaka", "tags": "Oznake", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Pojmovi", "theme": "Tema", "this-month": "Ovaj mjesec", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "Kod za praćenje", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Unique visitors", "uniqueCustomers": "Unique Customers", "unknown": "Nepoznato", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "Korisničko ime", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "Pogledaj detalje", "view-only": "View only", diff --git a/public/intl/messages/hu-HU.json b/public/intl/messages/hu-HU.json index 4854c86c2..55e722f09 100644 --- a/public/intl/messages/hu-HU.json +++ b/public/intl/messages/hu-HU.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Hozzáférési kód", + "account": "Account", + "action": "Action", "actions": "Műveletek", "activity": "Tevékenységnapló", "add": "Hozzáadás", "add-board": "Tábla hozzáadása", "add-description": "Leírás hozzáadása", + "add-link": "Add link", "add-member": "Tag hozzáadása", + "add-pixel": "Add pixel", "add-step": "Lépés hozzáadása", "add-website": "Weboldal hozzáadása", "admin": "Adminisztrátor", @@ -14,10 +18,13 @@ "after": "Után", "all": "Összes", "all-time": "Minden időszak", + "analysis": "Analysis", "analytics": "Analitika", + "application": "Application", "apply": "Alkalmaz", "attribution": "Attribúció", "attribution-description": "Nézze meg, hogyan lépnek kapcsolatba a felhasználók a marketingjével, és mi vezet konverzióhoz.", + "audience": "Audience", "average": "Átlag", "back": "Vissza", "before": "Előtt", @@ -27,14 +34,18 @@ "breakdown": "Bontás", "browser": "Böngésző", "browsers": "Böngészők", + "campaign": "Campaign", "campaigns": "Kampányok", "cancel": "Mégsem", "change-password": "Jelszó módosítása", + "channel": "Channel", "channels": "Csatornák", + "chart": "Chart", "cities": "Városok", "city": "Város", "clear-all": "Összes törlése", "cohort": "Kohorsz", + "cohorts": "Cohorts", "compare": "Összehasonlít", "compare-dates": "Dátumok összehasonlítása", "confirm": "Megerősít", @@ -54,6 +65,7 @@ "create-user": "Felhasználó létrehozása", "created": "Létrehozva", "created-by": "Létrehozta", + "criteria": "Criteria", "currency": "Pénznem", "current": "Jelenlegi", "current-password": "Jelenlegi jelszó", @@ -71,16 +83,19 @@ "delete-website": "Weboldal eltávolítása", "description": "Leírás", "desktop": "Asztali számítógép", + "destination-url": "Destination URL", "details": "Részletek", "device": "Eszköz", "devices": "Eszközök", "direct": "Közvetlen", "dismiss": "Mellőzés", "distinct-id": "Egyedi azonosító", + "documentation": "Documentation", "does-not-contain": "Nem tartalmazza", "does-not-include": "Nem tartalmazza", "doest-not-exist": "Nem létezik", "domain": "Domain", + "download": "Download", "dropoff": "Lemorzsolódás", "edit": "Módosítás", "edit-dashboard": "Irányítópult szerkesztése", @@ -89,10 +104,12 @@ "enable-share-url": "URL-megosztás engedélyezése", "end-step": "Befejező lépés", "entry": "Belépési URL", + "environment": "Environment", "event": "Esemény", "event-data": "Eseményadatok", "event-name": "Esemény neve", "events": "Események", + "exclude-bounce": "Exclude bounce", "exists": "Létezik", "exit": "Kilépési URL", "false": "Hamis", @@ -113,11 +130,14 @@ "greater-than": "Nagyobb mint", "greater-than-equals": "Nagyobb vagy egyenlő", "grouped": "Csoportosítva", + "growth": "Growth", "hostname": "Hosztnév", + "hour": "Hour", "includes": "Tartalmazza", "insight": "Betekintés", "insights": "Betekintések", "insights-description": "Merüljön el mélyebben az adataiban szegmensek és szűrők használatával.", + "invalid-url": "Invalid URL", "is": "Az", "is-false": "Hamis", "is-not": "Nem az", @@ -141,7 +161,9 @@ "leave-team": "Csapat elhagyása", "less-than": "Kevesebb mint", "less-than-equals": "Kevesebb vagy egyenlő", + "link": "Link", "links": "Linkek", + "location": "Location", "login": "Bejelentkezés", "logout": "Kijelentkezés", "manage": "Kezelés", @@ -152,8 +174,10 @@ "member": "Tag", "members": "Tagok", "min": "Minimum", + "minute": "Minute", "mobile": "Telefon", "model": "Model", + "month": "Month", "more": "Bővebben", "my-account": "Saját fiók", "my-websites": "Saját weboldalak", @@ -184,12 +208,15 @@ "password": "Jelszó", "path": "Útvonal", "paths": "Útvonalak", + "pixel": "Pixel", "pixels": "Pixelek", "powered-by": "Működteti az {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "Profil", + "profiles": "Profiles", "properties": "Tulajdonságok", "property": "Tulajdonság", "queries": "Lekérdezések", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "Mentés", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Képernyők", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "Szűrő kiválasztása", @@ -232,10 +264,14 @@ "share-url": "URL megosztása", "single-day": "Egy nap", "sms": "SMS", + "source": "Source", "sources": "Források", "start-step": "Kezdő lépés", "steps": "Lépések", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Táblagép", "tag": "Címke", "tags": "Címkék", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Kifejezések", "theme": "Theme", "this-month": "Ezen hónap", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "Követési kód", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Egyedi látogatók", "uniqueCustomers": "Unique Customers", "unknown": "Ismeretlen", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "Felhasználónév", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "Részletek", "view-only": "View only", diff --git a/public/intl/messages/id-ID.json b/public/intl/messages/id-ID.json index a64a3c0e0..7d022e0bf 100644 --- a/public/intl/messages/id-ID.json +++ b/public/intl/messages/id-ID.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Kode akses", + "account": "Account", + "action": "Action", "actions": "Aksi", "activity": "Catatan aktivitas", "add": "Tambah", "add-board": "Tambah papan", "add-description": "Tambah deskripsi", + "add-link": "Add link", "add-member": "Tambah anggota", + "add-pixel": "Add pixel", "add-step": "Tambah langkah", "add-website": "Tambah situs web", "admin": "Pengelola", @@ -14,10 +18,13 @@ "after": "Setelah", "all": "Semua", "all-time": "Semua waktu", + "analysis": "Analysis", "analytics": "Analitik", + "application": "Application", "apply": "Terapkan", "attribution": "Atribusi", "attribution-description": "Lihat bagaimana pengguna berinteraksi dengan pemasaran Anda dan apa yang mendorong konversi.", + "audience": "Audience", "average": "Rata-rata", "back": "Kembali", "before": "Sebelum", @@ -27,14 +34,18 @@ "breakdown": "Rincian", "browser": "Peramban", "browsers": "Peramban", + "campaign": "Campaign", "campaigns": "Kampanye", "cancel": "Batal", "change-password": "Ganti kata sandi", + "channel": "Channel", "channels": "Saluran", + "chart": "Chart", "cities": "Kota", "city": "Kota", "clear-all": "Hapus semua", "cohort": "Kelompok", + "cohorts": "Cohorts", "compare": "Bandingkan", "compare-dates": "Bandingkan tanggal", "confirm": "Konfirmasi", @@ -54,6 +65,7 @@ "create-user": "Buat pengguna", "created": "Dibuat", "created-by": "Dibuat oleh", + "criteria": "Criteria", "currency": "Mata uang", "current": "Saat ini", "current-password": "Kata sandi sekarang", @@ -71,16 +83,19 @@ "delete-website": "Hapus situs web", "description": "Deskripsi", "desktop": "Desktop", + "destination-url": "Destination URL", "details": "Detail", "device": "Perangkat", "devices": "Perangkat", "direct": "Langsung", "dismiss": "Tutup", "distinct-id": "ID unik", + "documentation": "Documentation", "does-not-contain": "Tidak mengandung", "does-not-include": "Tidak termasuk", "doest-not-exist": "Tidak ada", "domain": "Domain", + "download": "Download", "dropoff": "Penurunan", "edit": "Sunting", "edit-dashboard": "Sunting dasbor", @@ -89,10 +104,12 @@ "enable-share-url": "Aktifkan URL berbagi", "end-step": "Langkah akhir", "entry": "URL masuk", + "environment": "Environment", "event": "Peristiwa", "event-data": "Data peristiwa", "event-name": "Nama peristiwa", "events": "Peristiwa", + "exclude-bounce": "Exclude bounce", "exists": "Ada", "exit": "Exit URL", "false": "Salah", @@ -113,11 +130,14 @@ "greater-than": "Lebih dari", "greater-than-equals": "Lebih dari atau sama dengan", "grouped": "Dikelompokkan", + "growth": "Growth", "hostname": "Nama host", + "hour": "Hour", "includes": "Termasuk", "insight": "Wawasan", "insights": "Wawasan", "insights-description": "Jelajahi data Anda lebih dalam dengan menggunakan segmen dan filter.", + "invalid-url": "Invalid URL", "is": "Adalah", "is-false": "Salah", "is-not": "Bukan", @@ -141,7 +161,9 @@ "leave-team": "Keluar dari tim", "less-than": "Kurang dari", "less-than-equals": "Kurang dari atau sama dengan", + "link": "Link", "links": "Tautan", + "location": "Location", "login": "Masuk", "logout": "Keluar", "manage": "Kelola", @@ -152,8 +174,10 @@ "member": "Anggota", "members": "Anggota", "min": "Minimum", + "minute": "Minute", "mobile": "Ponsel", "model": "Model", + "month": "Month", "more": "Lebih banyak", "my-account": "Akun saya", "my-websites": "Situs web saya", @@ -184,12 +208,15 @@ "password": "Kata sandi", "path": "Jalur", "paths": "Jalur", + "pixel": "Pixel", "pixels": "Piksel", "powered-by": "Didukung oleh {name}", + "preferences": "Preferences", "previous": "Sebelumnya", "previous-period": "Periode sebelumnya", "previous-year": "Tahun lalu", "profile": "Profil", + "profiles": "Profiles", "properties": "Properti", "property": "Properti", "queries": "Kueri", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "Simpan", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Layar", "search": "Cari", + "segment": "Segment", + "segments": "Segments", "select": "Pilih", "select-date": "Pilih tanggal", "select-filter": "Pilih filter", @@ -232,10 +264,14 @@ "share-url": "Bagikan URL", "single-day": "Sehari", "sms": "SMS", + "source": "Source", "sources": "Sumber", "start-step": "Langkah awal", "steps": "Langkah", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Tag", "tags": "Tag", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Situs web tim", "teams": "Tim", + "term": "Term", "terms": "Ketentuan", "theme": "Tema", "this-month": "Bulan ini", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total baris", "tracking-code": "Kode lacak", + "traffic": "Traffic", "transactions": "Transaksi", "transfer": "Transfer", "transfer-website": "Transfer situs web", "true": "Benar", "type": "Tipe", "unique": "Unik", + "unique-events": "Unique events", "unique-visitors": "Pengunjung unik", "uniqueCustomers": "Kustomer unik", "unknown": "Tidak diketahui", "untitled": "Tanpa judul", "update": "Perbarui", + "url": "URL", "user": "Pengguna", "username": "Nama pengguna", "users": "Pengguna", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Lacak kampanye Anda melalui parameter UTM.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Nilai", + "version": "Version", "view": "Lihat", "view-details": "Lihat Detil", "view-only": "Hanya melihat", diff --git a/public/intl/messages/it-IT.json b/public/intl/messages/it-IT.json index b0bceb05a..2aea9e450 100644 --- a/public/intl/messages/it-IT.json +++ b/public/intl/messages/it-IT.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Codice di accesso", + "account": "Account", + "action": "Action", "actions": "Azioni", "activity": "Registro attività", "add": "Aggiungi", "add-board": "Aggiungi bacheca", "add-description": "Aggiungi descrizione", + "add-link": "Add link", "add-member": "Aggiungi membro", + "add-pixel": "Add pixel", "add-step": "Aggiungi passaggio", "add-website": "Aggiungi sito", "admin": "Amministratore", @@ -14,10 +18,13 @@ "after": "Dopo", "all": "Tutto", "all-time": "Sempre", + "analysis": "Analysis", "analytics": "Analitica", + "application": "Application", "apply": "Applica", "attribution": "Attribuzione", "attribution-description": "Scopri come gli utenti interagiscono con il tuo marketing e cosa genera conversioni.", + "audience": "Audience", "average": "Media", "back": "Indietro", "before": "Prima", @@ -27,14 +34,18 @@ "breakdown": "Dettaglio", "browser": "Browser", "browsers": "Browser", + "campaign": "Campaign", "campaigns": "Campagne", "cancel": "Annulla", "change-password": "Modifica password", + "channel": "Channel", "channels": "Canali", + "chart": "Chart", "cities": "Città", "city": "Città", "clear-all": "Cancella tutto", "cohort": "Coorte", + "cohorts": "Cohorts", "compare": "Confronta", "compare-dates": "Confronta date", "confirm": "Conferma", @@ -54,6 +65,7 @@ "create-user": "Crea utente", "created": "Creato", "created-by": "Creato da", + "criteria": "Criteria", "currency": "Valuta", "current": "Attuale", "current-password": "Password attuale", @@ -71,16 +83,19 @@ "delete-website": "Elimina sito", "description": "Descrizione", "desktop": "Desktop", + "destination-url": "Destination URL", "details": "Dettagli", "device": "Dispositivo", "devices": "Dispositivi", "direct": "Diretto", "dismiss": "Scarta", "distinct-id": "ID distinto", + "documentation": "Documentation", "does-not-contain": "Non contiene", "does-not-include": "Non include", "doest-not-exist": "Non esiste", "domain": "Dominio", + "download": "Download", "dropoff": "Abbandono", "edit": "Modifica", "edit-dashboard": "Modifica pannello di controllo", @@ -89,10 +104,12 @@ "enable-share-url": "Abilita URL di condivisione", "end-step": "Passaggio finale", "entry": "URL di ingresso", + "environment": "Environment", "event": "Evento", "event-data": "Dati evento", "event-name": "Nome evento", "events": "Eventi", + "exclude-bounce": "Exclude bounce", "exists": "Esiste", "exit": "URL di uscita", "false": "Falso", @@ -113,11 +130,14 @@ "greater-than": "Maggiore di", "greater-than-equals": "Maggiore o uguale a", "grouped": "Raggruppato", + "growth": "Growth", "hostname": "Nome host", + "hour": "Hour", "includes": "Include", "insight": "Approfondimento", "insights": "Approfondimenti", "insights-description": "Analizza più a fondo i tuoi dati utilizzando segmenti e filtri.", + "invalid-url": "Invalid URL", "is": "È", "is-false": "È falso", "is-not": "Non è", @@ -141,7 +161,9 @@ "leave-team": "Lascia il team", "less-than": "Meno di", "less-than-equals": "Meno o uguale a", + "link": "Link", "links": "Link", + "location": "Location", "login": "Accedi", "logout": "Esci", "manage": "Gestisci", @@ -152,8 +174,10 @@ "member": "Membro", "members": "Membri", "min": "Minimo", + "minute": "Minute", "mobile": "Cellulare", "model": "Model", + "month": "Month", "more": "Dettagli", "my-account": "Il mio account", "my-websites": "I miei siti", @@ -184,12 +208,15 @@ "password": "Password", "path": "Percorso", "paths": "Percorsi", + "pixel": "Pixel", "pixels": "Pixel", "powered-by": "Powered by {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "Profilo", + "profiles": "Profiles", "properties": "Proprietà", "property": "Proprietà", "queries": "Query", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "Salva", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Schermi", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "Seleziona filtro", @@ -232,10 +264,14 @@ "share-url": "Condividi link", "single-day": "Singolo giorno", "sms": "SMS", + "source": "Source", "sources": "Fonti", "start-step": "Start Step", "steps": "Steps", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Etichetta", "tags": "Etichette", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Termini", "theme": "Tema", "this-month": "Questo mese", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "Codice di tracking", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Visitatori unici", "uniqueCustomers": "Unique Customers", "unknown": "Sconosciuto", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "Nome utente", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "Vedi dettagli", "view-only": "View only", diff --git a/public/intl/messages/ja-JP.json b/public/intl/messages/ja-JP.json index 982de10e3..2239bdf62 100644 --- a/public/intl/messages/ja-JP.json +++ b/public/intl/messages/ja-JP.json @@ -1,12 +1,16 @@ { "label": { "access-code": "アクセスコード", + "account": "Account", + "action": "Action", "actions": "アクション", "activity": "アクティビティログ", "add": "追加", "add-board": "ボードを追加", "add-description": "説明を追加", + "add-link": "Add link", "add-member": "メンバーの追加", + "add-pixel": "Add pixel", "add-step": "ステップを追加", "add-website": "Webサイトの追加", "admin": "管理者", @@ -14,10 +18,13 @@ "after": "直後", "all": "すべて", "all-time": "すべての時間帯", + "analysis": "Analysis", "analytics": "アナリティクス", + "application": "Application", "apply": "適用", "attribution": "アトリビューション", "attribution-description": "ユーザーがあなたのマーケティングにどのように関与し、何がコンバージョンを促進するかを確認します。", + "audience": "Audience", "average": "平均", "back": "戻る", "before": "直前", @@ -27,14 +34,18 @@ "breakdown": "内訳", "browser": "ブラウザ", "browsers": "ブラウザ", + "campaign": "Campaign", "campaigns": "キャンペーン", "cancel": "キャンセル", "change-password": "パスワードの変更", + "channel": "Channel", "channels": "チャンネル", + "chart": "Chart", "cities": "都市", "city": "都市", "clear-all": "すべてクリア", "cohort": "コホート", + "cohorts": "Cohorts", "compare": "比較", "compare-dates": "日付を比較", "confirm": "確認", @@ -54,6 +65,7 @@ "create-user": "ユーザーの作成", "created": "作成されました", "created-by": "作成者", + "criteria": "Criteria", "currency": "通貨", "current": "現在", "current-password": "現在のパスワード", @@ -71,16 +83,19 @@ "delete-website": "Webサイトの削除", "description": "説明", "desktop": "デスクトップ", + "destination-url": "Destination URL", "details": "詳細情報", "device": "デバイス", "devices": "デバイス", "direct": "ダイレクト", "dismiss": "却下", "distinct-id": "識別ID", + "documentation": "Documentation", "does-not-contain": "を含まない", "does-not-include": "含まない", "doest-not-exist": "存在しない", "domain": "ドメイン", + "download": "Download", "dropoff": "切り捨て", "edit": "編集", "edit-dashboard": "ダッシュボードの編集", @@ -89,10 +104,12 @@ "enable-share-url": "共有URLを有効にする", "end-step": "最終ステップ", "entry": "訪問時のURL", + "environment": "Environment", "event": "イベント", "event-data": "イベントデータ", "event-name": "イベント名", "events": "イベント", + "exclude-bounce": "Exclude bounce", "exists": "存在する", "exit": "退出時のURL", "false": "偽", @@ -113,11 +130,14 @@ "greater-than": "超過", "greater-than-equals": "以上", "grouped": "グループ化", + "growth": "Growth", "hostname": "ホスト名", + "hour": "Hour", "includes": "含む", "insight": "インサイト", "insights": "インサイト", "insights-description": "セグメントとフィルタを使用して、データをさらに詳しく分析します。", + "invalid-url": "Invalid URL", "is": "に等しい", "is-false": "偽である", "is-not": "に等しくない", @@ -141,7 +161,9 @@ "leave-team": "チームを離脱", "less-than": "未満", "less-than-equals": "以下", + "link": "Link", "links": "リンク", + "location": "Location", "login": "ログイン", "logout": "ログアウト", "manage": "管理", @@ -152,8 +174,10 @@ "member": "メンバー", "members": "メンバー", "min": "最小", + "minute": "Minute", "mobile": "携帯電話", "model": "モデル", + "month": "Month", "more": "もっと見る", "my-account": "マイアカウント", "my-websites": "マイWebサイト", @@ -184,12 +208,15 @@ "password": "パスワード", "path": "パス", "paths": "パス", + "pixel": "Pixel", "pixels": "ピクセル", "powered-by": "Powered by {name}", + "preferences": "Preferences", "previous": "以前", "previous-period": "前期", "previous-year": "前年", "profile": "プロフィール", + "profiles": "Profiles", "properties": "プロパティ", "property": "プロパティ", "queries": "クエリ", @@ -217,8 +244,13 @@ "role": "ロール", "run-query": "クエリ実行", "save": "保存", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "画面サイズ", "search": "検索", + "segment": "Segment", + "segments": "Segments", "select": "選択", "select-date": "日付を選択", "select-filter": "フィルターを選択", @@ -232,10 +264,14 @@ "share-url": "共有URL", "single-day": "一日", "sms": "SMS", + "source": "Source", "sources": "ソース", "start-step": "最初のステップ", "steps": "ステップ", "sum": "合計", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "タブレット", "tag": "タグ", "tags": "タグ", @@ -249,6 +285,7 @@ "team-view-only": "チーム表示のみ", "team-websites": "チームのWebサイト", "teams": "チーム", + "term": "Term", "terms": "利用規約", "theme": "テーマ", "this-month": "今月", @@ -261,23 +298,32 @@ "total": "累計", "total-records": "総記録数", "tracking-code": "トラッキングコード", + "traffic": "Traffic", "transactions": "トランザクション", "transfer": "移管", "transfer-website": "Webサイトの移管", "true": "真", "type": "種別", "unique": "ユニーク", + "unique-events": "Unique events", "unique-visitors": "ユニーク訪問者数", "uniqueCustomers": "ユニーク顧客数", "unknown": "不明", "untitled": "無題", "update": "更新", + "url": "URL", "user": "ユーザー", "username": "ユーザー名", "users": "ユーザー", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "UTMパラメーターを使用してキャンペーンを追跡します。", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "値", + "version": "Version", "view": "表示", "view-details": "詳細を表示", "view-only": "表示のみ", diff --git a/public/intl/messages/km-KH.json b/public/intl/messages/km-KH.json index cf1c8d411..891172f01 100644 --- a/public/intl/messages/km-KH.json +++ b/public/intl/messages/km-KH.json @@ -1,12 +1,16 @@ { "label": { "access-code": "កូដចូលប្រើ", + "account": "Account", + "action": "Action", "actions": "សកម្មភាព", "activity": "កំណត់ហេតុ​សកម្មភាព", "add": "បង្កើតបន្ថែម", "add-board": "បន្ថែមក្តារ", "add-description": "បន្ថែមពិពណ៌នា", + "add-link": "Add link", "add-member": "បន្ថែមសមាជិក", + "add-pixel": "Add pixel", "add-step": "បន្ថែមជំហាន", "add-website": "បន្ថែមគេហទំព័រ", "admin": "អ្នកគ្រប់គ្រង", @@ -14,10 +18,13 @@ "after": "បន្ទាប់", "all": "ទាំងអស់", "all-time": "គ្រប់ពេល", + "analysis": "Analysis", "analytics": "វិភាគ", + "application": "Application", "apply": "អនុវត្ត", "attribution": "ការបញ្ជាក់", "attribution-description": "មើលថាប្រើប្រាស់របស់អ្នកធ្វើអ្វីជាមួយទីផ្សាររបស់អ្នក និងអ្វីជាហេតុបណ្តាលឲ្យមានការបម្លែង។", + "audience": "Audience", "average": "ជាមធ្យម", "back": "ថយក្រោយ", "before": "មុន", @@ -27,14 +34,18 @@ "breakdown": "បំបែកលម្អិត", "browser": "កម្មវិធីរុករក", "browsers": "កម្មវិធី", + "campaign": "Campaign", "campaigns": "យុទ្ធនាការ", "cancel": "បោះបង់", "change-password": "ផ្លាស់ប្តូរពាក្យសម្ងាត់", + "channel": "Channel", "channels": "ឆានែល", + "chart": "Chart", "cities": "ទីក្រុង", "city": "ទីក្រុង", "clear-all": "លុបចេញទាំងអស់", "cohort": "ក្រុម", + "cohorts": "Cohorts", "compare": "ប្រៀបធៀប", "compare-dates": "ប្រៀបធៀបទិន្នន័យថ្ងៃខែ", "confirm": "បញ្ជាក់", @@ -54,6 +65,7 @@ "create-user": "បង្កើតអ្នកប្រើប្រាស់", "created": "បង្កើតនៅ", "created-by": "បង្កើតដោយ", + "criteria": "Criteria", "currency": "រូបិយប័ណ្ណ", "current": "បច្ចុប្បន្ន", "current-password": "ពាក្យសម្ងាត់បច្ចុប្បន្ន", @@ -71,16 +83,19 @@ "delete-website": "លុបគេហទំព័រ", "description": "ការពិពណ៌នា", "desktop": "កុំព្យូទ័រលើតុ", + "destination-url": "Destination URL", "details": "ព័ត៌មានលម្អិត", "device": "ឧបករណ៍", "devices": "ឧបករណ៍", "direct": "ផ្ទាល់", "dismiss": "រំសាយ", "distinct-id": "លេខសម្គាល់ពិសេស", + "documentation": "Documentation", "does-not-contain": "មិនមាន", "does-not-include": "មិនរួមបញ្ចូល", "doest-not-exist": "មិនមានទេ", "domain": "Domain", + "download": "Download", "dropoff": "Dropoff", "edit": "កែប្រែ", "edit-dashboard": "កែផ្ទាំងគ្រប់គ្រង", @@ -89,10 +104,12 @@ "enable-share-url": "បើកការចែករំលែក URL", "end-step": "បញ្ចប់ជំហាន", "entry": "URL ចូល", + "environment": "Environment", "event": "ព្រឹត្តិការណ៍", "event-data": "ទិន្នន័យព្រឹត្តិការណ៍", "event-name": "ឈ្មោះព្រឹត្តិការណ៍", "events": "ព្រឹត្តិការណ៍", + "exclude-bounce": "Exclude bounce", "exists": "មាន", "exit": "URL ចេញ", "false": "មិនពិត", @@ -113,11 +130,14 @@ "greater-than": "ធំជាង", "greater-than-equals": "ធំជាងឬស្មើ", "grouped": "បានដាក់ជាក្រុម", + "growth": "Growth", "hostname": "ឈ្មោះម៉ាស៊ីន", + "hour": "Hour", "includes": "រួមបញ្ចូល", "insight": "ការយល់ដឹង", "insights": "Insights", "insights-description": "Dive deeper into your data by using segments and filters.", + "invalid-url": "Invalid URL", "is": "គឺ", "is-false": "មិនពិត", "is-not": "មិនមែន", @@ -141,7 +161,9 @@ "leave-team": "ចេញពីក្រុម", "less-than": "តិច​ជាង", "less-than-equals": "តិចជាង ឬស្មើ", + "link": "Link", "links": "តំណភ្ជាប់", + "location": "Location", "login": "Login", "logout": "Logout", "manage": "គ្រប់គ្រង", @@ -152,8 +174,10 @@ "member": "សមាជិក", "members": "សមាជិក", "min": "Min", + "minute": "Minute", "mobile": "ទូរស័ព្ទចល័ត", "model": "ម៉ូដែល", + "month": "Month", "more": "បន្ថែម", "my-account": "គណនី​របស់ខ្ញុំ", "my-websites": "គេហទំព័ររបស់ខ្ញុំ", @@ -184,12 +208,15 @@ "password": "ពាក្យសម្ងាត់​", "path": "Path", "paths": "Paths", + "pixel": "Pixel", "pixels": "ភីកសែល", "powered-by": "ដំណើរការដោយ {name}", + "preferences": "Preferences", "previous": "មុន", "previous-period": "មួយរយៈពេលមុន", "previous-year": "ឆ្នាំ​មុន", "profile": "គណនី", + "profiles": "Profiles", "properties": "លក្ខណៈពិសេស", "property": "លក្ខណៈពិសេស", "queries": "Queries", @@ -217,8 +244,13 @@ "role": "មុខងារ", "run-query": "Run query", "save": "រក្សាទុក", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "ប្រភេទឧបករណ៍", "search": "ស្វែងរក", + "segment": "Segment", + "segments": "Segments", "select": "ជ្រើសរើស", "select-date": "ជ្រើសរើសកាលបរិច្ឆេទ", "select-filter": "ជ្រើសរើសតម្រង", @@ -232,10 +264,14 @@ "share-url": "ចែករំលែក URL", "single-day": "ថ្ងៃតែមួយ", "sms": "SMS", + "source": "Source", "sources": "ប្រភព", "start-step": "ជំហានចាប់ផ្តើម", "steps": "ជំហាន", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "ថេប្លេត", "tag": "ស្លាក", "tags": "ស្លាក", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "គេហទំព័ររបស់ក្រុម", "teams": "ក្រុម", + "term": "Term", "terms": "លក្ខខណ្ឌ", "theme": "រូបរាង", "this-month": "ខែនេះ", @@ -261,23 +298,32 @@ "total": "សរុប", "total-records": "កំណត់ត្រាសរុប", "tracking-code": "លេខកូដតាមដាន", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "ការផ្ទេរ", "transfer-website": "ការផ្ទេរគេហទំព័រ", "true": "ពិត", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "អ្នកចូលមើលម្នាក់ៗ", "uniqueCustomers": "Unique Customers", "unknown": "មិនស្គាល់", "untitled": "គ្មានចំណងជើង", "update": "Update", + "url": "URL", "user": "អ្នកប្រើប្រាស់", "username": "ឈ្មោះ​អ្នកប្រើប្រាស់", "users": "អ្នកប្រើប្រាស់", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "តាមដានយុទ្ធនាការរបស់អ្នកតាមរយៈប៉ារ៉ាម៉ែត្រ UTM។", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "មើលព័ត៌មានលម្អិត", "view-only": "បានតែមើលប៉ុណ្ណោះ", diff --git a/public/intl/messages/ko-KR.json b/public/intl/messages/ko-KR.json index 176820d4a..34ebc1ad0 100644 --- a/public/intl/messages/ko-KR.json +++ b/public/intl/messages/ko-KR.json @@ -1,12 +1,16 @@ { "label": { "access-code": "액세스 코드", + "account": "Account", + "action": "Action", "actions": "동작", "activity": "활동", "add": "추가", "add-board": "보드 추가", "add-description": "설명 추가", + "add-link": "Add link", "add-member": "멤버 추가", + "add-pixel": "Add pixel", "add-step": "단계 추가", "add-website": "웹사이트 추가", "admin": "관리자", @@ -14,10 +18,13 @@ "after": "이후", "all": "전체", "all-time": "전체 시간", + "analysis": "Analysis", "analytics": "분석", + "application": "Application", "apply": "적용", "attribution": "기여도", "attribution-description": "사용자가 마케팅에 어떻게 반응하고 전환을 유도하는지 확인하세요.", + "audience": "Audience", "average": "평균", "back": "뒤로", "before": "이전", @@ -27,14 +34,18 @@ "breakdown": "세부 사항", "browser": "브라우저", "browsers": "브라우저", + "campaign": "Campaign", "campaigns": "캠페인", "cancel": "취소", "change-password": "비밀번호 변경", + "channel": "Channel", "channels": "채널", + "chart": "Chart", "cities": "도시", "city": "도시", "clear-all": "모두 지우기", "cohort": "코호트", + "cohorts": "Cohorts", "compare": "비교", "compare-dates": "날짜 비교", "confirm": "확인", @@ -54,6 +65,7 @@ "create-user": "사용자 만들기", "created": "생성됨", "created-by": "작성자", + "criteria": "Criteria", "currency": "통화", "current": "현재", "current-password": "현재 비밀번호", @@ -71,16 +83,19 @@ "delete-website": "웹사이트 삭제", "description": "설명", "desktop": "데스크톱", + "destination-url": "Destination URL", "details": "세부 정보", "device": "기기", "devices": "기기", "direct": "직접", "dismiss": "무시하기", "distinct-id": "고유 ID", + "documentation": "Documentation", "does-not-contain": "포함하지 않음", "does-not-include": "포함하지 않음", "doest-not-exist": "존재하지 않음", "domain": "도메인", + "download": "Download", "dropoff": "이탈", "edit": "편집", "edit-dashboard": "대시보드 편집", @@ -89,10 +104,12 @@ "enable-share-url": "URL 공유 활성화", "end-step": "마지막 단계", "entry": "입장 URL", + "environment": "Environment", "event": "이벤트", "event-data": "이벤트 데이터", "event-name": "이벤트 이름", "events": "이벤트", + "exclude-bounce": "Exclude bounce", "exists": "존재함", "exit": "퇴장 URL", "false": "거짓", @@ -113,11 +130,14 @@ "greater-than": "이상", "greater-than-equals": "이상", "grouped": "그룹화됨", + "growth": "Growth", "hostname": "호스트명", + "hour": "Hour", "includes": "포함", "insight": "인사이트", "insights": "인사이트", "insights-description": "세그먼트 및 필터를 사용하여 데이터를 더 자세히 살펴보세요.", + "invalid-url": "Invalid URL", "is": "해당", "is-false": "거짓임", "is-not": "해당하지 않음", @@ -141,7 +161,9 @@ "leave-team": "팀 떠나기", "less-than": "미만", "less-than-equals": "이하", + "link": "Link", "links": "링크", + "location": "Location", "login": "로그인", "logout": "로그아웃", "manage": "관리", @@ -152,8 +174,10 @@ "member": "멤버", "members": "멤버", "min": "최소", + "minute": "Minute", "mobile": "모바일", "model": "모델", + "month": "Month", "more": "더 보기", "my-account": "내 계정", "my-websites": "내 웹사이트", @@ -184,12 +208,15 @@ "password": "비밀번호", "path": "패스", "paths": "패스", + "pixel": "Pixel", "pixels": "픽셀", "powered-by": "Powered by {name}", + "preferences": "Preferences", "previous": "이전", "previous-period": "이전 기간", "previous-year": "이전 연도", "profile": "프로필", + "profiles": "Profiles", "properties": "속성", "property": "속성", "queries": "쿼리", @@ -217,8 +244,13 @@ "role": "역할", "run-query": "쿼리 실행", "save": "저장", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "화면", "search": "검색", + "segment": "Segment", + "segments": "Segments", "select": "선택", "select-date": "날짜 선택", "select-filter": "필터 선택", @@ -232,10 +264,14 @@ "share-url": "공유 URL", "single-day": "하루", "sms": "SMS", + "source": "Source", "sources": "소스", "start-step": "시작 단계", "steps": "단계", "sum": "합계", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "태블릿", "tag": "태그", "tags": "태그", @@ -249,6 +285,7 @@ "team-view-only": "팀 보기 전용", "team-websites": "팀 웹사이트", "teams": "팀", + "term": "Term", "terms": "약관", "theme": "테마", "this-month": "이번 달", @@ -261,23 +298,32 @@ "total": "합계", "total-records": "전체 레코드", "tracking-code": "추적 코드", + "traffic": "Traffic", "transactions": "거래", "transfer": "전송", "transfer-website": "웹사이트 전송", "true": "참", "type": "유형", "unique": "고유", + "unique-events": "Unique events", "unique-visitors": "고유 방문자", "uniqueCustomers": "고유 고객", "unknown": "알 수 없음", "untitled": "제목 없음", "update": "업데이트", + "url": "URL", "user": "사용자", "username": "사용자 이름", "users": "사용자", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "UTM 매개변수를 통해 캠페인을 추적하세요.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "값", + "version": "Version", "view": "보기", "view-details": "자세히 보기", "view-only": "보기 전용", diff --git a/public/intl/messages/lt-LT.json b/public/intl/messages/lt-LT.json index 1587b78b7..2f84c511d 100644 --- a/public/intl/messages/lt-LT.json +++ b/public/intl/messages/lt-LT.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Prieigos kodas", + "account": "Account", + "action": "Action", "actions": "Veiksmai", "activity": "Veiklos žurnalas", "add": "Pridėti", "add-board": "Pridėti lentą", "add-description": "Pridėti aprašymą", + "add-link": "Add link", "add-member": "Pridėti narį", + "add-pixel": "Add pixel", "add-step": "Pridėti žingsnį", "add-website": "Pridėti svetainę", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "Po", "all": "Visi", "all-time": "Visas laikotarpis", + "analysis": "Analysis", "analytics": "Analitika", + "application": "Application", "apply": "Taikyti", "attribution": "Priskyrimas", "attribution-description": "Žiūrėkite, kaip naudotojai įsitraukia į jūsų rinkodarą ir kas lemia konversijas.", + "audience": "Audience", "average": "Vidurkis", "back": "Atgal", "before": "Prieš", @@ -27,14 +34,18 @@ "breakdown": "Išskaidymas", "browser": "Naršyklė", "browsers": "Naršyklės", + "campaign": "Campaign", "campaigns": "Kampanijos", "cancel": "Atšaukti", "change-password": "Pakeisti slaptažodį", + "channel": "Channel", "channels": "Kanalai", + "chart": "Chart", "cities": "Miestai", "city": "Miestas", "clear-all": "Išvalyti visus", "cohort": "Kohorta", + "cohorts": "Cohorts", "compare": "Palyginti", "compare-dates": "Palyginti datas", "confirm": "Patvirtinti", @@ -54,6 +65,7 @@ "create-user": "Sukurti vartotoją", "created": "Sukurta", "created-by": "Sukūrė", + "criteria": "Criteria", "currency": "Valiuta", "current": "Dabartinis", "current-password": "Dabartinis slaptažodis", @@ -71,16 +83,19 @@ "delete-website": "Ištrinti svetainę", "description": "Aprašymas", "desktop": "Stalinis kompiuteris", + "destination-url": "Destination URL", "details": "Detalės", "device": "Įrenginys", "devices": "Įrenginiai", "direct": "Tiesioginis", "dismiss": "Gerai", "distinct-id": "Unikalus ID", + "documentation": "Documentation", "does-not-contain": "Neturi", "does-not-include": "Neįtraukia", "doest-not-exist": "Neegzistuoja", "domain": "Domenas", + "download": "Download", "dropoff": "Atsitraukimas", "edit": "Redaguoti", "edit-dashboard": "Redaguoti švieslentę", @@ -89,10 +104,12 @@ "enable-share-url": "Įjungti bendrinimą su nuoroda", "end-step": "Paskutinis žingsnis", "entry": "Įėjimo URL", + "environment": "Environment", "event": "Įvykis", "event-data": "Įvykių duomenys", "event-name": "Įvykio pavadinimas", "events": "Įvykiai", + "exclude-bounce": "Exclude bounce", "exists": "Egzistuoja", "exit": "Išėjimo URL", "false": "Netiesa", @@ -113,11 +130,14 @@ "greater-than": "Daugiau nei", "greater-than-equals": "Daugiau arba lygu", "grouped": "Grupuota", + "growth": "Growth", "hostname": "Pagrindinis kompiuteris", + "hour": "Hour", "includes": "Įtraukia", "insight": "Įžvalga", "insights": "Įžvalgos", "insights-description": "Pasinerkite giliau į savo duomenis naudodami segmentus ir filtrus.", + "invalid-url": "Invalid URL", "is": "Yra", "is-false": "Yra netiesa", "is-not": "Nėra", @@ -141,7 +161,9 @@ "leave-team": "Išeiti iš komandos", "less-than": "Mažiau nei", "less-than-equals": "Mažiau arba lygu", + "link": "Link", "links": "Nuorodos", + "location": "Location", "login": "Prisijungti", "logout": "Atsijungti", "manage": "Tvarkyti", @@ -152,8 +174,10 @@ "member": "Narys", "members": "Nariai", "min": "Minimumas", + "minute": "Minute", "mobile": "Mobilusis", "model": "Modelis", + "month": "Month", "more": "Daugiau", "my-account": "Mano paskyra", "my-websites": "Mano svetainės", @@ -184,12 +208,15 @@ "password": "Slaptažodis", "path": "Kelias", "paths": "Keliai", + "pixel": "Pixel", "pixels": "Pikseliai", "powered-by": "Powered by {name}", + "preferences": "Preferences", "previous": "Ankstesnis", "previous-period": "Ankstesnis laikotarpis", "previous-year": "Ankstesni metai", "profile": "Profilis", + "profiles": "Profiles", "properties": "Savybės", "property": "Savybė", "queries": "Užklausos", @@ -217,8 +244,13 @@ "role": "Vaidmuo", "run-query": "Vykdyti užklausą", "save": "Išsaugoti", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Ekranai", "search": "Ieškoti", + "segment": "Segment", + "segments": "Segments", "select": "Pasirinkti", "select-date": "Pasirinkti laikotarpį", "select-filter": "Pasirinkti filtrą", @@ -232,10 +264,14 @@ "share-url": "Pasidalinti nuoroda", "single-day": "Viena diena", "sms": "SMS", + "source": "Source", "sources": "Šaltiniai", "start-step": "Pradžios žingsnis", "steps": "Žingsniai", "sum": "Suma", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Planšetė", "tag": "Žyma", "tags": "Žymos", @@ -249,6 +285,7 @@ "team-view-only": "Tik peržiūra", "team-websites": "Komandos svetainės", "teams": "Komandos", + "term": "Term", "terms": "Sąlygos", "theme": "Spalvų tema", "this-month": "Šis mėnuo", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "Sekimo kodas", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Perleisti", "transfer-website": "Perleisti svetainę", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Unikalūs lankytojai", "uniqueCustomers": "Unique Customers", "unknown": "Nežinoma", "untitled": "Be pavadinimo", "update": "Update", + "url": "URL", "user": "Vartotojas", "username": "Vartotojo vardas", "users": "Vartotojai", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "Atidaryti", "view-details": "Peržiūrėti detaliau", "view-only": "Tik peržiūrėti", diff --git a/public/intl/messages/mn-MN.json b/public/intl/messages/mn-MN.json index f0143b840..2dee05e3c 100644 --- a/public/intl/messages/mn-MN.json +++ b/public/intl/messages/mn-MN.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Хандалтын код", + "account": "Account", + "action": "Action", "actions": "Үйлдлүүд", "activity": "Үйл ажиллагааны бүртгэл", "add": "Нэмэх", "add-board": "Самбар нэмэх", "add-description": "Тайлбар нэмэх", + "add-link": "Add link", "add-member": "Гишүүн нэмэх", + "add-pixel": "Add pixel", "add-step": "Алхам нэмэх", "add-website": "Веб нэмэх", "admin": "Админ", @@ -14,10 +18,13 @@ "after": "Хойно", "all": "Бүх", "all-time": "Бүх цаг үеийн", + "analysis": "Analysis", "analytics": "Аналитик", + "application": "Application", "apply": "Хэрэглэх", "attribution": "Холбогдол", "attribution-description": "Хэрэглэгчид таны маркетингт хэрхэн оролцож, ямар зүйлс хөрвүүлэлтэд нөлөөлж байгааг хараарай.", + "audience": "Audience", "average": "Дундаж", "back": "Буцах", "before": "Өмнө", @@ -27,14 +34,18 @@ "breakdown": "Задаргаа", "browser": "Хөтөч", "browsers": "Хөтөч", + "campaign": "Campaign", "campaigns": "Аянууд", "cancel": "Цуцлах", "change-password": "Нууц үг солих", + "channel": "Channel", "channels": "Суваг", + "chart": "Chart", "cities": "Хотууд", "city": "Хот", "clear-all": "Бүгдийг арилгах", "cohort": "Бүлэг", + "cohorts": "Cohorts", "compare": "Харьцуулах", "compare-dates": "Огноо харьцуулах", "confirm": "Батлах", @@ -54,6 +65,7 @@ "create-user": "Хэрэглэгч үүсгэх", "created": "Үүсгэсэн", "created-by": "Үүсгэсэн", + "criteria": "Criteria", "currency": "Валют", "current": "Одоогийн", "current-password": "Ашиглаж буй нууц үг", @@ -71,16 +83,19 @@ "delete-website": "Веб устгах", "description": "Тайлбар", "desktop": "Суурин компьютер", + "destination-url": "Destination URL", "details": "Мэдээлэл", "device": "Төхөөрөмж", "devices": "Төхөөрөмж", "direct": "Шууд", "dismiss": "Үл хэрэгсэх", "distinct-id": "Ялгаатай ID", + "documentation": "Documentation", "does-not-contain": "Агуулахгүй", "does-not-include": "Агуулаагүй", "doest-not-exist": "Байхгүй", "domain": "Домэйн", + "download": "Download", "dropoff": "Уналт", "edit": "Засах", "edit-dashboard": "Хянах самбар засах", @@ -89,10 +104,12 @@ "enable-share-url": "Хуваалцах холбоос идэвхжүүлэх", "end-step": "Төгсгөлийн алхам", "entry": "Орох зам", + "environment": "Environment", "event": "Үйлдэл", "event-data": "Үйлдлийн өгөгдөл", "event-name": "Үйлдлийн нэр", "events": "Үйлдэл", + "exclude-bounce": "Exclude bounce", "exists": "Байгаа", "exit": "Гарах зам", "false": "Худал", @@ -113,11 +130,14 @@ "greater-than": "Их", "greater-than-equals": "Их буюу тэнцүү", "grouped": "Бүлэглэсэн", + "growth": "Growth", "hostname": "Хост нэр", + "hour": "Hour", "includes": "Агуулсан", "insight": "Ойлголт", "insights": "Шинжлэх", "insights-description": "Өгөгдлөө хэсэгчлэн хуваах, шүүх байдлаар задлан шинжлэх.", + "invalid-url": "Invalid URL", "is": "Бол", "is-false": "Худал байна", "is-not": "Биш", @@ -141,7 +161,9 @@ "leave-team": "Багаас гарах", "less-than": "Бага", "less-than-equals": "Бага буюу тэнцүү", + "link": "Link", "links": "Холбоосууд", + "location": "Location", "login": "Нэвтрэх", "logout": "Гарах", "manage": "Удирдах", @@ -152,8 +174,10 @@ "member": "Гишүүн", "members": "Гишүүд", "min": "Min", + "minute": "Minute", "mobile": "Утас", "model": "Загвар", + "month": "Month", "more": "Цааш", "my-account": "Миний бүртгэл", "my-websites": "Миний вебүүд", @@ -184,12 +208,15 @@ "password": "Нууц үг", "path": "Зам", "paths": "Зам", + "pixel": "Pixel", "pixels": "Пиксел", "powered-by": "{name} дээр суурилсан", + "preferences": "Preferences", "previous": "Өмнөх", "previous-period": "Өмнөх үе", "previous-year": "Өмнөх жил", "profile": "Бүртгэл", + "profiles": "Profiles", "properties": "Шинж чанар", "property": "Шинж чанар", "queries": "Query-нүүд", @@ -217,8 +244,13 @@ "role": "Эрх", "run-query": "Query ажиллуулах", "save": "Хадгалах", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Дэлгэц", "search": "Хайх", + "segment": "Segment", + "segments": "Segments", "select": "Сонгох", "select-date": "Огноо сонгох", "select-filter": "Шүүлтүүр сонгох", @@ -232,10 +264,14 @@ "share-url": "Хуваалцах холбоос", "single-day": "Нэг өдөр", "sms": "SMS", + "source": "Source", "sources": "Эх сурвалжууд", "start-step": "Эхлэх алхам", "steps": "Алхам", "sum": "Нийлбэр", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Таблет", "tag": "Таг", "tags": "Тагууд", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Багийн вебүүд", "teams": "Багууд", + "term": "Term", "terms": "Нөхцөл", "theme": "Загвар", "this-month": "Энэ сар", @@ -261,23 +298,32 @@ "total": "Нийт", "total-records": "Нийт мөрийн тоо", "tracking-code": "Мөрдөх код", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Шилжүүлэх", "transfer-website": "Вебийг шилжүүлэх", "true": "Үнэн", "type": "Төрөл", "unique": "Давхардаагүй", + "unique-events": "Unique events", "unique-visitors": "Зочин", "uniqueCustomers": "Давтагдаагүй зочин", "unknown": "Тодорхойгүй", "untitled": "Гарчиггүй", "update": "Шинэчлэх", + "url": "URL", "user": "Хэрэглэгч", "username": "Хэрэглэгчийн нэр", "users": "Хэрэглэгчид", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "UTM параметраар кампанит ажлаа мөрдөх.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Утга", + "version": "Version", "view": "Харах", "view-details": "Дэлгэрүүлж харах", "view-only": "Зөвхөн үзэх", diff --git a/public/intl/messages/ms-MY.json b/public/intl/messages/ms-MY.json index c8b3ee831..5d1dc9218 100644 --- a/public/intl/messages/ms-MY.json +++ b/public/intl/messages/ms-MY.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Access code", + "account": "Account", + "action": "Action", "actions": "Aksi", "activity": "Activity log", "add": "Add", "add-board": "Add board", "add-description": "Add description", + "add-link": "Add link", "add-member": "Add member", + "add-pixel": "Add pixel", "add-step": "Add step", "add-website": "Tambah laman web", "admin": "Pentadbir", @@ -14,10 +18,13 @@ "after": "After", "all": "Semua", "all-time": "All time", + "analysis": "Analysis", "analytics": "Analytics", + "application": "Application", "apply": "Apply", "attribution": "Attribution", "attribution-description": "See how users engage with your marketing and what drives conversions.", + "audience": "Audience", "average": "Average", "back": "Kembali", "before": "Before", @@ -27,14 +34,18 @@ "breakdown": "Breakdown", "browser": "Browser", "browsers": "Pelayar web", + "campaign": "Campaign", "campaigns": "Campaigns", "cancel": "Batal", "change-password": "Tukar kata laluan", + "channel": "Channel", "channels": "Channels", + "chart": "Chart", "cities": "Cities", "city": "City", "clear-all": "Clear all", "cohort": "Cohort", + "cohorts": "Cohorts", "compare": "Compare", "compare-dates": "Compare dates", "confirm": "Confirm", @@ -54,6 +65,7 @@ "create-user": "Create user", "created": "Created", "created-by": "Created By", + "criteria": "Criteria", "currency": "Currency", "current": "Current", "current-password": "Kata laluan semasa", @@ -71,16 +83,19 @@ "delete-website": "Padam laman web", "description": "Description", "desktop": "Desktop", + "destination-url": "Destination URL", "details": "Details", "device": "Device", "devices": "Peranti", "direct": "Direct", "dismiss": "Ketepikan", "distinct-id": "Distinct ID", + "documentation": "Documentation", "does-not-contain": "Does not contain", "does-not-include": "Does not include", "doest-not-exist": "Does not exist", "domain": "Domain", + "download": "Download", "dropoff": "Dropoff", "edit": "Edit", "edit-dashboard": "Edit dashboard", @@ -89,10 +104,12 @@ "enable-share-url": "Aktifkan url berkongsi", "end-step": "End Step", "entry": "Entry URL", + "environment": "Environment", "event": "Event", "event-data": "Event data", "event-name": "Event name", "events": "Peristiwa", + "exclude-bounce": "Exclude bounce", "exists": "Exists", "exit": "Exit URL", "false": "False", @@ -113,11 +130,14 @@ "greater-than": "Greater than", "greater-than-equals": "Greater than or equals", "grouped": "Grouped", + "growth": "Growth", "hostname": "Hostname", + "hour": "Hour", "includes": "Includes", "insight": "Insight", "insights": "Insights", "insights-description": "Dive deeper into your data by using segments and filters.", + "invalid-url": "Invalid URL", "is": "Is", "is-false": "Is false", "is-not": "Is not", @@ -141,7 +161,9 @@ "leave-team": "Leave team", "less-than": "Less than", "less-than-equals": "Less than or equals", + "link": "Link", "links": "Links", + "location": "Location", "login": "Log masuk", "logout": "Log keluar", "manage": "Manage", @@ -152,8 +174,10 @@ "member": "Member", "members": "Members", "min": "Min", + "minute": "Minute", "mobile": "Telefon bimbit", "model": "Model", + "month": "Month", "more": "Lebih banyak lagi", "my-account": "My account", "my-websites": "My websites", @@ -184,12 +208,15 @@ "password": "Kata laluan", "path": "Path", "paths": "Paths", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "Disediakan oleh {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "Profil", + "profiles": "Profiles", "properties": "Properties", "property": "Property", "queries": "Queries", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "Simpan", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Screens", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "Select filter", @@ -232,10 +264,14 @@ "share-url": "Kongsikan URL", "single-day": "Satu hari", "sms": "SMS", + "source": "Source", "sources": "Sources", "start-step": "Start Step", "steps": "Steps", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Tag", "tags": "Tags", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Terms", "theme": "Theme", "this-month": "Bulan ini", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "Kod penjejakan", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Pelawat unik", "uniqueCustomers": "Unique Customers", "unknown": "Tidak diketahui", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "Nama pengguna", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "Lihat butiran", "view-only": "View only", diff --git a/public/intl/messages/my-MM.json b/public/intl/messages/my-MM.json index 1b0893935..fa8b9beca 100644 --- a/public/intl/messages/my-MM.json +++ b/public/intl/messages/my-MM.json @@ -1,12 +1,16 @@ { "label": { "access-code": "ဝင်ခွင့်ကုဒ်", + "account": "Account", + "action": "Action", "actions": "လုပ်ဆောင်ချက်များ", "activity": "လုပ်ဆောင်ချက်စာရင်း", "add": "ထပ်ထည့်မည်", "add-board": "Add board", "add-description": "အကြောင်းအရာဖော်ပြချက် ထည့်မည်", + "add-link": "Add link", "add-member": "Add member", + "add-pixel": "Add pixel", "add-step": "Add step", "add-website": "ဝက်ဘ်ဆိုဒ်ထည့်မည်", "admin": "အက်ဒမင်", @@ -14,10 +18,13 @@ "after": "ပြီးနောက်", "all": "အားလုံး", "all-time": "အချိန်အစမှအခုထိ", + "analysis": "Analysis", "analytics": "အန်နလစ်တစ်", + "application": "Application", "apply": "Apply", "attribution": "Attribution", "attribution-description": "See how users engage with your marketing and what drives conversions.", + "audience": "Audience", "average": "ပျမ်းမျှ", "back": "နောက်သို့", "before": "မတိုင်မီ", @@ -27,14 +34,18 @@ "breakdown": "ခွဲခြမ်းစိတ်ဖြာမှု", "browser": "Browser", "browsers": "ဝက်ဘ်ဘရောင်ဇာများ", + "campaign": "Campaign", "campaigns": "Campaigns", "cancel": "မလုပ်တော့ပါ", "change-password": "စကားဝှက် ပြောင်းမည်", + "channel": "Channel", "channels": "Channels", + "chart": "Chart", "cities": "မြို့များ", "city": "City", "clear-all": "အားလုံးကိုဖျက်မည်", "cohort": "Cohort", + "cohorts": "Cohorts", "compare": "Compare", "compare-dates": "Compare dates", "confirm": "အတည်ပြုသည်", @@ -54,6 +65,7 @@ "create-user": "အသုံးပြုသူထည့်မည်", "created": "ပြုလုပ်ပြီးသော", "created-by": "Created By", + "criteria": "Criteria", "currency": "Currency", "current": "Current", "current-password": "လက်ရှိစကားဝှက်", @@ -71,16 +83,19 @@ "delete-website": "ဝက်ဘ်ဆိုဒ်ကိုဖျက်မည်", "description": "ရှင်းပြချက်", "desktop": "စားပွဲတင်ကွန်ပျူတာ", + "destination-url": "Destination URL", "details": "အသေးစိတ်", "device": "Device", "devices": "အသုံးပြုသည့် ကိရိယာများ", "direct": "Direct", "dismiss": "ပိတ်ပါ", "distinct-id": "Distinct ID", + "documentation": "Documentation", "does-not-contain": "မပါဝင်ပါ", "does-not-include": "Does not include", "doest-not-exist": "Does not exist", "domain": "ဒိုမိန်း", + "download": "Download", "dropoff": "Dropoff", "edit": "ပြုပြင်မည်", "edit-dashboard": "ဒက်ရှ်ဘုတ်ကို ပြုပြင်မည်", @@ -89,10 +104,12 @@ "enable-share-url": "ဝေငှခြင်းကိုလင့်ကို ဖွင့်မည်", "end-step": "End Step", "entry": "Entry URL", + "environment": "Environment", "event": "အဖြစ်အပျက်", "event-data": "အဖြစ်အပျက် ဒေတာ", "event-name": "Event name", "events": "အဖြစ်အပျက်များ", + "exclude-bounce": "Exclude bounce", "exists": "Exists", "exit": "Exit URL", "false": "မှားသည်", @@ -113,11 +130,14 @@ "greater-than": "ထက်ပို၍ကြီးသည်", "greater-than-equals": "ထက်ပို၍ကြီးသည်သို့မဟုတ်တူသည်", "grouped": "Grouped", + "growth": "Growth", "hostname": "Hostname", + "hour": "Hour", "includes": "Includes", "insight": "Insight", "insights": "အသေးစိတ်သိမြင်နိုင်ရန်", "insights-description": "Dive deeper into your data by using segments and filters.", + "invalid-url": "Invalid URL", "is": "Is", "is-false": "Is false", "is-not": "Is not", @@ -141,7 +161,9 @@ "leave-team": "အသင်းမှထွက်မည်", "less-than": "ထက်ပို၍ငယ်သည်", "less-than-equals": "ထက်ပို၍ငယ်သည်သို့မဟုတ်တူသည်", + "link": "Link", "links": "Links", + "location": "Location", "login": "လော့ဂ်အင်", "logout": "လော့ဂ်အောက်လုပ်မည်", "manage": "Manage", @@ -152,8 +174,10 @@ "member": "Member", "members": "အဖွဲ့ဝင်များ", "min": "အနည်းဆုံး", + "minute": "Minute", "mobile": "မိုဘိုင်း", "model": "Model", + "month": "Month", "more": "နောက်ထပ်", "my-account": "My account", "my-websites": "My websites", @@ -184,12 +208,15 @@ "password": "စကားဝှက်", "path": "Path", "paths": "Paths", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "{name} ထောက်ပံ့သည်", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "ပရိုဖိုင်း", + "profiles": "Profiles", "properties": "Properties", "property": "Property", "queries": "Queries (ကွာရီများ)", @@ -217,8 +244,13 @@ "role": "အခန်းကဏ္ဍ", "run-query": "Query ကိုလုပ်ဆောင်မည်", "save": "သိမ်းဆည်းမည်", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "မြင်ကွင်းများ", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "ရက်ရွေးပါ", "select-filter": "Select filter", @@ -232,10 +264,14 @@ "share-url": "URL ကိုရှဲမည်", "single-day": "တစ်ရက်အတွင်း", "sms": "SMS", + "source": "Source", "sources": "Sources", "start-step": "Start Step", "steps": "Steps", "sum": "ပေါင်းလဒ်", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "တက်ဘလက်", "tag": "Tag", "tags": "Tags", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "အသင်းများ", + "term": "Term", "terms": "Terms", "theme": "Theme (အပြင်အဆင်)", "this-month": "ယခုလ", @@ -261,23 +298,32 @@ "total": "စုစုပေါင်း", "total-records": "မှတ်တမ်းစုစုပေါင်း", "tracking-code": "ထရက်လုပ်သည့် ကုဒ်", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "မှန်သည်", "type": "အမျိုးအစား", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "ဝင်ရောက်သူ (ထပ်ခြင်းမရှိ)", "uniqueCustomers": "Unique Customers", "unknown": "မသိသော", "untitled": "ခေါင်းစဉ်မရှိ", "update": "Update", + "url": "URL", "user": "အသုံးပြုသူ", "username": "အသုံးပြုသူအမည်", "users": "အသုံးပြုသူများ", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "တန်ဖိုး", + "version": "Version", "view": "ဝင်ရောက်ကြည့်ရှုမှု", "view-details": "အသေးစိတ်ကို ကြည့်ရှုမည်", "view-only": "ဝင်ရောက်ကြည့်ရှုမှုများသာ", diff --git a/public/intl/messages/nb-NO.json b/public/intl/messages/nb-NO.json index d0b3606fe..7e5f6c47e 100644 --- a/public/intl/messages/nb-NO.json +++ b/public/intl/messages/nb-NO.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Tilgangskode", + "account": "Account", + "action": "Action", "actions": "Handlinger", "activity": "Aktivitetslogg", "add": "Legg til", "add-board": "Legg til tavle", "add-description": "Legg til beskrivelse", + "add-link": "Add link", "add-member": "Legg til bruker", + "add-pixel": "Add pixel", "add-step": "Legg til steg", "add-website": "Legg til nettsted", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "Etter", "all": "Alle", "all-time": "Noensinne", + "analysis": "Analysis", "analytics": "Analyse", + "application": "Application", "apply": "Bruk", "attribution": "Attribusjon", "attribution-description": "Se hvordan brukere engasjerer seg i markedsføringen din og hva som driver konverteringer.", + "audience": "Audience", "average": "Gjennomsnnitt", "back": "Tilbake", "before": "Før", @@ -27,14 +34,18 @@ "breakdown": "Nedbrytning", "browser": "Nettleser", "browsers": "Nettlesere", + "campaign": "Campaign", "campaigns": "Kampanjer", "cancel": "Avvis", "change-password": "Bytt passord", + "channel": "Channel", "channels": "Kanaler", + "chart": "Chart", "cities": "Byer", "city": "By", "clear-all": "Tøm alle", "cohort": "Kohort", + "cohorts": "Cohorts", "compare": "Sammenlign", "compare-dates": "Sammenlign datoer", "confirm": "Bekreft", @@ -54,6 +65,7 @@ "create-user": "Opprett bruker", "created": "Opprettet", "created-by": "Opprettet av", + "criteria": "Criteria", "currency": "Valuta", "current": "Nåværende", "current-password": "Nåværende passord", @@ -71,16 +83,19 @@ "delete-website": "Slett nettstedet", "description": "Beskrivelse", "desktop": "Stasjonær", + "destination-url": "Destination URL", "details": "Detaljer", "device": "Enhet", "devices": "Enheter", "direct": "Direkte", "dismiss": "Avbryt", "distinct-id": "Unik ID", + "documentation": "Documentation", "does-not-contain": "Innholder ikke", "does-not-include": "Inkluderer ikke", "doest-not-exist": "Eksisterer ikke", "domain": "Domene", + "download": "Download", "dropoff": "Dropoff", "edit": "Rediger", "edit-dashboard": "Rediger dashboard", @@ -89,10 +104,12 @@ "enable-share-url": "Aktiver delings-URL", "end-step": "Avslutt steg", "entry": "Inngangs-URL", + "environment": "Environment", "event": "Hendelse", "event-data": "Hendelsesdata", "event-name": "Hendelsesnavn", "events": "Hendelser", + "exclude-bounce": "Exclude bounce", "exists": "Eksisterer", "exit": "Utgangs-URL", "false": "Usant", @@ -113,11 +130,14 @@ "greater-than": "Mer enn", "greater-than-equals": "Mer enn eller lik", "grouped": "Gruppert", + "growth": "Growth", "hostname": "Vertsnavn", + "hour": "Hour", "includes": "Inkluderer", "insight": "Innsikt", "insights": "Innsikt", "insights-description": "Dykk dypere i din data ved bruk av segmentering og filtre.", + "invalid-url": "Invalid URL", "is": "Er", "is-false": "Er usant", "is-not": "Er ikke", @@ -141,7 +161,9 @@ "leave-team": "Forlat team", "less-than": "Mindre enn", "less-than-equals": "Mindre enn eller lik", + "link": "Link", "links": "Lenker", + "location": "Location", "login": "Logg inn", "logout": "Logg ut", "manage": "Administrer", @@ -152,8 +174,10 @@ "member": "Bruker", "members": "Brukere", "min": "Min", + "minute": "Minute", "mobile": "Mobiltelefon", "model": "Modell", + "month": "Month", "more": "Mer", "my-account": "Min konto", "my-websites": "Mine nettsider", @@ -184,12 +208,15 @@ "password": "Passord", "path": "Sti", "paths": "Stier", + "pixel": "Pixel", "pixels": "Piksler", "powered-by": "Drevet av {name}", + "preferences": "Preferences", "previous": "Forrige", "previous-period": "Forrige periode", "previous-year": "Forrige år", "profile": "Profil", + "profiles": "Profiles", "properties": "Egenskaper", "property": "Egenskap", "queries": "Forspørsler", @@ -217,8 +244,13 @@ "role": "Rolle", "run-query": "Kjør spørring", "save": "Lagre", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Skjermer", "search": "Søk", + "segment": "Segment", + "segments": "Segments", "select": "Velg", "select-date": "Velg dato", "select-filter": "Velg filter", @@ -232,10 +264,14 @@ "share-url": "Del URL", "single-day": "Enkeltdag", "sms": "SMS", + "source": "Source", "sources": "Kilder", "start-step": "Starttrinn", "steps": "Trinn", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Nettbrett", "tag": "Tagg", "tags": "Tagger", @@ -249,6 +285,7 @@ "team-view-only": "Team (kun visning)", "team-websites": "Team-nettsteder", "teams": "Team", + "term": "Term", "terms": "Vilkår", "theme": "Tema", "this-month": "Denne måneden", @@ -261,23 +298,32 @@ "total": "Totalt", "total-records": "Totalt antall oppføringer", "tracking-code": "Sporingskode", + "traffic": "Traffic", "transactions": "Transaksjoner", "transfer": "Overfør", "transfer-website": "Overfør nettsted", "true": "Sant", "type": "Type", "unique": "Unike", + "unique-events": "Unique events", "unique-visitors": "Unike besøkende", "uniqueCustomers": "Unike kunder", "unknown": "Ukjent", "untitled": "Uten tittel", "update": "Oppdater", + "url": "URL", "user": "Bruker", "username": "Brukernavn", "users": "Brukere", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Spor kampanjene dine via UTM-parametre.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Verdi", + "version": "Version", "view": "Vis", "view-details": "Vis detaljer", "view-only": "Kun visning", diff --git a/public/intl/messages/nl-NL.json b/public/intl/messages/nl-NL.json index 2d3705165..1d54e0ba2 100644 --- a/public/intl/messages/nl-NL.json +++ b/public/intl/messages/nl-NL.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Toegangscode", + "account": "Account", + "action": "Action", "actions": "Acties", "activity": "Activiteiten logboek", "add": "Toevoegen", "add-board": "Bord toevoegen", "add-description": "Omschrijving toevoegen", + "add-link": "Add link", "add-member": "Lid toevoegen", + "add-pixel": "Add pixel", "add-step": "Stap toevoegen", "add-website": "Website koppelen", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "Na", "all": "Alles", "all-time": "Onbeperkt", + "analysis": "Analysis", "analytics": "Analyse", + "application": "Application", "apply": "Toepassen", "attribution": "Toewijzing", "attribution-description": "Bekijk hoe gebruikers omgaan met je marketing en wat conversies stimuleert.", + "audience": "Audience", "average": "Gemiddelde", "back": "Terug", "before": "Voor", @@ -27,14 +34,18 @@ "breakdown": "Opsplitsen", "browser": "Browser", "browsers": "Browsers", + "campaign": "Campaign", "campaigns": "Campagnes", "cancel": "Annuleren", "change-password": "Wachtwoord wijzigen", + "channel": "Channel", "channels": "Kanalen", + "chart": "Chart", "cities": "Steden", "city": "Stad", "clear-all": "Filters wissen", "cohort": "Cohort", + "cohorts": "Cohorts", "compare": "Vergelijken", "compare-dates": "Datums vergelijken", "confirm": "Bevestigen", @@ -54,6 +65,7 @@ "create-user": "Gebruiker maken", "created": "Gemaakt", "created-by": "Gemaakt Door", + "criteria": "Criteria", "currency": "Valuta", "current": "Huidig", "current-password": "Huidig wachtwoord", @@ -71,16 +83,19 @@ "delete-website": "Website verwijderen", "description": "Beschrijving", "desktop": "Computer", + "destination-url": "Destination URL", "details": "Informatie", "device": "Apparaat", "devices": "Apparaten", "direct": "Direct", "dismiss": "Negeren", "distinct-id": "Uniek ID", + "documentation": "Documentation", "does-not-contain": "Bevat geen", "does-not-include": "Bevat niet", "doest-not-exist": "Bestaat niet", "domain": "Domein", + "download": "Download", "dropoff": "Uitval", "edit": "Bewerken", "edit-dashboard": "Dashboard aanpassen", @@ -89,10 +104,12 @@ "enable-share-url": "Sta delen via openbare URL toe", "end-step": "End Step", "entry": "Entry URL", + "environment": "Environment", "event": "Gebeurtenis", "event-data": "Datum gebeurtenis", "event-name": "Gebeurtenisnaam", "events": "Gebeurtenissen", + "exclude-bounce": "Exclude bounce", "exists": "Bestaat", "exit": "Exit URL", "false": "Onwaar", @@ -113,11 +130,14 @@ "greater-than": "Groter dan", "greater-than-equals": "Groter of gelijk aan", "grouped": "Gegroepeerd", + "growth": "Growth", "hostname": "Hostnaam", + "hour": "Hour", "includes": "Bevat", "insight": "Inzicht", "insights": "Inzichten", "insights-description": "Verken je gegevens verder door segmenten en filters te gebruiken.", + "invalid-url": "Invalid URL", "is": "Is", "is-false": "Is onwaar", "is-not": "Is niet", @@ -141,7 +161,9 @@ "leave-team": "Verlaat team", "less-than": "Minder dan", "less-than-equals": "Minder of gelijk aan", + "link": "Link", "links": "Koppelingen", + "location": "Location", "login": "Inloggen", "logout": "Uitloggen", "manage": "Beheren", @@ -152,8 +174,10 @@ "member": "Gebruiker", "members": "Gebruikers", "min": "Min", + "minute": "Minute", "mobile": "Mobiel", "model": "Model", + "month": "Month", "more": "Toon meer", "my-account": "Mijn profiel", "my-websites": "Mijn websites", @@ -184,12 +208,15 @@ "password": "Wachtwoord", "path": "Pad", "paths": "Paden", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "mogelijk gemaakt door {name}", + "preferences": "Preferences", "previous": "Vorige", "previous-period": "Vorige periode", "previous-year": "Vorig jaar", "profile": "Profiel", + "profiles": "Profiles", "properties": "Eigenschappen", "property": "Eigenschap", "queries": "Parameters", @@ -217,8 +244,13 @@ "role": "Gebruikersrol", "run-query": "Query uitvoeren", "save": "Opslaan", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Schermen", "search": "Zoeken", + "segment": "Segment", + "segments": "Segments", "select": "Selecteer", "select-date": "Datum selecteren", "select-filter": "Filter selecteren", @@ -232,10 +264,14 @@ "share-url": "URL delen", "single-day": "Enkele dag", "sms": "SMS", + "source": "Source", "sources": "Bronnen", "start-step": "Startstap", "steps": "Stappen", "sum": "Som", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Label", "tags": "Labels", @@ -249,6 +285,7 @@ "team-view-only": "Team alleen lezen", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Voorwaarden", "theme": "Thema", "this-month": "Deze maand", @@ -261,23 +298,32 @@ "total": "Totaal", "total-records": "Totaal records", "tracking-code": "Volgcode", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "Waar", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Unieke bezoekers", "uniqueCustomers": "Unique Customers", "unknown": "Onbekend", "untitled": "Ongetiteld", "update": "Update", + "url": "URL", "user": "Gebruiker", "username": "Gebruikersnaam", "users": "Gebruikers", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Waarde", + "version": "Version", "view": "Weergave", "view-details": "Meer details", "view-only": "Alleen inzien", diff --git a/public/intl/messages/pl-PL.json b/public/intl/messages/pl-PL.json index f6507ddd0..9d6868cae 100644 --- a/public/intl/messages/pl-PL.json +++ b/public/intl/messages/pl-PL.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Kod dostępu", + "account": "Account", + "action": "Action", "actions": "Działania", "activity": "Dziennik aktywności", "add": "Dodaj", "add-board": "Dodaj tablicę", "add-description": "Dodaj opis", + "add-link": "Add link", "add-member": "Dodaj członka", + "add-pixel": "Add pixel", "add-step": "Dodaj krok", "add-website": "Dodaj witrynę", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "Po", "all": "Wszystkie", "all-time": "Cały czas", + "analysis": "Analysis", "analytics": "Analityka", + "application": "Application", "apply": "Zastosuj", "attribution": "Atrybucja", "attribution-description": "Zobacz, jak użytkownicy angażują się w Twoją reklamę i co napędza konwersje.", + "audience": "Audience", "average": "Średnia", "back": "Powrót", "before": "Przed", @@ -27,14 +34,18 @@ "breakdown": "Rozbicie", "browser": "Przeglądarka", "browsers": "Przeglądarki", + "campaign": "Campaign", "campaigns": "Kampanie", "cancel": "Anuluj", "change-password": "Zmień hasło", + "channel": "Channel", "channels": "Kanały", + "chart": "Chart", "cities": "Miasta", "city": "Miasto", "clear-all": "Wyczyść wszystko", "cohort": "Kohorta", + "cohorts": "Cohorts", "compare": "Porównaj", "compare-dates": "Porównaj daty", "confirm": "Potwierdź", @@ -54,6 +65,7 @@ "create-user": "Utwórz użytkownika", "created": "Utworzony", "created-by": "Utworzony przez", + "criteria": "Criteria", "currency": "Waluta", "current": "Aktualny", "current-password": "Aktualne hasło", @@ -71,16 +83,19 @@ "delete-website": "Usuń witrynę", "description": "Opis", "desktop": "Komputer", + "destination-url": "Destination URL", "details": "Szczegóły", "device": "Urządzenie", "devices": "Urządzenia", "direct": "Bezpośredni", "dismiss": "Odrzuć", "distinct-id": "Unikalny ID", + "documentation": "Documentation", "does-not-contain": "Nie zawiera", "does-not-include": "Nie zawiera", "doest-not-exist": "Nie istnieje", "domain": "Domena", + "download": "Download", "dropoff": "Odpływ", "edit": "Edytuj", "edit-dashboard": "Edytuj panel", @@ -89,10 +104,12 @@ "enable-share-url": "Włącz udostępnianie adresu URL", "end-step": "Krok końcowy", "entry": "Entry URL", + "environment": "Environment", "event": "Zdarzenie", "event-data": "Dane zdarzenia", "event-name": "Nazwa zdarzenia", "events": "Zdarzenia", + "exclude-bounce": "Exclude bounce", "exists": "Istnieje", "exit": "URL wyjściowy", "false": "Fałsz", @@ -113,11 +130,14 @@ "greater-than": "Większe niż", "greater-than-equals": "Większe niż lub równe", "grouped": "Grupowane", + "growth": "Growth", "hostname": "Nazwa hosta", + "hour": "Hour", "includes": "Zawiera", "insight": "Wgląd", "insights": "Analiza", "insights-description": "Poznaj lepiej swoje dane, korzystając z segmentów i filtrów.", + "invalid-url": "Invalid URL", "is": "Równe", "is-false": "Jest fałszem", "is-not": "Nie jest równe", @@ -141,7 +161,9 @@ "leave-team": "Opuść zespół", "less-than": "Mniejsze niż", "less-than-equals": "Mniejsze niż lub równe", + "link": "Link", "links": "Linki", + "location": "Location", "login": "Zaloguj się", "logout": "Wyloguj", "manage": "Manage", @@ -152,8 +174,10 @@ "member": "Członek", "members": "Członkowie", "min": "Min", + "minute": "Minute", "mobile": "Smartfon", "model": "Model", + "month": "Month", "more": "Więcej", "my-account": "Moje konto", "my-websites": "Moje witryny", @@ -184,12 +208,15 @@ "password": "Hasło", "path": "Ścieżka", "paths": "Ścieżki", + "pixel": "Pixel", "pixels": "Piksele", "powered-by": "Obsługiwane przez {name}", + "preferences": "Preferences", "previous": "Poprzedni", "previous-period": "Poprzedni okres", "previous-year": "Poprzedni rok", "profile": "Profil", + "profiles": "Profiles", "properties": "Właściwości", "property": "Właściwość", "queries": "Zapytania", @@ -217,8 +244,13 @@ "role": "Rola", "run-query": "Uruchom zapytanie", "save": "Zapisz", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Ekrany", "search": "Szukaj", + "segment": "Segment", + "segments": "Segments", "select": "Wybierz", "select-date": "Wybierz datę", "select-filter": "Wybierz filtr", @@ -232,10 +264,14 @@ "share-url": "Udostępnij adres URL", "single-day": "W tym dniu", "sms": "SMS", + "source": "Source", "sources": "Źródła", "start-step": "Krok startowy", "steps": "Kroki", "sum": "Suma", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Tag", "tags": "Tagi", @@ -249,6 +285,7 @@ "team-view-only": "Tylko do odczytu dla zespołu", "team-websites": "Witryny zespołu", "teams": "Zespoły", + "term": "Term", "terms": "Warunki", "theme": "Motyw", "this-month": "W tym miesiącu", @@ -261,23 +298,32 @@ "total": "W sumie", "total-records": "Suma rekordów", "tracking-code": "Kod śledzenia", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "Prawda", "type": "Typ", "unique": "Unikalne", + "unique-events": "Unique events", "unique-visitors": "Unikalni odwiedzający", "uniqueCustomers": "Unique Customers", "unknown": "Nieznany", "untitled": "Bez tytułu", "update": "Aktualizuj", + "url": "URL", "user": "Użytkownik", "username": "Nazwa użytkownika", "users": "Użytkownicy", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Śledź swoje kampanie za pomocą parametrów UTM.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Wartość", + "version": "Version", "view": "Zobacz", "view-details": "Pokaż szczegóły", "view-only": "Tylko do odczytu", diff --git a/public/intl/messages/pt-BR.json b/public/intl/messages/pt-BR.json index 4e7a2c5d0..26a8302be 100644 --- a/public/intl/messages/pt-BR.json +++ b/public/intl/messages/pt-BR.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Código de acesso", + "account": "Account", + "action": "Action", "actions": "Ações do usuário", "activity": "Registro de atividades", "add": "Adicionar", "add-board": "Adicionar quadro", "add-description": "Adicionar descrição", + "add-link": "Add link", "add-member": "Adicionar membro", + "add-pixel": "Add pixel", "add-step": "Adicionar etapa", "add-website": "Adicionar site", "admin": "Administrador", @@ -14,10 +18,13 @@ "after": "Depois", "all": "Todos", "all-time": "Todos os períodos", + "analysis": "Analysis", "analytics": "Análise", + "application": "Application", "apply": "Aplicar", "attribution": "Atribuição", "attribution-description": "Veja como os usuários interagem com seu marketing e o que impulsiona conversões.", + "audience": "Audience", "average": "Média", "back": "Voltar", "before": "Antes", @@ -27,14 +34,18 @@ "breakdown": "Detalhamento", "browser": "Navegador", "browsers": "Navegadores", + "campaign": "Campaign", "campaigns": "Campanhas", "cancel": "Cancelar", "change-password": "Alterar senha", + "channel": "Channel", "channels": "Canais", + "chart": "Chart", "cities": "Cidades", "city": "Cidade", "clear-all": "Limpar tudo", "cohort": "Cohorte", + "cohorts": "Cohorts", "compare": "Comparar", "compare-dates": "Comparar datas", "confirm": "Confirmar", @@ -54,6 +65,7 @@ "create-user": "Criar usuário", "created": "Criado", "created-by": "Criado por", + "criteria": "Criteria", "currency": "Moeda", "current": "Atual", "current-password": "Senha atual", @@ -71,16 +83,19 @@ "delete-website": "Excluir site", "description": "Descrição", "desktop": "Computador", + "destination-url": "Destination URL", "details": "Detalhes", "device": "Dispositivo", "devices": "Dispositivos", "direct": "Direto", "dismiss": "Fechar", "distinct-id": "ID distinto", + "documentation": "Documentation", "does-not-contain": "Não contém", "does-not-include": "Não inclui", "doest-not-exist": "Não existe", "domain": "Domínio", + "download": "Download", "dropoff": "Abandono", "edit": "Editar", "edit-dashboard": "Editar painel", @@ -89,10 +104,12 @@ "enable-share-url": "Ativar link para compartilhar", "end-step": "End Step", "entry": "Entry URL", + "environment": "Environment", "event": "Evento", "event-data": "Dados do evento", "event-name": "Nome do evento", "events": "Tipos de eventos", + "exclude-bounce": "Exclude bounce", "exists": "Existe", "exit": "Exit URL", "false": "Não", @@ -113,11 +130,14 @@ "greater-than": "Maior que", "greater-than-equals": "Maior ou igual a", "grouped": "Agrupado", + "growth": "Growth", "hostname": "Nome do host", + "hour": "Hour", "includes": "Inclui", "insight": "Insight", "insights": "Insights", "insights-description": "Explore seus dados em mais detalhes usando filtros", + "invalid-url": "Invalid URL", "is": "É igual a", "is-false": "É falso", "is-not": "Não é igual a", @@ -141,7 +161,9 @@ "leave-team": "Sair da equipe", "less-than": "Menor que", "less-than-equals": "Menor ou igual a", + "link": "Link", "links": "Links", + "location": "Location", "login": "Entrar", "logout": "Sair", "manage": "Gerenciar", @@ -152,8 +174,10 @@ "member": "Membro", "members": "Membros", "min": "Mínimo", + "minute": "Minute", "mobile": "Celular", "model": "Modelo", + "month": "Month", "more": "Mais", "my-account": "Minha conta", "my-websites": "Meus sites", @@ -184,12 +208,15 @@ "password": "Senha", "path": "Caminho", "paths": "Caminhos", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "Desenvolvido por {name}", + "preferences": "Preferences", "previous": "Anterior", "previous-period": "Período anterior", "previous-year": "Ano anterior", "profile": "Perfil", + "profiles": "Profiles", "properties": "Propriedades", "property": "Propriedade", "queries": "Consultas", @@ -217,8 +244,13 @@ "role": "Função", "run-query": "Executar consulta", "save": "Salvar", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Tamanhos de tela", "search": "Pesquisar", + "segment": "Segment", + "segments": "Segments", "select": "Selecionar", "select-date": "Selecionar data", "select-filter": "Selecionar filtro", @@ -232,10 +264,14 @@ "share-url": "Link para compartilhar", "single-day": "Apenas um dia", "sms": "SMS", + "source": "Source", "sources": "Fontes", "start-step": "Start Step", "steps": "Etapas", "sum": "Soma", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Tag", "tags": "Tags", @@ -249,6 +285,7 @@ "team-view-only": "Apenas visualização da equipe", "team-websites": "Sites da equipe", "teams": "Equipes", + "term": "Term", "terms": "Termos", "theme": "Tema", "this-month": "Este mês", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total de registros", "tracking-code": "Código de rastreamento", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transferir", "transfer-website": "Transferir site", "true": "Sim", "type": "Tipo", "unique": "Únicos", + "unique-events": "Unique events", "unique-visitors": "Visitantes únicos", "uniqueCustomers": "Unique Customers", "unknown": "Desconhecido", "untitled": "Sem título", "update": "Atualizar", + "url": "URL", "user": "Usuário", "username": "Nome de usuário", "users": "Usuários", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Acompanhe suas campanhas de publicidade através de parâmetros UTM.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Valor", + "version": "Version", "view": "Visualizar", "view-details": "Ver mais", "view-only": "Somente visualização", diff --git a/public/intl/messages/pt-PT.json b/public/intl/messages/pt-PT.json index 6ee8c1971..318df5bf5 100644 --- a/public/intl/messages/pt-PT.json +++ b/public/intl/messages/pt-PT.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Código de acesso", + "account": "Account", + "action": "Action", "actions": "Ações", "activity": "Registo de atividade", "add": "Adicionar", "add-board": "Adicionar quadro", "add-description": "Adicionar descrição", + "add-link": "Add link", "add-member": "Adicionar membro", + "add-pixel": "Add pixel", "add-step": "Adicionar passo", "add-website": "Adicionar website", "admin": "Administrador", @@ -14,10 +18,13 @@ "after": "Depois", "all": "Todos", "all-time": "Todo o tempo", + "analysis": "Analysis", "analytics": "Análise", + "application": "Application", "apply": "Aplicar", "attribution": "Atribuição", "attribution-description": "Veja como os utilizadores interagem com o seu marketing e o que impulsiona conversões.", + "audience": "Audience", "average": "Média", "back": "Voltar", "before": "Antes", @@ -27,14 +34,18 @@ "breakdown": "Detalhamento", "browser": "Navegador", "browsers": "Navegadores", + "campaign": "Campaign", "campaigns": "Campanhas", "cancel": "Cancelar", "change-password": "Alterar senha", + "channel": "Channel", "channels": "Canais", + "chart": "Chart", "cities": "Cidades", "city": "Cidade", "clear-all": "Limpar tudo", "cohort": "Cohorte", + "cohorts": "Cohorts", "compare": "Comparar", "compare-dates": "Comparar datas", "confirm": "Confirmar", @@ -54,6 +65,7 @@ "create-user": "Criar utilizador", "created": "Criado", "created-by": "Criado por", + "criteria": "Criteria", "currency": "Moeda", "current": "Atual", "current-password": "Senha atual", @@ -71,16 +83,19 @@ "delete-website": "Eliminar website", "description": "Descrição", "desktop": "Computador", + "destination-url": "Destination URL", "details": "Detalhes", "device": "Dispositivo", "devices": "Dispositivos", "direct": "Direto", "dismiss": "Ignorar", "distinct-id": "ID distinto", + "documentation": "Documentation", "does-not-contain": "Não contém", "does-not-include": "Não inclui", "doest-not-exist": "Não existe", "domain": "Domínio", + "download": "Download", "dropoff": "Dropoff", "edit": "Editar", "edit-dashboard": "Editar painel", @@ -89,10 +104,12 @@ "enable-share-url": "Ativar link de partilha", "end-step": "Passo final", "entry": "URL de entrada", + "environment": "Environment", "event": "Evento", "event-data": "Dados do evento", "event-name": "Nome do evento", "events": "Eventos", + "exclude-bounce": "Exclude bounce", "exists": "Existe", "exit": "URL de saída", "false": "Falso", @@ -113,11 +130,14 @@ "greater-than": "Maior que", "greater-than-equals": "Maior ou igual a", "grouped": "Agrupado", + "growth": "Growth", "hostname": "Nome do host", + "hour": "Hour", "includes": "Inclui", "insight": "Insight", "insights": "Insights", "insights-description": "Dive deeper into your data by using segments and filters.", + "invalid-url": "Invalid URL", "is": "É", "is-false": "É falso", "is-not": "Não é", @@ -141,7 +161,9 @@ "leave-team": "Sair da equipa", "less-than": "Menor que", "less-than-equals": "Menor ou igual a", + "link": "Link", "links": "Ligações", + "location": "Location", "login": "Iniciar sessão", "logout": "Sair", "manage": "Gerir", @@ -152,8 +174,10 @@ "member": "Membro", "members": "Membros", "min": "Mínimo", + "minute": "Minute", "mobile": "Telemóvel", "model": "Modelo", + "month": "Month", "more": "Mais", "my-account": "A minha conta", "my-websites": "Os meus websites", @@ -184,12 +208,15 @@ "password": "Senha", "path": "Caminho", "paths": "Caminhos", + "pixel": "Pixel", "pixels": "Píxeis", "powered-by": "Distribuído por {name}", + "preferences": "Preferences", "previous": "Anterior", "previous-period": "Período anterior", "previous-year": "Ano anterior", "profile": "Perfil", + "profiles": "Profiles", "properties": "Propriedades", "property": "Propriedade", "queries": "Queries", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "Guardar", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Screens", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "Selecionar filtro", @@ -232,10 +264,14 @@ "share-url": "Partilhar link", "single-day": "Dia único", "sms": "SMS", + "source": "Source", "sources": "Fontes", "start-step": "Start Step", "steps": "Steps", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Etiqueta", "tags": "Etiquetas", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Termos", "theme": "Tema", "this-month": "Este mês", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "Código de rastreamento", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Visitantes únicos", "uniqueCustomers": "Unique Customers", "unknown": "Desconhecido", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "Nome de utilizador", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "Ver detalhes", "view-only": "View only", diff --git a/public/intl/messages/ro-RO.json b/public/intl/messages/ro-RO.json index 7149bc6e9..f8fb2762a 100644 --- a/public/intl/messages/ro-RO.json +++ b/public/intl/messages/ro-RO.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Cod de access", + "account": "Account", + "action": "Action", "actions": "Acțiuni", "activity": "Jurnal de activități", "add": "Adaugă", "add-board": "Adaugă panou", "add-description": "Adaugă descriere", + "add-link": "Add link", "add-member": "Adaugă membru", + "add-pixel": "Add pixel", "add-step": "Adaugă pas", "add-website": "Adaugă site web", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "După", "all": "Toate", "all-time": "Pentru tot timpul", + "analysis": "Analysis", "analytics": "Analiză", + "application": "Application", "apply": "Aplică", "attribution": "Atribuire", "attribution-description": "Vezi cum utilizatorii interacționează cu marketingul tău și ce determină conversiile.", + "audience": "Audience", "average": "Mediu", "back": "Înapoi", "before": "Înainte", @@ -27,14 +34,18 @@ "breakdown": "Detaliat", "browser": "Browser", "browsers": "Browsere", + "campaign": "Campaign", "campaigns": "Campanii", "cancel": "Anulează", "change-password": "Schimbare parolă", + "channel": "Channel", "channels": "Canale", + "chart": "Chart", "cities": "Orașe", "city": "Oraș", "clear-all": "Șterge tot", "cohort": "Cohortă", + "cohorts": "Cohorts", "compare": "Compară", "compare-dates": "Compară datele", "confirm": "Confirm", @@ -54,6 +65,7 @@ "create-user": "Crează utilizator", "created": "Creat", "created-by": "Creat de", + "criteria": "Criteria", "currency": "Monedă", "current": "Curent", "current-password": "Parola curentă", @@ -71,16 +83,19 @@ "delete-website": "Șterge site web", "description": "Descriere", "desktop": "Desktop", + "destination-url": "Destination URL", "details": "Detalii", "device": "Dispozitiv", "devices": "Dispozitive", "direct": "Direct", "dismiss": "Renunță", "distinct-id": "Distinct ID", + "documentation": "Documentation", "does-not-contain": "Nu conține", "does-not-include": "Nu include", "doest-not-exist": "Nu există", "domain": "Domeniu", + "download": "Download", "dropoff": "Rată de abandon", "edit": "Editare", "edit-dashboard": "Editare tablou de bord", @@ -89,10 +104,12 @@ "enable-share-url": "Activare adresă URL de distribuire", "end-step": "Pas final", "entry": "URL de intrare", + "environment": "Environment", "event": "Eveniment", "event-data": "Date despre eveniment", "event-name": "Nume eveniment", "events": "Evenimente", + "exclude-bounce": "Exclude bounce", "exists": "Există", "exit": "URL de ieșire", "false": "Fals", @@ -113,11 +130,14 @@ "greater-than": "Mai mare decât", "greater-than-equals": "Mai mare sau egal cu", "grouped": "Grupat", + "growth": "Growth", "hostname": "Nume gazdă", + "hour": "Hour", "includes": "Include", "insight": "Perspectivă", "insights": "Perspective", "insights-description": "Aprofundează datele utilizând segmente și filtre.", + "invalid-url": "Invalid URL", "is": "Este", "is-false": "Este fals", "is-not": "Nu este", @@ -141,7 +161,9 @@ "leave-team": "Părăsește echipa", "less-than": "Mai puțin decât", "less-than-equals": "Mai puțin sau egal cu", + "link": "Link", "links": "Linkuri", + "location": "Location", "login": "Autentificare", "logout": "Ieșire din cont", "manage": "Administrează", @@ -152,8 +174,10 @@ "member": "Membru", "members": "Membri", "min": "Min", + "minute": "Minute", "mobile": "Mobil", "model": "Model", + "month": "Month", "more": "Mai mult", "my-account": "Contul meu", "my-websites": "Website-ul meu", @@ -184,12 +208,15 @@ "password": "Parolă", "path": "Rută", "paths": "Rute", + "pixel": "Pixel", "pixels": "Pixeli", "powered-by": "Cu sprijinul {name}", + "preferences": "Preferences", "previous": "Anterior", "previous-period": "Perioda anterioară", "previous-year": "Anul anterior", "profile": "Profil", + "profiles": "Profiles", "properties": "Proprietăți", "property": "Proprietate", "queries": "Interogări", @@ -217,8 +244,13 @@ "role": "Rol", "run-query": "Execută interogarea", "save": "Salvează", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Ecrane", "search": "Căutare", + "segment": "Segment", + "segments": "Segments", "select": "Selectează", "select-date": "Selectează data", "select-filter": "Selectează filtru", @@ -232,10 +264,14 @@ "share-url": "Partajare URL", "single-day": "O singură zi", "sms": "SMS", + "source": "Source", "sources": "Surse", "start-step": "Pas de început", "steps": "Pași", "sum": "Sumă", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tabletă", "tag": "Etichetă", "tags": "Etichete", @@ -249,6 +285,7 @@ "team-view-only": "Doar vizualizare echipă", "team-websites": "Website-uri echipă", "teams": "Echipă", + "term": "Term", "terms": "Termeni", "theme": "Temă", "this-month": "Această lună", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total înregistrări", "tracking-code": "Cod de urmărire", + "traffic": "Traffic", "transactions": "Tranzacții", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "Adevărat", "type": "Tip", "unique": "Unici", + "unique-events": "Unique events", "unique-visitors": "Vizitatori unici", "uniqueCustomers": "Clienți unici", "unknown": "Necunoscut", "untitled": "Fără titlu", "update": "Update", + "url": "URL", "user": "Utilizator", "username": "Nume utilizator", "users": "Utilizatori", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Urmărește campaniile tale cu parametri UTM.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Valoare", + "version": "Version", "view": "Vizualizare", "view-details": "Vizualizare detalii", "view-only": "Doar vizualizare", diff --git a/public/intl/messages/ru-RU.json b/public/intl/messages/ru-RU.json index 7a4545905..811e534fc 100644 --- a/public/intl/messages/ru-RU.json +++ b/public/intl/messages/ru-RU.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Код доступа", + "account": "Account", + "action": "Action", "actions": "Действия", "activity": "Журнал активности", "add": "Добавить", "add-board": "Добавить доску", "add-description": "Добавить описание", + "add-link": "Add link", "add-member": "Добавить участника", + "add-pixel": "Add pixel", "add-step": "Добавить шаг", "add-website": "Добавить сайт", "admin": "Администратор", @@ -14,10 +18,13 @@ "after": "После", "all": "Все", "all-time": "Все время", + "analysis": "Analysis", "analytics": "Аналитика", + "application": "Application", "apply": "Применить", "attribution": "Атрибуция", "attribution-description": "Посмотрите, как пользователи взаимодействуют с вашим маркетингом и что приводит к конверсиям.", + "audience": "Audience", "average": "Средний", "back": "Назад", "before": "До", @@ -27,14 +34,18 @@ "breakdown": "Авария", "browser": "Браузер", "browsers": "Браузеры", + "campaign": "Campaign", "campaigns": "Кампании", "cancel": "Отменить", "change-password": "Изменить пароль", + "channel": "Channel", "channels": "Каналы", + "chart": "Chart", "cities": "Города", "city": "Город", "clear-all": "Очистить все", "cohort": "Когорта", + "cohorts": "Cohorts", "compare": "Сравнить", "compare-dates": "Сравнить даты", "confirm": "Подтвердить", @@ -54,6 +65,7 @@ "create-user": "Создать пользователя", "created": "Создано", "created-by": "Создано", + "criteria": "Criteria", "currency": "Валюта", "current": "Текущий", "current-password": "Текущий пароль", @@ -71,16 +83,19 @@ "delete-website": "Удалить сайт", "description": "Описание", "desktop": "Настольный компьютер", + "destination-url": "Destination URL", "details": "Подробности", "device": "Устройство", "devices": "Устройства", "direct": "Direct", "dismiss": "Отклонить", "distinct-id": "Distinct ID", + "documentation": "Documentation", "does-not-contain": "Не содержит", "does-not-include": "Не включает", "doest-not-exist": "Не существует", "domain": "Домен", + "download": "Download", "dropoff": "Высадка", "edit": "Изменить", "edit-dashboard": "Редактировать дашборд", @@ -89,10 +104,12 @@ "enable-share-url": "Разрешить делиться ссылкой", "end-step": "Конечный шаг", "entry": "URL-адрес входа", + "environment": "Environment", "event": "Событие", "event-data": "Данные о событии", "event-name": "Название события", "events": "События", + "exclude-bounce": "Exclude bounce", "exists": "Существует", "exit": "URL-адрес выхода", "false": "Ложь", @@ -113,11 +130,14 @@ "greater-than": "Больше, чем", "greater-than-equals": "Больше или равно", "grouped": "Группировано", + "growth": "Growth", "hostname": "Имя хоста", + "hour": "Hour", "includes": "Включает", "insight": "Инсайт", "insights": "Информация", "insights-description": "Погрузитесь глубже в свои данные с помощью сегментов и фильтров.", + "invalid-url": "Invalid URL", "is": "Является", "is-false": "Ложно", "is-not": "Не установлен", @@ -141,7 +161,9 @@ "leave-team": "Покинуть команду", "less-than": "Меньше, чем", "less-than-equals": "Меньше или равно", + "link": "Link", "links": "Ссылки", + "location": "Location", "login": "Войти", "logout": "Выйти", "manage": "Управление", @@ -152,8 +174,10 @@ "member": "Участник", "members": "Участники", "min": "Минимум", + "minute": "Minute", "mobile": "Смартфон", "model": "Модель", + "month": "Month", "more": "Больше", "my-account": "Мой профиль", "my-websites": "Мои сайты", @@ -184,12 +208,15 @@ "password": "Пароль", "path": "Путь", "paths": "Пути", + "pixel": "Pixel", "pixels": "Пиксели", "powered-by": "На движке {name}", + "preferences": "Preferences", "previous": "Предыдущий", "previous-period": "Предыдущий период", "previous-year": "Предыдущий год", "profile": "Профиль", + "profiles": "Profiles", "properties": "Свойства", "property": "Свойство", "queries": "Запросы", @@ -217,8 +244,13 @@ "role": "Роль", "run-query": "Выполнить запрос", "save": "Сохранить", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Экраны", "search": "Поиск", + "segment": "Segment", + "segments": "Segments", "select": "Выберите", "select-date": "Выберите дату", "select-filter": "Выберите фильтр", @@ -232,10 +264,14 @@ "share-url": "Поделиться ссылкой", "single-day": "Один день", "sms": "SMS", + "source": "Source", "sources": "Источники", "start-step": "Начальный этап", "steps": "Шаги", "sum": "Сумма", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Планшет", "tag": "Тег", "tags": "Теги", @@ -249,6 +285,7 @@ "team-view-only": "Только командный просмотр", "team-websites": "Веб-сайты команды", "teams": "Команды", + "term": "Term", "terms": "Условия", "theme": "Тема", "this-month": "Этот месяц", @@ -261,23 +298,32 @@ "total": "Всего", "total-records": "Всего записей", "tracking-code": "Код отслеживания", + "traffic": "Traffic", "transactions": "Транзакции", "transfer": "Передача", "transfer-website": "Передать сайт", "true": "Правда", "type": "Тип", "unique": "Уникальный", + "unique-events": "Unique events", "unique-visitors": "Уникальные посетители", "uniqueCustomers": "Уникальные клиенты", "unknown": "Неизвестно", "untitled": "Без названия", "update": "Обновление", + "url": "URL", "user": "Пользователь", "username": "Имя пользователя", "users": "Пользователи", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Отслеживайте свои кампании с помощью UTM-параметров.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Значение", + "version": "Version", "view": "Просмотреть", "view-details": "Посмотреть детали", "view-only": "Только просмотр", diff --git a/public/intl/messages/si-LK.json b/public/intl/messages/si-LK.json index f05ef473f..7106f6352 100644 --- a/public/intl/messages/si-LK.json +++ b/public/intl/messages/si-LK.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Access code", + "account": "Account", + "action": "Action", "actions": "Actions", "activity": "Activity log", "add": "Add", "add-board": "Add board", "add-description": "Add description", + "add-link": "Add link", "add-member": "Add member", + "add-pixel": "Add pixel", "add-step": "Add step", "add-website": "වෙබ් අඩවිය එක් කරන්න", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "After", "all": "සියල්ල", "all-time": "හැම වෙලාවෙම", + "analysis": "Analysis", "analytics": "Analytics", + "application": "Application", "apply": "Apply", "attribution": "Attribution", "attribution-description": "See how users engage with your marketing and what drives conversions.", + "audience": "Audience", "average": "Average", "back": "ආපසු", "before": "Before", @@ -27,14 +34,18 @@ "breakdown": "Breakdown", "browser": "Browser", "browsers": "Browsers", + "campaign": "Campaign", "campaigns": "Campaigns", "cancel": "අවලංගු කරන්න", "change-password": "මුරපදය වෙනස් කරන්න", + "channel": "Channel", "channels": "Channels", + "chart": "Chart", "cities": "Cities", "city": "City", "clear-all": "Clear all", "cohort": "Cohort", + "cohorts": "Cohorts", "compare": "Compare", "compare-dates": "Compare dates", "confirm": "Confirm", @@ -54,6 +65,7 @@ "create-user": "Create user", "created": "Created", "created-by": "Created By", + "criteria": "Criteria", "currency": "Currency", "current": "Current", "current-password": "වත්මන් මුරපදය", @@ -71,16 +83,19 @@ "delete-website": "වෙබ් අඩවිය මකන්න", "description": "Description", "desktop": "Desktop", + "destination-url": "Destination URL", "details": "Details", "device": "Device", "devices": "Devices", "direct": "Direct", "dismiss": "මගහරින්න", "distinct-id": "Distinct ID", + "documentation": "Documentation", "does-not-contain": "Does not contain", "does-not-include": "Does not include", "doest-not-exist": "Does not exist", "domain": "වසම", + "download": "Download", "dropoff": "Dropoff", "edit": "සංස්කරණය කරන්න", "edit-dashboard": "Edit dashboard", @@ -89,10 +104,12 @@ "enable-share-url": "බෙදාගැනීමේ URL සබල කරන්න", "end-step": "End Step", "entry": "Entry URL", + "environment": "Environment", "event": "Event", "event-data": "සිදුවීම් දත්ත", "event-name": "Event name", "events": "Events", + "exclude-bounce": "Exclude bounce", "exists": "Exists", "exit": "Exit URL", "false": "False", @@ -113,11 +130,14 @@ "greater-than": "Greater than", "greater-than-equals": "Greater than or equals", "grouped": "Grouped", + "growth": "Growth", "hostname": "Hostname", + "hour": "Hour", "includes": "Includes", "insight": "Insight", "insights": "Insights", "insights-description": "Dive deeper into your data by using segments and filters.", + "invalid-url": "Invalid URL", "is": "Is", "is-false": "Is false", "is-not": "Is not", @@ -141,7 +161,9 @@ "leave-team": "Leave team", "less-than": "Less than", "less-than-equals": "Less than or equals", + "link": "Link", "links": "Links", + "location": "Location", "login": "ලොග් වෙන්න", "logout": "පිටවීම", "manage": "Manage", @@ -152,8 +174,10 @@ "member": "Member", "members": "Members", "min": "Min", + "minute": "Minute", "mobile": "Mobile", "model": "Model", + "month": "Month", "more": "තවත්", "my-account": "My account", "my-websites": "My websites", @@ -184,12 +208,15 @@ "password": "මුරපදය", "path": "Path", "paths": "Paths", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "Powered by {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "පැතිකඩ", + "profiles": "Profiles", "properties": "Properties", "property": "Property", "queries": "Queries", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "සුරකින්න", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Screens", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "Select filter", @@ -232,10 +264,14 @@ "share-url": "බෙදාගැනීමේ URL", "single-day": "තනි දවස", "sms": "SMS", + "source": "Source", "sources": "Sources", "start-step": "Start Step", "steps": "Steps", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Tag", "tags": "Tags", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Terms", "theme": "තේමාව", "this-month": "මෙ මාසය", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "ලුහුබැඳීමේ කේතය", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Unique visitors", "uniqueCustomers": "Unique Customers", "unknown": "නොදනී", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "පරිශීලක නාමය", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "තොරතුරු පෙන්වන්න", "view-only": "View only", diff --git a/public/intl/messages/sk-SK.json b/public/intl/messages/sk-SK.json index c8262b955..a433476a7 100644 --- a/public/intl/messages/sk-SK.json +++ b/public/intl/messages/sk-SK.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Prístupový kód", + "account": "Account", + "action": "Action", "actions": "Akcie", "activity": "Denník aktivít", "add": "Pridať", "add-board": "Pridať tabuľu", "add-description": "Pridať popis", + "add-link": "Add link", "add-member": "Pridať člena", + "add-pixel": "Add pixel", "add-step": "Pridať krok", "add-website": "Pridať web", "admin": "Administrátor", @@ -14,10 +18,13 @@ "after": "Po", "all": "Všetko", "all-time": "Celý čas", + "analysis": "Analysis", "analytics": "Analytika", + "application": "Application", "apply": "Použiť", "attribution": "Priradenie", "attribution-description": "Pozrite sa, ako používatelia interagujú s vaším marketingom a čo vedie ku konverziám.", + "audience": "Audience", "average": "Priemer", "back": "Späť", "before": "Pred", @@ -27,14 +34,18 @@ "breakdown": "Rozpis", "browser": "Prehliadač", "browsers": "Prehliadač", + "campaign": "Campaign", "campaigns": "Kampane", "cancel": "Zrušiť", "change-password": "Zmeniť heslo", + "channel": "Channel", "channels": "Kanály", + "chart": "Chart", "cities": "Mestá", "city": "Mesto", "clear-all": "Vymazať všetko", "cohort": "Kohorta", + "cohorts": "Cohorts", "compare": "Porovnať", "compare-dates": "Porovnať dátumy", "confirm": "Potvrdiť", @@ -54,6 +65,7 @@ "create-user": "Vytvoriť používateľa", "created": "Vytvorené", "created-by": "Vytvoril", + "criteria": "Criteria", "currency": "Mena", "current": "Aktuálny", "current-password": "Aktuálne heslo", @@ -71,16 +83,19 @@ "delete-website": "Zmazať web", "description": "Popis", "desktop": "Stolný počítač", + "destination-url": "Destination URL", "details": "Details", "device": "Zariadenie", "devices": "Zariadenie", "direct": "Priamy", "dismiss": "Odísť", "distinct-id": "Jedinečné ID", + "documentation": "Documentation", "does-not-contain": "Neobsahuje", "does-not-include": "Nezahŕňa", "doest-not-exist": "Neexistuje", "domain": "Doména", + "download": "Download", "dropoff": "Dropoff", "edit": "Upraviť", "edit-dashboard": "Upraviť prehľad", @@ -89,10 +104,12 @@ "enable-share-url": "Povoliť zdielanie URL", "end-step": "Konečný krok", "entry": "Vstupná URL", + "environment": "Environment", "event": "Udalosť", "event-data": "Dáta udalosti", "event-name": "Názov udalosti", "events": "Udalosti", + "exclude-bounce": "Exclude bounce", "exists": "Existuje", "exit": "Výstupná URL", "false": "Nepravda", @@ -113,11 +130,14 @@ "greater-than": "Väčšie ako", "greater-than-equals": "Väčšie alebo rovné", "grouped": "Zoskupené", + "growth": "Growth", "hostname": "Názov hostiteľa", + "hour": "Hour", "includes": "Zahŕňa", "insight": "Prehľad", "insights": "Insights", "insights-description": "Dive deeper into your data by using segments and filters.", + "invalid-url": "Invalid URL", "is": "Je", "is-false": "Je nepravda", "is-not": "Nie je", @@ -141,7 +161,9 @@ "leave-team": "Opustiť tím", "less-than": "Menej ako", "less-than-equals": "Menej alebo rovné", + "link": "Link", "links": "Odkazy", + "location": "Location", "login": "Prihlásiť", "logout": "Odhlásiť", "manage": "Spravovať", @@ -152,8 +174,10 @@ "member": "Člen", "members": "Členovia", "min": "Minimum", + "minute": "Minute", "mobile": "Mobilný telefon", "model": "Model", + "month": "Month", "more": "Viac", "my-account": "Môj účet", "my-websites": "Moje weby", @@ -184,12 +208,15 @@ "password": "Heslo", "path": "Cesta", "paths": "Cesty", + "pixel": "Pixel", "pixels": "Pixely", "powered-by": "Powered by {name}", + "preferences": "Preferences", "previous": "Predchádzajúci", "previous-period": "Predchádzajúce obdobie", "previous-year": "Predchádzajúci rok", "profile": "Profil", + "profiles": "Profiles", "properties": "Vlastnosti", "property": "Vlastnosť", "queries": "Queries", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "Uložiť", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Screens", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "Vybrať filter", @@ -232,10 +264,14 @@ "share-url": "Zdielanie URL", "single-day": "Jeden deň", "sms": "SMS", + "source": "Source", "sources": "Zdroje", "start-step": "Start Step", "steps": "Steps", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Značka", "tags": "Značky", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Podmienky", "theme": "Theme", "this-month": "Tento mesiac", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "Sledovací kód", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "Jedinečné návštevy", "uniqueCustomers": "Unique Customers", "unknown": "Neznámý", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "Užívateľské meno", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "Zobraziť detaily", "view-only": "View only", diff --git a/public/intl/messages/sl-SI.json b/public/intl/messages/sl-SI.json index 6b8cd0d3a..f6caa5f35 100644 --- a/public/intl/messages/sl-SI.json +++ b/public/intl/messages/sl-SI.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Koda za dostop", + "account": "Account", + "action": "Action", "actions": "Dejanja", "activity": "Dnevnik dejavnosti", "add": "Dodaj", "add-board": "Dodaj tablo", "add-description": "Dodaj opis", + "add-link": "Add link", "add-member": "Dodaj člana", + "add-pixel": "Add pixel", "add-step": "Dodaj korak", "add-website": "Dodaj spletno mesto", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "Po", "all": "Vsi", "all-time": "Ves čas", + "analysis": "Analysis", "analytics": "Analitika", + "application": "Application", "apply": "Uporabi", "attribution": "Pripis", "attribution-description": "Oglejte si, kako uporabniki sodelujejo z vašim marketingom in kaj spodbuja konverzije.", + "audience": "Audience", "average": "Povprečno", "back": "Nazaj", "before": "Pred", @@ -27,13 +34,17 @@ "breakdown": "Razčlenitev", "browser": "Brskalnik", "browsers": "Brskalniki", + "campaign": "Campaign", "campaigns": "Kampanje", "cancel": "Prekliči", "change-password": "Zamenjaj geslo", + "channel": "Channel", "channels": "Kanali", + "chart": "Chart", "cities": "Mesta", "city": "Mesto", "clear-all": "Počisti vse", + "cohorts": "Cohorts", "compare": "Primerjaj", "confirm": "Potrdi", "confirm-password": "Potrdi geslo", @@ -49,6 +60,7 @@ "create-user": "Ustvari uporabnika", "created": "Ustvarjeno", "created-by": "Ustvaril", + "criteria": "Criteria", "current": "Trenutno", "current-password": "Trenutno geslo", "custom-range": "Obdobje po meri", @@ -65,16 +77,19 @@ "delete-website": "Izbriši spletno mesto", "description": "Opis", "desktop": "Namizni računalnik", + "destination-url": "Destination URL", "details": "Podrobnosti", "device": "Naprava", "devices": "Naprave", "direct": "Neposredno", "dismiss": "Prezri", "distinct-id": "Unikatni ID", + "documentation": "Documentation", "does-not-contain": "Ne vsebuje", "does-not-include": "Ne vključuje", "doest-not-exist": "Ne obstaja", "domain": "Domena", + "download": "Download", "dropoff": "Zapustitev", "edit": "Uredi", "edit-dashboard": "Uredi nadzorno ploščo", @@ -82,10 +97,12 @@ "enable-share-url": "Omogoči povezavo za deljenje", "end-step": "Končni korak", "entry": "Vstopni URL", + "environment": "Environment", "event": "Dogodek", "event-data": "Podatki dogodka", "event-name": "Ime dogodka", "events": "Dogodki", + "exclude-bounce": "Exclude bounce", "exit": "Izhodni URL", "false": "Napačno", "field": "Polje", @@ -102,10 +119,13 @@ "goals-description": "Spremljajte svoje cilje za oglede strani in dogodke.", "greater-than": "Večje od", "greater-than-equals": "Večje ali enako kot", + "growth": "Growth", "host": "Gostitelj", "hosts": "Gostitelji", + "hour": "Hour", "insights": "Vpogled", "insights-description": "Poglobite se v podatke z uporabo segmentov in filtrov.", + "invalid-url": "Invalid URL", "is": "Je", "is-false": "Je napačno", "is-not": "Ni", @@ -128,7 +148,9 @@ "leave-team": "Zapusti ekipo", "less-than": "Manjše kot", "less-than-equals": "Manjše ali enako kot", + "link": "Link", "links": "Povezave", + "location": "Location", "login": "Prijava", "logout": "Odjava", "manage": "Upravljaj", @@ -137,8 +159,10 @@ "member": "Član", "members": "Člani", "min": "Najmanj", + "minute": "Minute", "mobile": "Mobilne naprave", "model": "Model", + "month": "Month", "more": "Več", "my-account": "Moj račun", "my-websites": "Moja spletna mesta", @@ -169,11 +193,14 @@ "password": "Geslo", "path": "Pot", "paths": "Poti", + "pixel": "Pixel", "powered-by": "Poganja {name}", + "preferences": "Preferences", "previous": "Prejšnji", "previous-period": "Prejšnje obdobje", "previous-year": "Prejšnje leto", "profile": "Profil", + "profiles": "Profiles", "properties": "Lastnosti", "property": "Lastnost", "queries": "Poizvedbe", @@ -202,8 +229,13 @@ "role": "Vloga", "run-query": "Izvedi poizvedbo", "save": "Shrani", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Zasloni", "search": "Išči", + "segment": "Segment", + "segments": "Segments", "select": "Izberi", "select-date": "Izberi datum", "select-role": "Izberi vlogo", @@ -214,9 +246,13 @@ "share": "Deli", "share-url": "Deli povezavo", "single-day": "En dan", + "source": "Source", "start-step": "Začetni korak", "steps": "Koraki", "sum": "Seštevek", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablični računalnik", "tag": "Oznaka", "tags": "Oznake", @@ -229,6 +265,7 @@ "team-view-only": "Ekipa samo za ogled", "team-websites": "Spletna mesta ekipe", "teams": "Ekipe", + "term": "Term", "terms": "Pogoji", "theme": "Tema", "this-month": "Ta mesec", @@ -241,23 +278,32 @@ "total": "Skupaj", "total-records": "Skupni zapisi", "tracking-code": "Koda za sledenje", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "Pravilno", "type": "Vrsta", "unique": "Unikatni", + "unique-events": "Unique events", "unique-visitors": "Unikatni obiskovalci", "uniqueCustomers": "Unique Customers", "unknown": "Neznano", "untitled": "Brez naslova", "update": "Update", + "url": "URL", "user": "Uporabnik", "username": "Uporabniško ime", "users": "Uporabniki", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Vrednost", + "version": "Version", "view": "Poglej", "view-details": "Poglej podrobnosti", "view-only": "Samo ogledovanje", diff --git a/public/intl/messages/sv-SE.json b/public/intl/messages/sv-SE.json index 246f0d03f..dc70b044b 100644 --- a/public/intl/messages/sv-SE.json +++ b/public/intl/messages/sv-SE.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Åtkomstkod", + "account": "Account", + "action": "Action", "actions": "Händelser", "activity": "Aktivitetslogg", "add": "Lägg till", "add-board": "Lägg till anslagstavla", "add-description": "Lägg till beskrivning", + "add-link": "Add link", "add-member": "Lägg till medlem", + "add-pixel": "Add pixel", "add-step": "Lägg till steg", "add-website": "Lägg till webbplats", "admin": "Administratör", @@ -14,10 +18,13 @@ "after": "Efter", "all": "Alla", "all-time": "Sedan början", + "analysis": "Analysis", "analytics": "Webbplats Analys", + "application": "Application", "apply": "Tillämpa", "attribution": "Attribuering", "attribution-description": "Se hur användare interagerar med din marknadsföring och vad som driver konverteringar.", + "audience": "Audience", "average": "Genomsnitt", "back": "Tillbaka", "before": "Före", @@ -27,14 +34,18 @@ "breakdown": "Analys", "browser": "Webbläsare", "browsers": "Webbläsare", + "campaign": "Campaign", "campaigns": "Kampanjer", "cancel": "Avbryt", "change-password": "Byt lösenord", + "channel": "Channel", "channels": "Kanaler", + "chart": "Chart", "cities": "Städer", "city": "Stad", "clear-all": "Rensa alla", "cohort": "Kohort", + "cohorts": "Cohorts", "compare": "Jämför", "compare-dates": "Jämför datum", "confirm": "Bekräfta", @@ -54,6 +65,7 @@ "create-user": "Skapa användare", "created": "Skapad", "created-by": "Skapad av", + "criteria": "Criteria", "currency": "Valuta", "current": "Nuvarande", "current-password": "Nuvarande lösenord", @@ -71,16 +83,19 @@ "delete-website": "Radera webbplats", "description": "Beskrivning", "desktop": "Stationär", + "destination-url": "Destination URL", "details": "Detaljer", "device": "Enhet", "devices": "Enheter", "direct": "Direkt", "dismiss": "Avbryt", "distinct-id": "Unikt ID", + "documentation": "Documentation", "does-not-contain": "Innehåller inte", "does-not-include": "Inkluderar inte", "doest-not-exist": "Existerar inte", "domain": "Domän", + "download": "Download", "dropoff": "Bortfall", "edit": "Redigera", "edit-dashboard": "Redigera översikt", @@ -89,10 +104,12 @@ "enable-share-url": "Aktivera delningslänk", "end-step": "Slutsteg", "entry": "Ingångs-URL", + "environment": "Environment", "event": "Händelse", "event-data": "Händelsedata", "event-name": "Händelsenamn", "events": "Händelser", + "exclude-bounce": "Exclude bounce", "exists": "Existerar", "exit": "Exit URL", "false": "Falskt", @@ -113,11 +130,14 @@ "greater-than": "Större än", "greater-than-equals": "Större än eller lika med", "grouped": "Grupperad", + "growth": "Growth", "hostname": "Värdnamn", + "hour": "Hour", "includes": "Inkluderar", "insight": "Insikt", "insights": "Insikter", "insights-description": "Dyk djupare in i din data genom att använda olika segment och filter.", + "invalid-url": "Invalid URL", "is": "Är", "is-false": "Är falskt", "is-not": "Är inte", @@ -141,7 +161,9 @@ "leave-team": "Lämna team", "less-than": "Mindre än", "less-than-equals": "Mindre än eller lika med", + "link": "Link", "links": "Länkar", + "location": "Location", "login": "Logga in", "logout": "Logga ut", "manage": "Manage", @@ -152,8 +174,10 @@ "member": "Medlem", "members": "Medlemmar", "min": "Min", + "minute": "Minute", "mobile": "Mobil", "model": "Modell", + "month": "Month", "more": "Mer", "my-account": "Mitt konto", "my-websites": "Mina webbplatser", @@ -184,12 +208,15 @@ "password": "Lösenord", "path": "Sökväg", "paths": "Sökvägar", + "pixel": "Pixel", "pixels": "Pixlar", "powered-by": "Drivs av {name}", + "preferences": "Preferences", "previous": "Föregående", "previous-period": "Föregående period", "previous-year": "Föregående år", "profile": "Profil", + "profiles": "Profiles", "properties": "Egenskaper", "property": "Egenskap", "queries": "Frågor", @@ -217,8 +244,13 @@ "role": "Roll", "run-query": "Kör sökning", "save": "Spara", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Upplösning", "search": "Sök", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Välj datum", "select-filter": "Välj filter", @@ -232,10 +264,14 @@ "share-url": "Delningslänk", "single-day": "En dag", "sms": "SMS", + "source": "Source", "sources": "Källor", "start-step": "Start Step", "steps": "Steps", "sum": "Summa", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Surfplatta", "tag": "Tagg", "tags": "Taggar", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team webbplatser", "teams": "Team", + "term": "Term", "terms": "Villkor", "theme": "Tema", "this-month": "Denna månad", @@ -261,23 +298,32 @@ "total": "Totalt", "total-records": "Totala poster", "tracking-code": "Spårningskod", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "Sant", "type": "Typ", "unique": "Unikt", + "unique-events": "Unique events", "unique-visitors": "Unika besökare", "uniqueCustomers": "Unique Customers", "unknown": "Okänt", "untitled": "Namnlös", "update": "Update", + "url": "URL", "user": "Användare", "username": "Användarnamn", "users": "Användare", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Värde", + "version": "Version", "view": "Visa", "view-details": "Visa detaljer", "view-only": "Endast visning", diff --git a/public/intl/messages/ta-IN.json b/public/intl/messages/ta-IN.json index b334748f1..0a6c2d382 100644 --- a/public/intl/messages/ta-IN.json +++ b/public/intl/messages/ta-IN.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Access code", + "account": "Account", + "action": "Action", "actions": "செயல்கள்", "activity": "Activity log", "add": "Add", "add-board": "Add board", "add-description": "Add description", + "add-link": "Add link", "add-member": "Add member", + "add-pixel": "Add pixel", "add-step": "Add step", "add-website": "வலைத்தளத்தைச் சேர்க்க", "admin": "நிர்வாகியைச் சேர்க்க", @@ -14,27 +18,34 @@ "after": "After", "all": "எல்லாம்", "all-time": "All time", + "analysis": "Analysis", "analytics": "Analytics", + "application": "Application", "apply": "Apply", "attribution": "Attribution", "attribution-description": "See how users engage with your marketing and what drives conversions.", + "audience": "Audience", "average": "Average", "back": "பின்னால்", "before": "Before", - "boards": "Boards", "behavior": "நடத்தை", + "boards": "Boards", "bounce-rate": "துள்ளல் விகிதம்", "breakdown": "Breakdown", "browser": "Browser", "browsers": "உலாவிகள்", + "campaign": "Campaign", "campaigns": "Campaigns", "cancel": "ரத்துசெய்", "change-password": "கடவுச்சொல்லை மாற்று", + "channel": "Channel", "channels": "Channels", + "chart": "Chart", "cities": "Cities", "city": "City", "clear-all": "Clear all", "cohort": "Cohort", + "cohorts": "Cohorts", "compare": "Compare", "compare-dates": "Compare dates", "confirm": "Confirm", @@ -54,6 +65,7 @@ "create-user": "Create user", "created": "Created", "created-by": "Created By", + "criteria": "Criteria", "currency": "Currency", "current": "Current", "current-password": "தற்போதைய கடவுச்சொல்", @@ -71,16 +83,19 @@ "delete-website": "வலைத்தளத்தை நீக்கு", "description": "Description", "desktop": "மேசை கணினி", + "destination-url": "Destination URL", "details": "Details", "device": "Device", "devices": "சாதனங்கள்", "direct": "Direct", "dismiss": "நீக்கு", "distinct-id": "Distinct ID", + "documentation": "Documentation", "does-not-contain": "Does not contain", "does-not-include": "Does not include", "doest-not-exist": "Does not exist", "domain": "கள முகவரி", + "download": "Download", "dropoff": "Dropoff", "edit": "திருத்துதல்", "edit-dashboard": "Edit dashboard", @@ -89,10 +104,12 @@ "enable-share-url": "கள முகவரியை பகிரலாம்", "end-step": "End Step", "entry": "Entry URL", + "environment": "Environment", "event": "Event", "event-data": "Event data", "event-name": "Event name", "events": "நிகழ்வுகள்", + "exclude-bounce": "Exclude bounce", "exists": "Exists", "exit": "Exit URL", "false": "False", @@ -113,11 +130,14 @@ "greater-than": "Greater than", "greater-than-equals": "Greater than or equals", "grouped": "Grouped", + "growth": "Growth", "hostname": "Hostname", + "hour": "Hour", "includes": "Includes", "insight": "Insight", "insights": "Insights", "insights-description": "Dive deeper into your data by using segments and filters.", + "invalid-url": "Invalid URL", "is": "Is", "is-false": "Is false", "is-not": "Is not", @@ -141,7 +161,9 @@ "leave-team": "Leave team", "less-than": "Less than", "less-than-equals": "Less than or equals", + "link": "Link", "links": "Links", + "location": "Location", "login": "உள்நுழைய", "logout": "வெளியேறு", "manage": "Manage", @@ -152,8 +174,10 @@ "member": "Member", "members": "Members", "min": "Min", + "minute": "Minute", "mobile": "கைபேசி", "model": "Model", + "month": "Month", "more": "மேலும்", "my-account": "My account", "my-websites": "My websites", @@ -184,12 +208,15 @@ "password": "கடவுச்சொல்", "path": "Path", "paths": "Paths", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "{name} ஆல் இயக்கப்படுகிறது", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "சுயவிவரம்", + "profiles": "Profiles", "properties": "Properties", "property": "Property", "queries": "Queries", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "சேமி", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Screens", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "Select filter", @@ -232,10 +264,14 @@ "share-url": "வலைத்தள களத்தைப் பகிரவும்", "single-day": "ஒரு நாள்", "sms": "SMS", + "source": "Source", "sources": "Sources", "start-step": "Start Step", "steps": "Steps", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "கையடக்க கணினி", "tag": "Tag", "tags": "Tags", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Terms", "theme": "Theme", "this-month": "இந்த மாதம்", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "கண்காணிப்பு குறியீடு", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "தனிப்பட்ட பார்வையாளர்கள்", "uniqueCustomers": "Unique Customers", "unknown": "தெரியாத", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "பயனர்பெயர்", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "விபரங்களை பார்", "view-only": "View only", diff --git a/public/intl/messages/th-TH.json b/public/intl/messages/th-TH.json index bd9861db2..21d1a5de2 100644 --- a/public/intl/messages/th-TH.json +++ b/public/intl/messages/th-TH.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Access code", + "account": "Account", + "action": "Action", "actions": "การกระทำ", "activity": "Activity log", "add": "Add", "add-board": "Add board", "add-description": "Add description", + "add-link": "Add link", "add-member": "Add member", + "add-pixel": "Add pixel", "add-step": "Add step", "add-website": "เพิ่มเว็บไซต์", "admin": "ผู้ดูแลระบบ", @@ -14,10 +18,13 @@ "after": "After", "all": "ทั้งหมด", "all-time": "ทุกช่วงเวลา", + "analysis": "Analysis", "analytics": "Analytics", + "application": "Application", "apply": "Apply", "attribution": "Attribution", "attribution-description": "See how users engage with your marketing and what drives conversions.", + "audience": "Audience", "average": "Average", "back": "ย้อนกลับ", "before": "Before", @@ -27,14 +34,18 @@ "breakdown": "Breakdown", "browser": "Browser", "browsers": "เบราว์เซอร์", + "campaign": "Campaign", "campaigns": "Campaigns", "cancel": "ยกเลิก", "change-password": "เปลี่ยนรหัสผ่าน", + "channel": "Channel", "channels": "Channels", + "chart": "Chart", "cities": "Cities", "city": "City", "clear-all": "Clear all", "cohort": "Cohort", + "cohorts": "Cohorts", "compare": "Compare", "compare-dates": "Compare dates", "confirm": "Confirm", @@ -54,6 +65,7 @@ "create-user": "Create user", "created": "Created", "created-by": "Created By", + "criteria": "Criteria", "currency": "Currency", "current": "Current", "current-password": "รหัสผ่านปัจจุบัน", @@ -71,16 +83,19 @@ "delete-website": "ลบเว็บไซต์", "description": "Description", "desktop": "เดสก์ท็อป", + "destination-url": "Destination URL", "details": "Details", "device": "Device", "devices": "อุปกรณ์", "direct": "Direct", "dismiss": "ยกเลิก", "distinct-id": "Distinct ID", + "documentation": "Documentation", "does-not-contain": "Does not contain", "does-not-include": "Does not include", "doest-not-exist": "Does not exist", "domain": "โดเมน", + "download": "Download", "dropoff": "Dropoff", "edit": "แก้ไข", "edit-dashboard": "Edit dashboard", @@ -89,10 +104,12 @@ "enable-share-url": "เปิดใช้งานการแชร์ลิงก์", "end-step": "End Step", "entry": "Entry URL", + "environment": "Environment", "event": "Event", "event-data": "Event data", "event-name": "Event name", "events": "เหตุการณ์", + "exclude-bounce": "Exclude bounce", "exists": "Exists", "exit": "Exit URL", "false": "False", @@ -113,11 +130,14 @@ "greater-than": "Greater than", "greater-than-equals": "Greater than or equals", "grouped": "Grouped", + "growth": "Growth", "hostname": "Hostname", + "hour": "Hour", "includes": "Includes", "insight": "Insight", "insights": "Insights", "insights-description": "Dive deeper into your data by using segments and filters.", + "invalid-url": "Invalid URL", "is": "Is", "is-false": "Is false", "is-not": "Is not", @@ -141,7 +161,9 @@ "leave-team": "Leave team", "less-than": "Less than", "less-than-equals": "Less than or equals", + "link": "Link", "links": "Links", + "location": "Location", "login": "เข้าสู่ระบบ", "logout": "ออกจากระบบ", "manage": "Manage", @@ -152,8 +174,10 @@ "member": "Member", "members": "Members", "min": "Min", + "minute": "Minute", "mobile": "โทรศัพท์มือถือ", "model": "Model", + "month": "Month", "more": "เพิ่มเติม", "my-account": "My account", "my-websites": "My websites", @@ -184,12 +208,15 @@ "password": "รหัสผ่าน", "path": "Path", "paths": "Paths", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "ขับเคลื่อนโดย {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "โปรไฟล์", + "profiles": "Profiles", "properties": "Properties", "property": "Property", "queries": "Queries", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "บันทึก", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "ขนาดหน้าจอ", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "Select filter", @@ -232,10 +264,14 @@ "share-url": "แชร์ลิงก์", "single-day": "วันที่", "sms": "SMS", + "source": "Source", "sources": "Sources", "start-step": "Start Step", "steps": "Steps", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "แท็บเล็ต", "tag": "Tag", "tags": "Tags", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Terms", "theme": "ธีม", "this-month": "เดือนปัจจุบัน", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "โค้ดสำหรับใช้ติดตาม", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "ผู้เข้าชม", "uniqueCustomers": "Unique Customers", "unknown": "ไม่รู้จัก", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "ชื่อผู้ใช้", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "แสดงรายละเอียด", "view-only": "View only", diff --git a/public/intl/messages/tr-TR.json b/public/intl/messages/tr-TR.json index 2835afeb3..39cbb18f8 100644 --- a/public/intl/messages/tr-TR.json +++ b/public/intl/messages/tr-TR.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Erişim Kodu", + "account": "Account", + "action": "Action", "actions": "Hareketler", "activity": "Aktivite Kaydı", "add": "Ekle", "add-board": "Pano ekle", "add-description": "Açıklama ekle", + "add-link": "Add link", "add-member": "Üye ekle", + "add-pixel": "Add pixel", "add-step": "Adım ekle", "add-website": "Web sitesi ekle", "admin": "Administrator", @@ -14,10 +18,13 @@ "after": "Sonra", "all": "Tümü", "all-time": "Tüm zamanlar", + "analysis": "Analysis", "analytics": "Analitik", + "application": "Application", "apply": "Uygula", "attribution": "Atıf", "attribution-description": "Kullanıcıların pazarlamanızla nasıl etkileşime girdiğini ve dönüşümleri neyin tetiklediğini görün.", + "audience": "Audience", "average": "Ortalama", "back": "Geri", "before": "Önce", @@ -27,14 +34,18 @@ "breakdown": "Dağılım", "browser": "Tarayıcı", "browsers": "Tarayıcılar", + "campaign": "Campaign", "campaigns": "Kampanyalar", "cancel": "İptal", "change-password": "Şifre değiştir", + "channel": "Channel", "channels": "Kanallar", + "chart": "Chart", "cities": "Şehirler", "city": "Şehir", "clear-all": "Hepsini temizle", "cohort": "Kohort", + "cohorts": "Cohorts", "compare": "Karşılaştır", "compare-dates": "Tarihleri karşılaştır", "confirm": "Onayla", @@ -54,6 +65,7 @@ "create-user": "Kullanıcı oluştur", "created": "Oluşturuldu", "created-by": "Tarafından oluşturldu", + "criteria": "Criteria", "currency": "Para birimi", "current": "Mevcut", "current-password": "Mevcut parola", @@ -71,16 +83,19 @@ "delete-website": "Web sitesini sil", "description": "Açıklama", "desktop": "Masaüstü", + "destination-url": "Destination URL", "details": "Detaylar", "device": "Cihaz", "devices": "Cihazlar", "direct": "Doğrudan", "dismiss": "Reddet", "distinct-id": "Benzersiz ID", + "documentation": "Documentation", "does-not-contain": "İçermez", "does-not-include": "İçermiyor", "doest-not-exist": "Mevcut değil", "domain": "Alan adı", + "download": "Download", "dropoff": "Bırakma", "edit": "Düzenle", "edit-dashboard": "Kontrol panelini düzenle", @@ -89,10 +104,12 @@ "enable-share-url": "Anonim paylaşım URL'i aktif", "end-step": "End Step", "entry": "Entry URL", + "environment": "Environment", "event": "Olay", "event-data": "Olay verisi", "event-name": "Olay adı", "events": "Olaylar", + "exclude-bounce": "Exclude bounce", "exists": "Mevcut", "exit": "Exit URL", "false": "Yanlış", @@ -113,11 +130,14 @@ "greater-than": "Büyüktür", "greater-than-equals": "Büyük veya eşittir", "grouped": "Gruplandırılmış", + "growth": "Growth", "hostname": "Sunucu adı", + "hour": "Hour", "includes": "İçerir", "insight": "İçgörü", "insights": "Insights", "insights-description": "Segmentleri ve filtreleri kullanarak verilerinizi derinlemesine inceleyin.", + "invalid-url": "Invalid URL", "is": "Is", "is-false": "Yanlış", "is-not": "Değil", @@ -141,7 +161,9 @@ "leave-team": "Takımdan Ayrıl", "less-than": "Küçüktür", "less-than-equals": "Küçük veya eşittir", + "link": "Link", "links": "Bağlantılar", + "location": "Location", "login": "Giriş Yap", "logout": "Çıkış Yap", "manage": "Yönet", @@ -152,8 +174,10 @@ "member": "Üye", "members": "Üyeler", "min": "Min", + "minute": "Minute", "mobile": "Mobil Cihaz", "model": "Model", + "month": "Month", "more": "Detaylı göster", "my-account": "Hesabım", "my-websites": "Web sitelerim", @@ -184,12 +208,15 @@ "password": "Parola", "path": "Yol", "paths": "Yollar", + "pixel": "Pixel", "pixels": "Pikseller", "powered-by": "Sağlayıcı: {name}", + "preferences": "Preferences", "previous": "Önceki", "previous-period": "Önceki dönem", "previous-year": "Önceki yıl", "profile": "Profil", + "profiles": "Profiles", "properties": "Özellikler", "property": "Özellik", "queries": "Sorgular", @@ -217,8 +244,13 @@ "role": "Rol", "run-query": "Sorgu çalıştır", "save": "Kaydet", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Ekranlar", "search": "Ara", + "segment": "Segment", + "segments": "Segments", "select": "Seç", "select-date": "Tarih seç", "select-filter": "Filtre seç", @@ -232,10 +264,14 @@ "share-url": "Paylaşım adresi", "single-day": "Tekil gün", "sms": "SMS", + "source": "Source", "sources": "Kaynaklar", "start-step": "Start Step", "steps": "Adımlar", "sum": "Toplam", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Tablet", "tag": "Etiket", "tags": "Etiketler", @@ -249,6 +285,7 @@ "team-view-only": "Yalnızca ekip görünümü", "team-websites": "Takım web siteleri", "teams": "Takımlar", + "term": "Term", "terms": "Koşullar", "theme": "Tema", "this-month": "Bu ay", @@ -261,23 +298,32 @@ "total": "Toplam", "total-records": "Toplam kayıt", "tracking-code": "İzleme kodu", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer web sitesi", "true": "Doğru", "type": "Tip", "unique": "Benzersiz", + "unique-events": "Unique events", "unique-visitors": "Tekil kullanıcı", "uniqueCustomers": "Unique Customers", "unknown": "Bilinmeyen", "untitled": "İsimsiz", "update": "Güncelle", + "url": "URL", "user": "Kullanıcı", "username": "Kullanıcı adı", "users": "Kullanıcılar", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Kampanyalarınızı UTM parametreleri aracılığıyla takip edin.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Değer", + "version": "Version", "view": "Görünüm", "view-details": "Detayı incele", "view-only": "Sadece görünüm", diff --git a/public/intl/messages/uk-UA.json b/public/intl/messages/uk-UA.json index 69575216a..fc19e02a1 100644 --- a/public/intl/messages/uk-UA.json +++ b/public/intl/messages/uk-UA.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Код доступу", + "account": "Account", + "action": "Action", "actions": "Дії", "activity": "Журнал", "add": "Додати", "add-board": "Додати дошку", "add-description": "Додати опис", + "add-link": "Add link", "add-member": "Додати учасника", + "add-pixel": "Add pixel", "add-step": "Додати крок", "add-website": "Додати сайт", "admin": "Адміністратор", @@ -14,10 +18,13 @@ "after": "Після", "all": "Всі", "all-time": "Весь час", + "analysis": "Analysis", "analytics": "Аналітика", + "application": "Application", "apply": "Застосувати", "attribution": "Атрибуція", "attribution-description": "Дивіться, як користувачі взаємодіють з вашим маркетингом і що сприяє конверсіям.", + "audience": "Audience", "average": "Середній", "back": "Назад", "before": "До", @@ -27,14 +34,18 @@ "breakdown": "Розподіл", "browser": "Браузер", "browsers": "Браузери", + "campaign": "Campaign", "campaigns": "Кампанії", "cancel": "Відмінити", "change-password": "Змінити пароль", + "channel": "Channel", "channels": "Канали", + "chart": "Chart", "cities": "Міста", "city": "Місто", "clear-all": "Очистити все", "cohort": "Когорта", + "cohorts": "Cohorts", "compare": "Порівняти", "compare-dates": "Порівняти дати", "confirm": "Підтвердити", @@ -54,6 +65,7 @@ "create-user": "Створити користувача", "created": "Створено", "created-by": "Створено", + "criteria": "Criteria", "currency": "Валюта", "current": "Поточний", "current-password": "Поточний пароль", @@ -71,16 +83,19 @@ "delete-website": "Видалити сайт", "description": "Опис", "desktop": "Настільний ПК", + "destination-url": "Destination URL", "details": "Деталі", "device": "Пристрій", "devices": "Пристрої", "direct": "Прямий", "dismiss": "Відхилити", "distinct-id": "Унікальний ID", + "documentation": "Documentation", "does-not-contain": "Не містить", "does-not-include": "Не включає", "doest-not-exist": "Не існує", "domain": "Домен", + "download": "Download", "dropoff": "Відсів", "edit": "Редагувати", "edit-dashboard": "Редагувати панель", @@ -89,10 +104,12 @@ "enable-share-url": "Увімкнути спільне посилання", "end-step": "Кінцевий крок", "entry": "Вхідний URL", + "environment": "Environment", "event": "Подія", "event-data": "Дані події", "event-name": "Назва події", "events": "Події", + "exclude-bounce": "Exclude bounce", "exists": "Існує", "exit": "Exit URL", "false": "False", @@ -113,11 +130,14 @@ "greater-than": "Більше ніж", "greater-than-equals": "Більше або рівно", "grouped": "Груповано", + "growth": "Growth", "hostname": "Ім'я хоста", + "hour": "Hour", "includes": "Включає", "insight": "Інсайт", "insights": "Інсайти", "insights-description": "Зануртеся глибше у свої дані за допомогою сегментів та фільтрів.", + "invalid-url": "Invalid URL", "is": "Є", "is-false": "Хибно", "is-not": "Не є", @@ -141,7 +161,9 @@ "leave-team": "Покинути команду", "less-than": "Менше ніж", "less-than-equals": "Менше або дорівнює", + "link": "Link", "links": "Посилання", + "location": "Location", "login": "Увійти", "logout": "Вийти", "manage": "Керувати", @@ -152,8 +174,10 @@ "member": "Учасник", "members": "Учасники", "min": "Мін.", + "minute": "Minute", "mobile": "Мобільний", "model": "Модель", + "month": "Month", "more": "Більше", "my-account": "Мій обліковий запис", "my-websites": "Мої сайти", @@ -184,12 +208,15 @@ "password": "Пароль", "path": "Path", "paths": "Paths", + "pixel": "Pixel", "pixels": "Пікселі", "powered-by": "На базі {name}", + "preferences": "Preferences", "previous": "Попередній", "previous-period": "Попередній період", "previous-year": "Попередній рік", "profile": "Профіль", + "profiles": "Profiles", "properties": "Властивості", "property": "Властивість", "queries": "Запити", @@ -217,8 +244,13 @@ "role": "Роль", "run-query": "Виконати запит", "save": "Зберегти", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Екрани", "search": "Пошук", + "segment": "Segment", + "segments": "Segments", "select": "Вибрати", "select-date": "Вибрати дату", "select-filter": "Вибрати фільтр", @@ -232,10 +264,14 @@ "share-url": "Поділитися посилання", "single-day": "Один день", "sms": "SMS", + "source": "Source", "sources": "Джерела", "start-step": "Start Step", "steps": "Кроки", "sum": "Сума", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Планшет", "tag": "Тег", "tags": "Теги", @@ -249,6 +285,7 @@ "team-view-only": "Тільки для командного перегляду", "team-websites": "Сайти команди", "teams": "Команди", + "term": "Term", "terms": "Умови", "theme": "Тема", "this-month": "Цього місяця", @@ -261,23 +298,32 @@ "total": "Всього", "total-records": "Всього записів", "tracking-code": "Код для відслідковування", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Передати", "transfer-website": "Передати сайт", "true": "True", "type": "Тип", "unique": "Унікальний", + "unique-events": "Unique events", "unique-visitors": "Унікальні відвідувачі", "uniqueCustomers": "Unique Customers", "unknown": "Невідомо", "untitled": "Без заголовку", "update": "Оновлення", + "url": "URL", "user": "Користувач", "username": "Ім'я користувача", "users": "Користувачі", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Відстежуйте свої кампанії за допомогою параметрів UTM.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Значення", + "version": "Version", "view": "Перегляд", "view-details": "Переглянути деталі", "view-only": "Тільки для перегляду", diff --git a/public/intl/messages/ur-PK.json b/public/intl/messages/ur-PK.json index 1f0aa1649..4d9230ba9 100644 --- a/public/intl/messages/ur-PK.json +++ b/public/intl/messages/ur-PK.json @@ -1,12 +1,16 @@ { "label": { "access-code": "Access code", + "account": "Account", + "action": "Action", "actions": "اعمال", "activity": "Activity log", "add": "Add", "add-board": "Add board", "add-description": "Add description", + "add-link": "Add link", "add-member": "Add member", + "add-pixel": "Add pixel", "add-step": "Add step", "add-website": "ویب سائٹ کا اضافہ کریں", "admin": "منتظم", @@ -14,10 +18,13 @@ "after": "After", "all": "تمام", "all-time": "تمام وقت", + "analysis": "Analysis", "analytics": "Analytics", + "application": "Application", "apply": "Apply", "attribution": "Attribution", "attribution-description": "See how users engage with your marketing and what drives conversions.", + "audience": "Audience", "average": "Average", "back": "پیچھے", "before": "Before", @@ -27,14 +34,18 @@ "breakdown": "Breakdown", "browser": "Browser", "browsers": "براؤزرز", + "campaign": "Campaign", "campaigns": "Campaigns", "cancel": "منسوخ", "change-password": "پاس ورڈ تبدیل کریں", + "channel": "Channel", "channels": "Channels", + "chart": "Chart", "cities": "Cities", "city": "City", "clear-all": "Clear all", "cohort": "Cohort", + "cohorts": "Cohorts", "compare": "Compare", "compare-dates": "Compare dates", "confirm": "Confirm", @@ -54,6 +65,7 @@ "create-user": "Create user", "created": "Created", "created-by": "Created By", + "criteria": "Criteria", "currency": "Currency", "current": "Current", "current-password": "موجودہ پاس ورڈ", @@ -71,16 +83,19 @@ "delete-website": "ویب سائٹ مٹایں", "description": "Description", "desktop": "ڈیسک ٹاپ", + "destination-url": "Destination URL", "details": "Details", "device": "Device", "devices": "آلات", "direct": "Direct", "dismiss": "مسترد کریں", "distinct-id": "Distinct ID", + "documentation": "Documentation", "does-not-contain": "Does not contain", "does-not-include": "Does not include", "doest-not-exist": "Does not exist", "domain": "ڈومین", + "download": "Download", "dropoff": "Dropoff", "edit": "ترمیم", "edit-dashboard": "Edit dashboard", @@ -89,10 +104,12 @@ "enable-share-url": "شیئر یو آر ایل کو فعال کریں", "end-step": "End Step", "entry": "Entry URL", + "environment": "Environment", "event": "Event", "event-data": "Event data", "event-name": "Event name", "events": "واقعات", + "exclude-bounce": "Exclude bounce", "exists": "Exists", "exit": "Exit URL", "false": "False", @@ -113,11 +130,14 @@ "greater-than": "Greater than", "greater-than-equals": "Greater than or equals", "grouped": "Grouped", + "growth": "Growth", "hostname": "Hostname", + "hour": "Hour", "includes": "Includes", "insight": "Insight", "insights": "Insights", "insights-description": "Dive deeper into your data by using segments and filters.", + "invalid-url": "Invalid URL", "is": "Is", "is-false": "Is false", "is-not": "Is not", @@ -141,7 +161,9 @@ "leave-team": "Leave team", "less-than": "Less than", "less-than-equals": "Less than or equals", + "link": "Link", "links": "Links", + "location": "Location", "login": "لاگ ان", "logout": "لاگ آوٹ", "manage": "Manage", @@ -152,8 +174,10 @@ "member": "Member", "members": "Members", "min": "Min", + "minute": "Minute", "mobile": "موبائل", "model": "Model", + "month": "Month", "more": "مزید", "my-account": "My account", "my-websites": "My websites", @@ -184,12 +208,15 @@ "password": "پاس ورڈ", "path": "Path", "paths": "Paths", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "تقویت یافتہ بذریعہ {name}", + "preferences": "Preferences", "previous": "Previous", "previous-period": "Previous period", "previous-year": "Previous year", "profile": "پروفائل", + "profiles": "Profiles", "properties": "Properties", "property": "Property", "queries": "Queries", @@ -217,8 +244,13 @@ "role": "Role", "run-query": "Run query", "save": "محفوظ کریں", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Screens", "search": "Search", + "segment": "Segment", + "segments": "Segments", "select": "Select", "select-date": "Select date", "select-filter": "Select filter", @@ -232,10 +264,14 @@ "share-url": "URL کا اشتراک کریں", "single-day": "ایک دن", "sms": "SMS", + "source": "Source", "sources": "Sources", "start-step": "Start Step", "steps": "Steps", "sum": "Sum", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "ٹیبلیٹ", "tag": "Tag", "tags": "Tags", @@ -249,6 +285,7 @@ "team-view-only": "Team view only", "team-websites": "Team websites", "teams": "Teams", + "term": "Term", "terms": "Terms", "theme": "Theme", "this-month": "اس مہینے", @@ -261,23 +298,32 @@ "total": "Total", "total-records": "Total records", "tracking-code": "ٹریکنگ کوڈ", + "traffic": "Traffic", "transactions": "Transactions", "transfer": "Transfer", "transfer-website": "Transfer website", "true": "True", "type": "Type", "unique": "Unique", + "unique-events": "Unique events", "unique-visitors": "منفرد زائرین", "uniqueCustomers": "Unique Customers", "unknown": "نامعلوم", "untitled": "Untitled", "update": "Update", + "url": "URL", "user": "User", "username": "صارف نام", "users": "Users", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Track your campaigns through UTM parameters.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Value", + "version": "Version", "view": "View", "view-details": "تفصیلات دیکھیں", "view-only": "View only", diff --git a/public/intl/messages/uz-UZ.json b/public/intl/messages/uz-UZ.json index 7bfb15871..ec7fce7a0 100644 --- a/public/intl/messages/uz-UZ.json +++ b/public/intl/messages/uz-UZ.json @@ -1,18 +1,25 @@ { "label": { "access-code": "Kirish kodi", + "account": "Account", + "action": "Action", "actions": "Amallar", "activity": "Faoliyat", "add": "Qoʻshish", "add-description": "Tavsif qoʻshish", + "add-link": "Add link", "add-member": "A'zo qoʻshish", + "add-pixel": "Add pixel", "add-step": "Qadam qoʻshish", "add-website": "Veb-sayt qoʻshish", "admin": "Administrator", "after": "Keyin", "all": "Barchasi", "all-time": "Barcha vaqtlar", + "analysis": "Analysis", "analytics": "Tahlil", + "application": "Application", + "audience": "Audience", "average": "Oʻrtacha", "back": "Orqaga", "before": "Oldin", @@ -21,11 +28,15 @@ "breakdown": "Tahlil", "browser": "Brauzer", "browsers": "Brauzerlar", + "campaign": "Campaign", "cancel": "Bekor qilish", "change-password": "Parolni oʻzgartirish", + "channel": "Channel", + "chart": "Chart", "cities": "Shaharlar", "city": "Shahar", "clear-all": "Barchasini tozalash", + "cohorts": "Cohorts", "compare": "Taqqoslash", "confirm": "Tasdiqlash", "confirm-password": "Parolni tasdiqlash", @@ -40,6 +51,7 @@ "create-user": "Foydalanuvchi yaratish", "created": "Yaratilgan", "created-by": "Kim tomonidan yaratilgan", + "criteria": "Criteria", "current": "Joriy", "current-password": "Joriy parol", "custom-range": "Maxsus oraliq", @@ -56,12 +68,15 @@ "delete-website": "Veb-saytni oʻchirish", "description": "Tavsif", "desktop": "Ish stoli", + "destination-url": "Destination URL", "details": "Batafsil ma'lumot", "device": "Qurilma", "devices": "Qurilmalar", "dismiss": "Yopish", + "documentation": "Documentation", "does-not-contain": "Oʻz ichiga olmaydi", "domain": "Domen", + "download": "Download", "dropoff": "Tashlab ketish", "edit": "Tahrirlash", "edit-dashboard": "Boshqaruv panelini tahrirlash", @@ -69,9 +84,11 @@ "enable-share-url": "Ulashish URL'ini yoqish", "end-step": "Yakuniy qadam", "entry": "Kirish yoʻli", + "environment": "Environment", "event": "Hodisa", "event-data": "Hodisa ma'lumotlari", "events": "Hodisalar", + "exclude-bounce": "Exclude bounce", "exit": "Chiqish yoʻli", "false": "Yolgʻon", "field": "Maydon", @@ -88,10 +105,13 @@ "goals-description": "Sahifa koʻrishlari va hodisalar uchun maqsadlaringizni kuzatib boring.", "greater-than": "Kattaroq", "greater-than-equals": "Kattaroq yoki teng", + "growth": "Growth", "host": "Xost", "hosts": "Xostlar", + "hour": "Hour", "insights": "Tushunchalar", "insights-description": "Segmentlar va filtrlardan foydalanib ma'lumotlaringizga chuqurroq kiring.", + "invalid-url": "Invalid URL", "is": "Teng", "is-not": "Teng emas", "is-not-set": "Oʻrnatilmagan", @@ -111,6 +131,8 @@ "leave-team": "Jamoani tark etish", "less-than": "Kichikroq", "less-than-equals": "Kichikroq yoki teng", + "link": "Link", + "location": "Location", "login": "Kirish", "logout": "Chiqish", "manage": "Boshqarish", @@ -119,7 +141,9 @@ "member": "A'zo", "members": "A'zolar", "min": "Minimal", + "minute": "Minute", "mobile": "Mobil", + "month": "Month", "more": "Koʻproq", "my-account": "Mening hisobim", "my-websites": "Mening veb-saytlarim", @@ -138,11 +162,14 @@ "password": "Parol", "path": "Yoʻl", "paths": "Yoʻllar", + "pixel": "Pixel", "powered-by": "{name} tomonidan quvvatlanadi", + "preferences": "Preferences", "previous": "Oldingi", "previous-period": "Oldingi davr", "previous-year": "Oldingi yil", "profile": "Profil", + "profiles": "Profiles", "properties": "Xususiyatlar", "property": "Xususiyat", "queries": "Soʻrovlar", @@ -169,8 +196,13 @@ "role": "Rol", "run-query": "Soʻrovni ishga tushirish", "save": "Saqlash", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Ekranlar", "search": "Qidiruv", + "segment": "Segment", + "segments": "Segments", "select": "Tanlash", "select-date": "Sanani tanlash", "select-role": "Rolni tanlash", @@ -180,9 +212,13 @@ "settings": "Sozlamalar", "share-url": "Ulashish URL'i", "single-day": "Bir kun", + "source": "Source", "start-step": "Boshlanish qadami", "steps": "Qadamlar", "sum": "Yigʻindi", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Planshet", "team": "Jamoa", "team-id": "Jamoa ID'si", @@ -193,6 +229,7 @@ "team-view-only": "Jamoa faqat koʻrish", "team-websites": "Jamoa veb-saytlari", "teams": "Jamoalar", + "term": "Term", "theme": "Mavzu", "this-month": "Shu oy", "this-week": "Shu hafta", @@ -204,12 +241,14 @@ "total": "Jami", "total-records": "Jami yozuvlar", "tracking-code": "Kuzatuv kodi", + "traffic": "Traffic", "transactions": "Tranzaksiyalar", "transfer": "Oʻtkazish", "transfer-website": "Veb-saytni oʻtkazish", "true": "Rost", "type": "Tur", "unique": "Noyob", + "unique-events": "Unique events", "unique-visitors": "Noyob tashrif buyuruvchilar", "uniqueCustomers": "Noyob mijozlar", "unknown": "Noma'lum", @@ -222,8 +261,14 @@ "username": "Foydalanuvchi nomi", "users": "Foydalanuvchilar", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "UTM parametrlari orqali kampaniyalaringizni kuzatib boring.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Qiymat", + "version": "Version", "view": "Koʻrish", "view-details": "Batafsil koʻrish", "view-only": "Faqat koʻrish", diff --git a/public/intl/messages/vi-VN.json b/public/intl/messages/vi-VN.json index d5552a298..ed30c80ca 100644 --- a/public/intl/messages/vi-VN.json +++ b/public/intl/messages/vi-VN.json @@ -1,18 +1,25 @@ { "label": { "access-code": "Mã truy cập", + "account": "Account", + "action": "Action", "actions": "Hành động", "activity": "Nhật ký hoạt động", "add": "Thêm", "add-description": "Thêm mô tả", + "add-link": "Add link", "add-member": "Thêm thành viên", + "add-pixel": "Add pixel", "add-step": "Thêm bước", "add-website": "Thêm website", "admin": "Quản trị", "after": "Sau đó", "all": "Tất cả", "all-time": "Toàn thời gian", + "analysis": "Analysis", "analytics": "Phân tích", + "application": "Application", + "audience": "Audience", "average": "Trung bình", "back": "Quay lại", "before": "Trước đó", @@ -21,11 +28,15 @@ "breakdown": "Phân tích chi tiết", "browser": "Trình duyệt", "browsers": "Các trình duyệt", + "campaign": "Campaign", "cancel": "Hủy bỏ", "change-password": "Đổi mật khẩu", + "channel": "Channel", + "chart": "Chart", "cities": "Các thành phố", "city": "Thành phố", "clear-all": "Xóa tất cả", + "cohorts": "Cohorts", "compare": "So sánh", "confirm": "Xác nhận", "confirm-password": "Xác nhận mật khẩu", @@ -40,6 +51,7 @@ "create-user": "Tạo người dùng", "created": "Đã tạo", "created-by": "Được tạo bởi", + "criteria": "Criteria", "current": "Hiện tại", "current-password": "Mật khẩu hiện tại", "custom-range": "Phạm vi tùy chỉnh", @@ -56,12 +68,15 @@ "delete-website": "Xóa website", "description": "Mô tả", "desktop": "Máy tính để bàn", + "destination-url": "Destination URL", "details": "Chi tiết", "device": "Thiết bị", "devices": "Các thiết bị", "dismiss": "Bỏ qua", + "documentation": "Documentation", "does-not-contain": "Không chứa", "domain": "Tên miền", + "download": "Download", "dropoff": "Tỷ lệ bỏ qua", "edit": "Chỉnh sửa", "edit-dashboard": "Chỉnh sửa bảng điều khiển", @@ -69,9 +84,11 @@ "enable-share-url": "Bật chia sẻ URL", "end-step": "Bước kết thúc", "entry": "URL truy cập", + "environment": "Environment", "event": "Sự kiện", "event-data": "Dữ liệu sự kiện", "events": "Các sự kiện", + "exclude-bounce": "Exclude bounce", "exit": "URL thoát", "false": "Sai", "field": "Trường", @@ -88,10 +105,13 @@ "goals-description": "Theo dõi các mục tiêu của bạn cho lượt xem trang và sự kiện.", "greater-than": "Lớn hơn", "greater-than-equals": "Lớn hơn hoặc bằng", + "growth": "Growth", "host": "Máy chủ", "hosts": "Các máy chủ", + "hour": "Hour", "insights": "Thông tin chi tiết", "insights-description": "Tìm hiểu sâu hơn về dữ liệu của bạn bằng cách sử dụng phân đoạn và bộ lọc.", + "invalid-url": "Invalid URL", "is": "Là", "is-not": "Không phải là", "is-not-set": "Chưa được đặt", @@ -111,6 +131,8 @@ "leave-team": "Rời nhóm", "less-than": "Nhỏ hơn", "less-than-equals": "Nhỏ hơn hoặc bằng", + "link": "Link", + "location": "Location", "login": "Đăng nhập", "logout": "Đăng xuất", "manage": "Quản lý", @@ -119,7 +141,9 @@ "member": "Thành viên", "members": "Các thành viên", "min": "Tối thiểu", + "minute": "Minute", "mobile": "Di động", + "month": "Month", "more": "Thêm", "my-account": "Tài khoản của tôi", "my-websites": "Các website của tôi", @@ -138,11 +162,14 @@ "password": "Mật khẩu", "path": "Đường dẫn", "paths": "Các đường dẫn", + "pixel": "Pixel", "powered-by": "Được cung cấp bởi {name}", + "preferences": "Preferences", "previous": "Trước", "previous-period": "Kỳ trước", "previous-year": "Năm trước", "profile": "Hồ sơ", + "profiles": "Profiles", "properties": "Thuộc tính", "property": "Thuộc tính", "queries": "Truy vấn", @@ -169,8 +196,13 @@ "role": "Vai trò", "run-query": "Chạy truy vấn", "save": "Lưu", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "Màn hình", "search": "Tìm kiếm", + "segment": "Segment", + "segments": "Segments", "select": "Chọn", "select-date": "Chọn ngày", "select-role": "Chọn vai trò", @@ -180,9 +212,13 @@ "settings": "Cài đặt", "share-url": "Chia sẻ URL", "single-day": "Một ngày", + "source": "Source", "start-step": "Bước bắt đầu", "steps": "Các bước", "sum": "Tổng", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "Máy tính bảng", "team": "Nhóm", "team-id": "ID nhóm", @@ -193,6 +229,7 @@ "team-view-only": "Chỉ xem nhóm", "team-websites": "Các website của nhóm", "teams": "Các nhóm", + "term": "Term", "theme": "Chủ đề", "this-month": "Tháng này", "this-week": "Tuần này", @@ -204,12 +241,14 @@ "total": "Tổng", "total-records": "Tổng số bản ghi", "tracking-code": "Mã theo dõi", + "traffic": "Traffic", "transactions": "Giao dịch", "transfer": "Chuyển giao", "transfer-website": "Chuyển giao website", "true": "Đúng", "type": "Loại", "unique": "Duy nhất", + "unique-events": "Unique events", "unique-visitors": "Khách truy cập duy nhất", "uniqueCustomers": "Khách hàng duy nhất", "unknown": "Không rõ", @@ -222,8 +261,14 @@ "username": "Tên đăng nhập", "users": "Người dùng", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "Theo dõi các chiến dịch của bạn thông qua các tham số UTM.", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "Giá trị", + "version": "Version", "view": "Xem", "view-details": "Xem chi tiết", "view-only": "Chỉ xem", diff --git a/public/intl/messages/zh-CN.json b/public/intl/messages/zh-CN.json index 8a18390b2..1a2d5bd8f 100644 --- a/public/intl/messages/zh-CN.json +++ b/public/intl/messages/zh-CN.json @@ -34,6 +34,7 @@ "breakdown": "故障", "browser": "浏览器", "browsers": "浏览器", + "campaign": "Campaign", "campaigns": "活动", "cancel": "取消", "change-password": "修改密码", @@ -108,6 +109,7 @@ "event-data": "事件数据", "event-name": "事件名称", "events": "行为类别", + "exclude-bounce": "Exclude bounce", "exists": "存在", "exit": "退出 URL", "false": "否", @@ -130,6 +132,7 @@ "grouped": "分组", "growth": "增长", "hostname": "主机名", + "hour": "Hour", "includes": "包括", "insight": "洞察", "insights": "见解", @@ -171,8 +174,10 @@ "member": "成员", "members": "成员", "min": "最小", + "minute": "Minute", "mobile": "手机", "model": "模型", + "month": "Month", "more": "更多", "my-account": "我的账户", "my-websites": "我的网站", @@ -259,6 +264,7 @@ "share-url": "共享链接", "single-day": "单日", "sms": "SMS", + "source": "Source", "sources": "来源", "start-step": "开始步骤", "steps": "步骤", @@ -279,6 +285,7 @@ "team-view-only": "仅团队视图", "team-websites": "团队网站", "teams": "团队", + "term": "Term", "terms": "条款", "theme": "主题", "this-month": "本月", @@ -298,17 +305,25 @@ "true": "是", "type": "类型", "unique": "独立", + "unique-events": "Unique events", "unique-visitors": "独立访客", "uniqueCustomers": "独特客户", "unknown": "未知", "untitled": "未命名", "update": "更新", + "url": "URL", "user": "用户", "username": "用户名", "users": "用户", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "通过 UTM 参数追踪您的广告活动。", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "值", + "version": "Version", "view": "查看", "view-details": "查看更多", "view-only": "仅浏览", diff --git a/public/intl/messages/zh-TW.json b/public/intl/messages/zh-TW.json index c8fb61c8a..74fa70576 100644 --- a/public/intl/messages/zh-TW.json +++ b/public/intl/messages/zh-TW.json @@ -1,12 +1,16 @@ { "label": { "access-code": "存取碼", + "account": "Account", + "action": "Action", "actions": "行為", "activity": "活動紀錄", "add": "新增", "add-board": "新增看板", "add-description": "新增描述", + "add-link": "Add link", "add-member": "新增成員", + "add-pixel": "Add pixel", "add-step": "新增步驟", "add-website": "新增網站", "admin": "管理員", @@ -14,10 +18,13 @@ "after": "之後", "all": "全部", "all-time": "所有時間", + "analysis": "Analysis", "analytics": "分析", + "application": "Application", "apply": "套用", "attribution": "歸因", "attribution-description": "查看使用者如何與您的行銷互動,以及什麼促成了轉換。", + "audience": "Audience", "average": "平均", "back": "返回", "before": "之前", @@ -27,14 +34,18 @@ "breakdown": "細項分析", "browser": "瀏覽器", "browsers": "瀏覽器", + "campaign": "Campaign", "campaigns": "活動", "cancel": "取消", "change-password": "更改密碼", + "channel": "Channel", "channels": "Channels", + "chart": "Chart", "cities": "城市", "city": "城市", "clear-all": "全部清除", "cohort": "群組", + "cohorts": "Cohorts", "compare": "比較", "compare-dates": "比較日期", "confirm": "確認", @@ -54,6 +65,7 @@ "create-user": "建立使用者", "created": "已建立", "created-by": "建立者", + "criteria": "Criteria", "currency": "Currency", "current": "目前", "current-password": "目前密碼", @@ -71,16 +83,19 @@ "delete-website": "刪除網站", "description": "描述", "desktop": "桌上型電腦", + "destination-url": "Destination URL", "details": "詳細資訊", "device": "裝置", "devices": "裝置", "direct": "Direct", "dismiss": "關閉", "distinct-id": "Distinct ID", + "documentation": "Documentation", "does-not-contain": "不包含", "does-not-include": "Does not include", "doest-not-exist": "Does not exist", "domain": "網域", + "download": "Download", "dropoff": "離開", "edit": "編輯", "edit-dashboard": "編輯儀表板", @@ -89,10 +104,12 @@ "enable-share-url": "啟用分享連結", "end-step": "結束步驟", "entry": "進入網址", + "environment": "Environment", "event": "事件", "event-data": "事件資料", "event-name": "Event name", "events": "事件", + "exclude-bounce": "Exclude bounce", "exists": "Exists", "exit": "離開網址", "false": "否", @@ -113,11 +130,14 @@ "greater-than": "大於", "greater-than-equals": "大於或等於", "grouped": "Grouped", + "growth": "Growth", "hostname": "Hostname", + "hour": "Hour", "includes": "Includes", "insight": "Insight", "insights": "洞察", "insights-description": "使用區段和篩選器來深入分析您的資料。", + "invalid-url": "Invalid URL", "is": "是", "is-false": "Is false", "is-not": "不是", @@ -141,7 +161,9 @@ "leave-team": "離開團隊", "less-than": "小於", "less-than-equals": "小於或等於", + "link": "Link", "links": "Links", + "location": "Location", "login": "登入", "logout": "登出", "manage": "管理", @@ -152,8 +174,10 @@ "member": "成員", "members": "成員", "min": "最小值", + "minute": "Minute", "mobile": "行動裝置", "model": "Model", + "month": "Month", "more": "更多", "my-account": "我的帳號", "my-websites": "我的網站", @@ -184,12 +208,15 @@ "password": "密碼", "path": "路徑", "paths": "路徑", + "pixel": "Pixel", "pixels": "Pixels", "powered-by": "由 {name} 提供技術支援", + "preferences": "Preferences", "previous": "上一個", "previous-period": "上一期間", "previous-year": "去年", "profile": "個人檔案", + "profiles": "Profiles", "properties": "屬性", "property": "屬性", "queries": "查詢", @@ -217,8 +244,13 @@ "role": "角色", "run-query": "執行查詢", "save": "儲存", + "save-cohort": "Save cohort", + "save-segment": "Save segment", + "screen": "Screen", "screens": "螢幕", "search": "搜尋", + "segment": "Segment", + "segments": "Segments", "select": "選取", "select-date": "選取日期", "select-filter": "Select filter", @@ -232,10 +264,14 @@ "share-url": "分享連結", "single-day": "單日", "sms": "SMS", + "source": "Source", "sources": "Sources", "start-step": "起始步驟", "steps": "步驟", "sum": "總和", + "support": "Support", + "switch-account": "Switch account", + "table": "Table", "tablet": "平板", "tag": "Tag", "tags": "Tags", @@ -249,6 +285,7 @@ "team-view-only": "團隊僅供檢視", "team-websites": "團隊網站", "teams": "團隊", + "term": "Term", "terms": "Terms", "theme": "主題", "this-month": "本月", @@ -261,23 +298,32 @@ "total": "總計", "total-records": "紀錄總數", "tracking-code": "追蹤代碼", + "traffic": "Traffic", "transactions": "交易", "transfer": "轉移", "transfer-website": "轉移網站", "true": "是", "type": "類型", "unique": "不重複", + "unique-events": "Unique events", "unique-visitors": "不重複訪客", "uniqueCustomers": "不重複客戶", "unknown": "未知", "untitled": "未命名", "update": "更新", + "url": "URL", "user": "使用者", "username": "使用者名稱", "users": "使用者", "utm": "UTM", + "utm-campaign": "UTM Campaign", + "utm-content": "UTM Content", "utm-description": "透過 UTM 參數追蹤您的行銷活動。", + "utm-medium": "UTM Medium", + "utm-source": "UTM Source", + "utm-term": "UTM Term", "value": "值", + "version": "Version", "view": "檢視", "view-details": "檢視詳細資訊", "view-only": "僅供檢視", From e1ee5eba27faceff71748b923a5cd5b77fb325d4 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 7 Feb 2026 13:04:45 -0800 Subject: [PATCH 14/55] Translate all 51 locale files, reducing untranslated keys from 6,017 to 862. 12 batch translation scripts covering all language families: East Asian, Romance, Germanic, Nordic, Slavic, Other European, South/Southeast Asian, Tamil, Sinhala, Urdu, and Burmese. Remaining untranslated keys are intentional loanwords (URL, UTM, SMS, etc.) and en-GB which is intentionally identical to en-US. Co-Authored-By: Claude Opus 4.6 --- public/intl/messages/ar-SA.json | 110 +-- public/intl/messages/be-BY.json | 120 ++-- public/intl/messages/bg-BG.json | 92 +-- public/intl/messages/bn-BD.json | 266 +++---- public/intl/messages/bs-BA.json | 136 ++-- public/intl/messages/ca-ES.json | 104 +-- public/intl/messages/cs-CZ.json | 200 +++--- public/intl/messages/da-DK.json | 192 ++--- public/intl/messages/de-CH.json | 104 +-- public/intl/messages/de-DE.json | 98 +-- public/intl/messages/el-GR.json | 580 +++++++-------- public/intl/messages/en-GB.json | 2 +- public/intl/messages/es-ES.json | 115 +-- public/intl/messages/fa-IR.json | 108 +-- public/intl/messages/fi-FI.json | 102 +-- public/intl/messages/fo-FO.json | 200 +++--- public/intl/messages/fr-FR.json | 72 +- public/intl/messages/ga-ES.json | 114 +-- public/intl/messages/he-IL.json | 278 ++++---- public/intl/messages/hi-IN.json | 210 +++--- public/intl/messages/hr-HR.json | 306 ++++---- public/intl/messages/hu-HU.json | 268 +++---- public/intl/messages/id-ID.json | 120 ++-- public/intl/messages/it-IT.json | 276 +++---- public/intl/messages/ja-JP.json | 110 +-- public/intl/messages/km-KH.json | 184 ++--- public/intl/messages/ko-KR.json | 108 +-- public/intl/messages/lt-LT.json | 144 ++-- public/intl/messages/mn-MN.json | 124 ++-- public/intl/messages/ms-MY.json | 570 +++++++-------- public/intl/messages/my-MM.json | 378 +++++----- public/intl/messages/nb-NO.json | 114 +-- public/intl/messages/nl-NL.json | 132 ++-- public/intl/messages/pl-PL.json | 118 +-- public/intl/messages/pt-BR.json | 112 +-- public/intl/messages/pt-PT.json | 276 +++---- public/intl/messages/ro-RO.json | 112 +-- public/intl/messages/ru-RU.json | 120 ++-- public/intl/messages/si-LK.json | 620 ++++++++-------- public/intl/messages/sk-SK.json | 290 ++++---- public/intl/messages/sl-SI.json | 151 ++-- public/intl/messages/sv-SE.json | 154 ++-- public/intl/messages/ta-IN.json | 578 +++++++-------- public/intl/messages/th-TH.json | 564 +++++++-------- public/intl/messages/tr-TR.json | 136 ++-- public/intl/messages/uk-UA.json | 134 ++-- public/intl/messages/ur-PK.json | 554 +++++++-------- public/intl/messages/uz-UZ.json | 166 +++-- public/intl/messages/vi-VN.json | 168 +++-- public/intl/messages/zh-CN.json | 32 +- public/intl/messages/zh-TW.json | 196 ++--- scripts/translate-1-eastasian.cjs | 349 +++++++++ scripts/translate-10-sinhala.cjs | 358 ++++++++++ scripts/translate-11-urdu.cjs | 341 +++++++++ scripts/translate-12-burmese.cjs | 256 +++++++ scripts/translate-2-romance.cjs | 787 ++++++++++++++++++++ scripts/translate-3-germanic.cjs | 326 +++++++++ scripts/translate-4-nordic.cjs | 518 ++++++++++++++ scripts/translate-5-slavic.cjs | 1068 ++++++++++++++++++++++++++++ scripts/translate-6-other-euro.cjs | 842 ++++++++++++++++++++++ scripts/translate-7-asian.cjs | 663 +++++++++++++++++ scripts/translate-8-thai-khmer.cjs | 569 +++++++++++++++ scripts/translate-9-tamil.cjs | 332 +++++++++ 63 files changed, 11747 insertions(+), 5180 deletions(-) create mode 100644 scripts/translate-1-eastasian.cjs create mode 100644 scripts/translate-10-sinhala.cjs create mode 100644 scripts/translate-11-urdu.cjs create mode 100644 scripts/translate-12-burmese.cjs create mode 100644 scripts/translate-2-romance.cjs create mode 100644 scripts/translate-3-germanic.cjs create mode 100644 scripts/translate-4-nordic.cjs create mode 100644 scripts/translate-5-slavic.cjs create mode 100644 scripts/translate-6-other-euro.cjs create mode 100644 scripts/translate-7-asian.cjs create mode 100644 scripts/translate-8-thai-khmer.cjs create mode 100644 scripts/translate-9-tamil.cjs diff --git a/public/intl/messages/ar-SA.json b/public/intl/messages/ar-SA.json index 7b60b2985..09343a814 100644 --- a/public/intl/messages/ar-SA.json +++ b/public/intl/messages/ar-SA.json @@ -1,30 +1,30 @@ { "label": { "access-code": "كود الدعوة", - "account": "Account", - "action": "Action", + "account": "حساب", + "action": "إجراء", "actions": "الإجراءات", "activity": "سجل الأحداث", "add": "أضِف", "add-board": "أضف لوحة", "add-description": "أضِف وصف", - "add-link": "Add link", + "add-link": "إضافة رابط", "add-member": "أضِف عضو", - "add-pixel": "Add pixel", + "add-pixel": "إضافة بكسل", "add-step": "إضافة خطوة", "add-website": "إضافة موقع", "admin": "مدير", - "affiliate": "Affiliate", + "affiliate": "شريك تسويقي", "after": "يعد", "all": "الكل", "all-time": "كل الوقت", - "analysis": "Analysis", + "analysis": "تحليل", "analytics": "تحليلات", - "application": "Application", + "application": "تطبيق", "apply": "تطبيق", "attribution": "الإسناد", "attribution-description": "شاهد كيف يتفاعل المستخدمون مع حملاتك التسويقية وما الذي يحفز التحويلات.", - "audience": "Audience", + "audience": "جمهور", "average": "المتوسط", "back": "للخلف", "before": "قبل", @@ -34,18 +34,18 @@ "breakdown": "التصنيف", "browser": "المتصفح", "browsers": "المتصفحات", - "campaign": "Campaign", + "campaign": "حملة", "campaigns": "حملات", "cancel": "إلغاء", "change-password": "تغيير كلمة المرور", - "channel": "Channel", + "channel": "قناة", "channels": "قنوات", - "chart": "Chart", + "chart": "مخطط", "cities": "المدن", "city": "المدينة", "clear-all": "مسح الكل", "cohort": "مجموعة", - "cohorts": "Cohorts", + "cohorts": "مجموعات", "compare": "المقارنة", "compare-dates": "قارن التواريخ", "confirm": "تأكيد", @@ -65,7 +65,7 @@ "create-user": "أنشِئ مستخدم", "created": "أُنشئت", "created-by": "أُنشئ من قبل", - "criteria": "Criteria", + "criteria": "معايير", "currency": "العملة", "current": "الحالي", "current-password": "كلمة المرور الحالية", @@ -83,33 +83,33 @@ "delete-website": "حذف الموقع", "description": "الوصف", "desktop": "كمبيوتر", - "destination-url": "Destination URL", + "destination-url": "رابط الوجهة", "details": "تفاصيل", "device": "الجهاز", "devices": "الأجهزة", "direct": "مباشر", "dismiss": "تجاهل", "distinct-id": "معرّف مميز", - "documentation": "Documentation", + "documentation": "التوثيق", "does-not-contain": "لا يحتوي على", "does-not-include": "لا يتضمن", "doest-not-exist": "غير موجود", "domain": "النطاق", - "download": "Download", + "download": "تحميل", "dropoff": "إنزال", "edit": "تعديل", "edit-dashboard": "عدّل لوحة التحكم", "edit-member": "عدّل العضو", - "email": "Email", + "email": "بريد إلكتروني", "enable-share-url": "فعّل مشاركة الرابط", "end-step": "الخطوة الأخيرة", "entry": "رابط الدخول", - "environment": "Environment", + "environment": "بيئة", "event": "الحدث", "event-data": "تاريخ الحدث", "event-name": "اسم الحدث", "events": "الأحداث", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "استبعاد الارتداد", "exists": "موجود", "exit": "رابط المغادرة", "false": "خطأ", @@ -130,14 +130,14 @@ "greater-than": "أكبَر مِن", "greater-than-equals": "أكبَر مِن أو يساوي", "grouped": "مجمع", - "growth": "Growth", + "growth": "نمو", "hostname": "اسم المضيف", - "hour": "Hour", + "hour": "ساعة", "includes": "يتضمن", "insight": "رؤية معمقة", "insights": "نتائج التحليلات", "insights-description": "تعمق في بياناتك باستخدام الشرائح والتصفيات.", - "invalid-url": "Invalid URL", + "invalid-url": "رابط غير صالح", "is": "يساوي", "is-false": "غير صحيح", "is-not": "لا يساوي", @@ -161,9 +161,9 @@ "leave-team": "مغادرة المجموعة", "less-than": "أقل مِن", "less-than-equals": "أقل مِن أو يساوي", - "link": "Link", + "link": "رابط", "links": "روابط", - "location": "Location", + "location": "موقع", "login": "تسجيل الدخول", "logout": "تسجيل الخروج", "manage": "التحكم", @@ -174,10 +174,10 @@ "member": "عضو", "members": "الأعضاء", "min": "الحد الأدنى", - "minute": "Minute", + "minute": "دقيقة", "mobile": "جوال", "model": "نموذج", - "month": "Month", + "month": "شهر", "more": "المزيد", "my-account": "حسابي", "my-websites": "مواقعي", @@ -186,7 +186,7 @@ "none": "لا شيء", "number-of-records": "{x} {x, plural, one {سجل} other {سجلات}}", "ok": "نعم", - "online": "Online", + "online": "متصل", "organic-search": "بحث عضوي", "organic-shopping": "تسوق عضوي", "organic-social": "اجتماعي عضوي", @@ -208,15 +208,15 @@ "password": "كلمة المرور", "path": "مسار", "paths": "مسارات", - "pixel": "Pixel", + "pixel": "بكسل", "pixels": "بكسلات", "powered-by": "مشغل بواسطة {name}", - "preferences": "Preferences", + "preferences": "التفضيلات", "previous": "السابق", "previous-period": "الفترة السابقة", "previous-year": "العام السابق", "profile": "الملف الشخصي", - "profiles": "Profiles", + "profiles": "الملفات الشخصية", "properties": "خصائص", "property": "خاصية", "queries": "استعلامات", @@ -244,13 +244,13 @@ "role": "الصلاحية", "run-query": "شغّل الاستعلام", "save": "حفظ", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "حفظ المجموعة", + "save-segment": "حفظ الشريحة", + "screen": "شاشة", "screens": "الشاشات", "search": "بحث", - "segment": "Segment", - "segments": "Segments", + "segment": "شريحة", + "segments": "شرائح", "select": "اختر", "select-date": "حدد التاريخ", "select-filter": "اختر تصفية", @@ -263,15 +263,15 @@ "share": "مشاركة", "share-url": "مشاركة الرابط", "single-day": "يوم واحد", - "sms": "SMS", - "source": "Source", + "sms": "رسالة نصية", + "source": "مصدر", "sources": "مصادر", "start-step": "الخطوة الأولى", "steps": "الخطوات", "sum": "المجموع", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "دعم", + "switch-account": "تبديل الحساب", + "table": "جدول", "tablet": "تابلت", "tag": "الوسم", "tags": "الوسوم", @@ -285,7 +285,7 @@ "team-view-only": "عرض الفريق فقط", "team-websites": "مواقع الفريق", "teams": "الفرق", - "term": "Term", + "term": "مصطلح البحث", "terms": "مصطلحات", "theme": "السمة", "this-month": "الشهر الحالي", @@ -298,14 +298,14 @@ "total": "الإجمالي", "total-records": "إجمالي السجلات", "tracking-code": "كود التتبع", - "traffic": "Traffic", + "traffic": "حركة المرور", "transactions": "المعاملات", "transfer": "نقل", "transfer-website": "انقل الموقع", "true": "حقيقي", "type": "النوع", "unique": "فريد", - "unique-events": "Unique events", + "unique-events": "أحداث فريدة", "unique-visitors": "زائرون فريدون", "uniqueCustomers": "العملاء الفريدون", "unknown": "غير معروف", @@ -316,14 +316,14 @@ "username": "اسم المستخدم", "users": "المستخدمين", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM حملة", + "utm-content": "UTM محتوى", "utm-description": "تابع حملاتك التسويقية باستخدام معلمات UTM.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM وسيط", + "utm-source": "UTM مصدر", + "utm-term": "UTM مصطلح", "value": "القيمة", - "version": "Version", + "version": "إصدار", "view": "عرض", "view-details": "عرض التفاصيل", "view-only": "عرض فقط", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "اكتب {confirmation} في المربع أدناه للتأكيد.", "active-users": "{x} حاليا {x, plural, one {زائر واحد} other {زوار}}", - "bad-request": "Bad request", + "bad-request": "طلب غير صالح", "collected-data": "البيانات المجمعة", "confirm-delete": "هل أنت متأكد من حذف {target}?", "confirm-leave": "هل أنت متأكد من مغادرة {target}?", @@ -351,7 +351,7 @@ "delete-website-warning": "سيتم حذف كافة بيانات الموقع.", "error": "حدث خطأ ما.", "event-log": "{event} في {url}", - "forbidden": "Forbidden", + "forbidden": "محظور", "go-to-settings": "الذهاب إلى الإعدادات", "incorrect-username-password": "اسم المستخدم او كلمة المرور غير صحيحة.", "invalid-domain": "النطاق غير صحيح", @@ -365,13 +365,13 @@ "no-teams": "لم تنشِئ اي فرق.", "no-users": "لا يوجد مستخدمين.", "no-websites-configured": "لم تقم بإعداد اي موقع.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "غير موجود", + "nothing-selected": "لم يتم تحديد شيء.", "page-not-found": "الصفحة غير موجودة.", "reset-website": "لإعادة ضبط موقع الويب هذا، اكتب {confirmation} في المربع أدناه للتأكيد.", "reset-website-warning": "سيتم اعادة تعيين كافة الإحصائيات لهذا الموقع، لكن لن يتم تغيير كود التتبع", "saved": "تم الحفظ بنجاح.", - "sever-error": "Server error", + "sever-error": "خطأ في الخادم", "share-url": "إحصائيات موقعك متاحة للجميع على الرابط التالي:", "team-already-member": "أنت عضو في الفريق", "team-not-found": "لم يتم العثور على الفريق", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "اختر الفريق الذي تريد نقل الموقع إليه.", "transfer-website": "نقل ملكية الموقع لحسابك أو فريق أخر.", "triggered-event": "أُطلق الحدث", - "unauthorized": "Unauthorized", + "unauthorized": "غير مصرح", "user-deleted": "تم حذف المستخدم.", "viewed-page": "شوهدت الصفحة", "visitor-log": "زائر من {country} يستخدم {browser} على {os} {device}" diff --git a/public/intl/messages/be-BY.json b/public/intl/messages/be-BY.json index 67ef12f7c..66a4720e3 100644 --- a/public/intl/messages/be-BY.json +++ b/public/intl/messages/be-BY.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Код доступу", - "account": "Account", - "action": "Action", + "account": "Акаўнт", + "action": "Дзеянне", "actions": "Дзеянні", "activity": "Журнал актыўнасці", "add": "Дадаць", "add-board": "Дадаць дошку", "add-description": "Дадаць апісанне", - "add-link": "Add link", + "add-link": "Дадаць спасылку", "add-member": "Дадаць удзельніка", - "add-pixel": "Add pixel", + "add-pixel": "Дадаць піксель", "add-step": "Дадаць крок", "add-website": "Дадаць сайт", "admin": "Адміністратар", @@ -18,13 +18,13 @@ "after": "Пасля", "all": "Усё", "all-time": "Увесь час", - "analysis": "Analysis", + "analysis": "Аналіз", "analytics": "Аналітыка", - "application": "Application", + "application": "Прыкладанне", "apply": "Ужыць", "attribution": "Атрыбуцыя", "attribution-description": "Глядзіце, як карыстальнікі ўзаемадзейнічаюць з вашым маркетынгам і што прыводзіць да канверсій.", - "audience": "Audience", + "audience": "Аўдыторыя", "average": "Сярэдняе", "back": "Назад", "before": "Да", @@ -34,18 +34,18 @@ "breakdown": "Разбіўка", "browser": "Браўзер", "browsers": "Браўзеры", - "campaign": "Campaign", + "campaign": "Кампанія", "campaigns": "Кампаніі", "cancel": "Адмена", "change-password": "Змяніць пароль", - "channel": "Channel", + "channel": "Канал", "channels": "Каналы", - "chart": "Chart", + "chart": "Дыяграма", "cities": "Гарады", "city": "Горад", "clear-all": "Ачысціць усё", "cohort": "Кагорта", - "cohorts": "Cohorts", + "cohorts": "Кагорты", "compare": "Параўнаць", "compare-dates": "Параўнаць даты", "confirm": "Падцвердзіць", @@ -65,7 +65,7 @@ "create-user": "Стварыць карыстальніка", "created": "Створана", "created-by": "Створана", - "criteria": "Criteria", + "criteria": "Крытэрыі", "currency": "Валюта", "current": "Цяперашні", "current-password": "Цяперашні пароль", @@ -83,33 +83,33 @@ "delete-website": "Выдаліць сайт", "description": "Апісанне", "desktop": "Настольны ПК", - "destination-url": "Destination URL", + "destination-url": "URL прызначэння", "details": "Дэталі", "device": "Прылада", "devices": "Прылады", "direct": "Прама", "dismiss": "Адхіліць", "distinct-id": "Унікальны ID", - "documentation": "Documentation", + "documentation": "Дакументацыя", "does-not-contain": "Не ўключае", "does-not-include": "Не ўключае", "doest-not-exist": "Не існуе", "domain": "Дамен", - "download": "Download", + "download": "Спампаваць", "dropoff": "Адмовы", "edit": "Змяніць", "edit-dashboard": "Змяніць інфармацыйную панэль", "edit-member": "Рэдагаваць удзельніка", - "email": "Email", + "email": "Электронная пошта", "enable-share-url": "Дазволіць дзяліцца спасылкай", "end-step": "Канчатковы крок", "entry": "URL уваходу", - "environment": "Environment", + "environment": "Асяроддзе", "event": "Падзея", "event-data": "Дадзеныя падзеі", "event-name": "Назва падзеі", "events": "Падзеі", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Выключыць адмовы", "exists": "Існуе", "exit": "URL выхаду", "false": "Ложна", @@ -130,14 +130,14 @@ "greater-than": "Больш чым", "greater-than-equals": "Больш чым або роўна", "grouped": "Групаваны", - "growth": "Growth", + "growth": "Рост", "hostname": "Імя хаста", - "hour": "Hour", + "hour": "Гадзіна", "includes": "Уключае", "insight": "Інсайт", "insights": "Інсайты", "insights-description": "Даследваць дадзеныя з дапамогай сегментаў і фільтраў.", - "invalid-url": "Invalid URL", + "invalid-url": "Нядзейсны URL", "is": "З'яўляецца", "is-false": "Ложна", "is-not": "Не з'яўляецца", @@ -156,14 +156,14 @@ "last-days": "Апошнія {x} дзён", "last-hours": "Апошнія {x} гадзіны", "last-months": "Апошнія {x} месяцаў", - "last-seen": "Last seen", + "last-seen": "Апошні візіт", "leave": "Пакінуць", "leave-team": "Пакінуць каманду", "less-than": "Менш чым", "less-than-equals": "Менш чым або роўна", - "link": "Link", + "link": "Спасылка", "links": "Спасылкі", - "location": "Location", + "location": "Месцазнаходжанне", "login": "Увайсці", "logout": "Выйсці", "manage": "Кіраваць", @@ -174,10 +174,10 @@ "member": "Удзельнік", "members": "Удзельнікі", "min": "Мінімум", - "minute": "Minute", + "minute": "Хвіліна", "mobile": "Мабільны", "model": "Мадэль", - "month": "Month", + "month": "Месяц", "more": "Болей", "my-account": "Мой уліковы запіс", "my-websites": "Мае сайты", @@ -186,7 +186,7 @@ "none": "Няма", "number-of-records": "{x} {x, plural, one {запіс} other {запісаў}}", "ok": "ОК", - "online": "Online", + "online": "Анлайн", "organic-search": "Арганічны пошук", "organic-shopping": "Арганічныя пакупкі", "organic-social": "Арганічныя сацыяльныя сеткі", @@ -208,15 +208,15 @@ "password": "Пароль", "path": "Шлях", "paths": "Шляхи", - "pixel": "Pixel", + "pixel": "Піксель", "pixels": "Пікселі", "powered-by": "Зроблена {name}", - "preferences": "Preferences", + "preferences": "Налады", "previous": "Папярэдні", "previous-period": "Папярэдні перыяд", "previous-year": "Папярэдні год", "profile": "Профіль", - "profiles": "Profiles", + "profiles": "Профілі", "properties": "Уласцівасці", "property": "Уласцівасць", "queries": "Запыты", @@ -239,18 +239,18 @@ "reset-website": "Скінуць статыстыку", "retention": "Утрыманне", "retention-description": "Ацаніць прыцягальнасць сайта, адсочваючы павяртанні карыстальнікаў.", - "revenue": "Revenue", + "revenue": "Даход", "revenue-description": "Look into your revenue across time.", "role": "Роля", "run-query": "Запусціць запыт", "save": "Захаваць", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Захаваць кагорту", + "save-segment": "Захаваць сегмент", + "screen": "Экран", "screens": "Экраны", "search": "Пошук", - "segment": "Segment", - "segments": "Segments", + "segment": "Сегмент", + "segments": "Сегменты", "select": "Выбраць", "select-date": "Выбраць дату", "select-filter": "Выбраць фільтр", @@ -263,18 +263,18 @@ "share": "Падзяліцца", "share-url": "Падзяліцца спасылкай", "single-day": "Адзін дзень", - "sms": "SMS", - "source": "Source", + "sms": "СМС", + "source": "Крыніца", "sources": "Крыніцы", "start-step": "Першы кроку", "steps": "Крокі", "sum": "Сума", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Падтрымка", + "switch-account": "Змяніць акаўнт", + "table": "Табліца", "tablet": "Планшэт", - "tag": "Tag", - "tags": "Tags", + "tag": "Тэг", + "tags": "Тэгі", "team": "Каманда", "team-id": "Ідэнтыфікатар каманды", "team-manager": "Кіраўнік каманды", @@ -285,7 +285,7 @@ "team-view-only": "Толькі для каманднага прагляду", "team-websites": "Сайты каманды", "teams": "Каманды", - "term": "Term", + "term": "Пошукавы запыт", "terms": "Тэрміны", "theme": "Тэма", "this-month": "Гэты месяц", @@ -298,16 +298,16 @@ "total": "Агульная колькасць", "total-records": "Агульная колькасць запісаў", "tracking-code": "Код адсочвання", - "traffic": "Traffic", - "transactions": "Transactions", + "traffic": "Трафік", + "transactions": "Транзакцыі", "transfer": "Перадаць", "transfer-website": "Перадаць сайт", "true": "Ісціна", "type": "Тып", "unique": "Унікальны", - "unique-events": "Unique events", + "unique-events": "Унікальныя падзеі", "unique-visitors": "Унікальныя наведвальнікі", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Унікальныя кліенты", "unknown": "Невядома", "untitled": "Без назвы", "update": "Абнавіць", @@ -316,14 +316,14 @@ "username": "Імя карыстальніка", "users": "Карыстальнікі", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM-кампанія", + "utm-content": "UTM-кантэнт", "utm-description": "Сачыць за кампаніямі з дапамогай UTM-метак.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM-канал", + "utm-source": "UTM-крыніца", + "utm-term": "UTM-запыт", "value": "Значэнне", - "version": "Version", + "version": "Версія", "view": "Паглядзець", "view-details": "Паглядзець дэталі", "view-only": "Толькі прагляд", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "Увядзіце {confirmation} у поле ніжэй, каб пацвердзіць.", "active-users": "{x} цякучых {x, plural, one {наведвальнік} other {наведвальнікаў}}", - "bad-request": "Bad request", + "bad-request": "Няправільны запыт", "collected-data": "Сабраныя дадзеныя", "confirm-delete": "Вы дакладна хочаце выдаліць {target}?", "confirm-leave": "Вы дакладна хочаце пакінуць {target}?", @@ -351,7 +351,7 @@ "delete-website-warning": "Усе асацыяваныя дадзеныя будуць таксама выдалены.", "error": "Нешта пайшло не так.", "event-log": "{event} на {url}", - "forbidden": "Forbidden", + "forbidden": "Доступ забаронены", "go-to-settings": "Да налад", "incorrect-username-password": "Некарэктнае імя карыстальніка/пароль.", "invalid-domain": "Некарэктны дамен", @@ -365,13 +365,13 @@ "no-teams": "Вы не стварылі ніводнай каманды.", "no-users": "Няма карыстальнікаў.", "no-websites-configured": "Вы не наладзілі ніводнага сайта.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Не знойдзена", + "nothing-selected": "Нічога не абрана.", "page-not-found": "Старонка не знойдзена.", "reset-website": "Каб скінуць гэты сайт, увядзіце {confirmation} у поле ніжэй для пацверджання.", "reset-website-warning": "Уся статыстыка для гэтага сайта будзе выдалена, але код адсочвання будзе працягваць працаваць.", "saved": "Захавана паспяхова.", - "sever-error": "Server error", + "sever-error": "Памылка сервера", "share-url": "Гэта публічная спасылка для {target}.", "team-already-member": "Вы ўжо ўдзельнік каманды.", "team-not-found": "Каманда не знойдзена.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Выберыце каманду для перадачы гэтага сайта.", "transfer-website": "Перадача сайта на ваш уліковы запіс або іншай камандзе.", "triggered-event": "Падзея якая спрацавала", - "unauthorized": "Unauthorized", + "unauthorized": "Не аўтарызаваны", "user-deleted": "Карыстальнік выдалены.", "viewed-page": "Праглядзеў старонку", "visitor-log": "Наведвальнік з {country} праз {browser} на {os} {device}" diff --git a/public/intl/messages/bg-BG.json b/public/intl/messages/bg-BG.json index fbb6733ce..634ead871 100644 --- a/public/intl/messages/bg-BG.json +++ b/public/intl/messages/bg-BG.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Код за достъп", - "account": "Account", - "action": "Action", + "account": "Акаунт", + "action": "Действие", "actions": "Действия", "activity": "Активностти", "add": "Добави", "add-board": "Добави дъска", "add-description": "Добави описание", - "add-link": "Add link", + "add-link": "Добави линк", "add-member": "Добави член", - "add-pixel": "Add pixel", + "add-pixel": "Добави пиксел", "add-step": "Добави стъпка", "add-website": "Добави уебсайт", "admin": "Администратор", @@ -18,13 +18,13 @@ "after": "След", "all": "Всички", "all-time": "За всички времена", - "analysis": "Analysis", + "analysis": "Анализ", "analytics": "Анализи", - "application": "Application", + "application": "Приложение", "apply": "Приложи", "attribution": "Атрибуция", "attribution-description": "Вижте как потребителите взаимодействат с вашия маркетинг и какво води до конверсии.", - "audience": "Audience", + "audience": "Аудитория", "average": "Средно", "back": "Назад", "before": "Преди", @@ -34,18 +34,18 @@ "breakdown": "Разбивка", "browser": "Браузър", "browsers": "Браузъри", - "campaign": "Campaign", + "campaign": "Кампания", "campaigns": "Кампании", "cancel": "Отмени", "change-password": "Смени парола", - "channel": "Channel", + "channel": "Канал", "channels": "Канали", - "chart": "Chart", + "chart": "Диаграма", "cities": "Градове", "city": "Град", "clear-all": "Изчисти всички", "cohort": "Кохорта", - "cohorts": "Cohorts", + "cohorts": "Кохорти", "compare": "Сравни", "compare-dates": "Сравни дати", "confirm": "Потвърди", @@ -65,7 +65,7 @@ "create-user": "Създай потребител", "created": "Създадено", "created-by": "Създадено от", - "criteria": "Criteria", + "criteria": "Критерии", "currency": "Валута", "current": "Текущ", "current-password": "Текуща парола", @@ -83,19 +83,19 @@ "delete-website": "Изтрий уебсайт", "description": "Описание", "desktop": "Десктоп", - "destination-url": "Destination URL", + "destination-url": "URL на местоназначение", "details": "Детайли", "device": "Устройство", "devices": "Устройства", "direct": "Директно", "dismiss": "Отхвърли", "distinct-id": "Уникален ID", - "documentation": "Documentation", + "documentation": "Документация", "does-not-contain": "Не съдържа", "does-not-include": "Не включва", "doest-not-exist": "Не съществува", "domain": "Домейн", - "download": "Download", + "download": "Изтегляне", "dropoff": "Отпадане", "edit": "Редактирай", "edit-dashboard": "Редактирай табло", @@ -104,12 +104,12 @@ "enable-share-url": "Активирай Линк за споделяне", "end-step": "Крайна стъпка", "entry": "URL на вход", - "environment": "Environment", + "environment": "Среда", "event": "Събитие", "event-data": "Данни за събитие", "event-name": "Име на събитие", "events": "Събития", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Изключи отпадане", "exists": "Съществува", "exit": "URL за изход", "false": "Грешно", @@ -130,14 +130,14 @@ "greater-than": "По-голямо от", "greater-than-equals": "По-голямо или равно на", "grouped": "Групирано", - "growth": "Growth", + "growth": "Растеж", "hostname": "Име на хост", - "hour": "Hour", + "hour": "Час", "includes": "Включва", "insight": "Прозрение", "insights": "Изводи", "insights-description": "Навлезте по-дълбоко в данните си, като използвате сегменти и филтри.", - "invalid-url": "Invalid URL", + "invalid-url": "Невалиден URL", "is": "Е", "is-false": "Грешно", "is-not": "Не е", @@ -161,9 +161,9 @@ "leave-team": "Напусни екип", "less-than": "По-малко от", "less-than-equals": "По-малко или равно на", - "link": "Link", + "link": "Линк", "links": "Връзки", - "location": "Location", + "location": "Местоположение", "login": "Вход", "logout": "Изход", "manage": "Управлявай", @@ -174,10 +174,10 @@ "member": "Член", "members": "Членове", "min": "Минимум", - "minute": "Minute", + "minute": "Минута", "mobile": "Мобилен", "model": "Модел", - "month": "Month", + "month": "Месец", "more": "Още", "my-account": "Моят акаунт", "my-websites": "Моите уебсайтове", @@ -208,15 +208,15 @@ "password": "Парола", "path": "Път", "paths": "Пътища", - "pixel": "Pixel", + "pixel": "Пиксел", "pixels": "Пиксели", "powered-by": "Поддържано от {name}", - "preferences": "Preferences", + "preferences": "Предпочитания", "previous": "Предишен", "previous-period": "Предишен период", "previous-year": "Предишна година", "profile": "Профил", - "profiles": "Profiles", + "profiles": "Профили", "properties": "Свойства", "property": "Свойство", "queries": "Запитвания", @@ -244,13 +244,13 @@ "role": "Роля", "run-query": "Изпълни запитване", "save": "Запази", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Запази кохорта", + "save-segment": "Запази сегмент", + "screen": "Екран", "screens": "Екрани", "search": "Търсене", - "segment": "Segment", - "segments": "Segments", + "segment": "Сегмент", + "segments": "Сегменти", "select": "Избери", "select-date": "Избери дата", "select-filter": "Избери филтър", @@ -263,15 +263,15 @@ "share": "Сподели", "share-url": "Сподели Линк", "single-day": "Един ден", - "sms": "SMS", - "source": "Source", + "sms": "СМС", + "source": "Източник", "sources": "Източници", "start-step": "Начална стъпка", "steps": "Стъпки", "sum": "Сума", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Поддръжка", + "switch-account": "Смяна на акаунт", + "table": "Таблица", "tablet": "Таблет", "tag": "Етикет", "tags": "Етикети", @@ -285,7 +285,7 @@ "team-view-only": "Видимо само за членове на екипа", "team-websites": "Уебсайтове на екипа", "teams": "Екипи", - "term": "Term", + "term": "Търсене", "terms": "Термини", "theme": "Тема", "this-month": "Този месец", @@ -298,14 +298,14 @@ "total": "Общо", "total-records": "Общо записи", "tracking-code": "Код за проследяване", - "traffic": "Traffic", + "traffic": "Трафик", "transactions": "Транзакции", "transfer": "Прехвърли", "transfer-website": "Прехвърляне на уебсайт", "true": "Вярно", "type": "Вид", "unique": "Уникален", - "unique-events": "Unique events", + "unique-events": "Уникални събития", "unique-visitors": "Уникални посетители", "uniqueCustomers": "Уникални клиенти", "unknown": "Неизвестен", @@ -316,14 +316,14 @@ "username": "Потребителско име", "users": "Потребители", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM кампания", + "utm-content": "UTM съдържание", "utm-description": "Следете кампаниите си чрез UTM параметри.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM канал", + "utm-source": "UTM източник", + "utm-term": "UTM търсене", "value": "Стойност", - "version": "Version", + "version": "Версия", "view": "Преглед", "view-details": "Преглед на детайлите", "view-only": "Само за преглед", diff --git a/public/intl/messages/bn-BD.json b/public/intl/messages/bn-BD.json index 73dc28faf..2c1545543 100644 --- a/public/intl/messages/bn-BD.json +++ b/public/intl/messages/bn-BD.json @@ -1,16 +1,16 @@ { "label": { "access-code": "এক্সেস কোড", - "account": "Account", - "action": "Action", + "account": "অ্যাকাউন্ট", + "action": "কার্যক্রম", "actions": "অ্যাকশনস", "activity": "একটিভিটি দেখুন", "add": "যুক্ত করুন", "add-board": "বোর্ড যুক্ত করুন", "add-description": "বর্ননা যোগ করুন", - "add-link": "Add link", + "add-link": "লিংক যোগ করুন", "add-member": "সদস্য যোগ করুন", - "add-pixel": "Add pixel", + "add-pixel": "পিক্সেল যোগ করুন", "add-step": "পদ যোগ করুন", "add-website": "ওয়েবসাইট যুক্ত করুন", "admin": "অ্যাডমিন", @@ -18,13 +18,13 @@ "after": "পরে", "all": "সবগুলো", "all-time": "সব সময়", - "analysis": "Analysis", + "analysis": "বিশ্লেষণ", "analytics": "বিশ্লেষণ", - "application": "Application", + "application": "অ্যাপ্লিকেশন", "apply": "প্রয়োগ করুন", "attribution": "অ্যাট্রিবিউশন", "attribution-description": "দেখুন ব্যবহারকারীরা কীভাবে আপনার মার্কেটিংয়ের সাথে যুক্ত হয় এবং কীভাবে রূপান্তর ঘটে।", - "audience": "Audience", + "audience": "দর্শক", "average": "গড়", "back": "পেছনে", "before": "পূর্বে", @@ -34,18 +34,18 @@ "breakdown": "ভাঙ্গন", "browser": "ব্রাউজার", "browsers": "ব্রাউজার সমূহ", - "campaign": "Campaign", + "campaign": "প্রচারণা", "campaigns": "প্রচারণা", "cancel": "বাতিল", "change-password": "পাসওয়ার্ড পরিবর্তন করুন", - "channel": "Channel", + "channel": "চ্যানেল", "channels": "চ্যানেলসমূহ", - "chart": "Chart", + "chart": "চার্ট", "cities": "শহরসমূহ", "city": "শহর", "clear-all": "সব মুছে ফেলুন", "cohort": "কোহর্ট", - "cohorts": "Cohorts", + "cohorts": "কোহর্ট", "compare": "তুলনা করুন", "compare-dates": "তারিখ তুলনা করুন", "confirm": "নিশ্চিত করুন", @@ -65,7 +65,7 @@ "create-user": "ব্যবহারকারী তৈরি করুন", "created": "তৈরি করা হয়েছে", "created-by": "তৈরি করেছেন", - "criteria": "Criteria", + "criteria": "মানদণ্ড", "currency": "মুদ্রা", "current": "বর্তমান", "current-password": "বর্তমান পাসওয়ার্ড", @@ -83,33 +83,33 @@ "delete-website": "ওয়েবসাইট মুছুন", "description": "বর্ণনা", "desktop": "ডেস্কটপ", - "destination-url": "Destination URL", + "destination-url": "গন্তব্য URL", "details": "বিস্তারিত", "device": "ডিভাইস", "devices": "ডিভাইস গুলো", "direct": "সরাসরি", "dismiss": "বাতিল", "distinct-id": "স্বতন্ত্র আইডি", - "documentation": "Documentation", + "documentation": "ডকুমেন্টেশন", "does-not-contain": "ধারণ করে না", "does-not-include": "অন্তর্ভুক্ত নয়", "doest-not-exist": "অস্তিত্ব নেই", "domain": "ডোমেইন", - "download": "Download", + "download": "ডাউনলোড", "dropoff": "ছেড়ে যাওয়া", "edit": "সম্পাদনা করুন", "edit-dashboard": "ড্যাশবোর্ড সম্পাদনা করুন", "edit-member": "সদস্য সম্পাদনা করুন", - "email": "Email", + "email": "ইমেইল", "enable-share-url": "শেয়ার ইউআরএল শেয়ার করুন", "end-step": "শেষ ধাপ", "entry": "প্রবেশ URL", - "environment": "Environment", + "environment": "পরিবেশ", "event": "ইভেন্ট", "event-data": "ইভেন্ট ডেটা", "event-name": "ইভেন্টের নাম", "events": "ঘটনা", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "বাউন্স বাদ দিন", "exists": "অস্তিত্ব আছে", "exit": "প্রস্থান URL", "false": "মিথ্যা", @@ -130,14 +130,14 @@ "greater-than": "এর চেয়ে বেশি", "greater-than-equals": "এর চেয়ে বেশি বা সমান", "grouped": "গ্রুপ করা", - "growth": "Growth", + "growth": "বৃদ্ধি", "hostname": "হোস্টনেম", - "hour": "Hour", + "hour": "ঘণ্টা", "includes": "অন্তর্ভুক্ত", "insight": "অন্তর্দৃষ্টি", - "insights": "Insights", - "insights-description": "Dive deeper into your data by using segments and filters.", - "invalid-url": "Invalid URL", + "insights": "অন্তর্দৃষ্টি", + "insights-description": "সেগমেন্ট এবং ফিল্টার ব্যবহার করে আপনার ডেটায় আরও গভীরে যান।", + "invalid-url": "অবৈধ URL", "is": "হয়", "is-false": "মিথ্যা", "is-not": "নয়", @@ -161,9 +161,9 @@ "leave-team": "দল ত্যাগ করুন", "less-than": "এর চেয়ে কম", "less-than-equals": "এর চেয়ে কম বা সমান", - "link": "Link", + "link": "লিংক", "links": "লিঙ্কসমূহ", - "location": "Location", + "location": "অবস্থান", "login": "লগিন", "logout": "লগ আউট", "manage": "পরিচালনা করুন", @@ -174,31 +174,31 @@ "member": "সদস্য", "members": "সদস্যগণ", "min": "সর্বনিম্ন", - "minute": "Minute", + "minute": "মিনিট", "mobile": "মুঠোফোন", "model": "মডেল", - "month": "Month", + "month": "মাস", "more": "আরও", "my-account": "আমার অ্যাকাউন্ট", "my-websites": "আমার ওয়েবসাইটসমূহ", "name": "নাম", "new-password": "নতুন পাসওয়ার্ড", "none": "কিছুই না", - "number-of-records": "{x} {x, plural, one {record} other {records}}", - "ok": "OK", - "online": "Online", + "number-of-records": "{x} {x, plural, one {রেকর্ড} other {রেকর্ড}}", + "ok": "ঠিক আছে", + "online": "অনলাইন", "organic-search": "অর্গানিক সার্চ", "organic-shopping": "অর্গানিক শপিং", "organic-social": "অর্গানিক সোশ্যাল", "organic-video": "অর্গানিক ভিডিও", - "os": "OS", + "os": "ওএস", "other": "অন্যান্য", - "overview": "Overview", + "overview": "সংক্ষিপ্ত বিবরণ", "owner": "মালিক", "page": "পৃষ্ঠা", - "page-of": "Page {current} of {total}", + "page-of": "পৃষ্ঠা {current} / {total}", "page-views": "পৃষ্ঠা পরিদর্শন গুলো", - "pageTitle": "Page title", + "pageTitle": "পৃষ্ঠার শিরোনাম", "pages": "পৃষ্ঠাগুলি", "paid-ads": "পেইড বিজ্ঞাপন", "paid-search": "পেইড সার্চ", @@ -208,70 +208,70 @@ "password": "পাসওয়ার্ড", "path": "পথ", "paths": "পথসমূহ", - "pixel": "Pixel", + "pixel": "পিক্সেল", "pixels": "পিক্সেল", "powered-by": "{name} দ্বারা চালিত", - "preferences": "Preferences", + "preferences": "পছন্দসমূহ", "previous": "পূর্ববর্তী", "previous-period": "পূর্ববর্তী সময়কাল", "previous-year": "গত বছর", "profile": "প্রোফাইল", - "profiles": "Profiles", + "profiles": "প্রোফাইল", "properties": "বৈশিষ্ট্যসমূহ", "property": "বৈশিষ্ট্য", - "queries": "Queries", - "query": "Query", - "query-parameters": "Query parameters", + "queries": "কোয়েরি", + "query": "কোয়েরি", + "query-parameters": "কোয়েরি প্যারামিটার", "realtime": "সরাসরি", "referral": "রেফারেল", - "referrer": "Referrer", + "referrer": "রেফারার", "referrers": "রেফারার্স", "refresh": "রিফ্রেশ", - "regenerate": "Regenerate", - "region": "Region", - "regions": "Regions", + "regenerate": "পুনরায় তৈরি", + "region": "অঞ্চল", + "regions": "অঞ্চলসমূহ", "remaining": "বাকি আছে", - "remove": "Remove", - "remove-member": "Remove member", - "reports": "Reports", + "remove": "সরান", + "remove-member": "সদস্য সরান", + "reports": "রিপোর্ট", "required": "প্রয়োজনীয়", "reset": "রিসেট", "reset-website": "ওয়েবসাইট রিসেট করুন", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", + "retention": "ধরে রাখা", + "retention-description": "ব্যবহারকারীরা কতবার ফিরে আসে তা ট্র্যাক করে আপনার ওয়েবসাইটের আঠালোতা পরিমাপ করুন।", "revenue": "আয়", "revenue-description": "সময়ের সাথে সাথে আপনার আয় দেখুন।", - "role": "Role", - "run-query": "Run query", + "role": "ভূমিকা", + "run-query": "কোয়েরি চালান", "save": "সংরক্ষণ", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "কোহর্ট সংরক্ষণ করুন", + "save-segment": "সেগমেন্ট সংরক্ষণ করুন", + "screen": "স্ক্রিন", "screens": "স্ক্রিনগুলি", - "search": "Search", - "segment": "Segment", - "segments": "Segments", - "select": "Select", - "select-date": "Select date", + "search": "অনুসন্ধান", + "segment": "সেগমেন্ট", + "segments": "সেগমেন্ট", + "select": "নির্বাচন করুন", + "select-date": "তারিখ নির্বাচন করুন", "select-filter": "ফিল্টার নির্বাচন করুন", - "select-role": "Select role", - "select-website": "Select website", + "select-role": "ভূমিকা নির্বাচন করুন", + "select-website": "ওয়েবসাইট নির্বাচন করুন", "session": "সেশন", "session-data": "সেশন ডেটা", - "sessions": "Sessions", + "sessions": "সেশন", "settings": "সেটিংস", "share": "শেয়ার করুন", "share-url": "এটি {target} এর জন্য প্রকাশ্যে শেয়ার করার ইউআরএল।", "single-day": "একদিন", "sms": "SMS", - "source": "Source", + "source": "উৎস", "sources": "উৎসসমূহ", - "start-step": "Start Step", - "steps": "Steps", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "start-step": "প্রারম্ভিক ধাপ", + "steps": "ধাপসমূহ", + "sum": "যোগফল", + "support": "সহায়তা", + "switch-account": "অ্যাকাউন্ট পরিবর্তন", + "table": "টেবিল", "tablet": "ট্যাবলেট", "tag": "ট্যাগ", "tags": "ট্যাগসমূহ", @@ -282,108 +282,108 @@ "team-name": "দলের নাম", "team-owner": "দলের মালিক", "team-settings": "দলের সেটিংস", - "team-view-only": "Team view only", - "team-websites": "Team websites", - "teams": "Teams", - "term": "Term", + "team-view-only": "শুধু টিম দেখুন", + "team-websites": "টিম ওয়েবসাইট", + "teams": "টিম", + "term": "অনুসন্ধান শব্দ", "terms": "শর্তাবলী", "theme": "থিম", "this-month": "এই মাস", "this-week": "এই সপ্তাহ", "this-year": "এই বছর", "timezone": "সময়স্থান", - "title": "Title", + "title": "শিরোনাম", "today": "আজ", "toggle-charts": "চার্ট পরিবর্তন করুন", - "total": "Total", - "total-records": "Total records", + "total": "মোট", + "total-records": "মোট রেকর্ড", "tracking-code": "ট্র্যাকিং কোড", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "ট্রাফিক", + "transactions": "লেনদেন", + "transfer": "স্থানান্তর", + "transfer-website": "ওয়েবসাইট স্থানান্তর", + "true": "সত্য", + "type": "ধরন", + "unique": "অনন্য", + "unique-events": "অনন্য ইভেন্ট", "unique-visitors": "অনন্য ভিজিটর", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "অনন্য গ্রাহক", "unknown": "অজানা", - "untitled": "Untitled", - "update": "Update", + "untitled": "শিরোনামহীন", + "update": "আপডেট", "url": "URL", - "user": "User", + "user": "ব্যবহারকারী", "username": "ব্যবহারকারীর নাম", - "users": "Users", + "users": "ব্যবহারকারীগণ", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-campaign": "UTM প্রচারণা", + "utm-content": "UTM বিষয়বস্তু", + "utm-description": "UTM প্যারামিটারের মাধ্যমে আপনার প্রচারণা ট্র্যাক করুন।", + "utm-medium": "UTM মাধ্যম", + "utm-source": "UTM উৎস", + "utm-term": "UTM শব্দ", + "value": "মান", + "version": "সংস্করণ", + "view": "দেখুন", "view-details": "বিস্তারিত দেখুন", - "view-only": "View only", + "view-only": "শুধু দেখুন", "views": "ভিউস", - "views-per-visit": "Views per visit", + "views-per-visit": "প্রতি ভিজিটে দেখা", "visit-duration": "গড় পরিদর্শনের সময়", "visitors": "পরিদর্শনার্থী", - "visits": "Visits", - "website": "Website", - "website-id": "Website ID", + "visits": "ভিজিট", + "website": "ওয়েবসাইট", + "website-id": "ওয়েবসাইট ID", "websites": "সবগুলো ওয়েবসাইট", - "window": "Window", - "yesterday": "Yesterday" + "window": "উইন্ডো", + "yesterday": "গতকাল" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "নিশ্চিত করতে নিচের বক্সে {confirmation} টাইপ করুন।", "active-users": "{x} বর্তমান {x, plural, one {visitor} other {visitors}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "অবৈধ অনুরোধ", + "collected-data": "সংগৃহীত ডেটা", "confirm-delete": "আপনি কি নিশ্চিত যে আপনি {target} মুছতে চান?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "আপনি কি নিশ্চিত যে আপনি {target} ত্যাগ করতে চান?", + "confirm-remove": "আপনি কি নিশ্চিত যে আপনি {target} সরাতে চান?", "confirm-reset": "আপনি কি নিশ্চিত যে আপনি {target} এর পরিসংখ্যান পুনরায় সেট করতে চান?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "একটি টিম মুছে ফেললে টিমের সব ওয়েবসাইটও মুছে যাবে।", "delete-website-warning": "সমস্ত সম্পর্কিত ডেটা পাশাপাশি মুছে ফেলা হবে।", "error": "কিছু ভুল হয়েছে।", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{url}-এ {event}", + "forbidden": "নিষিদ্ধ", "go-to-settings": "সেটিংস এ যান", "incorrect-username-password": "ভুল ব্যবহারকারীর নাম/পাসওয়ার্ড।", "invalid-domain": "ভুল ডোমেন", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "সর্বনিম্ন {n} অক্ষর", + "new-version-available": "Umami {version}-এর নতুন সংস্করণ পাওয়া যাচ্ছে!", "no-data-available": "কোন তথ্য নেই।", - "no-event-data": "No event data is available.", + "no-event-data": "কোনো ইভেন্ট ডেটা পাওয়া যায়নি।", "no-match-password": "পাসওয়ার্ড মেলে না", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "এই টিমের কোনো ওয়েবসাইট নেই।", + "no-teams": "আপনি কোনো টিম তৈরি করেননি।", + "no-users": "কোনো ব্যবহারকারী নেই।", "no-websites-configured": "কোনও ওয়েবসাইট কনফিগার করা নেই।", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "পাওয়া যায়নি", + "nothing-selected": "কিছু নির্বাচন করা হয়নি।", "page-not-found": "পৃষ্ঠা খুঁজে পাওয়া যায়নি।", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "এই ওয়েবসাইট রিসেট করতে, নিচের বক্সে {confirmation} টাইপ করুন।", "reset-website-warning": "এই ওয়েবসাইটের সমস্ত পরিসংখ্যান মুছে ফেলা হবে, তবে আপনার ট্র্যাকিং কোডটি অক্ষত থাকবে।", "saved": "সংরক্ষিত হয়েছে।", - "sever-error": "Server error", + "sever-error": "সার্ভার ত্রুটি", "share-url": "এটি {target} এর জন্য প্রকাশ্যে শেয়ার করার ইউআরএল।", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "আপনি ইতিমধ্যে টিমের সদস্য।", + "team-not-found": "টিম পাওয়া যায়নি।", + "team-websites-info": "ওয়েবসাইটগুলি টিমের যে কেউ দেখতে পারেন।", "tracking-code": "ট্র্যাকিং কোড", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "transfer-team-website-to-user": "এই ওয়েবসাইটটি আপনার অ্যাকাউন্টে স্থানান্তর করবেন?", + "transfer-user-website-to-team": "এই ওয়েবসাইটটি স্থানান্তর করার জন্য টিম নির্বাচন করুন।", + "transfer-website": "ওয়েবসাইটের মালিকানা আপনার অ্যাকাউন্টে বা অন্য টিমে স্থানান্তর করুন।", + "triggered-event": "ট্রিগার করা ইভেন্ট", + "unauthorized": "অননুমোদিত", + "user-deleted": "ব্যবহারকারী মুছে ফেলা হয়েছে।", + "viewed-page": "দেখা পৃষ্ঠা", "visitor-log": "{country} থেকে একজন ভিসিটর {ব্রাউজার}, ব্যবহার করছেন {os} {device} এর মধ্যে।" } } diff --git a/public/intl/messages/bs-BA.json b/public/intl/messages/bs-BA.json index 86952a2c4..a277b8483 100644 --- a/public/intl/messages/bs-BA.json +++ b/public/intl/messages/bs-BA.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Pristupni kod", - "account": "Account", - "action": "Action", + "account": "Račun", + "action": "Radnja", "actions": "Akcije", "activity": "Log aktivnosti", "add": "Dodaj", "add-board": "Dodaj ploču", "add-description": "Dodaj opis", - "add-link": "Add link", + "add-link": "Dodaj link", "add-member": "Dodaj člana", - "add-pixel": "Add pixel", + "add-pixel": "Dodaj piksel", "add-step": "Dodaj korak", "add-website": "Dodaj web stranicu", "admin": "Administrator", @@ -18,13 +18,13 @@ "after": "Nakon", "all": "Sve", "all-time": "Cijelo vrijeme", - "analysis": "Analysis", + "analysis": "Analiza", "analytics": "Analitike", - "application": "Application", + "application": "Aplikacija", "apply": "Primijeni", "attribution": "Atribucija", "attribution-description": "Pogledajte kako korisnici komuniciraju s vašim marketingom i šta dovodi do konverzija.", - "audience": "Audience", + "audience": "Publika", "average": "Prosjek", "back": "Nazad", "before": "Prije", @@ -32,20 +32,20 @@ "boards": "Ploče", "bounce-rate": "Stopa napuštanja", "breakdown": "Pregled po kategorijama", - "browser": "Browser", + "browser": "Preglednik", "browsers": "Browseri", - "campaign": "Campaign", + "campaign": "Kampanja", "campaigns": "Kampanje", "cancel": "Otkaži", "change-password": "Promijeni šifru", - "channel": "Channel", + "channel": "Kanal", "channels": "Kanali", - "chart": "Chart", + "chart": "Grafikon", "cities": "Gradovi", "city": "Grad", "clear-all": "Očisti sve", "cohort": "Kohorta", - "cohorts": "Cohorts", + "cohorts": "Kohorte", "compare": "Uporedi", "compare-dates": "Uporedi datume", "confirm": "Potvrdi", @@ -65,12 +65,12 @@ "create-user": "Kreiraj korisnika", "created": "Kreiraj", "created-by": "Kreirao", - "criteria": "Criteria", + "criteria": "Kriteriji", "currency": "Valuta", "current": "Trenutno", "current-password": "Trenutna šifra", "custom-range": "Proizvoljni raspon", - "dashboard": "Dashboard", + "dashboard": "Nadzorna ploča", "data": "Podaci", "date": "Datum", "date-range": "Datumski raspon", @@ -83,19 +83,19 @@ "delete-website": "Izbriši web stranicu", "description": "Opis", "desktop": "Desktop", - "destination-url": "Destination URL", + "destination-url": "Odredišni URL", "details": "Detalji", "device": "Uređaj", "devices": "Uređaji", "direct": "Direktno", "dismiss": "Odbaci", "distinct-id": "Jedinstveni ID", - "documentation": "Documentation", + "documentation": "Dokumentacija", "does-not-contain": "Ne sadrži", "does-not-include": "Ne uključuje", "doest-not-exist": "Ne postoji", "domain": "Domena", - "download": "Download", + "download": "Preuzmi", "dropoff": "Odlazak", "edit": "Uredi", "edit-dashboard": "Uredi dashboard", @@ -104,12 +104,12 @@ "enable-share-url": "Omogući URL za dijeljenje", "end-step": "Završni korak", "entry": "URL ulaza", - "environment": "Environment", + "environment": "Okruženje", "event": "Događaj", "event-data": "Podaci o događaju", "event-name": "Naziv događaja", "events": "Događaji", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Isključi odbijanja", "exists": "Postoji", "exit": "Exit URL", "false": "Ne", @@ -130,14 +130,14 @@ "greater-than": "Veće od", "greater-than-equals": "Veće od ili jednako", "grouped": "Grupisano", - "growth": "Growth", + "growth": "Rast", "hostname": "Naziv hosta", - "hour": "Hour", + "hour": "Sat", "includes": "Uključuje", "insight": "Uvid", "insights": "Uvidi", "insights-description": "Zaronite dublje u vaše podatke korištenjem segmenata i filtera", - "invalid-url": "Invalid URL", + "invalid-url": "Nevažeći URL", "is": "Jeste", "is-false": "Nije tačno", "is-not": "Nije", @@ -156,28 +156,28 @@ "last-days": "Zadnjih {x} dana", "last-hours": "Zadnjih {x} sati", "last-months": "Zadnjih {x} mjeseci", - "last-seen": "Last seen", + "last-seen": "Zadnji put viđen", "leave": "Napusti", "leave-team": "Napusti tim", "less-than": "Manje od", "less-than-equals": "Manje od ili jednako", "link": "Link", "links": "Linkovi", - "location": "Location", - "login": "Login", - "logout": "Logout", - "manage": "Manage", + "location": "Lokacija", + "login": "Prijava", + "logout": "Odjava", + "manage": "Upravljaj", "manager": "Menadžer", - "max": "Max", + "max": "Maks", "maximize": "Proširi", "medium": "Srednje", "member": "Član", "members": "Članovi", "min": "Min", - "minute": "Minute", - "mobile": "Mobile", + "minute": "Minuta", + "mobile": "Mobilni", "model": "Model", - "month": "Month", + "month": "Mjesec", "more": "Više", "my-account": "Moj račun", "my-websites": "Moje web stranice", @@ -185,8 +185,8 @@ "new-password": "Nova šifra", "none": "Nijedno", "number-of-records": "{x} {x, plural, one {zapis} other {zapisa}}", - "ok": "OK", - "online": "Online", + "ok": "U redu", + "online": "Na mreži", "organic-search": "Organska pretraga", "organic-shopping": "Organska kupovina", "organic-social": "Organske društvene mreže", @@ -208,15 +208,15 @@ "password": "Šifra", "path": "Putanja", "paths": "Putanje", - "pixel": "Pixel", + "pixel": "Piksel", "pixels": "Pikseli", "powered-by": "Omogućeno s {name}", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "preferences": "Postavke", + "previous": "Prethodno", + "previous-period": "Prethodni period", + "previous-year": "Prethodna godina", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profili", "properties": "Svojstva", "property": "Svojstvo", "queries": "Upiti", @@ -228,7 +228,7 @@ "referrers": "Preporučioci", "refresh": "Osvježi", "regenerate": "Regeneriši", - "region": "Region", + "region": "Regija", "regions": "Regioni", "remaining": "Preostalo", "remove": "Ukloni", @@ -244,13 +244,13 @@ "role": "Rola", "run-query": "Pokreni query", "save": "Sačuvaj", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Spremi kohortu", + "save-segment": "Spremi segment", + "screen": "Ekran", "screens": "Ekrani", "search": "Traži", "segment": "Segment", - "segments": "Segments", + "segments": "Segmenti", "select": "Odaberi", "select-date": "Odaberi datum", "select-filter": "Odaberi filter", @@ -264,14 +264,14 @@ "share-url": "URL za dijeljenje", "single-day": "Jedan dan", "sms": "SMS", - "source": "Source", + "source": "Izvor", "sources": "Izvori", "start-step": "Početni korak", "steps": "Koraci", "sum": "Suma", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Podrška", + "switch-account": "Promijeni račun", + "table": "Tabela", "tablet": "Tablet", "tag": "Oznaka", "tags": "Oznake", @@ -285,7 +285,7 @@ "team-view-only": "Samo tim može vidjeti", "team-websites": "Timske web stranice", "teams": "Timovi", - "term": "Term", + "term": "Pojam pretrage", "terms": "Pojmovi", "theme": "Teme", "this-month": "Ovaj mjesec", @@ -298,32 +298,32 @@ "total": "Ukupno", "total-records": "Ukupno redova", "tracking-code": "Kod za praćenje", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", + "traffic": "Promet", + "transactions": "Transakcije", + "transfer": "Prenesi", "transfer-website": "Transfer web stranice", "true": "Da", "type": "Tip", "unique": "Jedinstveno", - "unique-events": "Unique events", + "unique-events": "Jedinstveni događaji", "unique-visitors": "Jedinstvenih posjetitelja", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Jedinstveni kupci", "unknown": "Nepoznato", "untitled": "Bezimeno", - "update": "Update", + "update": "Ažuriraj", "url": "URL", "user": "Korisnik", "username": "Korisničko ime", "users": "Korisnici", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM kampanja", + "utm-content": "UTM sadržaj", "utm-description": "Pratite vaše kampanje kroz UTM parametre.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM medij", + "utm-source": "UTM izvor", + "utm-term": "UTM pojam", "value": "Vrijednost", - "version": "Version", + "version": "Verzija", "view": "Pregled", "view-details": "Pogledaj detalje", "view-only": "Samo gledanje", @@ -341,8 +341,8 @@ "message": { "action-confirmation": "Unesite {confirmation} ispod da potvrdite.", "active-users": "{x} trenutno {x, plural, one {posjetitelj} other {posjetitelja}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Neispravan zahtjev", + "collected-data": "Prikupljeni podaci", "confirm-delete": "Jeste li sigurni da želite obrisati {target}?", "confirm-leave": "Jeste li sigurni da želite napustiti {target}?", "confirm-remove": "Jeste li sigurni da želite ukloniti {target}?", @@ -351,7 +351,7 @@ "delete-website-warning": "Svi podaci web stranice biće obrisani.", "error": "Nešto je pošlo po zlu.", "event-log": "{event} na {url}", - "forbidden": "Forbidden", + "forbidden": "Zabranjeno", "go-to-settings": "Idi na postavke", "incorrect-username-password": "Pogrešno korisničko ime i/ili šifra.", "invalid-domain": "Nevalidna domena. Ne uključujte http/https.", @@ -365,13 +365,13 @@ "no-teams": "Niste kreirali nijedan tim.", "no-users": "Nema nikakvih korisnika.", "no-websites-configured": "Nemate iskonfigurisanu nijednu web stranicu.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Nije pronađeno", + "nothing-selected": "Ništa nije odabrano.", "page-not-found": "Stranica nije pronađena", "reset-website": "Da resetujete ovu web stranicu, upišite {confirmation} dole da potvrdite.", "reset-website-warning": "Sve statistike o ovoj web stranici će biti obrisane, ali vaše postavke neće biti dirane.", "saved": "Sačuvano.", - "sever-error": "Server error", + "sever-error": "Greška servera", "share-url": "Statistike vaše web stranice su javno dostupne na sljedećem URLu:", "team-already-member": "Već ste član tima.", "team-not-found": "Tim nije pronađen.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Odaberite tim u koji želite prebaciti ovu web stranicu.", "transfer-website": "Prebacite vlasništvo web stranice na vaš račun ili drugi tim.", "triggered-event": "Trigerovani događaj", - "unauthorized": "Unauthorized", + "unauthorized": "Neautorizirano", "user-deleted": "Korisnik obrisan.", "viewed-page": "Pogledana stranica", "visitor-log": "Posjetitelj iz {country} koristi {browser} na {os} {device}" diff --git a/public/intl/messages/ca-ES.json b/public/intl/messages/ca-ES.json index 0e50da6a1..367f51a50 100644 --- a/public/intl/messages/ca-ES.json +++ b/public/intl/messages/ca-ES.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Codi d'accés", - "account": "Account", - "action": "Action", + "account": "Compte", + "action": "Acció", "actions": "Accions", "activity": "Registre d'activitat", "add": "Afegir", "add-board": "Afegir tauler", "add-description": "Afegir descripció", - "add-link": "Add link", + "add-link": "Afegir enllaç", "add-member": "Afegir membre", - "add-pixel": "Add pixel", + "add-pixel": "Afegir píxel", "add-step": "Afegir pas", "add-website": "Afegir lloc web", "admin": "Administrador", @@ -18,13 +18,13 @@ "after": "Després", "all": "Tots", "all-time": "Sempre", - "analysis": "Analysis", + "analysis": "Anàlisi", "analytics": "Analítiques", - "application": "Application", + "application": "Aplicació", "apply": "Aplica", "attribution": "Atribució", "attribution-description": "Vegeu com els usuaris interactuen amb el vostre màrqueting i què impulsa les conversions.", - "audience": "Audience", + "audience": "Audiència", "average": "Mitjana", "back": "Enrere", "before": "Abans", @@ -34,13 +34,13 @@ "breakdown": "Desglossament", "browser": "Navegador", "browsers": "Navegadors", - "campaign": "Campaign", + "campaign": "Campanya", "campaigns": "Campanyes", "cancel": "Cancel·la", "change-password": "Canvia la contrasenya", - "channel": "Channel", + "channel": "Canal", "channels": "Canals", - "chart": "Chart", + "chart": "Gràfic", "cities": "Ciutats", "city": "Ciutat", "clear-all": "Netejar tot", @@ -65,7 +65,7 @@ "create-user": "Crear usuari", "created": "Creat", "created-by": "Creat Per", - "criteria": "Criteria", + "criteria": "Criteris", "currency": "Moneda", "current": "Actual", "current-password": "Contrasenya actual", @@ -83,33 +83,33 @@ "delete-website": "Esborra el lloc web", "description": "Descripció", "desktop": "Escriptori", - "destination-url": "Destination URL", + "destination-url": "URL de destinació", "details": "Detalls", "device": "Dispositiu", "devices": "Dispositius", "direct": "Directe", "dismiss": "Descarta", "distinct-id": "ID distintiu", - "documentation": "Documentation", + "documentation": "Documentació", "does-not-contain": "No conté", "does-not-include": "No inclou", "doest-not-exist": "No existeix", "domain": "Domini", - "download": "Download", + "download": "Descarregar", "dropoff": "Abandonament", "edit": "Edita", "edit-dashboard": "Edita panell", "edit-member": "Edita membre", - "email": "Email", + "email": "Correu electrònic", "enable-share-url": "Activa l'enllaç per compartir", "end-step": "Pas Final", "entry": "URL d'entrada", - "environment": "Environment", + "environment": "Entorn", "event": "Esdeveniment", "event-data": "Dades de l'esdeveniment", "event-name": "Nom de l'esdeveniment", "events": "Esdeveniments", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Excloure rebot", "exists": "Existeix", "exit": "URL de sortida", "false": "Fals", @@ -130,14 +130,14 @@ "greater-than": "Més gran que", "greater-than-equals": "Més gran que o igual a", "grouped": "Agrupat", - "growth": "Growth", + "growth": "Creixement", "hostname": "Nom de host", - "hour": "Hour", + "hour": "Hora", "includes": "Inclou", "insight": "Visió", "insights": "Insights", "insights-description": "Aprofundeixi en les seves dades mitjançant l'ús de segments i filtres.", - "invalid-url": "Invalid URL", + "invalid-url": "URL no vàlida", "is": "És igual a", "is-false": "És fals", "is-not": "No és igual a", @@ -161,9 +161,9 @@ "leave-team": "Abandonar equip", "less-than": "Menor que", "less-than-equals": "Menor que o igual a", - "link": "Link", + "link": "Enllaç", "links": "Enllaços", - "location": "Location", + "location": "Ubicació", "login": "Connecta't", "logout": "Desconnecta't", "manage": "Administrar", @@ -174,10 +174,10 @@ "member": "Membre", "members": "Membres", "min": "Mín", - "minute": "Minute", + "minute": "Minut", "mobile": "Mòbil", "model": "Model", - "month": "Month", + "month": "Mes", "more": "Més", "my-account": "El meu compte", "my-websites": "Els meus llocs web", @@ -185,8 +185,8 @@ "new-password": "Contrasenya nova", "none": "Cap", "number-of-records": "{x} {x, plural, one {registre} other {registres}}", - "ok": "OK", - "online": "Online", + "ok": "D'acord", + "online": "En línia", "organic-search": "Cerca orgànica", "organic-shopping": "Compra orgànica", "organic-social": "Social orgànic", @@ -208,15 +208,15 @@ "password": "Contrasenya", "path": "Camí", "paths": "Camins", - "pixel": "Pixel", - "pixels": "Pixels", + "pixel": "Píxel", + "pixels": "Píxels", "powered-by": "Funciona amb {name}", - "preferences": "Preferences", + "preferences": "Preferències", "previous": "Anterior", "previous-period": "Període anterior", "previous-year": "Any anterior", "profile": "Perfil", - "profiles": "Profiles", + "profiles": "Perfils", "properties": "Propietats", "property": "Propietat", "queries": "Consultes", @@ -244,9 +244,9 @@ "role": "Rol", "run-query": "Executar consulta", "save": "Desa", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Desar cohort", + "save-segment": "Desar segment", + "screen": "Pantalla", "screens": "Pantalles", "search": "Buscar", "segment": "Segment", @@ -264,14 +264,14 @@ "share-url": "Enllaç per compartir", "single-day": "Un sol dia", "sms": "SMS", - "source": "Source", + "source": "Font", "sources": "Fonts", "start-step": "Pas inicial", "steps": "Pasos", "sum": "Suma", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Suport", + "switch-account": "Canviar de compte", + "table": "Taula", "tablet": "Tauleta", "tag": "Etiqueta", "tags": "Etiquetes", @@ -285,7 +285,7 @@ "team-view-only": "Vista només de l'equip", "team-websites": "Llocs web de l'equip", "teams": "Equips", - "term": "Term", + "term": "Terme", "terms": "Termes", "theme": "Tema", "this-month": "Aquest mes", @@ -298,14 +298,14 @@ "total": "Total", "total-records": "Total de registres", "tracking-code": "Codi de seguiment", - "traffic": "Traffic", + "traffic": "Trànsit", "transactions": "Transaccions", "transfer": "Transferir", "transfer-website": "Transferir lloc web", "true": "Cert", "type": "Tipus", "unique": "Únic", - "unique-events": "Unique events", + "unique-events": "Esdeveniments únics", "unique-visitors": "Visitants únics", "uniqueCustomers": "Clients Únics", "unknown": "Desconegut", @@ -316,14 +316,14 @@ "username": "Nom d'usuari", "users": "Usuaris", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM Campanya", + "utm-content": "UTM Contingut", "utm-description": "Rastreji les seves campanyes a través de paràmetres UTM.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM Mitjà", + "utm-source": "UTM Font", + "utm-term": "UTM Terme", "value": "Valor", - "version": "Version", + "version": "Versió", "view": "Visualitzar", "view-details": "Veure els detalls", "view-only": "Només veure", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "Escrigui {confirmation} al cuadre inferior per confirmar.", "active-users": "{x} {x, plural, one {visitant actual} other {visitants actuals}}", - "bad-request": "Bad request", + "bad-request": "Sol·licitud incorrecta", "collected-data": "Dades recol·lectades", "confirm-delete": "Segur que vol esborrar {target}?", "confirm-leave": "Segur que vol abandonar {target}?", @@ -351,7 +351,7 @@ "delete-website-warning": "També s'esborraran totes les dades relacionades.", "error": "S'ha produït un error.", "event-log": "{event} a {url}", - "forbidden": "Forbidden", + "forbidden": "Prohibit", "go-to-settings": "Vés a la configuració", "incorrect-username-password": "Nom d'usuari o contrasenya incorrectes.", "invalid-domain": "Domini invàlid", @@ -365,13 +365,13 @@ "no-teams": "No ha creat cap equip.", "no-users": "No hi ha cap usuari.", "no-websites-configured": "No hi ha cap lloc web configurat.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "No trobat", + "nothing-selected": "Res seleccionat.", "page-not-found": "No s'ha trobat la pàgina.", "reset-website": "Per restablir aquest lloc web, escrigui {confirmation} al cuadre inferior per confirmar.", "reset-website-warning": "S'esborraran totes les estadístiques per aquest lloc web, però el codi de seguiment es mantindrà.", "saved": "S'ha desat amb èxit.", - "sever-error": "Server error", + "sever-error": "Error del servidor", "share-url": "Aquest és l'enllaç públic per compartir de {target}.", "team-already-member": "Ja és membre d'aquest equip.", "team-not-found": "Equip no trobat.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Seleccioni l'equip al qui transferir aquest lloc web.", "transfer-website": "Transferir la propietat del lloc web al seu compte o a un altre equip.", "triggered-event": "Esdeveniment desencadenat", - "unauthorized": "Unauthorized", + "unauthorized": "No autoritzat", "user-deleted": "Usuari eliminat.", "viewed-page": "Pàgina vista", "visitor-log": "Visitant de {country} usant {browser} a {os} {device}" diff --git a/public/intl/messages/cs-CZ.json b/public/intl/messages/cs-CZ.json index 276247e65..966f37a8a 100644 --- a/public/intl/messages/cs-CZ.json +++ b/public/intl/messages/cs-CZ.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Přístupový kód", - "account": "Account", - "action": "Action", + "account": "Účet", + "action": "Akce", "actions": "Akce", "activity": "Log aktivity", "add": "Přidat", "add-board": "Přidat nástěnku", "add-description": "Přidat popis", - "add-link": "Add link", + "add-link": "Přidat odkaz", "add-member": "Přidat člena", - "add-pixel": "Add pixel", + "add-pixel": "Přidat pixel", "add-step": "Přidat krok", "add-website": "Přidat web", "admin": "Administrátor", @@ -18,13 +18,13 @@ "after": "Po", "all": "Vše", "all-time": "Celá doba", - "analysis": "Analysis", + "analysis": "Analýza", "analytics": "Analytika", - "application": "Application", + "application": "Aplikace", "apply": "Použít", "attribution": "Atribuce", "attribution-description": "Podívejte se, jak uživatelé interagují s vaším marketingem a co vede ke konverzím.", - "audience": "Audience", + "audience": "Publikum", "average": "Průměr", "back": "Zpět", "before": "Před", @@ -34,18 +34,18 @@ "breakdown": "Rozpis", "browser": "Prohlížeč", "browsers": "Prohlížeče", - "campaign": "Campaign", + "campaign": "Kampaň", "campaigns": "Kampaně", "cancel": "Zrušit", "change-password": "Změnit heslo", - "channel": "Channel", + "channel": "Kanál", "channels": "Kanály", - "chart": "Chart", + "chart": "Graf", "cities": "Města", "city": "Město", "clear-all": "Vyčistit vše", "cohort": "Kohorta", - "cohorts": "Cohorts", + "cohorts": "Kohorty", "compare": "Porovnat", "compare-dates": "Porovnat data", "confirm": "Potvrdit", @@ -64,8 +64,8 @@ "create-team": "Vytvořit tým", "create-user": "Vytvořit uživatele", "created": "Vytvořeno", - "created-by": "Created By", - "criteria": "Criteria", + "created-by": "Vytvořil", + "criteria": "Kritéria", "currency": "Měna", "current": "Aktuální", "current-password": "Aktuální heslo", @@ -83,19 +83,19 @@ "delete-website": "Smazat web", "description": "Popis", "desktop": "Stolní počítač", - "destination-url": "Destination URL", + "destination-url": "Cílová URL", "details": "Detaily", "device": "Zařízení", "devices": "Zařízení", "direct": "Přímý", "dismiss": "Odejít", "distinct-id": "Jedinečné ID", - "documentation": "Documentation", + "documentation": "Dokumentace", "does-not-contain": "Neobsahuje", "does-not-include": "Nezahrnuje", "doest-not-exist": "Neexistuje", "domain": "Doména", - "download": "Download", + "download": "Stáhnout", "dropoff": "Opuštění", "edit": "Upravit", "edit-dashboard": "Upravit dashboard", @@ -104,12 +104,12 @@ "enable-share-url": "Povolit sdílení URL", "end-step": "Konečný krok", "entry": "Vstupní URL", - "environment": "Environment", + "environment": "Prostředí", "event": "Událost", "event-data": "Data události", "event-name": "Název události", "events": "Události", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Vyloučit odmítnutí", "exists": "Existuje", "exit": "Exit URL", "false": "Nepravda", @@ -122,22 +122,22 @@ "first-click": "První kliknutí", "first-seen": "Poprvé viděno", "funnel": "Trychtýř", - "funnel-description": "Understand the conversion and drop-off rate of users.", + "funnel-description": "Pochopte konverzní poměr a míru opuštění uživatelů.", "funnels": "Trychtýře", "goal": "Cíl", "goals": "Cíle", - "goals-description": "Track your goals for pageviews and events.", + "goals-description": "Sledujte své cíle pro zobrazení stránek a události.", "greater-than": "Větší než", "greater-than-equals": "Větší nebo rovno", "grouped": "Seskupeno", - "growth": "Growth", + "growth": "Růst", "hostname": "Název hostitele", - "hour": "Hour", + "hour": "Hodina", "includes": "Zahrnuje", "insight": "Pohled", "insights": "Pohledy", "insights-description": "Ponořte se hlouběji do svých dat pomocí segmentů a filtrů.", - "invalid-url": "Invalid URL", + "invalid-url": "Neplatná URL", "is": "Je", "is-false": "Nepravda", "is-not": "Není", @@ -156,14 +156,14 @@ "last-days": "Posledních {x} dnů", "last-hours": "Posledních {x} hodin", "last-months": "Posledních {x} měsíců", - "last-seen": "Last seen", + "last-seen": "Naposledy viděn", "leave": "Opustit", "leave-team": "Opustit tým", "less-than": "Méně než", "less-than-equals": "Méně nebo rovno", - "link": "Link", + "link": "Odkaz", "links": "Odkazy", - "location": "Location", + "location": "Umístění", "login": "Přihlásit", "logout": "Odhlásit", "manage": "Spravovat", @@ -174,10 +174,10 @@ "member": "Člen", "members": "Členové", "min": "Min", - "minute": "Minute", + "minute": "Minuta", "mobile": "Mobilní telefon", "model": "Model", - "month": "Month", + "month": "Měsíc", "more": "Více", "my-account": "Můj účet", "my-websites": "Mé weby", @@ -211,12 +211,12 @@ "pixel": "Pixel", "pixels": "Pixely", "powered-by": "Běží na {name}", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "preferences": "Předvolby", + "previous": "Předchozí", + "previous-period": "Předchozí období", + "previous-year": "Předchozí rok", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profily", "properties": "Vlastnosti", "property": "Vlastnost", "queries": "Dotazy", @@ -244,13 +244,13 @@ "role": "Role", "run-query": "Spustit dotaz", "save": "Uložit", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Uložit kohortu", + "save-segment": "Uložit segment", + "screen": "Obrazovka", "screens": "Obrazovky", "search": "Hledat", "segment": "Segment", - "segments": "Segments", + "segments": "Segmenty", "select": "Vybrat", "select-date": "Vybrat datum", "select-filter": "Vybrat filtr", @@ -264,14 +264,14 @@ "share-url": "URL pro sdílení", "single-day": "Jeden den", "sms": "SMS", - "source": "Source", + "source": "Zdroj", "sources": "Zdroje", "start-step": "Počáteční krok", "steps": "Kroky", "sum": "Součet", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Podpora", + "switch-account": "Přepnout účet", + "table": "Tabulka", "tablet": "Tablet", "tag": "Štítek", "tags": "Štítky", @@ -285,105 +285,105 @@ "team-view-only": "Pouze pro zobrazení týmu", "team-websites": "Weby týmu", "teams": "Týmy", - "term": "Term", + "term": "Hledaný výraz", "terms": "Termíny", "theme": "Téma", "this-month": "Tento měsíc", "this-week": "Tento týden", "this-year": "Tento rok", "timezone": "Časová zóna", - "title": "Title", + "title": "Název", "today": "Dnes", - "toggle-charts": "Toggle charts", - "total": "Total", - "total-records": "Total records", + "toggle-charts": "Přepnout grafy", + "total": "Celkem", + "total-records": "Celkem záznamů", "tracking-code": "Sledovací kód", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "Provoz", + "transactions": "Transakce", + "transfer": "Přenést", + "transfer-website": "Přenést web", + "true": "Pravda", + "type": "Typ", + "unique": "Unikátní", + "unique-events": "Unikátní události", "unique-visitors": "Jedinečné návštěvy", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Unikátní zákazníci", "unknown": "Neznámý", - "untitled": "Untitled", - "update": "Update", + "untitled": "Bez názvu", + "update": "Aktualizovat", "url": "URL", - "user": "User", + "user": "Uživatel", "username": "Uživatelské jméno", - "users": "Users", + "users": "Uživatelé", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-campaign": "UTM kampaň", + "utm-content": "UTM obsah", + "utm-description": "Sledujte své kampaně pomocí UTM parametrů.", + "utm-medium": "UTM médium", + "utm-source": "UTM zdroj", + "utm-term": "UTM výraz", + "value": "Hodnota", + "version": "Verze", + "view": "Zobrazit", "view-details": "Zobrazit detaily", - "view-only": "View only", + "view-only": "Pouze zobrazení", "views": "Zobrazení", - "views-per-visit": "Views per visit", + "views-per-visit": "Zobrazení na návštěvu", "visit-duration": "Průměrný čas návštěvy", "visitors": "Návštěvníci", "visits": "Návštěvy", - "website": "Website", - "website-id": "Website ID", + "website": "Web", + "website-id": "ID webu", "websites": "Weby", "window": "Okno", "yesterday": "Včera" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "Zadejte {confirmation} do pole níže pro potvrzení.", "active-users": "{x} aktuálně {x, plural, one {návštěvník} other {návštěvníci}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Neplatný požadavek", + "collected-data": "Shromážděná data", "confirm-delete": "Opravdu smazat {target}?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "Opravdu chcete opustit {target}?", + "confirm-remove": "Opravdu chcete odebrat {target}?", "confirm-reset": "Are your sure you want to reset {target}'s statistics?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "Smazání týmu smaže také všechny weby týmu.", "delete-website-warning": "Všechna související data budou také smazána.", "error": "Něco se pokazilo.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} na {url}", + "forbidden": "Zakázáno", "go-to-settings": "Jít do nastavení", "incorrect-username-password": "Nesprávné jméno/heslo.", "invalid-domain": "Neplatná doména", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "Minimální délka {n} znaků", + "new-version-available": "Je k dispozici nová verze Umami {version}!", "no-data-available": "Žádná data.", - "no-event-data": "No event data is available.", + "no-event-data": "Nejsou k dispozici žádná data o událostech.", "no-match-password": "Hesla se neschodují", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "Tento tým nemá žádné weby.", + "no-teams": "Nevytvořili jste žádné týmy.", + "no-users": "Nejsou žádní uživatelé.", "no-websites-configured": "Nemáte nastavený žádný web.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Nenalezeno", + "nothing-selected": "Nic není vybráno.", "page-not-found": "Stránka nenalezena.", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "Pro resetování tohoto webu zadejte {confirmation} do pole níže.", "reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", "saved": "Úspěšně uloženo.", - "sever-error": "Server error", + "sever-error": "Chyba serveru", "share-url": "Toto je sdílené URL pro {target}.", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "Již jste členem tohoto týmu.", + "team-not-found": "Tým nenalezen.", + "team-websites-info": "Weby si může prohlédnout kdokoli z týmu.", "tracking-code": "Sledovací kód", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "transfer-team-website-to-user": "Přenést tento web na váš účet?", + "transfer-user-website-to-team": "Vyberte tým, na který chcete tento web přenést.", + "transfer-website": "Přeneste vlastnictví webu na svůj účet nebo jiný tým.", + "triggered-event": "Spuštěná událost", + "unauthorized": "Neautorizováno", + "user-deleted": "Uživatel smazán.", + "viewed-page": "Zobrazená stránka", "visitor-log": "Návštěvník z {country} s prohlížečem {browser} na {os} {device}" } } diff --git a/public/intl/messages/da-DK.json b/public/intl/messages/da-DK.json index 8ab9bf1fe..7c753875e 100644 --- a/public/intl/messages/da-DK.json +++ b/public/intl/messages/da-DK.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Adgangskode", - "account": "Account", - "action": "Action", + "account": "Konto", + "action": "Handling", "actions": "Handlinger", "activity": "Aktivitetslog", "add": "Tilføj", "add-board": "Tilføj tavle", "add-description": "Tilføj beskrivelse", - "add-link": "Add link", + "add-link": "Tilføj link", "add-member": "Tilføj medlem", - "add-pixel": "Add pixel", + "add-pixel": "Tilføj pixel", "add-step": "Tilføj trin", "add-website": "Tilføj hjemmeside", "admin": "Administrator", @@ -18,13 +18,13 @@ "after": "Efter", "all": "Alle", "all-time": "Altid", - "analysis": "Analysis", + "analysis": "Analyse", "analytics": "Analyser", - "application": "Application", + "application": "Applikation", "apply": "Anvend", "attribution": "Attribuering", "attribution-description": "Se, hvordan brugere interagerer med din markedsføring, og hvad der driver konverteringer.", - "audience": "Audience", + "audience": "Målgruppe", "average": "Gennemsnit", "back": "Tilbage", "before": "Før", @@ -34,23 +34,23 @@ "breakdown": "Opdeling", "browser": "Browser", "browsers": "Browsere", - "campaign": "Campaign", + "campaign": "Kampagne", "campaigns": "Kampagner", "cancel": "Afvis", "change-password": "Skift adgangskode", - "channel": "Channel", + "channel": "Kanal", "channels": "Kanaler", - "chart": "Chart", + "chart": "Diagram", "cities": "Byer", "city": "By", "clear-all": "Ryd alt", "cohort": "Kohorte", - "cohorts": "Cohorts", + "cohorts": "Kohorter", "compare": "Sammenlign", "compare-dates": "Sammenlign datoer", "confirm": "Bekræft", "confirm-password": "Godkendt adgangskode", - "contains": "Contains", + "contains": "Indeholder", "content": "Indhold", "continue": "Fortsæt", "conversion": "Konvertering", @@ -65,7 +65,7 @@ "create-user": "Opret bruger", "created": "Oprettet", "created-by": "Oprettet af", - "criteria": "Criteria", + "criteria": "Kriterier", "currency": "Valuta", "current": "Nuværende", "current-password": "Nuværende adgangskode", @@ -83,14 +83,14 @@ "delete-website": "Slet hjemmeside", "description": "Beskrivelse", "desktop": "Skrivebord", - "destination-url": "Destination URL", + "destination-url": "Destinations-URL", "details": "Detaljer", "device": "Enhed", "devices": "Enheder", "direct": "Direkte", "dismiss": "Afvis", "distinct-id": "Unikt ID", - "documentation": "Documentation", + "documentation": "Dokumentation", "does-not-contain": "Indeholder ikke", "does-not-include": "Inkluderer ikke", "doest-not-exist": "Findes ikke", @@ -104,12 +104,12 @@ "enable-share-url": "Aktivér delings-URL", "end-step": "Sluttrin", "entry": "Indgangs-URL", - "environment": "Environment", + "environment": "Miljø", "event": "Hændelse", "event-data": "Hændelsesdata", "event-name": "Hændelsesnavn", "events": "Hændelser", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Ekskluder afvisning", "exists": "Findes", "exit": "Udgangs-URL", "false": "Falsk", @@ -130,14 +130,14 @@ "greater-than": "Større end", "greater-than-equals": "Større end eller lig med", "grouped": "Gruperet", - "growth": "Growth", + "growth": "Vækst", "hostname": "Værtsnavn", - "hour": "Hour", + "hour": "Time", "includes": "Inkluderer", "insight": "Indsigt", "insights": "Indsigter", "insights-description": "Dyk dybere ned i dine data ved at bruge segmenter og filtre.", - "invalid-url": "Invalid URL", + "invalid-url": "Ugyldig URL", "is": "Er", "is-false": "Er falsk", "is-not": "Er ikke", @@ -163,21 +163,21 @@ "less-than-equals": "Mindre end eller lig med", "link": "Link", "links": "Links", - "location": "Location", + "location": "Placering", "login": "Log ind", "logout": "Log ud", "manage": "Administrer", "manager": "Leder", "max": "Maks", "maximize": "Udvid", - "medium": "Medium", + "medium": "Medie", "member": "Medlem", "members": "Medlemmer", "min": "Min", - "minute": "Minute", + "minute": "Minut", "mobile": "Mobil", "model": "Model", - "month": "Month", + "month": "Måned", "more": "Mere", "my-account": "Min konto", "my-websites": "Mine hjemmesider", @@ -211,12 +211,12 @@ "pixel": "Pixel", "pixels": "Pixels", "powered-by": "Drevet af {name}", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "preferences": "Præferencer", + "previous": "Forrige", + "previous-period": "Forrige periode", + "previous-year": "Forrige år", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profiler", "properties": "Egenskaber", "property": "Egenskab", "queries": "Forespørgsler", @@ -244,13 +244,13 @@ "role": "Rolle", "run-query": "Kør forespørgsel", "save": "Gem", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Gem kohorte", + "save-segment": "Gem segment", + "screen": "Skærm", "screens": "Skærme", "search": "Søg", "segment": "Segment", - "segments": "Segments", + "segments": "Segmenter", "select": "Vælg", "select-date": "Vælg dato", "select-filter": "Vælg filter", @@ -264,19 +264,19 @@ "share-url": "Del URL", "single-day": "Enkelt dag", "sms": "SMS", - "source": "Source", + "source": "Kilde", "sources": "Kilder", "start-step": "Starttrin", "steps": "Trin", "sum": "Sum", "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "switch-account": "Skift konto", + "table": "Tabel", "tablet": "Tablet", "tag": "Tag", "tags": "Tags", - "team": "Team", - "team-id": "Team ID", + "team": "Hold", + "team-id": "Hold-ID", "team-manager": "Teamleder", "team-member": "Teammedlem", "team-name": "Teamnavn", @@ -284,106 +284,106 @@ "team-settings": "Teamindstillinger", "team-view-only": "Kun visning af team", "team-websites": "Teamets hjemmesider", - "teams": "Teams", - "term": "Term", + "teams": "Hold", + "term": "Søgeord", "terms": "Vilkår", "theme": "Tema", "this-month": "Denne måned", "this-week": "Denne uge", "this-year": "Dette år", "timezone": "Tidszone", - "title": "Title", + "title": "Titel", "today": "Idag", "toggle-charts": "Ændre graf", "total": "Total", - "total-records": "Total records", + "total-records": "Samlede poster", "tracking-code": "Sporingskode", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", + "traffic": "Trafik", + "transactions": "Transaktioner", + "transfer": "Overfør", + "transfer-website": "Overfør website", + "true": "Sand", "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "unique": "Unik", + "unique-events": "Unikke begivenheder", "unique-visitors": "Unikke besøgende", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Unikke kunder", "unknown": "Ukendt", - "untitled": "Untitled", - "update": "Update", + "untitled": "Uden titel", + "update": "Opdater", "url": "URL", - "user": "User", + "user": "Bruger", "username": "Brugernavn", - "users": "Users", + "users": "Brugere", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", + "utm-campaign": "UTM-kampagne", + "utm-content": "UTM-indhold", + "utm-description": "Spor dine kampagner via UTM-parametre.", + "utm-medium": "UTM-medie", + "utm-source": "UTM-kilde", + "utm-term": "UTM-søgeord", + "value": "Værdi", "version": "Version", - "view": "View", + "view": "Vis", "view-details": "Vis detajler", - "view-only": "View only", + "view-only": "Kun visning", "views": "Visninger", - "views-per-visit": "Views per visit", + "views-per-visit": "Visninger per besøg", "visit-duration": "Gennemsnitlig besøgstid", "visitors": "Besøgende", - "visits": "Visits", + "visits": "Besøg", "website": "Website", - "website-id": "Website ID", + "website-id": "Website-ID", "websites": "Hjemmesider", - "window": "Window", - "yesterday": "Yesterday" + "window": "Vindue", + "yesterday": "I går" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "Skriv {confirmation} i feltet herunder for at bekræfte.", "active-users": "{x} nuværende {x, plural, one {bruger} other {brugere}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Ugyldig forespørgsel", + "collected-data": "Indsamlede data", "confirm-delete": "Er du sikker på at du vil slette {target}?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "Er du sikker på, at du vil forlade {target}?", + "confirm-remove": "Er du sikker på, at du vil fjerne {target}?", "confirm-reset": "Er du sikker på at du ville nulstille {target}'s statistikker?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "Sletning af et hold sletter også alle holdets websites.", "delete-website-warning": "Alle tilknyttede data slettes også.", "error": "Noget gik galt.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event}{url}", + "forbidden": "Forbudt", "go-to-settings": "Gå til betjeningspanel", "incorrect-username-password": "Ugyldigt brugernavn/adgangskode.", "invalid-domain": "Ugyldigt domæne", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "Minimumlængde på {n} tegn", + "new-version-available": "En ny version af Umami {version} er tilgængelig!", "no-data-available": "Ingen data tilgængelig.", - "no-event-data": "No event data is available.", + "no-event-data": "Ingen begivenhedsdata tilgængelig.", "no-match-password": "Adgangskoderne matcher ikke", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "Dette hold har ingen websites.", + "no-teams": "Du har ikke oprettet nogen hold.", + "no-users": "Der er ingen brugere.", "no-websites-configured": "Du har ikke konfigureret nogen hjemmesider.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Ikke fundet", + "nothing-selected": "Intet valgt.", "page-not-found": "Side ikke fundet.", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "For at nulstille denne website, skriv {confirmation} i feltet herunder for at bekræfte.", "reset-website-warning": "Alle statistikker for denne hjemmeside ville blive slettet, men sporingskode ville forblive intakt.", "saved": "Gemt!", - "sever-error": "Server error", + "sever-error": "Serverfejl", "share-url": "Dette er den offentlige delings-URL til {target}.", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "Du er allerede medlem af holdet.", + "team-not-found": "Hold ikke fundet.", + "team-websites-info": "Websites kan ses af alle på holdet.", "tracking-code": "Sporingskode", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "transfer-team-website-to-user": "Overfør denne website til din konto?", + "transfer-user-website-to-team": "Vælg holdet, som denne website skal overføres til.", + "transfer-website": "Overfør websiteejerskab til din konto eller et andet hold.", + "triggered-event": "Udløst begivenhed", + "unauthorized": "Ikke autoriseret", + "user-deleted": "Bruger slettet.", + "viewed-page": "Vist side", "visitor-log": "Besøgende fra {country} bruger {browser}{os} {device}" } } diff --git a/public/intl/messages/de-CH.json b/public/intl/messages/de-CH.json index cc37cd897..f916ff428 100644 --- a/public/intl/messages/de-CH.json +++ b/public/intl/messages/de-CH.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Zuegangscode", - "account": "Account", - "action": "Action", + "account": "Konto", + "action": "Aktion", "actions": "Aktione", "activity": "Aktivitätsverlauf", "add": "hinzuefüege", "add-board": "Board hinzuefüege", "add-description": "Beschriibig hinzuefüege", - "add-link": "Add link", + "add-link": "Link hinzufügen", "add-member": "Mitglied hinzuefüege", - "add-pixel": "Add pixel", + "add-pixel": "Pixel hinzufügen", "add-step": "Schritt hinzuefüege", "add-website": "Websiite hinzuefüege", "admin": "Administrator", @@ -18,13 +18,13 @@ "after": "Nach", "all": "Alli", "all-time": "Gsamte Zitruum", - "analysis": "Analysis", + "analysis": "Analyse", "analytics": "Analytik", - "application": "Application", + "application": "Anwendung", "apply": "Aawände", "attribution": "Zuordnig", "attribution-description": "Lueg wie d'Benutzer mit dim Marketing interagiere und was zu Umwandlige führt.", - "audience": "Audience", + "audience": "Zielgruppe", "average": "Durchschnitt", "back": "Zrugg", "before": "Vor", @@ -34,18 +34,18 @@ "breakdown": "Uufschlüsselig", "browser": "Browser", "browsers": "Browser", - "campaign": "Campaign", + "campaign": "Kampagne", "campaigns": "Kampagne", "cancel": "Abbreche", "change-password": "Passwort ändere", - "channel": "Channel", + "channel": "Kanal", "channels": "Kanäle", - "chart": "Chart", + "chart": "Diagramm", "cities": "Städt", "city": "Stadt", "clear-all": "Alles lösche", "cohort": "Gruppe", - "cohorts": "Cohorts", + "cohorts": "Kohorten", "compare": "Vergliiche", "compare-dates": "Datum vergleiche", "confirm": "Bestätige", @@ -65,7 +65,7 @@ "create-user": "Benutzer erstelle", "created": "Erstellt", "created-by": "Erstellt vo", - "criteria": "Criteria", + "criteria": "Kriterien", "currency": "Währung", "current": "Aktuell", "current-password": "Aktuells Passwort", @@ -83,33 +83,33 @@ "delete-website": "Websiite lösche", "description": "Beschriibig", "desktop": "Desktop", - "destination-url": "Destination URL", + "destination-url": "Ziel-URL", "details": "Details", "device": "Grät", "devices": "Grät", "direct": "Direkt", "dismiss": "Verwärfe", "distinct-id": "Eindeutigi ID", - "documentation": "Documentation", + "documentation": "Dokumentation", "does-not-contain": "Enthaltet nid", "does-not-include": "Isch nid debii", "doest-not-exist": "Existiert nid", "domain": "Domain", - "download": "Download", + "download": "Herunterladen", "dropoff": "Absprung", "edit": "Bearbeite", "edit-dashboard": "Dashboard bearbeite", "edit-member": "Mitglied bearbeite", - "email": "Email", + "email": "E-Mail", "enable-share-url": "Freigab-URL aktiviere", "end-step": "Schlussschritt", "entry": "Iigangs URL", - "environment": "Environment", + "environment": "Umgebung", "event": "Ereigniss", "event-data": "Ereigniss Date", "event-name": "Ereignissname", "events": "Ereigniss", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Absprung ausschliessen", "exists": "Existiert", "exit": "Uusgangs URL", "false": "Falsch", @@ -118,26 +118,26 @@ "filter": "Filter", "filter-combined": "Kombiniert", "filter-raw": "Rohdate", - "filters": "Filters", + "filters": "Filter", "first-click": "Erste Klick", "first-seen": "Erstmal gse", "funnel": "Tunnel", "funnel-description": "Verstönd Sie d Konversions- und Abspruungsrate vo Nutzer.", - "funnels": "Funnels", + "funnels": "Trichter", "goal": "Ziel", "goals": "Ziele", "goals-description": "verfolged Sie Ihri Ziel für Siitenufrüef und Ereigniss.", "greater-than": "Grösser als", "greater-than-equals": "Grösser oder gliich", "grouped": "Gruppiert", - "growth": "Growth", + "growth": "Wachstum", "hostname": "Hostnam", - "hour": "Hour", + "hour": "Stunde", "includes": "Isch debii", "insight": "Iiblick", "insights": "Iiblick", "insights-description": "Vertüfed Sie sich i Ihri Date, mit Hilf vo Segment und Filter.", - "invalid-url": "Invalid URL", + "invalid-url": "Ungültige URL", "is": "Isch", "is-false": "Isch falsch", "is-not": "Isch nid", @@ -163,11 +163,11 @@ "less-than-equals": "Kliiner oder gliich", "link": "Link", "links": "Links", - "location": "Location", + "location": "Standort", "login": "Aamälde", "logout": "Abmälde", "manage": "Verwalte", - "manager": "Manager", + "manager": "Verwalter", "max": "Max", "maximize": "Uusklappe", "medium": "Medium", @@ -176,15 +176,15 @@ "min": "Min", "minute": "Minute", "mobile": "Händy", - "model": "Model", - "month": "Month", + "model": "Modell", + "month": "Monat", "more": "Meh", "my-account": "Min Account", "my-websites": "Mini Websiite", "name": "Name", "new-password": "Neus Passwort", "none": "Keis", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {Datensatz} other {Datensätze}}", "ok": "OK", "online": "Online", "organic-search": "Organischi Suechi", @@ -211,12 +211,12 @@ "pixel": "Pixel", "pixels": "Pixel", "powered-by": "Betriibe dur {name}", - "preferences": "Preferences", + "preferences": "Einstellungen", "previous": "Vorherig", "previous-period": "Vorherigi Periode", "previous-year": "Vorherigs Jahr", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profile", "properties": "Eigeschafte", "property": "Eigeschafte", "queries": "Abfrage", @@ -244,13 +244,13 @@ "role": "Rollä", "run-query": "Abfrag starte", "save": "Speichere", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Kohorte speichern", + "save-segment": "Segment speichern", + "screen": "Bildschirm", "screens": "Bildschirmuflösige", "search": "Sueche", "segment": "Segment", - "segments": "Segments", + "segments": "Segmente", "select": "Auswähle", "select-date": "Datä uuswähle", "select-filter": "Filter uuswähle", @@ -264,19 +264,19 @@ "share-url": "Freigab-URL", "single-day": "Ein Tag", "sms": "SMS", - "source": "Source", + "source": "Quelle", "sources": "Quälle", "start-step": "Startschritt", "steps": "Schritt", "sum": "Summe", "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "switch-account": "Konto wechseln", + "table": "Tabelle", "tablet": "Tablet", "tag": "Tag", "tags": "Stichwort", "team": "Team", - "team-id": "Team ID", + "team-id": "Team-ID", "team-manager": "Team Manager", "team-member": "Team Mitglied", "team-name": "Team Name", @@ -285,7 +285,7 @@ "team-view-only": "Nur für Teammitglieder sichtbar", "team-websites": "Team Websiite", "teams": "Teams", - "term": "Term", + "term": "Suchbegriff", "terms": "Bedingige", "theme": "Thema", "this-month": "Dä Monet", @@ -305,23 +305,23 @@ "true": "Wahr", "type": "Typ", "unique": "Einzigartigi", - "unique-events": "Unique events", + "unique-events": "Einzigartige Ereignisse", "unique-visitors": "Einzigartigi Bsuecher", "uniqueCustomers": "Einzigartigi Kunde", "unknown": "Unbekannt", "untitled": "Unbennant", - "update": "Update", + "update": "Aktualisieren", "url": "URL", "user": "Benutzer", "username": "Benutzername", "users": "Benutzer", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM-Kampagne", + "utm-content": "UTM-Inhalt", "utm-description": "Tracked Sie Ihri Kampagnen mit UTM Parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM-Medium", + "utm-source": "UTM-Quelle", + "utm-term": "UTM-Begriff", "value": "Wärt", "version": "Version", "view": "Azeige", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "Typed Sie {confirmation} is Feld underhalb um z bestätige.", "active-users": "{x} {x, plural, one {aktive Bsuecher} other {aktivi Bsuecher}}", - "bad-request": "Bad request", + "bad-request": "Ungültige Anfrage", "collected-data": "Gsammleti Date", "confirm-delete": "Sind Sie sich sicher, {target} zlösche?", "confirm-leave": "Sind Sie sich sicher, {target} zverlah?", @@ -351,7 +351,7 @@ "delete-website-warning": "Alli dezueghörige Date werded ebefalls glöscht.", "error": "Es isch en Fehler ufträte.", "event-log": "{event} uf {url}", - "forbidden": "Forbidden", + "forbidden": "Verboten", "go-to-settings": "Zu de Istellige", "incorrect-username-password": "Falsches Passwort oder Benutzername.", "invalid-domain": "Ungültigi Domain", @@ -365,13 +365,13 @@ "no-teams": "Bisher sind no kei Teams erstellt worde.", "no-users": "Da gits kei Benutzer", "no-websites-configured": "Es isch kei Websiite vorhande.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Nicht gefunden", + "nothing-selected": "Nichts ausgewählt.", "page-not-found": "Siite ned gfunde.", "reset-website": "Um die Websiite zruggzsetze, typed Sie {confirmation} is Feld unde dran.", "reset-website-warning": "Alli Date für die Websiite werdet glöscht, nur de Tracking Code blibt bestah.", "saved": "Erfolgrich gspeichert.", - "sever-error": "Server error", + "sever-error": "Serverfehler", "share-url": "Ihri Websiitestatistik isch under de folgende URL öffentlich zuegänglich:", "team-already-member": "Sie sind bereits es Mitglied vo däm Team.", "team-not-found": "Team nöd gfunde.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Wähled Sie s Team zum däm Websiite transferiert werde söll.", "transfer-website": "Übertraged Sie d Websiite Eigetümerrecht uf Ihre Account oder uf es anders Team", "triggered-event": "Usglösts Ereigniss", - "unauthorized": "Unauthorized", + "unauthorized": "Nicht autorisiert", "user-deleted": "Bnutzer glöscht.", "viewed-page": "Siite agluegt", "visitor-log": "Bsuecher us {country} nutzt {browser} uf {os} {device}" diff --git a/public/intl/messages/de-DE.json b/public/intl/messages/de-DE.json index 1a2d78f24..4628487e0 100644 --- a/public/intl/messages/de-DE.json +++ b/public/intl/messages/de-DE.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Zugangscode", - "account": "Account", - "action": "Action", + "account": "Konto", + "action": "Aktion", "actions": "Aktionen", "activity": "Aktivitätsverlauf", "add": "Hinzufügen", "add-board": "Board hinzufügen", "add-description": "Beschreibung hinzufügen", - "add-link": "Add link", + "add-link": "Link hinzufügen", "add-member": "Mitglied hinzufügen", - "add-pixel": "Add pixel", + "add-pixel": "Pixel hinzufügen", "add-step": "Schritt hinzufügen", "add-website": "Website hinzufügen", "admin": "Administrator", @@ -18,13 +18,13 @@ "after": "Nach", "all": "Alle", "all-time": "Gesamter Zeitraum", - "analysis": "Analysis", + "analysis": "Analyse", "analytics": "Analysen", - "application": "Application", + "application": "Anwendung", "apply": "Anwenden", "attribution": "Zuordnung", "attribution-description": "Sehen Sie, wie Nutzer mit Ihrem Marketing interagieren und was zu Konversionen führt.", - "audience": "Audience", + "audience": "Zielgruppe", "average": "Durchschnitt", "back": "Zurück", "before": "Vor", @@ -34,18 +34,18 @@ "breakdown": "Aufschlüsselung", "browser": "Browser", "browsers": "Browser", - "campaign": "Campaign", + "campaign": "Kampagne", "campaigns": "Kampagnen", "cancel": "Abbrechen", "change-password": "Passwort ändern", - "channel": "Channel", + "channel": "Kanal", "channels": "Kanäle", - "chart": "Chart", + "chart": "Diagramm", "cities": "Städte", "city": "Stadt", "clear-all": "Alles löschen", "cohort": "Gruppe", - "cohorts": "Cohorts", + "cohorts": "Kohorten", "compare": "Vergleichen", "compare-dates": "Daten vergleichen", "confirm": "Bestätigen", @@ -65,7 +65,7 @@ "create-user": "Benutzer erstellen", "created": "Erstellt", "created-by": "Erstellt von", - "criteria": "Criteria", + "criteria": "Kriterien", "currency": "Währung", "current": "Aktuell", "current-password": "Derzeitiges Passwort", @@ -83,33 +83,33 @@ "delete-website": "Website löschen", "description": "Beschreibung", "desktop": "Desktop", - "destination-url": "Destination URL", + "destination-url": "Ziel-URL", "details": "Details", "device": "Gerät", "devices": "Geräte", "direct": "Direkt", "dismiss": "Verwerfen", "distinct-id": "Eindeutige ID", - "documentation": "Documentation", + "documentation": "Dokumentation", "does-not-contain": "Enthält nicht", "does-not-include": "Nicht enthalten", "doest-not-exist": "Existiert nicht", "domain": "Domain", - "download": "Download", + "download": "Herunterladen", "dropoff": "Absprung", "edit": "Bearbeiten", "edit-dashboard": "Dashboard bearbeiten", "edit-member": "Mitglied bearbeiten", - "email": "Email", + "email": "E-Mail", "enable-share-url": "Freigabe-URL aktivieren", "end-step": "Schlussschritt", "entry": "Eingangs-URL", - "environment": "Environment", + "environment": "Umgebung", "event": "Ereignis", "event-data": "Ereignisdaten", "event-name": "Ereignisname", "events": "Ereignisse", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Absprung ausschließen", "exists": "Existiert", "exit": "Ausgangs-URL", "false": "Falsch", @@ -123,21 +123,21 @@ "first-seen": "Erstmalig gesehen", "funnel": "Trichter", "funnel-description": "Verstehen Sie die Konversions- und Absprungrate Ihrer Nutzer.", - "funnels": "Funnels", + "funnels": "Trichter", "goal": "Ziel", "goals": "Ziele", "goals-description": "Verfolgen Sie Ihre Ziele für Seitenaufrufe und Ereignisse.", "greater-than": "Größer als", "greater-than-equals": "Größer oder gleich", "grouped": "Gruppiert", - "growth": "Growth", + "growth": "Wachstum", "hostname": "Hostname", - "hour": "Hour", + "hour": "Stunde", "includes": "Enthält", "insight": "Einblick", "insights": "Einblicke", "insights-description": "Vertiefen Sie sich mit Hilfe von Segmenten und Filtern in Ihre Daten.", - "invalid-url": "Invalid URL", + "invalid-url": "Ungültige URL", "is": "Ist", "is-false": "Ist falsch", "is-not": "Ist nicht", @@ -163,7 +163,7 @@ "less-than-equals": "Kleiner oder gleich", "link": "Link", "links": "Links", - "location": "Location", + "location": "Standort", "login": "Anmelden", "logout": "Abmelden", "manage": "Verwalten", @@ -176,15 +176,15 @@ "min": "Min", "minute": "Minute", "mobile": "Handy", - "model": "Model", - "month": "Month", + "model": "Modell", + "month": "Monat", "more": "Mehr", "my-account": "Mein Account", "my-websites": "Meine Websites", "name": "Name", "new-password": "Neues Passwort", "none": "Keine", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {Datensatz} other {Datensätze}}", "ok": "OK", "online": "Online", "organic-search": "Organische Suche", @@ -211,12 +211,12 @@ "pixel": "Pixel", "pixels": "Pixel", "powered-by": "Betrieben durch {name}", - "preferences": "Preferences", + "preferences": "Einstellungen", "previous": "Vorherig", "previous-period": "Vorherige Periode", "previous-year": "Vorheriges Jahr", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profile", "properties": "Eigenschaften", "property": "Eigenschaft", "queries": "Abfragen", @@ -244,13 +244,13 @@ "role": "Rolle", "run-query": "Abfrage starten", "save": "Speichern", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Kohorte speichern", + "save-segment": "Segment speichern", + "screen": "Bildschirm", "screens": "Bildschirmauflösungen", "search": "Suche", "segment": "Segment", - "segments": "Segments", + "segments": "Segmente", "select": "Auswählen", "select-date": "Datum auswählen", "select-filter": "Filter auswählen", @@ -264,14 +264,14 @@ "share-url": "Freigabe-URL", "single-day": "Ein Tag", "sms": "SMS", - "source": "Source", + "source": "Quelle", "sources": "Quellen", "start-step": "Startschritt", "steps": "Schritte", "sum": "Summe", "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "switch-account": "Konto wechseln", + "table": "Tabelle", "tablet": "Tablet", "tag": "Tag", "tags": "Stichworte", @@ -285,7 +285,7 @@ "team-view-only": "Nur für Team-Mitglieder sichtbar", "team-websites": "Team-Websites", "teams": "Teams", - "term": "Term", + "term": "Suchbegriff", "terms": "Bedingungen", "theme": "Thema", "this-month": "Diesen Monat", @@ -305,23 +305,23 @@ "true": "Wahr", "type": "Typ", "unique": "Einzigartig", - "unique-events": "Unique events", + "unique-events": "Einzigartige Ereignisse", "unique-visitors": "Einzigartige Besucher", "uniqueCustomers": "Einzigartige Kunden", "unknown": "Unbekannt", "untitled": "Unbenannt", - "update": "Update", + "update": "Aktualisieren", "url": "URL", "user": "Benutzer", "username": "Benutzername", "users": "Benutzer", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM-Kampagne", + "utm-content": "UTM-Inhalt", "utm-description": "Tracken Sie Ihre Kampagnen mit UTM Parametern.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM-Medium", + "utm-source": "UTM-Quelle", + "utm-term": "UTM-Begriff", "value": "Wert", "version": "Version", "view": "Anzeigen", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "Schreibe {confirmation} in die Box zur bestätigung.", "active-users": "{x} {x, plural, one {aktiver Besucher} other {aktive Besucher}}", - "bad-request": "Bad request", + "bad-request": "Ungültige Anfrage", "collected-data": "Gesammelte Daten", "confirm-delete": "Sind Sie sich sicher, {target} zu löschen?", "confirm-leave": "Sind Sie sicher, dass die {target} verlassen möchten?", @@ -351,7 +351,7 @@ "delete-website-warning": "Alle zugehörigen Daten werden ebenfalls gelöscht.", "error": "Es ist ein Fehler aufgetreten.", "event-log": "{event} auf {url}", - "forbidden": "Forbidden", + "forbidden": "Verboten", "go-to-settings": "Zu den Einstellungen", "incorrect-username-password": "Falsches Passwort oder Benutzername.", "invalid-domain": "Ungültige Domain", @@ -365,13 +365,13 @@ "no-teams": "Bisher wurden keine Teams erstellt.", "no-users": "Hier gibt es keine Benutzer.", "no-websites-configured": "Es ist keine Website vorhanden.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Nicht gefunden", + "nothing-selected": "Nichts ausgewählt.", "page-not-found": "Seite nicht gefunden.", "reset-website": "Um diese Website zurückzusetzen, geben Sie zur Bestätigung {confirmation} in das Feld unten ein.", "reset-website-warning": "Alle Daten für diese Website werden gelöscht, jedoch bleibt der Tracking Code bestehen.", "saved": "Erfolgreich gespeichert.", - "sever-error": "Server error", + "sever-error": "Serverfehler", "share-url": "Die Statistiken Ihrer Website sind unter folgender URL öffentlich zugänglich:", "team-already-member": "Sie sind bereits Mitglied des Teams.", "team-not-found": "Team nicht gefunden.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Wählen Sie ein Team aus, zu dem die Website transferiert werden soll.", "transfer-website": "Übertragen Sie die Eigentümerrechte zu Ihrem Account oder einem anderen Team.", "triggered-event": "Ereignis ausgelöst", - "unauthorized": "Unauthorized", + "unauthorized": "Nicht autorisiert", "user-deleted": "Benutzer gelöscht.", "viewed-page": "Seite besucht", "visitor-log": "Besucher aus {country} benutzt {browser} auf {os} {device}" diff --git a/public/intl/messages/el-GR.json b/public/intl/messages/el-GR.json index 694718cf8..62f8ac77c 100644 --- a/public/intl/messages/el-GR.json +++ b/public/intl/messages/el-GR.json @@ -1,389 +1,389 @@ { "label": { - "access-code": "Access code", - "account": "Account", - "action": "Action", + "access-code": "Κωδικός πρόσβασης", + "account": "Λογαριασμός", + "action": "Ενέργεια", "actions": "Ενέργειες", "activity": "Activity log", - "add": "Add", - "add-board": "Add board", - "add-description": "Add description", - "add-link": "Add link", - "add-member": "Add member", - "add-pixel": "Add pixel", - "add-step": "Add step", + "add": "Προσθήκη", + "add-board": "Προσθήκη πίνακα", + "add-description": "Προσθήκη περιγραφής", + "add-link": "Προσθήκη συνδέσμου", + "add-member": "Προσθήκη μέλους", + "add-pixel": "Προσθήκη pixel", + "add-step": "Προσθήκη βήματος", "add-website": "Προσθήκη ιστότοπου", "admin": "Διαχειριστής", - "affiliate": "Affiliate", - "after": "After", - "all": "All", - "all-time": "All time", - "analysis": "Analysis", - "analytics": "Analytics", - "application": "Application", - "apply": "Apply", - "attribution": "Attribution", - "attribution-description": "See how users engage with your marketing and what drives conversions.", - "audience": "Audience", - "average": "Average", + "affiliate": "Συνεργάτης", + "after": "Μετά", + "all": "Όλα", + "all-time": "Από πάντα", + "analysis": "Ανάλυση", + "analytics": "Αναλυτικά", + "application": "Εφαρμογή", + "apply": "Εφαρμογή", + "attribution": "Απόδοση", + "attribution-description": "Δείτε πώς αλληλεπιδρούν οι χρήστες με το μάρκετινγκ και τι οδηγεί σε μετατροπές.", + "audience": "Κοινό", + "average": "Μέσος όρος", "back": "Πίσω", - "before": "Before", + "before": "Πριν", "behavior": "Συμπεριφορά", - "boards": "Boards", + "boards": "Πίνακες", "bounce-rate": "Ποσοστό αναπήδησης", - "breakdown": "Breakdown", - "browser": "Browser", + "breakdown": "Ανάλυση", + "browser": "Πρόγραμμα περιήγησης", "browsers": "Προγράμματα περιήγησης", - "campaign": "Campaign", - "campaigns": "Campaigns", + "campaign": "Καμπάνια", + "campaigns": "Καμπάνιες", "cancel": "Ακύρωση", "change-password": "Αλλαγή κωδικού", - "channel": "Channel", - "channels": "Channels", - "chart": "Chart", - "cities": "Cities", - "city": "City", - "clear-all": "Clear all", - "cohort": "Cohort", - "cohorts": "Cohorts", - "compare": "Compare", - "compare-dates": "Compare dates", - "confirm": "Confirm", + "channel": "Κανάλι", + "channels": "Κανάλια", + "chart": "Γράφημα", + "cities": "Πόλεις", + "city": "Πόλη", + "clear-all": "Εκκαθάριση όλων", + "cohort": "Κοόρτη", + "cohorts": "Κοόρτες", + "compare": "Σύγκριση", + "compare-dates": "Σύγκριση ημερομηνιών", + "confirm": "Επιβεβαίωση", "confirm-password": "Επιβεβαίωση κωδικού", - "contains": "Contains", - "content": "Content", - "continue": "Continue", - "conversion": "Conversion", - "conversion-rate": "Conversion rate", - "conversion-step": "Conversion step", - "count": "Count", + "contains": "Περιέχει", + "content": "Περιεχόμενο", + "continue": "Συνέχεια", + "conversion": "Μετατροπή", + "conversion-rate": "Ποσοστό μετατροπής", + "conversion-step": "Βήμα μετατροπής", + "count": "Πλήθος", "countries": "Χώρες", - "country": "Country", - "create": "Create", - "create-report": "Create report", - "create-team": "Create team", - "create-user": "Create user", - "created": "Created", - "created-by": "Created By", - "criteria": "Criteria", - "currency": "Currency", - "current": "Current", + "country": "Χώρα", + "create": "Δημιουργία", + "create-report": "Δημιουργία αναφοράς", + "create-team": "Δημιουργία ομάδας", + "create-user": "Δημιουργία χρήστη", + "created": "Δημιουργήθηκε", + "created-by": "Δημιουργήθηκε από", + "criteria": "Κριτήρια", + "currency": "Νόμισμα", + "current": "Τρέχων", "current-password": "Τωρινός κωδικός πρόσβασης", "custom-range": "Προσαρμοσμένο εύρος", "dashboard": "Πίνακας", - "data": "Data", - "date": "Date", + "data": "Δεδομένα", + "date": "Ημερομηνία", "date-range": "Εύρος ημερομηνιών", - "day": "Day", + "day": "Ημέρα", "default-date-range": "Προεπιλεγμένο εύρος ημερομηνιών", "delete": "Διαγραφή", - "delete-report": "Delete report", - "delete-team": "Delete team", - "delete-user": "Delete user", + "delete-report": "Διαγραφή αναφοράς", + "delete-team": "Διαγραφή ομάδας", + "delete-user": "Διαγραφή χρήστη", "delete-website": "Διαγραφή ιστότοπου", - "description": "Description", + "description": "Περιγραφή", "desktop": "Σταθερός υπολογιστής", - "destination-url": "Destination URL", - "details": "Details", - "device": "Device", + "destination-url": "URL προορισμού", + "details": "Λεπτομέρειες", + "device": "Συσκευή", "devices": "Συσκευές", - "direct": "Direct", - "dismiss": "Dismiss", - "distinct-id": "Distinct ID", - "documentation": "Documentation", - "does-not-contain": "Does not contain", - "does-not-include": "Does not include", - "doest-not-exist": "Does not exist", + "direct": "Άμεσο", + "dismiss": "Απόρριψη", + "distinct-id": "Μοναδικό ID", + "documentation": "Τεκμηρίωση", + "does-not-contain": "Δεν περιέχει", + "does-not-include": "Δεν περιλαμβάνει", + "doest-not-exist": "Δεν υπάρχει", "domain": "Τομέας", - "download": "Download", - "dropoff": "Dropoff", + "download": "Λήψη", + "dropoff": "Εγκατάλειψη", "edit": "Επεξεργασία", - "edit-dashboard": "Edit dashboard", - "edit-member": "Edit member", + "edit-dashboard": "Επεξεργασία πίνακα ελέγχου", + "edit-member": "Επεξεργασία μέλους", "email": "Email", "enable-share-url": "Ενεργοποίηση κοινής χρήσης URL", - "end-step": "End Step", + "end-step": "Τελικό βήμα", "entry": "Entry URL", - "environment": "Environment", - "event": "Event", - "event-data": "Event data", - "event-name": "Event name", + "environment": "Περιβάλλον", + "event": "Συμβάν", + "event-data": "Δεδομένα συμβάντος", + "event-name": "Όνομα συμβάντος", "events": "Γεγονότα", - "exclude-bounce": "Exclude bounce", - "exists": "Exists", + "exclude-bounce": "Εξαίρεση αναπήδησης", + "exists": "Υπάρχει", "exit": "Exit URL", - "false": "False", - "field": "Field", - "fields": "Fields", - "filter": "Filter", + "false": "Ψευδές", + "field": "Πεδίο", + "fields": "Πεδία", + "filter": "Φίλτρο", "filter-combined": "Σε συνδυασμό", "filter-raw": "Ακατέργαστο", - "filters": "Filters", - "first-click": "First click", - "first-seen": "First seen", - "funnel": "Funnel", - "funnel-description": "Understand the conversion and drop-off rate of users.", - "funnels": "Funnels", - "goal": "Goal", - "goals": "Goals", - "goals-description": "Track your goals for pageviews and events.", - "greater-than": "Greater than", - "greater-than-equals": "Greater than or equals", - "grouped": "Grouped", - "growth": "Growth", - "hostname": "Hostname", - "hour": "Hour", - "includes": "Includes", - "insight": "Insight", - "insights": "Insights", - "insights-description": "Dive deeper into your data by using segments and filters.", - "invalid-url": "Invalid URL", - "is": "Is", - "is-false": "Is false", - "is-not": "Is not", - "is-not-set": "Is not set", - "is-set": "Is set", - "is-true": "Is true", - "join": "Join", - "join-team": "Join team", - "journey": "Journey", - "journey-description": "Understand how users navigate through your website.", - "journeys": "Journeys", - "language": "Language", - "languages": "Languages", + "filters": "Φίλτρα", + "first-click": "Πρώτο κλικ", + "first-seen": "Πρώτη εμφάνιση", + "funnel": "Χωνί", + "funnel-description": "Κατανοήστε το ποσοστό μετατροπής και εγκατάλειψης χρηστών.", + "funnels": "Χωνιά", + "goal": "Στόχος", + "goals": "Στόχοι", + "goals-description": "Παρακολουθήστε τους στόχους σας για προβολές σελίδων και συμβάντα.", + "greater-than": "Μεγαλύτερο από", + "greater-than-equals": "Μεγαλύτερο ή ίσο", + "grouped": "Ομαδοποιημένα", + "growth": "Ανάπτυξη", + "hostname": "Όνομα κεντρικού υπολογιστή", + "hour": "Ώρα", + "includes": "Περιλαμβάνει", + "insight": "Πληροφορία", + "insights": "Πληροφορίες", + "insights-description": "Εμβαθύνετε στα δεδομένα σας χρησιμοποιώντας τμήματα και φίλτρα.", + "invalid-url": "Μη έγκυρο URL", + "is": "Είναι", + "is-false": "Είναι ψευδές", + "is-not": "Δεν είναι", + "is-not-set": "Δεν έχει οριστεί", + "is-set": "Έχει οριστεί", + "is-true": "Είναι αληθές", + "join": "Συμμετοχή", + "join-team": "Συμμετοχή σε ομάδα", + "journey": "Διαδρομή", + "journey-description": "Κατανοήστε πώς πλοηγούνται οι χρήστες στον ιστότοπό σας.", + "journeys": "Διαδρομές", + "language": "Γλώσσα", + "languages": "Γλώσσες", "laptop": "Λάπτοπ", - "last-click": "Last click", + "last-click": "Τελευταίο κλικ", "last-days": "Τελευταίες {x} ημέρες", "last-hours": "Τελευταίες {x} ώρες", - "last-months": "Last {x} months", - "last-seen": "Last seen", - "leave": "Leave", - "leave-team": "Leave team", - "less-than": "Less than", - "less-than-equals": "Less than or equals", - "link": "Link", - "links": "Links", - "location": "Location", + "last-months": "Τελευταίοι {x} μήνες", + "last-seen": "Τελευταία εμφάνιση", + "leave": "Αποχώρηση", + "leave-team": "Αποχώρηση από ομάδα", + "less-than": "Μικρότερο από", + "less-than-equals": "Μικρότερο ή ίσο", + "link": "Σύνδεσμος", + "links": "Σύνδεσμοι", + "location": "Τοποθεσία", "login": "Είσοδος", "logout": "Αποσύνδεση", - "manage": "Manage", - "manager": "Manager", - "max": "Max", + "manage": "Διαχείριση", + "manager": "Διαχειριστής", + "max": "Μέγ", "maximize": "Expand", - "medium": "Medium", - "member": "Member", - "members": "Members", - "min": "Min", - "minute": "Minute", + "medium": "Μέσο", + "member": "Μέλος", + "members": "Μέλη", + "min": "Ελάχ", + "minute": "Λεπτό", "mobile": "Κινητό", - "model": "Model", - "month": "Month", + "model": "Μοντέλο", + "month": "Μήνας", "more": "Περισσότερα", - "my-account": "My account", - "my-websites": "My websites", + "my-account": "Ο λογαριασμός μου", + "my-websites": "Οι ιστότοποί μου", "name": "Όνομα", "new-password": "Νέος κωδικός", - "none": "None", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "none": "Κανένα", + "number-of-records": "{x} {x, plural, one {εγγραφή} other {εγγραφές}}", "ok": "OK", - "online": "Online", - "organic-search": "Organic search", - "organic-shopping": "Organic shopping", - "organic-social": "Organic social", - "organic-video": "Organic video", - "os": "OS", - "other": "Other", - "overview": "Overview", - "owner": "Owner", - "page": "Page", - "page-of": "Page {current} of {total}", + "online": "Σε σύνδεση", + "organic-search": "Οργανική αναζήτηση", + "organic-shopping": "Οργανικές αγορές", + "organic-social": "Οργανικά κοινωνικά", + "organic-video": "Οργανικό βίντεο", + "os": "ΛΣ", + "other": "Άλλο", + "overview": "Επισκόπηση", + "owner": "Ιδιοκτήτης", + "page": "Σελίδα", + "page-of": "Σελίδα {current} από {total}", "page-views": "Προβολές σελίδας", - "pageTitle": "Page title", + "pageTitle": "Τίτλος σελίδας", "pages": "Σελίδες", - "paid-ads": "Paid ads", - "paid-search": "Paid search", - "paid-shopping": "Paid shopping", - "paid-social": "Paid social", - "paid-video": "Paid video", + "paid-ads": "Πληρωμένες διαφημίσεις", + "paid-search": "Πληρωμένη αναζήτηση", + "paid-shopping": "Πληρωμένες αγορές", + "paid-social": "Πληρωμένα κοινωνικά", + "paid-video": "Πληρωμένο βίντεο", "password": "Κωδικός", - "path": "Path", - "paths": "Paths", + "path": "Διαδρομή", + "paths": "Διαδρομές", "pixel": "Pixel", "pixels": "Pixels", "powered-by": "Με την υποστήριξη του {name}", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "preferences": "Προτιμήσεις", + "previous": "Προηγούμενο", + "previous-period": "Προηγούμενη περίοδος", + "previous-year": "Προηγούμενο έτος", "profile": "Προφίλ", - "profiles": "Profiles", - "properties": "Properties", - "property": "Property", - "queries": "Queries", - "query": "Query", - "query-parameters": "Query parameters", - "realtime": "Realtime", - "referral": "Referral", - "referrer": "Referrer", + "profiles": "Προφίλ", + "properties": "Ιδιότητες", + "property": "Ιδιότητα", + "queries": "Ερωτήματα", + "query": "Ερώτημα", + "query-parameters": "Παράμετροι ερωτήματος", + "realtime": "Πραγματικός χρόνος", + "referral": "Παραπομπή", + "referrer": "Παραπέμπων", "referrers": "Παραπομπές", "refresh": "Ανανέωση", - "regenerate": "Regenerate", - "region": "Region", - "regions": "Regions", - "remaining": "Remaining", - "remove": "Remove", - "remove-member": "Remove member", - "reports": "Reports", + "regenerate": "Αναδημιουργία", + "region": "Περιφέρεια", + "regions": "Περιφέρειες", + "remaining": "Υπολειπόμενα", + "remove": "Αφαίρεση", + "remove-member": "Αφαίρεση μέλους", + "reports": "Αναφορές", "required": "Απαιτείται", "reset": "Επαναφορά", "reset-website": "Reset statistics", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", - "revenue": "Revenue", + "retention": "Διατήρηση", + "retention-description": "Μετρήστε την ικανότητα διατήρησης χρηστών του ιστότοπού σας.", + "revenue": "Έσοδα", "revenue-description": "Look into your revenue across time.", - "role": "Role", - "run-query": "Run query", + "role": "Ρόλος", + "run-query": "Εκτέλεση ερωτήματος", "save": "Αποθήκευση", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", - "screens": "Screens", - "search": "Search", - "segment": "Segment", - "segments": "Segments", - "select": "Select", - "select-date": "Select date", - "select-filter": "Select filter", - "select-role": "Select role", - "select-website": "Select website", - "session": "Session", - "session-data": "Session data", - "sessions": "Sessions", + "save-cohort": "Αποθήκευση κοόρτης", + "save-segment": "Αποθήκευση τμήματος", + "screen": "Οθόνη", + "screens": "Οθόνες", + "search": "Αναζήτηση", + "segment": "Τμήμα", + "segments": "Τμήματα", + "select": "Επιλογή", + "select-date": "Επιλογή ημερομηνίας", + "select-filter": "Επιλογή φίλτρου", + "select-role": "Επιλογή ρόλου", + "select-website": "Επιλογή ιστότοπου", + "session": "Συνεδρία", + "session-data": "Δεδομένα συνεδρίας", + "sessions": "Συνεδρίες", "settings": "Ρυθμίσεις", - "share": "Share", + "share": "Κοινοποίηση", "share-url": "Κοινοποίηση διεύθυνσης URL", "single-day": "Ημερήσια", "sms": "SMS", - "source": "Source", - "sources": "Sources", - "start-step": "Start Step", - "steps": "Steps", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "source": "Πηγή", + "sources": "Πηγές", + "start-step": "Αρχικό βήμα", + "steps": "Βήματα", + "sum": "Άθροισμα", + "support": "Υποστήριξη", + "switch-account": "Αλλαγή λογαριασμού", + "table": "Πίνακας", "tablet": "Τάμπλετ", - "tag": "Tag", - "tags": "Tags", - "team": "Team", - "team-id": "Team ID", - "team-manager": "Team manager", - "team-member": "Team member", - "team-name": "Team name", - "team-owner": "Team owner", - "team-settings": "Team settings", - "team-view-only": "Team view only", - "team-websites": "Team websites", - "teams": "Teams", - "term": "Term", - "terms": "Terms", - "theme": "Theme", + "tag": "Ετικέτα", + "tags": "Ετικέτες", + "team": "Ομάδα", + "team-id": "ID ομάδας", + "team-manager": "Υπεύθυνος ομάδας", + "team-member": "Μέλος ομάδας", + "team-name": "Όνομα ομάδας", + "team-owner": "Ιδιοκτήτης ομάδας", + "team-settings": "Ρυθμίσεις ομάδας", + "team-view-only": "Μόνο προβολή ομάδας", + "team-websites": "Ιστότοποι ομάδας", + "teams": "Ομάδες", + "term": "Όρος αναζήτησης", + "terms": "Όροι", + "theme": "Θέμα", "this-month": "Αυτο το μήνα", "this-week": "Αυτή την εβδομάδα", "this-year": "Αυτή την χρονιά", "timezone": "Ζώνη ώρας", - "title": "Title", + "title": "Τίτλος", "today": "Σήμερα", - "toggle-charts": "Toggle charts", - "total": "Total", - "total-records": "Total records", + "toggle-charts": "Εναλλαγή γραφημάτων", + "total": "Σύνολο", + "total-records": "Σύνολο εγγραφών", "tracking-code": "Κωδικός παρακολούθησης", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "Κίνηση", + "transactions": "Συναλλαγές", + "transfer": "Μεταφορά", + "transfer-website": "Μεταφορά ιστότοπου", + "true": "Αληθές", + "type": "Τύπος", + "unique": "Μοναδικό", + "unique-events": "Μοναδικά συμβάντα", "unique-visitors": "Μοναδικοί επισκέπτες", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Μοναδικοί πελάτες", "unknown": "Άγνωστο", - "untitled": "Untitled", - "update": "Update", + "untitled": "Χωρίς τίτλο", + "update": "Ενημέρωση", "url": "URL", - "user": "User", + "user": "Χρήστης", "username": "Όνομα χρήστη", - "users": "Users", + "users": "Χρήστες", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-campaign": "UTM Καμπάνια", + "utm-content": "UTM Περιεχόμενο", + "utm-description": "Παρακολουθήστε τις καμπάνιες σας μέσω παραμέτρων UTM.", + "utm-medium": "UTM Μέσο", + "utm-source": "UTM Πηγή", + "utm-term": "UTM Όρος", + "value": "Τιμή", + "version": "Έκδοση", + "view": "Προβολή", "view-details": "Λεπτομέρειες", - "view-only": "View only", + "view-only": "Μόνο προβολή", "views": "Προβολές", - "views-per-visit": "Views per visit", + "views-per-visit": "Προβολές ανά επίσκεψη", "visit-duration": "Μέσος χρόνος επίσκεψης", "visitors": "Επισκέπτες", - "visits": "Visits", - "website": "Website", - "website-id": "Website ID", + "visits": "Επισκέψεις", + "website": "Ιστότοπος", + "website-id": "ID ιστότοπου", "websites": "Ιστότοποι", - "window": "Window", - "yesterday": "Yesterday" + "window": "Παράθυρο", + "yesterday": "Χθες" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "Πληκτρολογήστε {confirmation} στο παρακάτω πεδίο για επιβεβαίωση.", "active-users": "{x} ενεργοί {x, plural, one {επισκέπτης} other {επισκέπτες}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Μη έγκυρο αίτημα", + "collected-data": "Συλλεχθέντα δεδομένα", "confirm-delete": "Είστε βέβαιοι ότι θέλετε να διαγράψετε το {target};", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "Είστε σίγουροι ότι θέλετε να αποχωρήσετε από {target};", + "confirm-remove": "Είστε σίγουροι ότι θέλετε να αφαιρέσετε {target};", "confirm-reset": "Are your sure you want to reset {target}'s statistics?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "Η διαγραφή μιας ομάδας θα διαγράψει επίσης όλους τους ιστότοπους της ομάδας.", "delete-website-warning": "Όλα τα σχετικά δεδομένα θα διαγραφούν επίσης.", "error": "Κάτι πήγε στραβά.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} στο {url}", + "forbidden": "Απαγορευμένο", "go-to-settings": "Μεταβείτε στις ρυθμίσεις", "incorrect-username-password": "Εσφαλμένο όνομα χρήστη / κωδικός πρόσβασης.", "invalid-domain": "Μη έγκυρος τομέας", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "Ελάχιστο μήκος {n} χαρακτήρων", + "new-version-available": "Μια νέα έκδοση του Umami {version} είναι διαθέσιμη!", "no-data-available": "Δεν υπάρχουν διαθέσιμα δεδομένα.", - "no-event-data": "No event data is available.", + "no-event-data": "Δεν υπάρχουν διαθέσιμα δεδομένα συμβάντων.", "no-match-password": "Οι κωδικοί πρόσβασης δεν ταιριάζουν", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "Αυτή η ομάδα δεν έχει ιστότοπους.", + "no-teams": "Δεν έχετε δημιουργήσει ομάδες.", + "no-users": "Δεν υπάρχουν χρήστες.", "no-websites-configured": "Δεν έχετε ρυθμίσει κανένα ιστότοπο.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Δεν βρέθηκε", + "nothing-selected": "Τίποτα δεν έχει επιλεγεί.", "page-not-found": "Η σελίδα δεν βρέθηκε.", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "Για να επαναφέρετε αυτόν τον ιστότοπο, πληκτρολογήστε {confirmation} στο παρακάτω πεδίο.", "reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", "saved": "Αποθηκεύτηκε επιτυχώς.", - "sever-error": "Server error", + "sever-error": "Σφάλμα διακομιστή", "share-url": "Αυτό είναι το κοινόχρηστο URL για το {target}.", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "Είστε ήδη μέλος της ομάδας.", + "team-not-found": "Η ομάδα δεν βρέθηκε.", + "team-websites-info": "Οι ιστότοποι μπορούν να προβληθούν από οποιονδήποτε στην ομάδα.", "tracking-code": "Κωδικός παρακολούθησης", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", - "visitor-log": "Visitor from {country} using {browser} on {os} {device}" + "transfer-team-website-to-user": "Μεταφορά αυτού του ιστότοπου στον λογαριασμό σας;", + "transfer-user-website-to-team": "Επιλέξτε την ομάδα για μεταφορά αυτού του ιστότοπου.", + "transfer-website": "Μεταφέρετε την ιδιοκτησία του ιστότοπου στον λογαριασμό σας ή σε άλλη ομάδα.", + "triggered-event": "Ενεργοποιημένο συμβάν", + "unauthorized": "Μη εξουσιοδοτημένο", + "user-deleted": "Ο χρήστης διαγράφηκε.", + "viewed-page": "Προβολή σελίδας", + "visitor-log": "Επισκέπτης από {country} χρησιμοποιώντας {browser} σε {os} {device}" } } diff --git a/public/intl/messages/en-GB.json b/public/intl/messages/en-GB.json index ac9d331c1..b2338d756 100644 --- a/public/intl/messages/en-GB.json +++ b/public/intl/messages/en-GB.json @@ -28,7 +28,7 @@ "average": "Average", "back": "Back", "before": "Before", - "behavior": "Behavior", + "behavior": "Behaviour", "boards": "Boards", "bounce-rate": "Bounce rate", "breakdown": "Breakdown", diff --git a/public/intl/messages/es-ES.json b/public/intl/messages/es-ES.json index 44f0dc7b8..ca06e4ae8 100644 --- a/public/intl/messages/es-ES.json +++ b/public/intl/messages/es-ES.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Código de acceso", - "account": "Account", - "action": "Action", + "account": "Cuenta", + "action": "Acción", "actions": "Acciones", "activity": "Registro de actividad", "add": "Añadir", "add-board": "Añadir tablero", "add-description": "Añadir descripción", - "add-link": "Add link", + "add-link": "Añadir enlace", "add-member": "Añadir miembro", - "add-pixel": "Add pixel", + "add-pixel": "Añadir píxel", "add-step": "Añadir paso", "add-website": "Nuevo sitio web", "admin": "Administrador", @@ -18,13 +18,13 @@ "after": "Después", "all": "Todos", "all-time": "Todos los tiempos", - "analysis": "Analysis", + "analysis": "Análisis", "analytics": "Analíticas", - "application": "Application", + "application": "Aplicación", "apply": "Aplicar", "attribution": "Atribución", "attribution-description": "Vea cómo los usuarios interactúan con su marketing y qué impulsa las conversiones.", - "audience": "Audience", + "audience": "Audiencia", "average": "Media", "back": "Atrás", "before": "Antes", @@ -34,18 +34,18 @@ "breakdown": "Desglose", "browser": "Navegador", "browsers": "Navegadores", - "campaign": "Campaign", + "campaign": "Campaña", "campaigns": "Campañas", "cancel": "Cancelar", "change-password": "Cambiar contraseña", - "channel": "Channel", + "channel": "Canal", "channels": "Canales", - "chart": "Chart", + "chart": "Gráfico", "cities": "Ciudades", "city": "Ciudad", "clear-all": "Limpiar todo", "cohort": "Cohorte", - "cohorts": "Cohorts", + "cohorts": "Cohortes", "compare": "Comparar", "compare-dates": "Comparar fechas", "confirm": "Confirmar", @@ -65,7 +65,7 @@ "create-user": "Crear usuario", "created": "Creado", "created-by": "Creado por", - "criteria": "Criteria", + "criteria": "Criterios", "currency": "Moneda", "current": "Actual", "current-password": "Contraseña actual", @@ -83,33 +83,33 @@ "delete-website": "Eliminar sitio", "description": "Descripción", "desktop": "Escritorio", - "destination-url": "Destination URL", + "destination-url": "URL de destino", "details": "Detalles", "device": "Dispositivo", "devices": "Dispositivos", "direct": "Directo", "dismiss": "Cerrar", "distinct-id": "ID distinto", - "documentation": "Documentation", + "documentation": "Documentación", "does-not-contain": "No contiene", "does-not-include": "No incluye", "doest-not-exist": "No existe", "domain": "Dominio", - "download": "Download", + "download": "Descargar", "dropoff": "Abandono", "edit": "Editar", "edit-dashboard": "Editar panel", "edit-member": "Editar miembro", - "email": "Email", + "email": "Correo electrónico", "enable-share-url": "Habilitar compartir URL", "end-step": "Paso final", "entry": "URL de entrada", - "environment": "Environment", + "environment": "Entorno", "event": "Evento", "event-data": "Datos de evento", "event-name": "Nombre del evento", "events": "Eventos", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Excluir rebote", "exists": "Existe", "exit": "URL de salida", "false": "Falso", @@ -130,14 +130,14 @@ "greater-than": "Mayor que", "greater-than-equals": "Mayor que o igual a", "grouped": "Agrupado", - "growth": "Growth", + "growth": "Crecimiento", "hostname": "Nombre de host", - "hour": "Hour", + "hour": "Hora", "includes": "Incluye", "insight": "Perspectiva", "insights": "Perspectivas", "insights-description": "Profundice en sus datos mediante el uso de segmentos y filtros.", - "invalid-url": "Invalid URL", + "invalid-url": "URL no válida", "is": "Es igual a", "is-false": "Es falso", "is-not": "No es igual a", @@ -161,9 +161,9 @@ "leave-team": "Abandonar equipo", "less-than": "Menor que", "less-than-equals": "Menor que o igual a", - "link": "Link", + "link": "Enlace", "links": "Enlaces", - "location": "Location", + "location": "Ubicación", "login": "Iniciar sesión", "logout": "Cerrar sesión", "manage": "Administrar", @@ -174,10 +174,10 @@ "member": "Miembro", "members": "Miembros", "min": "Mínimo", - "minute": "Minute", + "minute": "Minuto", "mobile": "Móvil", "model": "Modelo", - "month": "Month", + "month": "Mes", "more": "Más", "my-account": "Mi cuenta", "my-websites": "Mis sitios web", @@ -185,8 +185,8 @@ "new-password": "Nueva contraseña", "none": "Ninguno", "number-of-records": "{x} {x, plural, one {registro} other {registros}}", - "ok": "OK", - "online": "Online", + "ok": "Aceptar", + "online": "En línea", "organic-search": "Búsqueda orgánica", "organic-shopping": "Compras orgánicas", "organic-social": "Social orgánico", @@ -208,15 +208,15 @@ "password": "Contraseña", "path": "Ruta", "paths": "Rutas", - "pixel": "Pixel", + "pixel": "Píxel", "pixels": "Píxeles", "powered-by": "Analíticas de {name}", - "preferences": "Preferences", + "preferences": "Preferencias", "previous": "Anterior", "previous-period": "Periodo anterior", "previous-year": "Año anterior", "profile": "Perfil", - "profiles": "Profiles", + "profiles": "Perfiles", "properties": "Propiedades", "property": "Propiedad", "queries": "Consultas", @@ -241,37 +241,37 @@ "retention-description": "Medir la frecuencia con la que los usuarios vuelven a tu sitio web.", "revenue": "Ganancias", "revenue-description": "Analice sus ganancias a lo largo del tiempo.", - "revenue-property": "Propiedad de ganancias", "role": "Rol", "run-query": "Ejecutar consulta", "save": "Guardar", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Guardar cohorte", + "save-segment": "Guardar segmento", + "screen": "Pantalla", "screens": "Pantallas", "search": "Buscar", - "segment": "Segment", - "segments": "Segments", + "segment": "Segmento", + "segments": "Segmentos", "select": "Seleccionar", "select-date": "Seleccionar fecha", "select-filter": "Seleccionar filtro", "select-role": "Seleccionar rol", "select-website": "Seleccionar sitio web", "session": "Sesión", + "session-data": "Datos de sesión", "sessions": "Sesiones", "settings": "Ajustes", "share": "Compartir", "share-url": "Compartir URL", "single-day": "Un solo día", "sms": "SMS", - "source": "Source", + "source": "Fuente", "sources": "Fuentes", "start-step": "Paso inicial", "steps": "Pasos", "sum": "Suma", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Soporte", + "switch-account": "Cambiar cuenta", + "table": "Tabla", "tablet": "Tableta", "tag": "Etiqueta", "tags": "Etiquetas", @@ -285,7 +285,7 @@ "team-view-only": "Vista solo del equipo", "team-websites": "Sitios web del equipo", "teams": "Equipos", - "term": "Term", + "term": "Término", "terms": "Términos", "theme": "Tema", "this-month": "Este mes", @@ -298,14 +298,14 @@ "total": "Total", "total-records": "Total de registros", "tracking-code": "Código de rastreo", - "traffic": "Traffic", + "traffic": "Tráfico", "transactions": "Transacciones", "transfer": "Transferir", "transfer-website": "Transferir sitio web", "true": "Verdadero", "type": "Tipo", "unique": "Único", - "unique-events": "Unique events", + "unique-events": "Eventos únicos", "unique-visitors": "Visitantes únicos", "uniqueCustomers": "Clientes únicos", "unknown": "Desconocida", @@ -313,18 +313,17 @@ "update": "Actualizar", "url": "URL", "user": "Usuario", - "user-property": "Propiedad de usuario", "username": "Nombre de usuario", "users": "Usuarios", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM Campaña", + "utm-content": "UTM Contenido", "utm-description": "Realice un seguimiento de sus campañas a través de parámetros UTM.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM Medio", + "utm-source": "UTM Fuente", + "utm-term": "UTM Término", "value": "Valor", - "version": "Version", + "version": "Versión", "view": "Visualizar", "view-details": "Ver detalles", "view-only": "Ver sólo", @@ -337,12 +336,14 @@ "website-id": "ID del sitio web", "websites": "Sitios web", "window": "Ventana", - "yesterday": "Ayer" + "yesterday": "Ayer", + "revenue-property": "Propiedad de ganancias", + "user-property": "Propiedad de usuario" }, "message": { "action-confirmation": "Escriba {confirmation} en el cuadro a continuación para confirmar.", "active-users": "{x} {x, plural, one {activo} other {activos}}", - "bad-request": "Bad request", + "bad-request": "Solicitud incorrecta", "collected-data": "Datos obtenidos", "confirm-delete": "¿Seguro que quieres eliminar {target}?", "confirm-leave": "¿Seguro que quieres abandonar {target}?", @@ -352,7 +353,7 @@ "delete-website-warning": "Toda la información relacionada será eliminada.", "error": "Algo falló.", "event-log": "{event} en {url}", - "forbidden": "Forbidden", + "forbidden": "Prohibido", "go-to-settings": "Ir a la configuración", "incorrect-username-password": "Nombre de usuario o contraseña incorrectos.", "invalid-domain": "Dominio inválido", @@ -366,13 +367,13 @@ "no-teams": "No has creado ningún equipo.", "no-users": "No hay usuarios.", "no-websites-configured": "No tienes ningún sitio web configurado.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "No encontrado", + "nothing-selected": "Nada seleccionado.", "page-not-found": "Página no encontrada", "reset-website": "Para reiniciar este sitio web, escribe {confirmation} a continuación para confirmar.", "reset-website-warning": "Todas las estadísticas de esta página serán eliminadas, pero el código de rastreo permanecerá intacto.", "saved": "Guardado", - "sever-error": "Server error", + "sever-error": "Error del servidor", "share-url": "Esta es la URL pública para {target}.", "team-already-member": "Ya eres miembro de este equipo.", "team-not-found": "Equipo no encontrado.", @@ -382,7 +383,7 @@ "transfer-user-website-to-team": "Seleccione el equipo al que transferir este sitio web.", "transfer-website": "Seleccione el equipo al que transferir este sitio web.", "triggered-event": "Evento lanzado", - "unauthorized": "Unauthorized", + "unauthorized": "No autorizado", "user-deleted": "Usuario eliminado.", "viewed-page": "Página vista", "visitor-log": "Visitante desde {country} usando {browser} en {os} {device}" diff --git a/public/intl/messages/fa-IR.json b/public/intl/messages/fa-IR.json index ab8e984f1..22d6de276 100644 --- a/public/intl/messages/fa-IR.json +++ b/public/intl/messages/fa-IR.json @@ -1,16 +1,16 @@ { "label": { "access-code": "کد دسترسی", - "account": "Account", - "action": "Action", + "account": "حساب کاربری", + "action": "عملیات", "actions": "اقدامات", "activity": "فعالیت", "add": "افزودن", "add-board": "افزودن برد", "add-description": "افزودن توضیحات", - "add-link": "Add link", + "add-link": "افزودن لینک", "add-member": "افزودن عضو", - "add-pixel": "Add pixel", + "add-pixel": "افزودن پیکسل", "add-step": "افزودن قدم", "add-website": "افزودن وب‌سایت", "admin": "مدیر", @@ -18,13 +18,13 @@ "after": "بعد", "all": "همه", "all-time": "تمامی زمان‌ها", - "analysis": "Analysis", + "analysis": "تحلیل", "analytics": "تجزیه و تحلیل", - "application": "Application", + "application": "برنامه", "apply": "اعمال", "attribution": "انتساب", "attribution-description": "ببینید کاربران چگونه با بازاریابی شما تعامل دارند و چه چیزی باعث تبدیل می‌شود.", - "audience": "Audience", + "audience": "مخاطبان", "average": "میانگین", "back": "بازگشت", "before": "قبل از", @@ -34,18 +34,18 @@ "breakdown": "تفکیک", "browser": "مرورگر", "browsers": "مرورگرها", - "campaign": "Campaign", + "campaign": "کمپین", "campaigns": "کمپین‌ها", "cancel": "انصراف", "change-password": "تغییر رمز", - "channel": "Channel", + "channel": "کانال", "channels": "کانال‌ها", - "chart": "Chart", + "chart": "نمودار", "cities": "شهرها", "city": "شهر", "clear-all": "پاک کردن همه", "cohort": "گروه", - "cohorts": "Cohorts", + "cohorts": "گروه‌ها", "compare": "مقایسه", "compare-dates": "مقایسه تاریخ‌ها", "confirm": "تأیید", @@ -65,7 +65,7 @@ "create-user": "ایجاد کاربر", "created": "ایجاد شد", "created-by": "ایجاد شده توسط", - "criteria": "Criteria", + "criteria": "معیارها", "currency": "واحد پول", "current": "فعلی", "current-password": "رمز فعلی", @@ -83,19 +83,19 @@ "delete-website": "حذف وب‌سایت", "description": "توضیحات", "desktop": "دسکتاپ", - "destination-url": "Destination URL", + "destination-url": "URL مقصد", "details": "جزئیات", "device": "دستگاه", "devices": "دستگاه‌ها", "direct": "مستقیم", "dismiss": "رد کردن", "distinct-id": "شناسه یکتا", - "documentation": "Documentation", + "documentation": "مستندات", "does-not-contain": "شامل نمی‌شود", "does-not-include": "شامل نمی‌شود", "doest-not-exist": "وجود ندارد", "domain": "دامنه", - "download": "Download", + "download": "دانلود", "dropoff": "رها کردن", "edit": "ویرایش", "edit-dashboard": "ویرایش داشبورد", @@ -104,12 +104,12 @@ "enable-share-url": "فعال کردن اشتراک گذاری آدرس اینترنتی", "end-step": "قدم پایانی", "entry": "آدرس اینترنتی ورودی", - "environment": "Environment", + "environment": "محیط", "event": "رویداد", "event-data": "داده‌های رویداد", "event-name": "نام رویداد", "events": "رویدادها", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "حذف نرخ پرش", "exists": "وجود دارد", "exit": "آدرس اینترنتی خروجی", "false": "نادرست", @@ -130,14 +130,14 @@ "greater-than": "بزرگ‌تر از", "greater-than-equals": "بزرگ‌تر یا مساوی", "grouped": "گروه‌بندی شده", - "growth": "Growth", + "growth": "رشد", "hostname": "نام میزبان", - "hour": "Hour", + "hour": "ساعت", "includes": "شامل می‌شود", "insight": "بینش", "insights": "بینش", "insights-description": "با استفاده از بخش‌ها و فیلترها، در داده‌های خود عمیق‌تر شوید.", - "invalid-url": "Invalid URL", + "invalid-url": "URL نامعتبر", "is": "برابر است با", "is-false": "نادرست است", "is-not": "برابر نیست با", @@ -161,9 +161,9 @@ "leave-team": "ترک تیم", "less-than": "کمتر از", "less-than-equals": "کمتر یا مساوی", - "link": "Link", + "link": "لینک", "links": "لینک‌ها", - "location": "Location", + "location": "موقعیت", "login": "ورود", "logout": "خروج", "manage": "مدیریت", @@ -174,19 +174,19 @@ "member": "عضو", "members": "اعضا", "min": "حداقل", - "minute": "Minute", + "minute": "دقیقه", "mobile": "موبایل", "model": "مدل", - "month": "Month", + "month": "ماه", "more": "بیشتر", "my-account": "حساب کاربری من", "my-websites": "وب‌سایت‌های من", "name": "نام", "new-password": "رمز جدید", "none": "هیچ", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {رکورد} other {رکورد}}", "ok": "تایید", - "online": "Online", + "online": "آنلاین", "organic-search": "جستجوی ارگانیک", "organic-shopping": "خرید ارگانیک", "organic-social": "شبکه اجتماعی ارگانیک", @@ -208,15 +208,15 @@ "password": "رمز", "path": "مسیر", "paths": "مسیرها", - "pixel": "Pixel", + "pixel": "پیکسل", "pixels": "پیکسل‌ها", "powered-by": "قدرت گرفته توسط {name}", - "preferences": "Preferences", + "preferences": "تنظیمات", "previous": "قبلی", "previous-period": "دوره‌ی قبل", "previous-year": "سال قبل", "profile": "پروفایل", - "profiles": "Profiles", + "profiles": "پروفایل‌ها", "properties": "ویژگی‌ها", "property": "ویژگی", "queries": "کوئری‌ها", @@ -244,13 +244,13 @@ "role": "نقش", "run-query": "اجرای کوئری", "save": "ذخیره", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "ذخیره گروه", + "save-segment": "ذخیره بخش", + "screen": "صفحه نمایش", "screens": "صفحه", "search": "جستجو", - "segment": "Segment", - "segments": "Segments", + "segment": "بخش", + "segments": "بخش‌ها", "select": "انتخاب", "select-date": "انتخاب تاریخ", "select-filter": "انتخاب فیلتر", @@ -263,15 +263,15 @@ "share": "اشتراک‌گذاری", "share-url": "به اشتراک گذاری آدرس اینترنتی", "single-day": "یک روز", - "sms": "SMS", - "source": "Source", + "sms": "پیامک", + "source": "منبع", "sources": "منابع", "start-step": "قدم شروع", "steps": "قدم‌ها", "sum": "جمع", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "پشتیبانی", + "switch-account": "تغییر حساب", + "table": "جدول", "tablet": "تبلت", "tag": "برچسب", "tags": "برچسب‌ها", @@ -285,7 +285,7 @@ "team-view-only": "فقط مشاهده‌ی تیم", "team-websites": "وب‌سایت‌های تیم", "teams": "تیم‌ها", - "term": "Term", + "term": "عبارت جستجو", "terms": "شرایط", "theme": "تم", "this-month": "این ماه", @@ -298,14 +298,14 @@ "total": "جمع", "total-records": "جمع رکوردها", "tracking-code": "کد رهگیری", - "traffic": "Traffic", + "traffic": "ترافیک", "transactions": "تراکنش‌ها", "transfer": "انتقال", "transfer-website": "انتقال وب‌سایت", "true": "درست", "type": "نوع", "unique": "یکتا", - "unique-events": "Unique events", + "unique-events": "رویدادهای یکتا", "unique-visitors": "بازدیدکننده‌های یکتا", "uniqueCustomers": "مشتریان یکتا", "unknown": "ناشناخته", @@ -316,14 +316,14 @@ "username": "نام کاربری", "users": "کاربران", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM کمپین", + "utm-content": "UTM محتوا", "utm-description": "با استفاده از پارامترهای UTM، کمپین‌های خود را بررسی کنید.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM رسانه", + "utm-source": "UTM منبع", + "utm-term": "UTM عبارت", "value": "مقدار", - "version": "Version", + "version": "نسخه", "view": "مشاهده", "view-details": "مشاهده‌ی جزئیات", "view-only": "فقط مشاهده", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "برای تأیید این عملیات، لطفاً {confirmation} را تایپ کنید.", "active-users": "{x} فعلی {x, plural, one {یک} other {از میان}}", - "bad-request": "Bad request", + "bad-request": "درخواست نامعتبر", "collected-data": "داده‌های جمع‌آوری شده", "confirm-delete": "آیا مطمئن هستید می‌خواهید {target} را حذف کنید؟", "confirm-leave": "آیا مطمئن هستید می‌خواهید از {target} خارج شوید؟", @@ -351,7 +351,7 @@ "delete-website-warning": "همه‌ی داده‌های وب‌سایت هم حذف خواهد شد.", "error": "مشکلی پیش آمده است.", "event-log": "{event} در {url}", - "forbidden": "Forbidden", + "forbidden": "ممنوع", "go-to-settings": "رفتن به تنظیمات", "incorrect-username-password": "نام کاربری / رمز نادرست است.", "invalid-domain": "دامنه نامعتبر است.", @@ -365,13 +365,13 @@ "no-teams": "شما هیچ تیمی را ایجاد نکرده‌اید.", "no-users": "هیچ کاربری وجود ندارد.", "no-websites-configured": "شما هیچ وب‌سایتی را پیکربندی نکرده‌اید.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "یافت نشد", + "nothing-selected": "چیزی انتخاب نشده است.", "page-not-found": "صفحه یافت نشد.", "reset-website": "برای بازنشانی وب‌سایت، لطفاً {confirmation} را تایپ کنید.", "reset-website-warning": "تمامی آمارهای این وب‌سایت حذف خواهد شد اما کدهای رهگیری بدون تغییر باقی می‌ماند.", "saved": "ذخیره شد.", - "sever-error": "Server error", + "sever-error": "خطای سرور", "share-url": "آمار وب‌سایت شما به صورت عمومی در آدرس زیر قابل مشاهده است.", "team-already-member": "شما از قبل عضو این تیم هستید.", "team-not-found": "تیم یافت نشد.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "تیم مورد نظر را برای انتقال وب‌سایت انتخاب کنید.", "transfer-website": "مالکیت وب‌سایت را به حساب خودت یا یک تیم دیگر منتقل کنید.", "triggered-event": "رویداد فعال شده", - "unauthorized": "Unauthorized", + "unauthorized": "غیرمجاز", "user-deleted": "کاربر حذف شد.", "viewed-page": "صفحه مشاهده شد", "visitor-log": "بازدیدکننده از کشور {country} با مروگر {browser} در {os} {device}" diff --git a/public/intl/messages/fi-FI.json b/public/intl/messages/fi-FI.json index dd15f07ac..cd4d9180a 100644 --- a/public/intl/messages/fi-FI.json +++ b/public/intl/messages/fi-FI.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Pääsykoodi", - "account": "Account", - "action": "Action", + "account": "Tili", + "action": "Toiminto", "actions": "Toiminnat", "activity": "Toimintaloki", "add": "Lisää", "add-board": "Lisää taulu", "add-description": "Lisää kuvaus", - "add-link": "Add link", + "add-link": "Lisää linkki", "add-member": "Lisää jäsen", - "add-pixel": "Add pixel", + "add-pixel": "Lisää pikseli", "add-step": "Lisää vaihe", "add-website": "Lisää verkkosivu", "admin": "Järjestelmänvalvoja", @@ -18,13 +18,13 @@ "after": "Jälkeen", "all": "Kaikki", "all-time": "Alusta lähtien", - "analysis": "Analysis", + "analysis": "Analyysi", "analytics": "Analytiikka", - "application": "Application", + "application": "Sovellus", "apply": "Käytä", "attribution": "Attribuutio", "attribution-description": "Katso, miten käyttäjät ovat vuorovaikutuksessa markkinointisi kanssa ja mikä johtaa konversioihin.", - "audience": "Audience", + "audience": "Yleisö", "average": "Keskiarvo", "back": "Takaisin", "before": "Ennen", @@ -34,18 +34,18 @@ "breakdown": "Erittele", "browser": "Selain", "browsers": "Selaimet", - "campaign": "Campaign", + "campaign": "Kampanja", "campaigns": "Kampanjat", "cancel": "Peruuta", "change-password": "Vaihda salasana", - "channel": "Channel", + "channel": "Kanava", "channels": "Kanavat", - "chart": "Chart", + "chart": "Kaavio", "cities": "Kaupungit", "city": "Kaupunki", "clear-all": "Tyhjennä kaikki", "cohort": "Kohortti", - "cohorts": "Cohorts", + "cohorts": "Kohortit", "compare": "Vertaa", "compare-dates": "Vertaa päivämääriä", "confirm": "Vahvista", @@ -65,7 +65,7 @@ "create-user": "Luo käyttäjä", "created": "Luotu", "created-by": "Luonut", - "criteria": "Criteria", + "criteria": "Kriteerit", "currency": "Valuutta", "current": "Nykyinen", "current-password": "Nykyinen salasana", @@ -83,19 +83,19 @@ "delete-website": "Poista verkkosivu", "description": "Kuvaus", "desktop": "Pöytäkone", - "destination-url": "Destination URL", + "destination-url": "Kohde-URL", "details": "Tiedot", "device": "Laite", "devices": "Laitteet", "direct": "Suora", "dismiss": "Hylkää", "distinct-id": "Yksilöllinen ID", - "documentation": "Documentation", + "documentation": "Dokumentaatio", "does-not-contain": "Ei sisällä", "does-not-include": "Ei sisällä", "doest-not-exist": "Ei ole olemassa", "domain": "Verkkotunnus", - "download": "Download", + "download": "Lataa", "dropoff": "Poistuminen", "edit": "Muokkaa", "edit-dashboard": "Muokkaa ohjauspaneelia", @@ -104,12 +104,12 @@ "enable-share-url": "Ota jakamisen URL-osoite käyttöön", "end-step": "Loppuvaihe", "entry": "Tulo-URL", - "environment": "Environment", + "environment": "Ympäristö", "event": "Tapahtuma", "event-data": "Tapahtumatiedot", "event-name": "Tapahtuman nimi", "events": "Tapahtumat", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Sulje poishyppäys pois", "exists": "On olemassa", "exit": "Poistumis-URL", "false": "Epätosi", @@ -130,14 +130,14 @@ "greater-than": "Suurempi kuin", "greater-than-equals": "Suurempi tai yhtä suuri kuin", "grouped": "Ryhmitelty", - "growth": "Growth", + "growth": "Kasvu", "hostname": "Isäntänimi", - "hour": "Hour", + "hour": "Tunti", "includes": "Sisältää", "insight": "Oivallus", "insights": "Oivallukset", "insights-description": "Sukella syvemmälle tietoihisi käyttämällä segmenttejä ja suodattimia.", - "invalid-url": "Invalid URL", + "invalid-url": "Virheellinen URL", "is": "On", "is-false": "On epätosi", "is-not": "Ei ole", @@ -161,9 +161,9 @@ "leave-team": "Poistu tiimistä", "less-than": "Vähemmän kuin", "less-than-equals": "Vähemmän tai yhtä suuri kuin", - "link": "Link", + "link": "Linkki", "links": "Linkit", - "location": "Location", + "location": "Sijainti", "login": "Kirjaudu sisään", "logout": "Kirjaudu ulos", "manage": "Hallinnoi", @@ -174,10 +174,10 @@ "member": "Jäsen", "members": "Jäsenet", "min": "Minimi", - "minute": "Minute", + "minute": "Minuutti", "mobile": "Puhelin", "model": "Malli", - "month": "Month", + "month": "Kuukausi", "more": "Lisää", "my-account": "Oma tili", "my-websites": "Omat verkkosivut", @@ -186,12 +186,12 @@ "none": "Ei mitään", "number-of-records": "{x} {x, plural, one {tietue} other {tietuetta}}", "ok": "OK", - "online": "Online", + "online": "Verkossa", "organic-search": "Orgaaninen haku", "organic-shopping": "Orgaaninen ostaminen", "organic-social": "Orgaaninen sosiaalinen", "organic-video": "Orgaaninen video", - "os": "OS", + "os": "Käyttöjärjestelmä", "other": "Muu", "overview": "Yleiskatsaus", "owner": "Omistaja", @@ -208,15 +208,15 @@ "password": "Salasana", "path": "Polku", "paths": "Polut", - "pixel": "Pixel", + "pixel": "Pikseli", "pixels": "Pikselit", "powered-by": "Voimanlähteenä {name}", - "preferences": "Preferences", + "preferences": "Asetukset", "previous": "Edellinen", "previous-period": "Edellinen ajanjakso", "previous-year": "Edellinen vuosi", "profile": "Profiili", - "profiles": "Profiles", + "profiles": "Profiilit", "properties": "Ominaisuudet", "property": "Ominaisuus", "queries": "Kyselyt", @@ -237,20 +237,20 @@ "required": "Vaaditaan", "reset": "Nollaa", "reset-website": "Nollaa tilastot", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", + "retention": "Säilyvyys", + "retention-description": "Mittaa verkkosivustosi sitoutumista seuraamalla, kuinka usein käyttäjät palaavat.", "revenue": "Tulot", "revenue-description": "Katso tulosi ajan mittaan.", "role": "Rooli", "run-query": "Suorita kysely", "save": "Tallenna", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Tallenna kohortti", + "save-segment": "Tallenna segmentti", + "screen": "Näyttö", "screens": "Näytöt", "search": "Haku", - "segment": "Segment", - "segments": "Segments", + "segment": "Segmentti", + "segments": "Segmentit", "select": "Valitse", "select-date": "Valitse päivämäärä", "select-filter": "Valitse suodatin", @@ -264,14 +264,14 @@ "share-url": "Jaa URL", "single-day": "Yksi päivä", "sms": "SMS", - "source": "Source", + "source": "Lähde", "sources": "Lähteet", "start-step": "Aloitusvaihe", "steps": "Vaiheet", "sum": "Summa", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Tuki", + "switch-account": "Vaihda tiliä", + "table": "Taulukko", "tablet": "Tabletti", "tag": "Tunniste", "tags": "Tunnisteet", @@ -282,10 +282,10 @@ "team-name": "Tiimin nimi", "team-owner": "Tiimin omistaja", "team-settings": "Tiimin asetukset", - "team-view-only": "Team view only", + "team-view-only": "Vain tiimin katselu", "team-websites": "Tiimin verkkosivut", "teams": "Tiimit", - "term": "Term", + "term": "Hakusana", "terms": "Ehdot", "theme": "Teema", "this-month": "Tämä kuukausi", @@ -298,14 +298,14 @@ "total": "Yhteensä", "total-records": "Tietueita yhteensä", "tracking-code": "Seurantakoodi", - "traffic": "Traffic", + "traffic": "Liikenne", "transactions": "Transaktiot", "transfer": "Siirrä", "transfer-website": "Siirrä verkkosivu", "true": "Tosi", "type": "Tyyppi", "unique": "Uniikki", - "unique-events": "Unique events", + "unique-events": "Uniikit tapahtumat", "unique-visitors": "Yksittäiset kävijät", "uniqueCustomers": "Uniikit asiakkaat", "unknown": "Tuntematon", @@ -316,14 +316,14 @@ "username": "Käyttäjänimi", "users": "Käyttäjät", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM-kampanja", + "utm-content": "UTM-sisältö", "utm-description": "Seuraa kampanjoitasi UTM-parametrien avulla.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM-media", + "utm-source": "UTM-lähde", + "utm-term": "UTM-hakusana", "value": "Arvo", - "version": "Version", + "version": "Versio", "view": "Näytä", "view-details": "Katso tiedot", "view-only": "Vain katselu", @@ -350,7 +350,7 @@ "delete-team-warning": "Tiimin poistaminen poistaa myös kaikki tiimin sivustot.", "delete-website-warning": "Kaikki siihen liittyvät tiedot poistetaan.", "error": "Jotain meni pieleen.", - "event-log": "{event} on {url}", + "event-log": "{event} sivulla {url}", "forbidden": "Kielletty", "go-to-settings": "Mene asetuksiin", "incorrect-username-password": "Väärä käyttäjänimi/salasana.", diff --git a/public/intl/messages/fo-FO.json b/public/intl/messages/fo-FO.json index 8e9e162a4..274cc4355 100644 --- a/public/intl/messages/fo-FO.json +++ b/public/intl/messages/fo-FO.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Aðgangskoda", - "account": "Account", - "action": "Action", + "account": "Konto", + "action": "Handling", "actions": "Gerðir", "activity": "Activity log", "add": "Legg afturat", "add-board": "Legg borð afturat", "add-description": "Legg lýsing afturat", - "add-link": "Add link", + "add-link": "Legg afturat link", "add-member": "Legg lim afturat", - "add-pixel": "Add pixel", + "add-pixel": "Legg afturat piksel", "add-step": "Legg stig afturat", "add-website": "Legg heimasíðu afturat", "admin": "Fyrisitari", @@ -18,13 +18,13 @@ "after": "Eftir", "all": "Alt", "all-time": "Allur tíðin", - "analysis": "Analysis", + "analysis": "Greining", "analytics": "Greining", - "application": "Application", + "application": "Forrit", "apply": "Nýt", "attribution": "Áseting", "attribution-description": "Síggj hvussu brúkarar samskifta við marknaðarføringina og hvat førir til umvendingar.", - "audience": "Audience", + "audience": "Áhoyrarar", "average": "Miðal", "back": "Aftur", "before": "Áðrenn", @@ -34,18 +34,18 @@ "breakdown": "Sundurgreining", "browser": "Kagi", "browsers": "Kagar", - "campaign": "Campaign", + "campaign": "Herferð", "campaigns": "Herferðir", "cancel": "Strika", "change-password": "Skift loyniorð", - "channel": "Channel", + "channel": "Rás", "channels": "Rásir", - "chart": "Chart", + "chart": "Graf", "cities": "Býir", "city": "Býur", "clear-all": "Tøm alt", "cohort": "Bólkur", - "cohorts": "Cohorts", + "cohorts": "Kohortar", "compare": "Samanber", "compare-dates": "Samanber dato", "confirm": "Staðfest", @@ -65,7 +65,7 @@ "create-user": "Stovna brúkara", "created": "Stovnaður", "created-by": "Stovnaður av", - "criteria": "Criteria", + "criteria": "Viðmið", "currency": "Gjaldoyra", "current": "Núverandi", "current-password": "Núverandi loyniorð", @@ -83,20 +83,20 @@ "delete-website": "Sletta heimasíðu", "description": "Lýsing", "desktop": "Borðtelda", - "destination-url": "Destination URL", + "destination-url": "Mál-URL", "details": "Nærri upplýsingar", "device": "Tól", "devices": "Tóleindir", "direct": "Beinleiðis", "dismiss": "Lat fara", "distinct-id": "Sermerkt ID", - "documentation": "Documentation", + "documentation": "Skjøl", "does-not-contain": "Inniheldur ikki", "does-not-include": "Er ikki við", "doest-not-exist": "Er ikki til", "domain": "Økisnavn", - "download": "Download", - "dropoff": "Dropoff", + "download": "Tak niður", + "dropoff": "Fráfall", "edit": "Ger broyting", "edit-dashboard": "Ritstjórna yvirlitsskíggja", "edit-member": "Ritstjórna lim", @@ -104,12 +104,12 @@ "enable-share-url": "Virkja deili leinki", "end-step": "Endastigur", "entry": "Inngangs URL", - "environment": "Environment", + "environment": "Umhvørvi", "event": "Tiltak", "event-data": "Tiltaksdata", "event-name": "Tiltaksnavn", "events": "Hendingar/tiltøk", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Útiloka frástøyt", "exists": "Er til", "exit": "Útgangs URL", "false": "Falskt", @@ -130,14 +130,14 @@ "greater-than": "Størri enn", "greater-than-equals": "Størri ella javnt", "grouped": "Bólkað", - "growth": "Growth", + "growth": "Vøkstur", "hostname": "Vertnavn", - "hour": "Hour", + "hour": "Tími", "includes": "Inniheldur", "insight": "Innlit", "insights": "Innlit", "insights-description": "Fá meira innlit í tínar dátur við at brúka bólkar og síur.", - "invalid-url": "Invalid URL", + "invalid-url": "Ógild URL", "is": "Er", "is-false": "Er falskt", "is-not": "Er ikki", @@ -161,9 +161,9 @@ "leave-team": "Far úr liði", "less-than": "Minni enn", "less-than-equals": "Minni ella javnt", - "link": "Link", + "link": "Leinkja", "links": "Leinkjur", - "location": "Location", + "location": "Støða", "login": "Rita inn", "logout": "Rita út", "manage": "Stýra", @@ -174,17 +174,17 @@ "member": "Limur", "members": "Limir", "min": "Minst", - "minute": "Minute", + "minute": "Minuttur", "mobile": "Telefon", - "model": "Model", - "month": "Month", + "model": "Fyrimynd", + "month": "Mánaður", "more": "Meira", "my-account": "Mín konto", "my-websites": "Mínar heimasíður", "name": "Navn", "new-password": "Nýtt loyniorð", "none": "Eingin", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {skrá} other {skrár}}", "ok": "OK", "online": "Online", "organic-search": "Organisk leiting", @@ -208,15 +208,15 @@ "password": "Loyniorð", "path": "Leið", "paths": "Leiðir", - "pixel": "Pixel", + "pixel": "Piksel", "pixels": "Pikslur", "powered-by": "Rikið av {name}", - "preferences": "Preferences", + "preferences": "Stillingar", "previous": "Fyrra", "previous-period": "Fyrra tíðarskeið", "previous-year": "Fyrra ár", "profile": "Vangi", - "profiles": "Profiles", + "profiles": "Profilir", "properties": "Eginleikar", "property": "Eginleiki", "queries": "Fyrispurningar", @@ -244,13 +244,13 @@ "role": "Leiklutur", "run-query": "Koyr fyrispurning", "save": "Goym", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Goym kohortu", + "save-segment": "Goym segment", + "screen": "Skíggi", "screens": "Skíggjar", "search": "Leita", "segment": "Segment", - "segments": "Segments", + "segments": "Segment", "select": "Vel", "select-date": "Vel dato", "select-filter": "Vel síu", @@ -264,14 +264,14 @@ "share-url": "Deil leinku", "single-day": "Einkultur dagur", "sms": "SMS", - "source": "Source", + "source": "Kelda", "sources": "Keldur", "start-step": "Byrjanarstigur", "steps": "Stig", "sum": "Samanlagt", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Stuðul", + "switch-account": "Skift konto", + "table": "Tabell", "tablet": "Teldil", "tag": "Merki", "tags": "Merki", @@ -285,105 +285,105 @@ "team-view-only": "Bert til at síggja lið", "team-websites": "Lið heimasíður", "teams": "Lið", - "term": "Term", + "term": "Leitorð", "terms": "Treytir", "theme": "Evni", "this-month": "Hendan mánan", "this-week": "Hesa vikuna", "this-year": "Hetta árið", "timezone": "Tíðarsona", - "title": "Title", + "title": "Heiti", "today": "Í dag", - "toggle-charts": "Toggle charts", - "total": "Total", - "total-records": "Total records", + "toggle-charts": "Vísa/fjal grafir", + "total": "Tilsamans", + "total-records": "Skrár tilsamans", "tracking-code": "Spori kota", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "Umferð", + "transactions": "Umsetningar", + "transfer": "Flyt", + "transfer-website": "Flyt heimasíðu", + "true": "Satt", + "type": "Slag", + "unique": "Einstaklingar", + "unique-events": "Einstakar hendingar", "unique-visitors": "Einsýna vitjanir", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Einstakar kundar", "unknown": "Ókent", - "untitled": "Untitled", - "update": "Update", + "untitled": "Einki heiti", + "update": "Dagfør", "url": "URL", - "user": "User", + "user": "Brúkari", "username": "Brúkaranavn", - "users": "Users", + "users": "Brúkarar", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-campaign": "UTM-herferð", + "utm-content": "UTM-innihald", + "utm-description": "Fylg herferðunum við UTM-stikum.", + "utm-medium": "UTM-miðil", + "utm-source": "UTM-kelda", + "utm-term": "UTM-leitorð", + "value": "Virði", + "version": "Útgáva", + "view": "Vís", "view-details": "Vís frágreiðing", - "view-only": "View only", + "view-only": "Bert vísing", "views": "Sýningar", - "views-per-visit": "Views per visit", + "views-per-visit": "Sýningar per vitjan", "visit-duration": "Miðal vitjurnartíð ", "visitors": "Vitjandi", - "visits": "Visits", - "website": "Website", - "website-id": "Website ID", + "visits": "Vitjanir", + "website": "Heimasíða", + "website-id": "Heimasíðu-ID", "websites": "Heimasíður", - "window": "Window", - "yesterday": "Yesterday" + "window": "Gluggi", + "yesterday": "Í gjár" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "Skriva {confirmation} í teigin niðanfyri at vátta.", "active-users": "{x} í løtuni {x, plural, one {vitjandi} other { vitjandi }}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Ógild umbøn", + "collected-data": "Innsamlaði dáta", "confirm-delete": "Ert tú sikkur at tú ynskir at strika {target}?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "Ert tú vís/ur í at fara frá {target}?", + "confirm-remove": "Ert tú vís/ur í at strika {target}?", "confirm-reset": "Are your sure you want to reset {target}'s statistics?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "At strika eitt lið strikar eisini allar heimasíður hjá liðnum.", "delete-website-warning": "Øll data ið er knýtt at verður eisini strika.", "error": "Okkurt bleiv gali.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} á {url}", + "forbidden": "Forboðið", "go-to-settings": "Far til stillingar", "incorrect-username-password": "Skeivt brúkaranavn/loyniorð.", "invalid-domain": "Ógilt økisnavn", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "Minsta longd er {n} tekn", + "new-version-available": "Nýggj útgáva av Umami {version} er tøk!", "no-data-available": "Einki data tøk.", - "no-event-data": "No event data is available.", + "no-event-data": "Eingin hendingardata tøk.", "no-match-password": "Loyniorðini eru ikki eins", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "Hetta liðið hevur eingi heimasíður.", + "no-teams": "Tú hevur ikki stovnað nøkur lið.", + "no-users": "Eingi brúkarar eru.", "no-websites-configured": "Tú hevur ongar heimasíður stillaða til.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Ikki funnið", + "nothing-selected": "Einki valt.", "page-not-found": "Síðan bleiv ikki funnin.", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "Fyri at nullstilla hesa heimasíðu, skriva {confirmation} í teigin niðanfyri at vátta.", "reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", "saved": "Goymt.", - "sever-error": "Server error", + "sever-error": "Ambætaravilla", "share-url": "Hettar er tann almenna leinkan av {target}.", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "Tú ert longu limur í liðnum.", + "team-not-found": "Lið ikki funnið.", + "team-websites-info": "Heimasíður kunnu síggjas av øllum á liðnum.", "tracking-code": "Spori kota", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "transfer-team-website-to-user": "Flyt hesa heimasíðu til tín konto?", + "transfer-user-website-to-team": "Vel liðið at flyta hesa heimasíðu til.", + "transfer-website": "Flyt ognarskapið av heimasíðuni til tín konto ella annað lið.", + "triggered-event": "Avbjóðað hending", + "unauthorized": "Ikki góðkent", + "user-deleted": "Brúkari strikaður.", + "viewed-page": "Síð vís", "visitor-log": "Vitjandi frá {country} brúkar {browser} á {os} {device}" } } diff --git a/public/intl/messages/fr-FR.json b/public/intl/messages/fr-FR.json index 8dacd6b74..ebe1265fe 100644 --- a/public/intl/messages/fr-FR.json +++ b/public/intl/messages/fr-FR.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Code d'accès", - "account": "Account", + "account": "Compte", "action": "Action", "actions": "Actions", "activity": "Journal d'activité", "add": "Ajouter", "add-board": "Ajouter un tableau", "add-description": "Ajouter une description", - "add-link": "Add link", + "add-link": "Ajouter un lien", "add-member": "Ajouter un membre", - "add-pixel": "Add pixel", + "add-pixel": "Ajouter un pixel", "add-step": "Ajouter une étape", "add-website": "Ajouter un site", "admin": "Administrateur", @@ -18,7 +18,7 @@ "after": "Après", "all": "Tout", "all-time": "Toutes les données", - "analysis": "Analysis", + "analysis": "Analyse", "analytics": "Analytique", "application": "Application", "apply": "Appliquer", @@ -34,18 +34,18 @@ "breakdown": "Répartition", "browser": "Navigateur", "browsers": "Navigateurs", - "campaign": "Campaign", + "campaign": "Campagne", "campaigns": "Campagnes", "cancel": "Annuler", "change-password": "Changer le mot de passe", - "channel": "Channel", + "channel": "Canal", "channels": "Canaux", - "chart": "Chart", + "chart": "Graphique", "cities": "Villes", "city": "Ville", "clear-all": "Réinitialiser", "cohort": "Cohorte", - "cohorts": "Cohorts", + "cohorts": "Cohortes", "compare": "Comparer", "compare-dates": "Comparer les dates", "confirm": "Confirmer", @@ -65,7 +65,7 @@ "create-user": "Créer un utilisateur", "created": "Créé", "created-by": "Créé par", - "criteria": "Criteria", + "criteria": "Critères", "currency": "Devise", "current": "Actuel", "current-password": "Mot de passe actuel", @@ -83,7 +83,7 @@ "delete-website": "Supprimer le site", "description": "Description", "desktop": "Ordinateur", - "destination-url": "Destination URL", + "destination-url": "URL de destination", "details": "Détails", "device": "Appareil", "devices": "Appareils", @@ -95,7 +95,7 @@ "does-not-include": "N'inclut pas", "doest-not-exist": "N'existe pas", "domain": "Domaine", - "download": "Download", + "download": "Télécharger", "dropoff": "Abandons", "edit": "Modifier", "edit-dashboard": "Modifier le tableau de bord", @@ -104,12 +104,12 @@ "enable-share-url": "Activer l'URL de partage", "end-step": "Étape de fin", "entry": "Chemin d'entrée", - "environment": "Environment", + "environment": "Environnement", "event": "Évènement", "event-data": "Données d'évènements", "event-name": "Nom de l'évènement", "events": "Évènements", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Exclure le rebond", "exists": "Existe", "exit": "Chemin de sortie", "false": "Faux", @@ -130,14 +130,14 @@ "greater-than": "Supérieur à", "greater-than-equals": "Supérieur ou égal à", "grouped": "Groupé", - "growth": "Growth", + "growth": "Croissance", "hostname": "Nom d'hôte", - "hour": "Hour", + "hour": "Heure", "includes": "Inclut", "insight": "Aperçu", "insights": "Aperçus", "insights-description": "Analysez précisément vos données en utilisant des segments et des filtres.", - "invalid-url": "Invalid URL", + "invalid-url": "URL invalide", "is": "Est", "is-false": "Est faux", "is-not": "N'est pas", @@ -161,9 +161,9 @@ "leave-team": "Quitter l'équipe", "less-than": "Inférieur à", "less-than-equals": "Inférieur ou égal à", - "link": "Link", + "link": "Lien", "links": "Liens", - "location": "Location", + "location": "Emplacement", "login": "Connexion", "logout": "Déconnexion", "manage": "Gérer", @@ -177,7 +177,7 @@ "minute": "Minute", "mobile": "Téléphone", "model": "Modèle", - "month": "Month", + "month": "Mois", "more": "Plus", "my-account": "Mon compte", "my-websites": "Mes sites", @@ -186,7 +186,7 @@ "none": "Aucun", "number-of-records": "{x} {x, plural, one {enregistrement} other {enregistrements}}", "ok": "OK", - "online": "Online", + "online": "En ligne", "organic-search": "Recherche organique", "organic-shopping": "Achat organique", "organic-social": "Réseau social organique", @@ -211,12 +211,12 @@ "pixel": "Pixel", "pixels": "Pixels", "powered-by": "Propulsé par {name}", - "preferences": "Preferences", + "preferences": "Préférences", "previous": "Précédent", "previous-period": "Période précédente", "previous-year": "Année précédente", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profils", "properties": "Propriétés", "property": "Propriété", "queries": "Requêtes", @@ -244,9 +244,9 @@ "role": "Rôle", "run-query": "Exécuter la requête", "save": "Enregistrer", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Enregistrer la cohorte", + "save-segment": "Enregistrer le segment", + "screen": "Écran", "screens": "Écrans", "search": "Rechercher", "segment": "Segment", @@ -270,8 +270,8 @@ "steps": "Étapes", "sum": "Somme", "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "switch-account": "Changer de compte", + "table": "Tableau", "tablet": "Tablette", "tag": "Étiquette", "tags": "Étiquettes", @@ -281,11 +281,11 @@ "team-member": "Membre de l'équipe", "team-name": "Nom de l'équipe", "team-owner": "Propriétaire de l'équipe", - "team-settings": "Team settings", + "team-settings": "Paramètres de l'équipe", "team-view-only": "Vue d'équipe uniquement", "team-websites": "Sites d'équipes", "teams": "Équipes", - "term": "Term", + "term": "Terme", "terms": "Mots clés", "theme": "Thème", "this-month": "Ce mois", @@ -305,7 +305,7 @@ "true": "Vrai", "type": "Type", "unique": "Unique", - "unique-events": "Unique events", + "unique-events": "Événements uniques", "unique-visitors": "Visiteurs uniques", "uniqueCustomers": "Clients uniques", "unknown": "Inconnu", @@ -316,12 +316,12 @@ "username": "Nom d'utilisateur", "users": "Utilisateurs", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM Campagne", + "utm-content": "UTM Contenu", "utm-description": "Suivez vos campagnes via les paramètres UTM.", - "utm-medium": "UTM Medium", + "utm-medium": "UTM Média", "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-term": "UTM Terme", "value": "Valeur", "version": "Version", "view": "Voir", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "Taper {confirmation} ci-dessous pour confirmer.", "active-users": "{x} {x, plural, one {visiteur} other {visiteurs}} actuellement", - "bad-request": "Bad request", + "bad-request": "Requête incorrecte", "collected-data": "Donnée collectée", "confirm-delete": "Êtes-vous sûr de vouloir supprimer {target} ?", "confirm-leave": "Êtes-vous sûr de vouloir quitter {target} ?", @@ -351,7 +351,7 @@ "delete-website-warning": "Toutes les données associées seront supprimées.", "error": "Un problème est survenu.", "event-log": "{event} sur {url}", - "forbidden": "Forbidden", + "forbidden": "Interdit", "go-to-settings": "Aller aux paramètres", "incorrect-username-password": "Nom d'utilisateur/Mot de passe incorrect.", "invalid-domain": "Domaine invalide", diff --git a/public/intl/messages/ga-ES.json b/public/intl/messages/ga-ES.json index a8436aa74..6ac11f20b 100644 --- a/public/intl/messages/ga-ES.json +++ b/public/intl/messages/ga-ES.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Código de acceso", - "account": "Account", - "action": "Action", + "account": "Conta", + "action": "Acción", "actions": "Accións", "activity": "Rexistro de actividade", "add": "Engadir", "add-board": "Engadir taboleiro", "add-description": "Engadir descrición", - "add-link": "Add link", + "add-link": "Engadir ligazón", "add-member": "Engadir membro", - "add-pixel": "Add pixel", + "add-pixel": "Engadir píxel", "add-step": "Engadir paso", "add-website": "Engadir sitio web", "admin": "Administrador/a", @@ -18,13 +18,13 @@ "after": "Despois", "all": "Todo", "all-time": "Sempre", - "analysis": "Analysis", + "analysis": "Análise", "analytics": "Analíticas", - "application": "Application", + "application": "Aplicación", "apply": "Aplicar", "attribution": "Atribución", "attribution-description": "Vexa como os usuarios interactúan co seu márketing e que impulsa as conversións.", - "audience": "Audience", + "audience": "Audiencia", "average": "Media", "back": "Atrás", "before": "Antes", @@ -34,18 +34,18 @@ "breakdown": "Desglose", "browser": "Navegador", "browsers": "Navegadores", - "campaign": "Campaign", + "campaign": "Campaña", "campaigns": "Campañas", "cancel": "Cancelar", "change-password": "Mudar contrasinal", - "channel": "Channel", + "channel": "Canle", "channels": "Canles", - "chart": "Chart", + "chart": "Gráfico", "cities": "Cidades", "city": "Cidade", "clear-all": "Limpar todo", "cohort": "Cohorte", - "cohorts": "Cohorts", + "cohorts": "Cohortes", "compare": "Comparar", "compare-dates": "Comparar datas", "confirm": "Confirmar", @@ -65,7 +65,7 @@ "create-user": "Crear usuario", "created": "Creado", "created-by": "Creado por", - "criteria": "Criteria", + "criteria": "Criterios", "currency": "Moeda", "current": "Actual", "current-password": "Contrasinal actual", @@ -83,19 +83,19 @@ "delete-website": "Eliminar sitio web", "description": "Descripción", "desktop": "Escritorio", - "destination-url": "Destination URL", + "destination-url": "URL de destino", "details": "Detalles", "device": "Dispositivo", "devices": "Dispositivos", "direct": "Directo", "dismiss": "Desbotar", "distinct-id": "ID distinto", - "documentation": "Documentation", + "documentation": "Documentación", "does-not-contain": "Non contén", "does-not-include": "Non inclúe", "doest-not-exist": "Non existe", "domain": "Dominio", - "download": "Download", + "download": "Descargar", "dropoff": "Disminución", "edit": "Editar", "edit-dashboard": "Editar taboleiro", @@ -104,12 +104,12 @@ "enable-share-url": "Activar URL de compartición", "end-step": "Paso final", "entry": "URL de entrada", - "environment": "Environment", + "environment": "Contorno", "event": "Evento", "event-data": "Datos do evento", "event-name": "Nome do evento", "events": "Eventos", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Excluír rebote", "exists": "Existe", "exit": "URL de saída", "false": "Falso", @@ -130,14 +130,14 @@ "greater-than": "Maior que", "greater-than-equals": "Maior ou igual que", "grouped": "Agrupado", - "growth": "Growth", + "growth": "Crecemento", "hostname": "Nome do host", - "hour": "Hour", + "hour": "Hora", "includes": "Inclúe", "insight": "Información", "insights": "Informacións", "insights-description": "Afonda nos teus datos usando segmentos e filtros.", - "invalid-url": "Invalid URL", + "invalid-url": "URL non válida", "is": "É", "is-false": "É falso", "is-not": "Non é", @@ -161,32 +161,32 @@ "leave-team": "Deixar o equipo", "less-than": "Menor que", "less-than-equals": "Menor ou igual que", - "link": "Link", + "link": "Ligazón", "links": "Ligazóns", - "location": "Location", + "location": "Localización", "login": "Acceder", "logout": "Pechar sesión", "manage": "Xestionar", "manager": "Xestor", - "max": "Max", + "max": "Máx", "maximize": "Expandir", "medium": "Medio", "member": "Membro", "members": "Membros", - "min": "Min", - "minute": "Minute", + "min": "Mín", + "minute": "Minuto", "mobile": "Móbil", "model": "Modelo", - "month": "Month", + "month": "Mes", "more": "Máis", "my-account": "A miña conta", "my-websites": "Os meus sitios web", "name": "Nome", "new-password": "Novo contrasinal", "none": "Ningún", - "number-of-records": "{x} {x, plural, one {record} other {records}}", - "ok": "OK", - "online": "Online", + "number-of-records": "{x} {x, plural, one {rexistro} other {rexistros}}", + "ok": "Aceptar", + "online": "En liña", "organic-search": "Busca orgánica", "organic-shopping": "Compra orgánica", "organic-social": "Social orgánico", @@ -208,15 +208,15 @@ "password": "Contrasinal", "path": "Ruta", "paths": "Rutas", - "pixel": "Pixel", + "pixel": "Píxel", "pixels": "Píxeles", "powered-by": "Funciona grazas a {name}", - "preferences": "Preferences", + "preferences": "Preferencias", "previous": "Anterior", "previous-period": "Periodo anterior", "previous-year": "Ano anterior", "profile": "Perfil", - "profiles": "Profiles", + "profiles": "Perfís", "properties": "Propiedades", "property": "Propiedade", "queries": "Peticións", @@ -244,13 +244,13 @@ "role": "Rol", "run-query": "Executar petición", "save": "Gardar", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Gardar cohorte", + "save-segment": "Gardar segmento", + "screen": "Pantalla", "screens": "Pantallas", "search": "Buscar", - "segment": "Segment", - "segments": "Segments", + "segment": "Segmento", + "segments": "Segmentos", "select": "Seleccionar", "select-date": "Seleccionar data", "select-filter": "Seleccionar filtro", @@ -264,14 +264,14 @@ "share-url": "Compartir URL", "single-day": "Un só día", "sms": "SMS", - "source": "Source", + "source": "Orixe", "sources": "Fontes", - "start-step": "Start Step", + "start-step": "Paso inicial", "steps": "Pasos", "sum": "Suma", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Soporte", + "switch-account": "Cambiar de conta", + "table": "Táboa", "tablet": "Tableta", "tag": "Etiqueta", "tags": "Etiquetas", @@ -285,7 +285,7 @@ "team-view-only": "Equipo de só lectura", "team-websites": "Sitios web do equipo", "teams": "Equipos", - "term": "Term", + "term": "Termo", "terms": "Termos", "theme": "Decorado", "this-month": "Este mes", @@ -298,14 +298,14 @@ "total": "Total", "total-records": "Rexistros totais", "tracking-code": "Código de seguemento", - "traffic": "Traffic", + "traffic": "Tráfico", "transactions": "Transaccións", "transfer": "Transferir", "transfer-website": "Transferir sitio web", "true": "Verdadeiro", "type": "Tipo", "unique": "Único", - "unique-events": "Unique events", + "unique-events": "Eventos únicos", "unique-visitors": "Visitas únicas", "uniqueCustomers": "Clientes únicos", "unknown": "Descoñecido", @@ -316,14 +316,14 @@ "username": "Identificador", "users": "Usuarios", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM Campaña", + "utm-content": "UTM Contido", "utm-description": "Segue as túas campañas a través dos parámetros UTM.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM Medio", + "utm-source": "UTM Orixe", + "utm-term": "UTM Termo", "value": "Valor", - "version": "Version", + "version": "Versión", "view": "Vista", "view-details": "Ver detalles", "view-only": "Só lectura", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "Escribe {confirmation} na caixa de embaixo para confirmar.", "active-users": "{x} actual {x, plural, one {visitante} other {visitantes}}", - "bad-request": "Bad request", + "bad-request": "Solicitude incorrecta", "collected-data": "Datos recopilados", "confirm-delete": "Estás seguro/a de que queres eliminar {target}?", "confirm-leave": "Estás seguro/a de que queres deixar {target}?", @@ -351,7 +351,7 @@ "delete-website-warning": "Tamén serán borrados tódolos datos asociados.", "error": "Houbo un fallo.", "event-log": "{event} en {url}", - "forbidden": "Forbidden", + "forbidden": "Prohibido", "go-to-settings": "Ir aos axustes", "incorrect-username-password": "Credenciais incorrectas.", "invalid-domain": "Dominio non válido", @@ -365,13 +365,13 @@ "no-teams": "Non creaches ningún equipo.", "no-users": "Non hai usuarios.", "no-websites-configured": "Non tes sitios web configurados.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Non atopado", + "nothing-selected": "Nada seleccionado.", "page-not-found": "Páxina non atopada.", "reset-website": "Para restablecer este sitio web, escriba {confirmation} na caixa de embaixo para confirmar.", "reset-website-warning": "Vanse eliminar tódalas estatísticas deste sitio web, pero o código de seguimento permanecerá sen cambios.", "saved": "Gardouse correctamente.", - "sever-error": "Server error", + "sever-error": "Erro do servidor", "share-url": "Este é o URL da compartición pública de {target}.", "team-already-member": "Xa es membro do equipo.", "team-not-found": "Equipo non atopado.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Selecciona o equipo ao que transferir este sitio web.", "transfer-website": "Transferir propiedade do sitio web á túa conta ou a outro equipo.", "triggered-event": "Activou o evento", - "unauthorized": "Unauthorized", + "unauthorized": "Non autorizado", "user-deleted": "Usuario eliminado.", "viewed-page": "Páxina vista", "visitor-log": "Visitante desde {country} usando {browser} en {os} {device}" diff --git a/public/intl/messages/he-IL.json b/public/intl/messages/he-IL.json index b618296a4..8641c44f2 100644 --- a/public/intl/messages/he-IL.json +++ b/public/intl/messages/he-IL.json @@ -1,16 +1,16 @@ { "label": { "access-code": "קוד גישה", - "account": "Account", - "action": "Action", + "account": "חשבון", + "action": "פעולה", "actions": "פעולות", "activity": "יומן פעילות", "add": "הוסף", "add-board": "הוסף לוח", "add-description": "הוסף תיאור", - "add-link": "Add link", + "add-link": "הוספת קישור", "add-member": "הוסף חבר", - "add-pixel": "Add pixel", + "add-pixel": "הוספת פיקסל", "add-step": "הוסף שלב", "add-website": "הוספת אתר", "admin": "מנהל", @@ -18,13 +18,13 @@ "after": "אחרי", "all": "הכל", "all-time": "כל הזמנים", - "analysis": "Analysis", + "analysis": "ניתוח", "analytics": "אנליטיקה", - "application": "Application", + "application": "יישום", "apply": "החל", "attribution": "שיוך", "attribution-description": "צפה כיצד משתמשים מתקשרים עם השיווק שלך ומה מניע המרות.", - "audience": "Audience", + "audience": "קהל", "average": "ממוצע", "back": "חזרה", "before": "לפני", @@ -34,23 +34,23 @@ "breakdown": "פירוט", "browser": "דפדפן", "browsers": "דפדפנים", - "campaign": "Campaign", + "campaign": "מסע פרסום", "campaigns": "קמפיינים", "cancel": "ביטול", "change-password": "שינוי סיסמה", - "channel": "Channel", + "channel": "ערוץ", "channels": "ערוצים", - "chart": "Chart", + "chart": "תרשים", "cities": "ערים", "city": "עיר", "clear-all": "נקה הכל", "cohort": "קבוצה", - "cohorts": "Cohorts", + "cohorts": "קוהורטות", "compare": "השווה", "compare-dates": "השווה תאריכים", "confirm": "אשר", "confirm-password": "אישור סיסמה", - "contains": "Contains", + "contains": "מכיל", "content": "תוכן", "continue": "המשך", "conversion": "המרה", @@ -65,7 +65,7 @@ "create-user": "צור משתמש", "created": "נוצר", "created-by": "נוצר על ידי", - "criteria": "Criteria", + "criteria": "קריטריונים", "currency": "מטבע", "current": "נוכחי", "current-password": "סיסמה נוכחית", @@ -83,19 +83,19 @@ "delete-website": "הסרת אתר", "description": "תיאור", "desktop": "מחשב שולחני", - "destination-url": "Destination URL", + "destination-url": "כתובת יעד", "details": "פרטים", "device": "מכשיר", "devices": "מכשירים", "direct": "ישיר", "dismiss": "שיחרור", "distinct-id": "מזהה ייחודי", - "documentation": "Documentation", + "documentation": "תיעוד", "does-not-contain": "לא מכיל", "does-not-include": "לא כולל", "doest-not-exist": "לא קיים", "domain": "דומיין", - "download": "Download", + "download": "הורדה", "dropoff": "עזיבה", "edit": "עריכה", "edit-dashboard": "ערוך לוח מחוונים", @@ -104,18 +104,18 @@ "enable-share-url": "הפעלת URL שיתוף", "end-step": "שלב סיום", "entry": "כתובת כניסה", - "environment": "Environment", + "environment": "סביבה", "event": "אירוע", "event-data": "נתוני אירוע", "event-name": "שם האירוע", "events": "אירועים", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "החרג נטישה", "exists": "קיים", "exit": "כתובת יציאה", "false": "שקר", "field": "שדה", "fields": "שדות", - "filter": "Filter", + "filter": "סינון", "filter-combined": "משותף", "filter-raw": "גולמי", "filters": "מסננים", @@ -130,14 +130,14 @@ "greater-than": "גדול מ-", "greater-than-equals": "גדול או שווה ל-", "grouped": "מקובץ", - "growth": "Growth", + "growth": "צמיחה", "hostname": "שם מארח", - "hour": "Hour", + "hour": "שעה", "includes": "כולל", "insight": "תובנה", "insights": "תובנות", "insights-description": "צלול עמוק יותר לנתונים שלך באמצעות פילוחים ומסננים.", - "invalid-url": "Invalid URL", + "invalid-url": "כתובת לא תקינה", "is": "הוא", "is-false": "הוא שקר", "is-not": "אינו", @@ -149,8 +149,8 @@ "journey": "מסע", "journey-description": "הבן כיצד משתמשים מנווטים באתר שלך.", "journeys": "מסעות", - "language": "Language", - "languages": "Languages", + "language": "שפה", + "languages": "שפות", "laptop": "לפטופ", "last-click": "קליק אחרון", "last-days": "{x} ימים אחרונים", @@ -161,9 +161,9 @@ "leave-team": "עזוב צוות", "less-than": "פחות מ-", "less-than-equals": "פחות או שווה ל-", - "link": "Link", + "link": "קישור", "links": "קישורים", - "location": "Location", + "location": "מיקום", "login": "התחברות", "logout": "התנתקות", "manage": "נהל", @@ -174,10 +174,10 @@ "member": "חבר", "members": "חברים", "min": "מינימום", - "minute": "Minute", + "minute": "דקה", "mobile": "מובייל", - "model": "Model", - "month": "Month", + "model": "דגם", + "month": "חודש", "more": "עוד", "my-account": "החשבון שלי", "my-websites": "האתרים שלי", @@ -185,20 +185,20 @@ "new-password": "סיסמה חדשה", "none": "ללא", "number-of-records": "{x} {x, plural, one {רשומה} other {רשומות}}", - "ok": "OK", - "online": "Online", + "ok": "אישור", + "online": "מחובר", "organic-search": "חיפוש אורגני", "organic-shopping": "קניות אורגניות", "organic-social": "רשת חברתית אורגנית", "organic-video": "וידאו אורגני", - "os": "OS", + "os": "מערכת הפעלה", "other": "אחר", "overview": "סקירה כללית", "owner": "בעלים", "page": "דף", "page-of": "דף {current} מתוך {total}", "page-views": "צפיות בדפים", - "pageTitle": "Page title", + "pageTitle": "כותרת עמוד", "pages": "דפים", "paid-ads": "מודעות בתשלום", "paid-search": "חיפוש בתשלום", @@ -208,15 +208,15 @@ "password": "סיסמה", "path": "נתיב", "paths": "נתיבים", - "pixel": "Pixel", + "pixel": "פיקסל", "pixels": "פיקסלים", - "powered-by": "Powered by {name}", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "powered-by": "מופעל על ידי {name}", + "preferences": "העדפות", + "previous": "הקודם", + "previous-period": "תקופה קודמת", + "previous-year": "שנה קודמת", "profile": "פרופיל", - "profiles": "Profiles", + "profiles": "פרופילים", "properties": "מאפיינים", "property": "מאפיין", "queries": "שאילתות", @@ -224,166 +224,166 @@ "query-parameters": "פרמטרי שאילתה", "realtime": "זמן אמת", "referral": "הפניה", - "referrer": "Referrer", + "referrer": "מפנה", "referrers": "מפנים", "refresh": "רענון", - "regenerate": "Regenerate", - "region": "Region", - "regions": "Regions", + "regenerate": "ייצור מחדש", + "region": "אזור", + "regions": "אזורים", "remaining": "נותר", - "remove": "Remove", - "remove-member": "Remove member", - "reports": "Reports", + "remove": "הסרה", + "remove-member": "הסרת חבר", + "reports": "דוחות", "required": "נדרש", "reset": "איפוס", "reset-website": "Reset statistics", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", + "retention": "שימור", + "retention-description": "מדדו את מידת ההיצמדות לאתר שלכם על ידי מעקב אחר תדירות חזרת המשתמשים.", "revenue": "הכנסה", "revenue-description": "בדוק את ההכנסות שלך לאורך זמן.", - "role": "Role", - "run-query": "Run query", + "role": "תפקיד", + "run-query": "הרץ שאילתה", "save": "שמירה", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "שמור קוהורטה", + "save-segment": "שמור מקטע", + "screen": "מסך", "screens": "מסכים", - "search": "Search", - "segment": "Segment", - "segments": "Segments", - "select": "Select", - "select-date": "Select date", + "search": "חיפוש", + "segment": "מקטע", + "segments": "מקטעים", + "select": "בחירה", + "select-date": "בחר תאריך", "select-filter": "בחר מסנן", - "select-role": "Select role", - "select-website": "Select website", + "select-role": "בחר תפקיד", + "select-website": "בחר אתר", "session": "סשן", "session-data": "נתוני סשן", - "sessions": "Sessions", + "sessions": "הפעלות", "settings": "הגדרות", "share": "שתף", "share-url": "שיתוף URL", "single-day": "יום בודד", "sms": "SMS", - "source": "Source", + "source": "מקור", "sources": "מקורות", "start-step": "שלב התחלה", "steps": "שלבים", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "sum": "סכום", + "support": "תמיכה", + "switch-account": "החלף חשבון", + "table": "טבלה", "tablet": "טאבלט", "tag": "תגית", "tags": "תגיות", - "team": "Team", - "team-id": "Team ID", - "team-manager": "Team manager", - "team-member": "Team member", - "team-name": "Team name", - "team-owner": "Team owner", + "team": "צוות", + "team-id": "מזהה צוות", + "team-manager": "מנהל צוות", + "team-member": "חבר צוות", + "team-name": "שם צוות", + "team-owner": "בעלי צוות", "team-settings": "הגדרות צוות", - "team-view-only": "Team view only", - "team-websites": "Team websites", - "teams": "Teams", - "term": "Term", + "team-view-only": "צפייה בלבד בצוות", + "team-websites": "אתרי צוות", + "teams": "צוותות", + "term": "מונח חיפוש", "terms": "תנאים", - "theme": "Theme", + "theme": "ערכת נושא", "this-month": "החודש", "this-week": "השבוע", "this-year": "השנה", "timezone": "אזור זמן", - "title": "Title", + "title": "כותרת", "today": "היום", - "toggle-charts": "Toggle charts", - "total": "Total", - "total-records": "Total records", + "toggle-charts": "הצג/הסתר תרשימים", + "total": "סה\"כ", + "total-records": "סה\"כ רשומות", "tracking-code": "קוד מעקב", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "תעבורה", + "transactions": "עסקאות", + "transfer": "העברה", + "transfer-website": "העברת אתר", + "true": "אמת", + "type": "סוג", + "unique": "ייחודי", + "unique-events": "אירועים ייחודיים", "unique-visitors": "מבקרים ייחודיים", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "לקוחות ייחודיים", "unknown": "לא ידוע", - "untitled": "Untitled", - "update": "Update", + "untitled": "ללא כותרת", + "update": "עדכון", "url": "URL", - "user": "User", + "user": "משתמש", "username": "שם משתמש", - "users": "Users", + "users": "משתמשים", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-campaign": "UTM מסע פרסום", + "utm-content": "UTM תוכן", + "utm-description": "עקבו אחר מסעות הפרסום שלכם באמצעות פרמטרי UTM.", + "utm-medium": "UTM מדיה", + "utm-source": "UTM מקור", + "utm-term": "UTM מונח", + "value": "ערך", + "version": "גרסה", + "view": "צפייה", "view-details": "פרטים נוספים", - "view-only": "View only", + "view-only": "צפייה בלבד", "views": "צפיות", - "views-per-visit": "Views per visit", + "views-per-visit": "צפיות לביקור", "visit-duration": "זמן ביקור ממוצע", "visitors": "מבקרים", - "visits": "Visits", - "website": "Website", - "website-id": "Website ID", + "visits": "ביקורים", + "website": "אתר", + "website-id": "מזהה אתר", "websites": "אתרים", - "window": "Window", - "yesterday": "Yesterday" + "window": "חלון", + "yesterday": "אתמול" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "הקלידו {confirmation} בתיבה למטה לאישור.", "active-users": "{x} נוכחיים {x, plural, one {מבקר} other {מבקרים}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "בקשה שגויה", + "collected-data": "נתונים שנאספו", "confirm-delete": "האם באמת למחוק את {target}?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "האם אתם בטוחים שברצונכם לעזוב את {target}?", + "confirm-remove": "האם אתם בטוחים שברצונכם להסיר את {target}?", "confirm-reset": "Are your sure you want to reset {target}'s statistics?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "מחיקת צוות תמחק גם את כל אתרי הצוות.", "delete-website-warning": "כל המידע המקושר יימחק", "error": "משהו השתבש", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} ב-{url}", + "forbidden": "אסור", "go-to-settings": "להדרותג", "incorrect-username-password": "שם משתמש או סיסמה לא נכונים", "invalid-domain": "דומיין לא תקין", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "אורך מינימלי של {n} תווים", + "new-version-available": "גרסה חדשה של Umami {version} זמינה!", "no-data-available": "אין מידע זמין", - "no-event-data": "No event data is available.", + "no-event-data": "אין נתוני אירועים זמינים.", "no-match-password": "סיסמאות לא תואמות", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "לצוות זה אין אתרים.", + "no-teams": "לא יצרתם צוותות.", + "no-users": "אין משתמשים.", "no-websites-configured": "לא מוגדרים אתרים", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "לא נמצא", + "nothing-selected": "לא נבחר דבר.", "page-not-found": "דף לא נמצא", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "לאיפוס אתר זה, הקלידו {confirmation} בתיבה למטה לאישור.", "reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", "saved": "נשמר בהצלחה", - "sever-error": "Server error", + "sever-error": "שגיאת שרת", "share-url": "זהו URL ציבורי עבור {target}", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "אתם כבר חברים בצוות.", + "team-not-found": "צוות לא נמצא.", + "team-websites-info": "האתרים ניתנים לצפייה על ידי כל חברי הצוות.", "tracking-code": "קוד מעקב", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "transfer-team-website-to-user": "להעביר אתר זה לחשבון שלכם?", + "transfer-user-website-to-team": "בחרו את הצוות אליו להעביר אתר זה.", + "transfer-website": "העבירו את בעלות האתר לחשבון שלכם או לצוות אחר.", + "triggered-event": "אירוע שהופעל", + "unauthorized": "לא מורשה", + "user-deleted": "משתמש נמחק.", + "viewed-page": "עמוד שנצפה", "visitor-log": "מבקר ממדינת {country} משתמבש בדפדפן {browser} ב-{os} {device}" } } diff --git a/public/intl/messages/hi-IN.json b/public/intl/messages/hi-IN.json index 33ab84f6e..5864c1d25 100644 --- a/public/intl/messages/hi-IN.json +++ b/public/intl/messages/hi-IN.json @@ -1,16 +1,16 @@ { "label": { "access-code": "पहुंच कोड", - "account": "Account", - "action": "Action", + "account": "खाता", + "action": "कार्रवाई", "actions": "कार्य", "activity": "गतिविधि लॉग", "add": "जोडो", "add-board": "बोर्ड जोड़ें", "add-description": "विवरण लिखें", - "add-link": "Add link", + "add-link": "लिंक जोड़ें", "add-member": "सदस्य जोड़ें", - "add-pixel": "Add pixel", + "add-pixel": "पिक्सेल जोड़ें", "add-step": "चरण जोड़ें", "add-website": "वेबसाइट", "admin": "प्रशासक", @@ -18,13 +18,13 @@ "after": "बाद में", "all": "सब", "all-time": "सभी समय", - "analysis": "Analysis", + "analysis": "विश्लेषण", "analytics": "विश्लेषण", - "application": "Application", + "application": "एप्लिकेशन", "apply": "लागू करें", "attribution": "अर्पण", "attribution-description": "देखें कि उपयोगकर्ता आपके विपणन के साथ कैसे जुड़ते हैं और क्या रूपांतरण को प्रेरित करता है।", - "audience": "Audience", + "audience": "दर्शक", "average": "औसत", "back": "पीछे", "before": "पहले", @@ -34,18 +34,18 @@ "breakdown": "विभाजन", "browser": "ब्राउज़र", "browsers": "वेब ब्राउज़र", - "campaign": "Campaign", + "campaign": "अभियान", "campaigns": "अभियान", "cancel": "रद्द करें", "change-password": "पासवर्ड बदलें", - "channel": "Channel", + "channel": "चैनल", "channels": "चैनल", - "chart": "Chart", + "chart": "चार्ट", "cities": "शहर", "city": "शहर", "clear-all": "सभी साफ करें", "cohort": "समूह", - "cohorts": "Cohorts", + "cohorts": "कोहॉर्ट", "compare": "तुलना करें", "compare-dates": "तिथियों की तुलना करें", "confirm": "पुष्टि करें", @@ -65,7 +65,7 @@ "create-user": "उपयोगकर्ता बनाएं", "created": "बनाया गया", "created-by": "द्वारा बनाया गया", - "criteria": "Criteria", + "criteria": "मानदंड", "currency": "मुद्रा", "current": "वर्तमान", "current-password": "वर्तमान पासवर्ड", @@ -83,20 +83,20 @@ "delete-website": "वेबसाइट हटाएं", "description": "विवरण", "desktop": "डेस्कटॉप", - "destination-url": "Destination URL", + "destination-url": "गंतव्य URL", "details": "विवरण", "device": "डिवाइस", "devices": "उपकरण", "direct": "प्रत्यक्ष", "dismiss": "खारिज कीजिये", "distinct-id": "अद्वितीय आईडी", - "documentation": "Documentation", + "documentation": "प्रलेखन", "does-not-contain": "शामिल नहीं है", "does-not-include": "शामिल नहीं है", "doest-not-exist": "मौजूद नहीं है", "domain": "डोमेन", - "download": "Download", - "dropoff": "Dropoff", + "download": "डाउनलोड", + "dropoff": "ड्रॉपऑफ", "edit": "संपादित करें", "edit-dashboard": "डैशबोर्ड संपादित करें", "edit-member": "सदस्य संपादित करें", @@ -104,12 +104,12 @@ "enable-share-url": "शेयर URL सक्षम करें", "end-step": "अंतिम चरण", "entry": "प्रवेश URL", - "environment": "Environment", + "environment": "वातावरण", "event": "घटना", "event-data": "घटना डेटा", "event-name": "घटना नाम", "events": "स्पर्धाएँ", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "बाउंस को बाहर करें", "exists": "मौजूद है", "exit": "निकास URL", "false": "गलत", @@ -130,14 +130,14 @@ "greater-than": "से अधिक", "greater-than-equals": "से अधिक या बराबर", "grouped": "समूहित", - "growth": "Growth", + "growth": "वृद्धि", "hostname": "होस्टनाम", - "hour": "Hour", + "hour": "घंटा", "includes": "शामिल है", "insight": "अंतर्दृष्टि", "insights": "अंतर्दृष्टियाँ", "insights-description": "सेगमेंट और फ़िल्टर का उपयोग करके अपने डेटा में गहराई से जाएं।", - "invalid-url": "Invalid URL", + "invalid-url": "अमान्य URL", "is": "है", "is-false": "गलत है", "is-not": "नहीं है", @@ -161,9 +161,9 @@ "leave-team": "टीम छोड़ें", "less-than": "से कम", "less-than-equals": "से कम या बराबर", - "link": "Link", + "link": "लिंक", "links": "लिंक", - "location": "Location", + "location": "स्थान", "login": "लॉग इन", "logout": "लॉग आउट", "manage": "प्रबंधित करें", @@ -174,19 +174,19 @@ "member": "सदस्य", "members": "सदस्यगण", "min": "न्यूनतम", - "minute": "Minute", + "minute": "मिनट", "mobile": "मोबाइल फोन", "model": "मॉडल", - "month": "Month", + "month": "महीना", "more": "और", "my-account": "मेरा खाता", "my-websites": "मेरी वेबसाइट्स", "name": "नाम", "new-password": "नया पासवर्ड", "none": "कोई नहीं", - "number-of-records": "{x} {x, plural, one {record} other {records}}", - "ok": "OK", - "online": "Online", + "number-of-records": "{x} {x, plural, one {रिकॉर्ड} other {रिकॉर्ड}}", + "ok": "ठीक है", + "online": "ऑनलाइन", "organic-search": "ऑर्गेनिक खोज", "organic-shopping": "ऑर्गेनिक खरीदारी", "organic-social": "ऑर्गेनिक सोशल", @@ -208,15 +208,15 @@ "password": "पासवर्ड", "path": "पथ", "paths": "पथ", - "pixel": "Pixel", + "pixel": "पिक्सेल", "pixels": "पिक्सेल", "powered-by": "{name} द्वारा संचालित", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "preferences": "प्राथमिकताएँ", + "previous": "पिछला", + "previous-period": "पिछली अवधि", + "previous-year": "पिछला वर्ष", "profile": "प्रोफ़ाइल", - "profiles": "Profiles", + "profiles": "प्रोफ़ाइल", "properties": "गुण", "property": "गुण", "queries": "प्रश्न", @@ -244,13 +244,13 @@ "role": "भूमिका", "run-query": "प्रश्न चलाएँ", "save": "सहेजें", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "कोहॉर्ट सहेजें", + "save-segment": "सेगमेंट सहेजें", + "screen": "स्क्रीन", "screens": "स्क्रीन", "search": "खोजें", - "segment": "Segment", - "segments": "Segments", + "segment": "सेगमेंट", + "segments": "सेगमेंट", "select": "चुनें", "select-date": "तिथि चुनें", "select-filter": "फ़िल्टर चुनें", @@ -264,14 +264,14 @@ "share-url": "यूआरएल साझा करें", "single-day": "एक दिन", "sms": "SMS", - "source": "Source", + "source": "स्रोत", "sources": "स्रोत", "start-step": "प्रारंभिक चरण", "steps": "चरण", "sum": "योग", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "सहायता", + "switch-account": "खाता बदलें", + "table": "तालिका", "tablet": "टैबलेट", "tag": "टैग", "tags": "टैग्स", @@ -285,105 +285,105 @@ "team-view-only": "केवल टीम देखें", "team-websites": "टीम वेबसाइट्स", "teams": "टीमें", - "term": "Term", + "term": "खोज शब्द", "terms": "शर्तें", "theme": "थीम", "this-month": "इस महीने", "this-week": "इस सप्ताह", "this-year": "इस साल", "timezone": "समय क्षेत्र", - "title": "Title", + "title": "शीर्षक", "today": "आज", - "toggle-charts": "Toggle charts", - "total": "Total", - "total-records": "Total records", + "toggle-charts": "चार्ट दिखाएँ/छिपाएँ", + "total": "कुल", + "total-records": "कुल रिकॉर्ड", "tracking-code": "ट्रैकिंग कोड", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "ट्रैफ़िक", + "transactions": "लेनदेन", + "transfer": "स्थानांतरण", + "transfer-website": "वेबसाइट स्थानांतरित करें", + "true": "सत्य", + "type": "प्रकार", + "unique": "अद्वितीय", + "unique-events": "अद्वितीय ईवेंट", "unique-visitors": "अद्वितीय आगंतुकों", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "अद्वितीय ग्राहक", "unknown": "अज्ञात", - "untitled": "Untitled", - "update": "Update", + "untitled": "बिना शीर्षक", + "update": "अपडेट", "url": "URL", - "user": "User", + "user": "उपयोगकर्ता", "username": "उपयोगकर्ता नाम", - "users": "Users", + "users": "उपयोगकर्ता", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-campaign": "UTM अभियान", + "utm-content": "UTM सामग्री", + "utm-description": "UTM पैरामीटर के माध्यम से अपने अभियानों को ट्रैक करें।", + "utm-medium": "UTM माध्यम", + "utm-source": "UTM स्रोत", + "utm-term": "UTM शब्द", + "value": "मान", + "version": "संस्करण", + "view": "देखें", "view-details": "विवरण देखें", - "view-only": "View only", + "view-only": "केवल देखें", "views": "दृश्य", - "views-per-visit": "Views per visit", + "views-per-visit": "प्रति विज़िट दृश्य", "visit-duration": "औसत दृश्य समय", "visitors": "आगंतुकों", - "visits": "Visits", - "website": "Website", - "website-id": "Website ID", + "visits": "विज़िट", + "website": "वेबसाइट", + "website-id": "वेबसाइट ID", "websites": "वेबसाइटों", - "window": "Window", - "yesterday": "Yesterday" + "window": "विंडो", + "yesterday": "कल" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "पुष्टि करने के लिए नीचे बॉक्स में {confirmation} टाइप करें।", "active-users": "{x} मौजूद {x, plural, one {आगंतुक} other {आगंतुकों}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "अमान्य अनुरोध", + "collected-data": "एकत्रित डेटा", "confirm-delete": "क्या आप वाकई में {target} हटाना चाहते हैं?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "क्या आप वाकई {target} छोड़ना चाहते हैं?", + "confirm-remove": "क्या आप वाकई {target} को हटाना चाहते हैं?", "confirm-reset": "Are your sure you want to reset {target}'s statistics?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "टीम हटाने से टीम की सभी वेबसाइटें भी हट जाएँगी।", "delete-website-warning": "सभी संबद्ध डेटा को भी हटा दिया जाएगा।", "error": "कुछ गलत हो गया।", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{url} पर {event}", + "forbidden": "प्रतिबंधित", "go-to-settings": "समायोजन में जाइए", "incorrect-username-password": "ग़लत उपयोगकर्ता नाम / पासवर्ड।", "invalid-domain": "अमान्य डोमेन", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "न्यूनतम {n} वर्ण", + "new-version-available": "Umami {version} का नया संस्करण उपलब्ध है!", "no-data-available": "कोई डेटा उपलब्ध नहीं है।", - "no-event-data": "No event data is available.", + "no-event-data": "कोई ईवेंट डेटा उपलब्ध नहीं है।", "no-match-password": "पासवर्ड मेल नहीं खाते", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "इस टीम के पास कोई वेबसाइट नहीं है।", + "no-teams": "आपने कोई टीम नहीं बनाई है।", + "no-users": "कोई उपयोगकर्ता नहीं हैं।", "no-websites-configured": "आपके पास कोई वेबसाइट कॉन्फ़िगर नहीं है।", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "नहीं मिला", + "nothing-selected": "कुछ भी चयनित नहीं है।", "page-not-found": "पृष्ठ नहीं मिला।", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "इस वेबसाइट को रीसेट करने के लिए, नीचे बॉक्स में {confirmation} टाइप करें।", "reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", "saved": "सफलतापूर्वक संचित कर लिया गया है।", - "sever-error": "Server error", + "sever-error": "सर्वर त्रुटि", "share-url": "यह {target} के लिए सार्वजनिक रूप से साझा किया गया URL है।", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "आप पहले से ही टीम के सदस्य हैं।", + "team-not-found": "टीम नहीं मिली।", + "team-websites-info": "वेबसाइटें टीम के किसी भी सदस्य द्वारा देखी जा सकती हैं।", "tracking-code": "ट्रैकिंग कोड", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "transfer-team-website-to-user": "इस वेबसाइट को अपने खाते में स्थानांतरित करें?", + "transfer-user-website-to-team": "इस वेबसाइट को स्थानांतरित करने के लिए टीम चुनें।", + "transfer-website": "वेबसाइट का स्वामित्व अपने खाते या किसी अन्य टीम में स्थानांतरित करें।", + "triggered-event": "ट्रिगर किया गया ईवेंट", + "unauthorized": "अनधिकृत", + "user-deleted": "उपयोगकर्ता हटाया गया।", + "viewed-page": "देखा गया पेज", "visitor-log": "{country} का आगंतुक, जो {browser} का उपयोग करता है, {os} यन्त्र पर" } } diff --git a/public/intl/messages/hr-HR.json b/public/intl/messages/hr-HR.json index a99f8e5e1..12412d9ee 100644 --- a/public/intl/messages/hr-HR.json +++ b/public/intl/messages/hr-HR.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Pristupni kod", - "account": "Account", - "action": "Action", + "account": "Račun", + "action": "Radnja", "actions": "Akcije", "activity": "Dnevnik aktivnosti", "add": "Dodaj", "add-board": "Dodaj ploču", "add-description": "Dodaj opis", - "add-link": "Add link", + "add-link": "Dodaj poveznicu", "add-member": "Dodaj člana", - "add-pixel": "Add pixel", + "add-pixel": "Dodaj piksel", "add-step": "Dodaj korak", "add-website": "Dodaj web stranicu", "admin": "Administrator", @@ -18,13 +18,13 @@ "after": "Nakon", "all": "Sve", "all-time": "Svo vrijeme", - "analysis": "Analysis", + "analysis": "Analiza", "analytics": "Analitika", - "application": "Application", + "application": "Aplikacija", "apply": "Primijeni", "attribution": "Atribucija", "attribution-description": "Pogledajte kako korisnici komuniciraju s vašim marketingom i što dovodi do konverzija.", - "audience": "Audience", + "audience": "Publika", "average": "Prosjek", "back": "Natrag ", "before": "Prije", @@ -34,30 +34,30 @@ "breakdown": "Raspad", "browser": "Preglednik", "browsers": "Preglednici", - "campaign": "Campaign", + "campaign": "Kampanja", "campaigns": "Kampanje", "cancel": "Odustani", "change-password": "Promijeni lozinku", - "channel": "Channel", + "channel": "Kanal", "channels": "Kanali", - "chart": "Chart", + "chart": "Grafikon", "cities": "Gradovi", "city": "Grad", "clear-all": "Očisti sve", "cohort": "Kohorta", - "cohorts": "Cohorts", + "cohorts": "Kohorte", "compare": "Usporedi", "compare-dates": "Usporedi datume", "confirm": "Potvrdi", "confirm-password": "Potvrdi lozinku", - "contains": "Contains", + "contains": "Sadrži", "content": "Sadržaj", "continue": "Nastavi", "conversion": "Konverzija", "conversion-rate": "Stopa konverzije", "conversion-step": "Korak konverzije", "count": "Broj", - "countries": "Countries", + "countries": "Države", "country": "Država", "create": "Kreiraj", "create-report": "Kreiraj izvještaj", @@ -65,7 +65,7 @@ "create-user": "Kreiraj korisnika", "created": "Kreirano", "created-by": "Kreirao", - "criteria": "Criteria", + "criteria": "Kriteriji", "currency": "Valuta", "current": "Trenutno", "current-password": "Trenutna lozinka", @@ -83,19 +83,19 @@ "delete-website": "Obriši web stranicu", "description": "Opis", "desktop": "Stolno računalo", - "destination-url": "Destination URL", + "destination-url": "Odredišni URL", "details": "Detalji", "device": "Uređaj", "devices": "Uređaji", "direct": "Direktno", "dismiss": "Odbaci", "distinct-id": "Jedinstveni ID", - "documentation": "Documentation", + "documentation": "Dokumentacija", "does-not-contain": "Ne sadrži", "does-not-include": "Ne uključuje", "doest-not-exist": "Ne postoji", "domain": "Domena", - "download": "Download", + "download": "Preuzmi", "dropoff": "Odlazak", "edit": "Uredi", "edit-dashboard": "Uredi nadzornu ploču", @@ -104,20 +104,20 @@ "enable-share-url": "Omogući dijeljenje poveznice", "end-step": "Završni korak", "entry": "Ulazni URL", - "environment": "Environment", + "environment": "Okruženje", "event": "Događaj", "event-data": "Podaci događaja", "event-name": "Naziv događaja", - "events": "Events", - "exclude-bounce": "Exclude bounce", + "events": "Događaji", + "exclude-bounce": "Isključi odbijanja", "exists": "Postoji", "exit": "Izlazni URL", "false": "Netočno", "field": "Polje", "fields": "Polja", "filter": "Filter", - "filter-combined": "Combined", - "filter-raw": "Raw", + "filter-combined": "Kombinirano", + "filter-raw": "Neobrađeno", "filters": "Filteri", "first-click": "Prvi klik", "first-seen": "Prvi put viđeno", @@ -130,14 +130,14 @@ "greater-than": "Veće od", "greater-than-equals": "Veće ili jednako", "grouped": "Grupirano", - "growth": "Growth", + "growth": "Rast", "hostname": "Naziv hosta", - "hour": "Hour", + "hour": "Sat", "includes": "Uključuje", "insight": "Uvid", "insights": "Uvidi", "insights-description": "Dublje analizirajte svoje podatke pomoću segmenata i filtera.", - "invalid-url": "Invalid URL", + "invalid-url": "Nevaljani URL", "is": "Je", "is-false": "Je netočno", "is-not": "Nije", @@ -150,7 +150,7 @@ "journey-description": "Razumite kako korisnici navigiraju vašom web stranicom.", "journeys": "Putovanja", "language": "Jezik", - "languages": "Languages", + "languages": "Jezici", "laptop": "Laptop", "last-click": "Zadnji klik", "last-days": "Zadnjih {x} dana", @@ -161,9 +161,9 @@ "leave-team": "Napusti tim", "less-than": "Manje od", "less-than-equals": "Manje ili jednako", - "link": "Link", + "link": "Poveznica", "links": "Poveznice", - "location": "Location", + "location": "Lokacija", "login": "Prijava", "logout": "Odjava", "manage": "Upravljaj", @@ -174,10 +174,10 @@ "member": "Član", "members": "Članovi", "min": "Minimum", - "minute": "Minute", - "mobile": "Mobile", + "minute": "Minuta", + "mobile": "Mobilni", "model": "Model", - "month": "Month", + "month": "Mjesec", "more": "Više", "my-account": "Moj račun", "my-websites": "Moje web stranice", @@ -185,8 +185,8 @@ "new-password": "Nova lozinka", "none": "Nijedan", "number-of-records": "{x} {x, plural, one {zapis} other {zapisa}}", - "ok": "OK", - "online": "Online", + "ok": "U redu", + "online": "Na mreži", "organic-search": "Organsko pretraživanje", "organic-shopping": "Organska kupovina", "organic-social": "Organska društvena mreža", @@ -197,9 +197,9 @@ "owner": "Vlasnik", "page": "Stranica", "page-of": "Stranica {current} od {total}", - "page-views": "Page views", - "pageTitle": "Page title", - "pages": "Pages", + "page-views": "Pregledi stranica", + "pageTitle": "Naslov stranice", + "pages": "Stranice", "paid-ads": "Plaćeni oglasi", "paid-search": "Plaćeno pretraživanje", "paid-shopping": "Plaćena kupovina", @@ -208,15 +208,15 @@ "password": "Lozinka", "path": "Putanja", "paths": "Putanje", - "pixel": "Pixel", + "pixel": "Piksel", "pixels": "Pikseli", - "powered-by": "Powered by {name}", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "powered-by": "Pokreće {name}", + "preferences": "Postavke", + "previous": "Prethodno", + "previous-period": "Prethodno razdoblje", + "previous-year": "Prethodna godina", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profili", "properties": "Svojstva", "property": "Svojstvo", "queries": "Upiti", @@ -224,166 +224,166 @@ "query-parameters": "Parametri upita", "realtime": "Stvarno vrijeme", "referral": "Preporuka", - "referrer": "Referrer", - "referrers": "Referrers", + "referrer": "Izvor preporuke", + "referrers": "Izvori preporuke", "refresh": "Osvježi", - "regenerate": "Regenerate", - "region": "Region", - "regions": "Regions", + "regenerate": "Regeneriraj", + "region": "Regija", + "regions": "Regije", "remaining": "Preostalo", - "remove": "Remove", - "remove-member": "Remove member", - "reports": "Reports", + "remove": "Ukloni", + "remove-member": "Ukloni člana", + "reports": "Izvješća", "required": "Potrebna", "reset": "Resetirati", "reset-website": "Resetirati web stranicu", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", + "retention": "Zadržavanje", + "retention-description": "Izmjerite koliko je vaša stranica privlačna praćenjem koliko se često korisnici vraćaju.", "revenue": "Prihod", "revenue-description": "Pogledajte svoj prihod tijekom vremena.", - "role": "Role", - "run-query": "Run query", + "role": "Uloga", + "run-query": "Pokreni upit", "save": "Spremi", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Spremi kohortu", + "save-segment": "Spremi segment", + "screen": "Zaslon", "screens": "Ekrani", - "search": "Search", + "search": "Pretraži", "segment": "Segment", - "segments": "Segments", - "select": "Select", - "select-date": "Select date", + "segments": "Segmenti", + "select": "Odaberi", + "select-date": "Odaberi datum", "select-filter": "Odaberi filter", - "select-role": "Select role", - "select-website": "Select website", + "select-role": "Odaberi ulogu", + "select-website": "Odaberi web stranicu", "session": "Sesija", "session-data": "Podaci sesije", - "sessions": "Sessions", + "sessions": "Sesije", "settings": "Postavke", "share": "Podijeli", "share-url": "Podijeli poveznicu", "single-day": "Jedan dan", "sms": "SMS", - "source": "Source", + "source": "Izvor", "sources": "Izvori", "start-step": "Početni korak", "steps": "Koraci", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "sum": "Zbroj", + "support": "Podrška", + "switch-account": "Promijeni račun", + "table": "Tablica", "tablet": "Tablet", "tag": "Oznaka", "tags": "Oznake", - "team": "Team", - "team-id": "Team ID", - "team-manager": "Team manager", - "team-member": "Team member", - "team-name": "Team name", - "team-owner": "Team owner", + "team": "Tim", + "team-id": "ID tima", + "team-manager": "Upravitelj tima", + "team-member": "Član tima", + "team-name": "Naziv tima", + "team-owner": "Vlasnik tima", "team-settings": "Postavke tima", - "team-view-only": "Team view only", - "team-websites": "Team websites", - "teams": "Teams", - "term": "Term", + "team-view-only": "Samo pregled za tim", + "team-websites": "Web stranice tima", + "teams": "Timovi", + "term": "Pojam pretrage", "terms": "Pojmovi", "theme": "Tema", "this-month": "Ovaj mjesec", "this-week": "Ovaj tjedan", "this-year": "Ova godina", "timezone": "Vremenska zona", - "title": "Title", + "title": "Naslov", "today": "Danas", - "toggle-charts": "Toggle charts", - "total": "Total", - "total-records": "Total records", + "toggle-charts": "Prikaži/sakrij grafikone", + "total": "Ukupno", + "total-records": "Ukupno zapisa", "tracking-code": "Kod za praćenje", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", - "unique-visitors": "Unique visitors", - "uniqueCustomers": "Unique Customers", + "traffic": "Promet", + "transactions": "Transakcije", + "transfer": "Prenesi", + "transfer-website": "Prenesi web stranicu", + "true": "Istina", + "type": "Vrsta", + "unique": "Jedinstveni", + "unique-events": "Jedinstveni događaji", + "unique-visitors": "Jedinstveni posjetitelji", + "uniqueCustomers": "Jedinstveni kupci", "unknown": "Nepoznato", - "untitled": "Untitled", - "update": "Update", + "untitled": "Bez naslova", + "update": "Ažuriraj", "url": "URL", - "user": "User", + "user": "Korisnik", "username": "Korisničko ime", - "users": "Users", + "users": "Korisnici", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-campaign": "UTM kampanja", + "utm-content": "UTM sadržaj", + "utm-description": "Pratite svoje kampanje pomoću UTM parametara.", + "utm-medium": "UTM medij", + "utm-source": "UTM izvor", + "utm-term": "UTM pojam", + "value": "Vrijednost", + "version": "Verzija", + "view": "Pregledaj", "view-details": "Pogledaj detalje", - "view-only": "View only", - "views": "Views", - "views-per-visit": "Views per visit", - "visit-duration": "Visit duration", - "visitors": "Visitors", - "visits": "Visits", - "website": "Website", - "website-id": "Website ID", + "view-only": "Samo pregled", + "views": "Pregledi", + "views-per-visit": "Pregledi po posjetu", + "visit-duration": "Trajanje posjeta", + "visitors": "Posjetitelji", + "visits": "Posjeti", + "website": "Web stranica", + "website-id": "ID web stranice", "websites": "Web stranice", - "window": "Window", + "window": "Prozor", "yesterday": "Jučer" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "Upišite {confirmation} u polje ispod za potvrdu.", "active-users": "{x} Trenutno {x, plural, one {posjetitelj} other {posjetitelja}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Neispravan zahtjev", + "collected-data": "Prikupljeni podaci", "confirm-delete": "Jeste li sigurni da želite obrisati {target}?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "Jeste li sigurni da želite napustiti {target}?", + "confirm-remove": "Jeste li sigurni da želite ukloniti {target}?", "confirm-reset": "Jeste li sigurni da želite resetirati {target}'s statistiku?", - "delete-team-warning": "Deleting a team will also delete all team websites.", - "delete-website-warning": "All website data will be deleted.", - "error": "Something went wrong.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "delete-team-warning": "Brisanje tima će izbrisati i sve web stranice tima.", + "delete-website-warning": "Svi podaci web stranice bit će izbrisani.", + "error": "Nešto je pošlo po krivu.", + "event-log": "{event} na {url}", + "forbidden": "Zabranjeno", "go-to-settings": "Idi u postavke", "incorrect-username-password": "Neispravno korisničke ime/lozinka.", - "invalid-domain": "Invalid domain. Do not include http/https.", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "invalid-domain": "Nevaljana domena. Ne uključujte http/https.", + "min-password-length": "Minimalna duljina od {n} znakova", + "new-version-available": "Dostupna je nova verzija Umami {version}!", "no-data-available": "Nema dostupnih podataka.", - "no-event-data": "No event data is available.", - "no-match-password": "Passwords do not match.", + "no-event-data": "Nema dostupnih podataka o događajima.", + "no-match-password": "Lozinke se ne podudaraju.", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", - "no-websites-configured": "You do not have any websites configured.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "no-team-websites": "Ovaj tim nema web stranica.", + "no-teams": "Niste stvorili nijedan tim.", + "no-users": "Nema korisnika.", + "no-websites-configured": "Nemate konfigurirane web stranice.", + "not-found": "Nije pronađeno", + "nothing-selected": "Ništa nije odabrano.", "page-not-found": "Stranica nije pronađena.", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", - "reset-website-warning": "All statistics for this website will be deleted, but your settings will remain intact.", - "saved": "Saved.", - "sever-error": "Server error", + "reset-website": "Za resetiranje ove web stranice upišite {confirmation} u polje ispod.", + "reset-website-warning": "Svi statistički podaci za ovu web stranicu bit će izbrisani, ali vaše postavke ostaju netaknute.", + "saved": "Spremljeno.", + "sever-error": "Greška poslužitelja", "share-url": "Ovo je javno dijeljena poveznica za {target}.", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", - "tracking-code": "To track stats for this website, place the following code in the ... section of your HTML.", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", - "visitor-log": "Visitor from {country} using {browser} on {os} {device}" + "team-already-member": "Već ste član tima.", + "team-not-found": "Tim nije pronađen.", + "team-websites-info": "Web stranice može pregledati svatko u timu.", + "tracking-code": "Za praćenje statistike ove web stranice, postavite sljedeći kod u ... odjeljak vašeg HTML-a.", + "transfer-team-website-to-user": "Prenijeti ovu web stranicu na vaš račun?", + "transfer-user-website-to-team": "Odaberite tim na koji želite prenijeti ovu web stranicu.", + "transfer-website": "Prenesite vlasništvo web stranice na svoj račun ili drugi tim.", + "triggered-event": "Pokrenuti događaj", + "unauthorized": "Neautorizirano", + "user-deleted": "Korisnik izbrisan.", + "viewed-page": "Pregledana stranica", + "visitor-log": "Posjetitelj iz {country} koristi {browser} na {os} {device}" } } diff --git a/public/intl/messages/hu-HU.json b/public/intl/messages/hu-HU.json index 55e722f09..3c51c328a 100644 --- a/public/intl/messages/hu-HU.json +++ b/public/intl/messages/hu-HU.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Hozzáférési kód", - "account": "Account", - "action": "Action", + "account": "Fiók", + "action": "Művelet", "actions": "Műveletek", "activity": "Tevékenységnapló", "add": "Hozzáadás", "add-board": "Tábla hozzáadása", "add-description": "Leírás hozzáadása", - "add-link": "Add link", + "add-link": "Link hozzáadása", "add-member": "Tag hozzáadása", - "add-pixel": "Add pixel", + "add-pixel": "Pixel hozzáadása", "add-step": "Lépés hozzáadása", "add-website": "Weboldal hozzáadása", "admin": "Adminisztrátor", @@ -18,13 +18,13 @@ "after": "Után", "all": "Összes", "all-time": "Minden időszak", - "analysis": "Analysis", + "analysis": "Elemzés", "analytics": "Analitika", - "application": "Application", + "application": "Alkalmazás", "apply": "Alkalmaz", "attribution": "Attribúció", "attribution-description": "Nézze meg, hogyan lépnek kapcsolatba a felhasználók a marketingjével, és mi vezet konverzióhoz.", - "audience": "Audience", + "audience": "Közönség", "average": "Átlag", "back": "Vissza", "before": "Előtt", @@ -34,23 +34,23 @@ "breakdown": "Bontás", "browser": "Böngésző", "browsers": "Böngészők", - "campaign": "Campaign", + "campaign": "Kampány", "campaigns": "Kampányok", "cancel": "Mégsem", "change-password": "Jelszó módosítása", - "channel": "Channel", + "channel": "Csatorna", "channels": "Csatornák", - "chart": "Chart", + "chart": "Diagram", "cities": "Városok", "city": "Város", "clear-all": "Összes törlése", "cohort": "Kohorsz", - "cohorts": "Cohorts", + "cohorts": "Kohorszok", "compare": "Összehasonlít", "compare-dates": "Dátumok összehasonlítása", "confirm": "Megerősít", "confirm-password": "Jelszó megerősítése", - "contains": "Contains", + "contains": "Tartalmazza", "content": "Tartalom", "continue": "Folytatás", "conversion": "Konverzió", @@ -65,7 +65,7 @@ "create-user": "Felhasználó létrehozása", "created": "Létrehozva", "created-by": "Létrehozta", - "criteria": "Criteria", + "criteria": "Feltételek", "currency": "Pénznem", "current": "Jelenlegi", "current-password": "Jelenlegi jelszó", @@ -83,19 +83,19 @@ "delete-website": "Weboldal eltávolítása", "description": "Leírás", "desktop": "Asztali számítógép", - "destination-url": "Destination URL", + "destination-url": "Cél URL", "details": "Részletek", "device": "Eszköz", "devices": "Eszközök", "direct": "Közvetlen", "dismiss": "Mellőzés", "distinct-id": "Egyedi azonosító", - "documentation": "Documentation", + "documentation": "Dokumentáció", "does-not-contain": "Nem tartalmazza", "does-not-include": "Nem tartalmazza", "doest-not-exist": "Nem létezik", "domain": "Domain", - "download": "Download", + "download": "Letöltés", "dropoff": "Lemorzsolódás", "edit": "Módosítás", "edit-dashboard": "Irányítópult szerkesztése", @@ -104,18 +104,18 @@ "enable-share-url": "URL-megosztás engedélyezése", "end-step": "Befejező lépés", "entry": "Belépési URL", - "environment": "Environment", + "environment": "Környezet", "event": "Esemény", "event-data": "Eseményadatok", "event-name": "Esemény neve", "events": "Események", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Visszafordulás kizárása", "exists": "Létezik", "exit": "Kilépési URL", "false": "Hamis", "field": "Mező", "fields": "Mezők", - "filter": "Filter", + "filter": "Szűrő", "filter-combined": "Összevont", "filter-raw": "Nyers", "filters": "Szűrők", @@ -130,14 +130,14 @@ "greater-than": "Nagyobb mint", "greater-than-equals": "Nagyobb vagy egyenlő", "grouped": "Csoportosítva", - "growth": "Growth", + "growth": "Növekedés", "hostname": "Hosztnév", - "hour": "Hour", + "hour": "Óra", "includes": "Tartalmazza", "insight": "Betekintés", "insights": "Betekintések", "insights-description": "Merüljön el mélyebben az adataiban szegmensek és szűrők használatával.", - "invalid-url": "Invalid URL", + "invalid-url": "Érvénytelen URL", "is": "Az", "is-false": "Hamis", "is-not": "Nem az", @@ -149,8 +149,8 @@ "journey": "Út", "journey-description": "Értse meg, hogyan navigálnak a felhasználók a weboldalán.", "journeys": "Utak", - "language": "Language", - "languages": "Languages", + "language": "Nyelv", + "languages": "Nyelvek", "laptop": "Laptop", "last-click": "Utolsó kattintás", "last-days": "Legutóbbi {x} nap", @@ -163,7 +163,7 @@ "less-than-equals": "Kevesebb vagy egyenlő", "link": "Link", "links": "Linkek", - "location": "Location", + "location": "Helyszín", "login": "Bejelentkezés", "logout": "Kijelentkezés", "manage": "Kezelés", @@ -174,10 +174,10 @@ "member": "Tag", "members": "Tagok", "min": "Minimum", - "minute": "Minute", + "minute": "Perc", "mobile": "Telefon", - "model": "Model", - "month": "Month", + "model": "Modell", + "month": "Hónap", "more": "Bővebben", "my-account": "Saját fiók", "my-websites": "Saját weboldalak", @@ -191,14 +191,14 @@ "organic-shopping": "Organikus vásárlás", "organic-social": "Organikus közösségi", "organic-video": "Organikus videó", - "os": "OS", + "os": "Operációs rendszer", "other": "Egyéb", "overview": "Áttekintés", "owner": "Tulajdonos", "page": "Oldal", "page-of": "Oldal {current} / {total}", "page-views": "Oldalmegtekintések", - "pageTitle": "Page title", + "pageTitle": "Oldal címe", "pages": "Oldalak", "paid-ads": "Fizetett hirdetések", "paid-search": "Fizetett keresés", @@ -211,12 +211,12 @@ "pixel": "Pixel", "pixels": "Pixelek", "powered-by": "Működteti az {name}", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "preferences": "Beállítások", + "previous": "Előző", + "previous-period": "Előző időszak", + "previous-year": "Előző év", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profilok", "properties": "Tulajdonságok", "property": "Tulajdonság", "queries": "Lekérdezések", @@ -224,166 +224,166 @@ "query-parameters": "Lekérdezési paraméterek", "realtime": "Valós idejű", "referral": "Hivatkozás", - "referrer": "Referrer", + "referrer": "Hivatkozó", "referrers": "Hivatkozók", "refresh": "Frissítés", - "regenerate": "Regenerate", - "region": "Region", - "regions": "Regions", + "regenerate": "Újragenerálás", + "region": "Régió", + "regions": "Régiók", "remaining": "Hátralévő", - "remove": "Remove", - "remove-member": "Remove member", - "reports": "Reports", + "remove": "Eltávolítás", + "remove-member": "Tag eltávolítása", + "reports": "Jelentések", "required": "Kötelező", "reset": "Visszaállítás", "reset-website": "Reset statistics", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", + "retention": "Megtartás", + "retention-description": "Mérje weboldalának megtartó erejét annak nyomon követésével, hogy milyen gyakran térnek vissza a felhasználók.", "revenue": "Bevétel", "revenue-description": "Tekintse meg bevételeit az idő múlásával.", - "role": "Role", - "run-query": "Run query", + "role": "Szerep", + "run-query": "Lekérdezés futtatása", "save": "Mentés", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Kohorsz mentése", + "save-segment": "Szegmens mentése", + "screen": "Képernyő", "screens": "Képernyők", - "search": "Search", - "segment": "Segment", - "segments": "Segments", - "select": "Select", - "select-date": "Select date", + "search": "Keresés", + "segment": "Szegmens", + "segments": "Szegmensek", + "select": "Kiválasztás", + "select-date": "Dátum kiválasztása", "select-filter": "Szűrő kiválasztása", - "select-role": "Select role", - "select-website": "Select website", + "select-role": "Szerep kiválasztása", + "select-website": "Weboldal kiválasztása", "session": "Munkamenet", "session-data": "Munkamenet adatai", - "sessions": "Sessions", + "sessions": "Munkamenetek", "settings": "Beállítások", "share": "Megosztás", "share-url": "URL megosztása", "single-day": "Egy nap", "sms": "SMS", - "source": "Source", + "source": "Forrás", "sources": "Források", "start-step": "Kezdő lépés", "steps": "Lépések", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "sum": "Összeg", + "support": "Támogatás", + "switch-account": "Fiók váltása", + "table": "Táblázat", "tablet": "Táblagép", "tag": "Címke", "tags": "Címkék", - "team": "Team", - "team-id": "Team ID", - "team-manager": "Team manager", - "team-member": "Team member", - "team-name": "Team name", - "team-owner": "Team owner", + "team": "Csapat", + "team-id": "Csapat-ID", + "team-manager": "Csapatmenedzser", + "team-member": "Csapattag", + "team-name": "Csapat neve", + "team-owner": "Csapat tulajdonosa", "team-settings": "Csapat beállításai", - "team-view-only": "Team view only", - "team-websites": "Team websites", - "teams": "Teams", - "term": "Term", + "team-view-only": "Csak csapat megtekintés", + "team-websites": "Csapat weboldalai", + "teams": "Csapatok", + "term": "Keresőkifejezés", "terms": "Kifejezések", - "theme": "Theme", + "theme": "Téma", "this-month": "Ezen hónap", "this-week": "Ezen hét", "this-year": "Ezen év", "timezone": "Időzóna", - "title": "Title", + "title": "Cím", "today": "Ma", - "toggle-charts": "Toggle charts", - "total": "Total", - "total-records": "Total records", + "toggle-charts": "Diagramok megjelenítése", + "total": "Összesen", + "total-records": "Összes rekord", "tracking-code": "Követési kód", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "Forgalom", + "transactions": "Tranzakciók", + "transfer": "Átvitel", + "transfer-website": "Weboldal átvitele", + "true": "Igaz", + "type": "Típus", + "unique": "Egyedi", + "unique-events": "Egyedi események", "unique-visitors": "Egyedi látogatók", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Egyedi ügyfelek", "unknown": "Ismeretlen", - "untitled": "Untitled", - "update": "Update", + "untitled": "Névtelen", + "update": "Frissítés", "url": "URL", - "user": "User", + "user": "Felhasználó", "username": "Felhasználónév", - "users": "Users", + "users": "Felhasználók", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-campaign": "UTM-kampány", + "utm-content": "UTM-tartalom", + "utm-description": "Kövesse nyomon kampányait UTM-paraméterekkel.", + "utm-medium": "UTM-médium", + "utm-source": "UTM-forrás", + "utm-term": "UTM-kifejezés", + "value": "Érték", + "version": "Verzió", + "view": "Megtekintés", "view-details": "Részletek", - "view-only": "View only", + "view-only": "Csak megtekintés", "views": "Megtekintések", - "views-per-visit": "Views per visit", + "views-per-visit": "Megtekintés/látogatás", "visit-duration": "Átlagos látogatási idő", "visitors": "Látogatók", - "visits": "Visits", - "website": "Website", - "website-id": "Website ID", + "visits": "Látogatások", + "website": "Weboldal", + "website-id": "Weboldal-ID", "websites": "Weboldalak", - "window": "Window", - "yesterday": "Yesterday" + "window": "Ablak", + "yesterday": "Tegnap" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "Írja be a(z) {confirmation} szót az alábbi mezőbe a megerősítéshez.", "active-users": "{x} {x, plural, one {látogató} other {latógató}} jelenleg", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Hibás kérés", + "collected-data": "Gyűjtött adatok", "confirm-delete": "Biztos, hogy törölni szeretnéd {target} elemet?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "Biztosan el szeretné hagyni a(z) {target} csapatot?", + "confirm-remove": "Biztosan el szeretné távolítani a(z) {target} elemet?", "confirm-reset": "Are your sure you want to reset {target}'s statistics?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "A csapat törlése az összes csapat weboldalt is törli.", "delete-website-warning": "Minden társított adat törlésre kerül.", "error": "Valami baj történt.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} itt: {url}", + "forbidden": "Tiltott", "go-to-settings": "Tovább a beállításokhoz", "incorrect-username-password": "Érvénytelen felhasználónév/jelszó.", "invalid-domain": "Érvénytelen domain", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "Minimum {n} karakter hosszúság", + "new-version-available": "Elérhető az Umami {version} új verziója!", "no-data-available": "Nincs rendelkezésre álló adat.", - "no-event-data": "No event data is available.", + "no-event-data": "Nincs elérhető eseményadat.", "no-match-password": "A jelszavak nem egyeznek", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "Ennek a csapatnak nincsenek weboldalai.", + "no-teams": "Még nem hozott létre csapatot.", + "no-users": "Nincsenek felhasználók.", "no-websites-configured": "Még nem állítottál be egyetlen weboldalt sem.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Nem található", + "nothing-selected": "Semmi nincs kijelölve.", "page-not-found": "Oldal nem található.", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "A weboldal visszaállításához írja be a(z) {confirmation} szót az alábbi mezőbe.", "reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", "saved": "Sikeres mentés.", - "sever-error": "Server error", + "sever-error": "Szerverhiba", "share-url": "{target} nyilvánosan megosztott URL címe.", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "Ön már tagja a csapatnak.", + "team-not-found": "Csapat nem található.", + "team-websites-info": "A weboldalakat a csapat bármely tagja megtekintheti.", "tracking-code": "Követési kód", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "transfer-team-website-to-user": "Átvinni ezt a weboldalt a fiókjába?", + "transfer-user-website-to-team": "Válassza ki a csapatot, amelyre át kívánja vinni a weboldalt.", + "transfer-website": "Vigye át a weboldal tulajdonjogát a fiókjába vagy egy másik csapatba.", + "triggered-event": "Kiváltott esemény", + "unauthorized": "Nincs jogosultság", + "user-deleted": "Felhasználó törölve.", + "viewed-page": "Megtekintett oldal", "visitor-log": "Látógató {country} területéről, {os} {device} eszközön, {browser} böngészőből." } } diff --git a/public/intl/messages/id-ID.json b/public/intl/messages/id-ID.json index 7d022e0bf..9c8640aa8 100644 --- a/public/intl/messages/id-ID.json +++ b/public/intl/messages/id-ID.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Kode akses", - "account": "Account", - "action": "Action", + "account": "Akun", + "action": "Tindakan", "actions": "Aksi", "activity": "Catatan aktivitas", "add": "Tambah", "add-board": "Tambah papan", "add-description": "Tambah deskripsi", - "add-link": "Add link", + "add-link": "Tambah tautan", "add-member": "Tambah anggota", - "add-pixel": "Add pixel", + "add-pixel": "Tambah piksel", "add-step": "Tambah langkah", "add-website": "Tambah situs web", "admin": "Pengelola", @@ -18,13 +18,13 @@ "after": "Setelah", "all": "Semua", "all-time": "Semua waktu", - "analysis": "Analysis", + "analysis": "Analisis", "analytics": "Analitik", - "application": "Application", + "application": "Aplikasi", "apply": "Terapkan", "attribution": "Atribusi", "attribution-description": "Lihat bagaimana pengguna berinteraksi dengan pemasaran Anda dan apa yang mendorong konversi.", - "audience": "Audience", + "audience": "Audiens", "average": "Rata-rata", "back": "Kembali", "before": "Sebelum", @@ -34,18 +34,18 @@ "breakdown": "Rincian", "browser": "Peramban", "browsers": "Peramban", - "campaign": "Campaign", + "campaign": "Kampanye", "campaigns": "Kampanye", "cancel": "Batal", "change-password": "Ganti kata sandi", - "channel": "Channel", + "channel": "Saluran", "channels": "Saluran", - "chart": "Chart", + "chart": "Grafik", "cities": "Kota", "city": "Kota", "clear-all": "Hapus semua", "cohort": "Kelompok", - "cohorts": "Cohorts", + "cohorts": "Kohort", "compare": "Bandingkan", "compare-dates": "Bandingkan tanggal", "confirm": "Konfirmasi", @@ -65,7 +65,7 @@ "create-user": "Buat pengguna", "created": "Dibuat", "created-by": "Dibuat oleh", - "criteria": "Criteria", + "criteria": "Kriteria", "currency": "Mata uang", "current": "Saat ini", "current-password": "Kata sandi sekarang", @@ -83,19 +83,19 @@ "delete-website": "Hapus situs web", "description": "Deskripsi", "desktop": "Desktop", - "destination-url": "Destination URL", + "destination-url": "URL tujuan", "details": "Detail", "device": "Perangkat", "devices": "Perangkat", "direct": "Langsung", "dismiss": "Tutup", "distinct-id": "ID unik", - "documentation": "Documentation", + "documentation": "Dokumentasi", "does-not-contain": "Tidak mengandung", "does-not-include": "Tidak termasuk", "doest-not-exist": "Tidak ada", "domain": "Domain", - "download": "Download", + "download": "Unduh", "dropoff": "Penurunan", "edit": "Sunting", "edit-dashboard": "Sunting dasbor", @@ -104,12 +104,12 @@ "enable-share-url": "Aktifkan URL berbagi", "end-step": "Langkah akhir", "entry": "URL masuk", - "environment": "Environment", + "environment": "Lingkungan", "event": "Peristiwa", "event-data": "Data peristiwa", "event-name": "Nama peristiwa", "events": "Peristiwa", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Kecualikan pantulan", "exists": "Ada", "exit": "Exit URL", "false": "Salah", @@ -118,10 +118,10 @@ "filter": "Filter", "filter-combined": "Gabungan", "filter-raw": "Mentah", - "filters": "Filters", + "filters": "Filter", "first-click": "Klik pertama", "first-seen": "Pertama kali dilihat", - "funnel": "Funnel", + "funnel": "Corong", "funnel-description": "Pahami tingkat konversi dan penurunan pengguna.", "funnels": "Corong", "goal": "Tujuan", @@ -130,14 +130,14 @@ "greater-than": "Lebih dari", "greater-than-equals": "Lebih dari atau sama dengan", "grouped": "Dikelompokkan", - "growth": "Growth", + "growth": "Pertumbuhan", "hostname": "Nama host", - "hour": "Hour", + "hour": "Jam", "includes": "Termasuk", "insight": "Wawasan", "insights": "Wawasan", "insights-description": "Jelajahi data Anda lebih dalam dengan menggunakan segmen dan filter.", - "invalid-url": "Invalid URL", + "invalid-url": "URL tidak valid", "is": "Adalah", "is-false": "Salah", "is-not": "Bukan", @@ -161,9 +161,9 @@ "leave-team": "Keluar dari tim", "less-than": "Kurang dari", "less-than-equals": "Kurang dari atau sama dengan", - "link": "Link", + "link": "Tautan", "links": "Tautan", - "location": "Location", + "location": "Lokasi", "login": "Masuk", "logout": "Keluar", "manage": "Kelola", @@ -174,10 +174,10 @@ "member": "Anggota", "members": "Anggota", "min": "Minimum", - "minute": "Minute", + "minute": "Menit", "mobile": "Ponsel", "model": "Model", - "month": "Month", + "month": "Bulan", "more": "Lebih banyak", "my-account": "Akun saya", "my-websites": "Situs web saya", @@ -186,7 +186,7 @@ "none": "Tidak ada", "number-of-records": "{x} {x, plural, one {catatan} other {catatan}}", "ok": "OK", - "online": "Online", + "online": "Daring", "organic-search": "Pencarian organik", "organic-shopping": "Belanja organik", "organic-social": "Sosial organik", @@ -208,15 +208,15 @@ "password": "Kata sandi", "path": "Jalur", "paths": "Jalur", - "pixel": "Pixel", + "pixel": "Piksel", "pixels": "Piksel", "powered-by": "Didukung oleh {name}", - "preferences": "Preferences", + "preferences": "Preferensi", "previous": "Sebelumnya", "previous-period": "Periode sebelumnya", "previous-year": "Tahun lalu", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profil", "properties": "Properti", "property": "Properti", "queries": "Kueri", @@ -241,16 +241,16 @@ "retention-description": "Ukur daya tarik situs web Anda dengan melacak seberapa sering pengguna kembali.", "revenue": "Pendapatan", "revenue-description": "Lihat pendapatan Anda seiring waktu.", - "role": "Role", - "run-query": "Run query", + "role": "Peran", + "run-query": "Jalankan kueri", "save": "Simpan", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Simpan kohort", + "save-segment": "Simpan segmen", + "screen": "Layar", "screens": "Layar", "search": "Cari", - "segment": "Segment", - "segments": "Segments", + "segment": "Segmen", + "segments": "Segmen", "select": "Pilih", "select-date": "Pilih tanggal", "select-filter": "Pilih filter", @@ -264,14 +264,14 @@ "share-url": "Bagikan URL", "single-day": "Sehari", "sms": "SMS", - "source": "Source", + "source": "Sumber", "sources": "Sumber", "start-step": "Langkah awal", "steps": "Langkah", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "sum": "Jumlah", + "support": "Dukungan", + "switch-account": "Ganti akun", + "table": "Tabel", "tablet": "Tablet", "tag": "Tag", "tags": "Tag", @@ -282,10 +282,10 @@ "team-name": "Nama tim", "team-owner": "Pemilik tim", "team-settings": "Pengaturan tim", - "team-view-only": "Team view only", + "team-view-only": "Hanya lihat tim", "team-websites": "Situs web tim", "teams": "Tim", - "term": "Term", + "term": "Kata kunci", "terms": "Ketentuan", "theme": "Tema", "this-month": "Bulan ini", @@ -298,14 +298,14 @@ "total": "Total", "total-records": "Total baris", "tracking-code": "Kode lacak", - "traffic": "Traffic", + "traffic": "Lalu lintas", "transactions": "Transaksi", "transfer": "Transfer", "transfer-website": "Transfer situs web", "true": "Benar", "type": "Tipe", "unique": "Unik", - "unique-events": "Unique events", + "unique-events": "Event unik", "unique-visitors": "Pengunjung unik", "uniqueCustomers": "Kustomer unik", "unknown": "Tidak diketahui", @@ -316,14 +316,14 @@ "username": "Nama pengguna", "users": "Pengguna", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM Kampanye", + "utm-content": "UTM Konten", "utm-description": "Lacak kampanye Anda melalui parameter UTM.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM Media", + "utm-source": "UTM Sumber", + "utm-term": "UTM Kata Kunci", "value": "Nilai", - "version": "Version", + "version": "Versi", "view": "Lihat", "view-details": "Lihat Detil", "view-only": "Hanya melihat", @@ -335,13 +335,13 @@ "website": "Situs web", "website-id": "ID situs web", "websites": "Situs web", - "window": "Window", + "window": "Jendela", "yesterday": "Kemarin" }, "message": { "action-confirmation": "Ketik {confirmation} pada kotak di bawah untuk mengonfirmasi.", "active-users": "{x} pengunjung saat ini", - "bad-request": "Bad request", + "bad-request": "Permintaan tidak valid", "collected-data": "Data dikumpulkan", "confirm-delete": "Apakah kamu yakin ingin menghapus {target}?", "confirm-leave": "Apakah Anda yakin ingin meninggalkan {target}?", @@ -350,8 +350,8 @@ "delete-team-warning": "Menghapus tim juga akan menghapus semua situs web yang terkait.", "delete-website-warning": "Semua data terkait juga akan dihapus.", "error": "Ada yang salah.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} di {url}", + "forbidden": "Dilarang", "go-to-settings": "Pergi ke pengaturan", "incorrect-username-password": "Nama pengguna/kata sandi salah.", "invalid-domain": "Domain tidak valid", @@ -365,13 +365,13 @@ "no-teams": "Anda belum membuat tim.", "no-users": "Tidak ada pengguna.", "no-websites-configured": "Anda tidak memiliki situs web yang dikonfigurasi.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Tidak ditemukan", + "nothing-selected": "Tidak ada yang dipilih.", "page-not-found": "Halaman tidak ditemukan.", "reset-website": "Untuk mengatur ulang situs web ini, ketik {confirmation} pada kotak di bawah untuk mengonfirmasi.", "reset-website-warning": "Semua statistik pada situs web ini akan dihapus, tetapi kode lacak akan tetap terpasang", "saved": "Berhasil disimpan.", - "sever-error": "Server error", + "sever-error": "Kesalahan server", "share-url": "Ini adalah URL yang dibagikan secara publik untuk {target}.", "team-already-member": "Anda sudah menjadi anggota tim ini.", "team-not-found": "Tim tidak ditemukan.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Pilih tim tujuan untuk mentransfer situs web ini.", "transfer-website": "Transfer kepemilikan situs web ke akun Anda atau tim lain", "triggered-event": "Peristiwa terjadi", - "unauthorized": "Unauthorized", + "unauthorized": "Tidak diotorisasi", "user-deleted": "Pengguna telah dihapus.", "viewed-page": "Halaman dilihat", "visitor-log": "Pengunjung dari {country} dengan {browser} di {device} {os}" diff --git a/public/intl/messages/it-IT.json b/public/intl/messages/it-IT.json index 2aea9e450..5fe81e271 100644 --- a/public/intl/messages/it-IT.json +++ b/public/intl/messages/it-IT.json @@ -2,15 +2,15 @@ "label": { "access-code": "Codice di accesso", "account": "Account", - "action": "Action", + "action": "Azione", "actions": "Azioni", "activity": "Registro attività", "add": "Aggiungi", "add-board": "Aggiungi bacheca", "add-description": "Aggiungi descrizione", - "add-link": "Add link", + "add-link": "Aggiungi link", "add-member": "Aggiungi membro", - "add-pixel": "Add pixel", + "add-pixel": "Aggiungi pixel", "add-step": "Aggiungi passaggio", "add-website": "Aggiungi sito", "admin": "Amministratore", @@ -18,13 +18,13 @@ "after": "Dopo", "all": "Tutto", "all-time": "Sempre", - "analysis": "Analysis", + "analysis": "Analisi", "analytics": "Analitica", - "application": "Application", + "application": "Applicazione", "apply": "Applica", "attribution": "Attribuzione", "attribution-description": "Scopri come gli utenti interagiscono con il tuo marketing e cosa genera conversioni.", - "audience": "Audience", + "audience": "Pubblico", "average": "Media", "back": "Indietro", "before": "Prima", @@ -34,23 +34,23 @@ "breakdown": "Dettaglio", "browser": "Browser", "browsers": "Browser", - "campaign": "Campaign", + "campaign": "Campagna", "campaigns": "Campagne", "cancel": "Annulla", "change-password": "Modifica password", - "channel": "Channel", + "channel": "Canale", "channels": "Canali", - "chart": "Chart", + "chart": "Grafico", "cities": "Città", "city": "Città", "clear-all": "Cancella tutto", "cohort": "Coorte", - "cohorts": "Cohorts", + "cohorts": "Coorti", "compare": "Confronta", "compare-dates": "Confronta date", "confirm": "Conferma", "confirm-password": "Conferma password", - "contains": "Contains", + "contains": "Contiene", "content": "Contenuto", "continue": "Continua", "conversion": "Conversione", @@ -65,7 +65,7 @@ "create-user": "Crea utente", "created": "Creato", "created-by": "Creato da", - "criteria": "Criteria", + "criteria": "Criteri", "currency": "Valuta", "current": "Attuale", "current-password": "Password attuale", @@ -83,19 +83,19 @@ "delete-website": "Elimina sito", "description": "Descrizione", "desktop": "Desktop", - "destination-url": "Destination URL", + "destination-url": "URL di destinazione", "details": "Dettagli", "device": "Dispositivo", "devices": "Dispositivi", "direct": "Diretto", "dismiss": "Scarta", "distinct-id": "ID distinto", - "documentation": "Documentation", + "documentation": "Documentazione", "does-not-contain": "Non contiene", "does-not-include": "Non include", "doest-not-exist": "Non esiste", "domain": "Dominio", - "download": "Download", + "download": "Scarica", "dropoff": "Abbandono", "edit": "Modifica", "edit-dashboard": "Modifica pannello di controllo", @@ -104,20 +104,20 @@ "enable-share-url": "Abilita URL di condivisione", "end-step": "Passaggio finale", "entry": "URL di ingresso", - "environment": "Environment", + "environment": "Ambiente", "event": "Evento", "event-data": "Dati evento", "event-name": "Nome evento", "events": "Eventi", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Escludi rimbalzo", "exists": "Esiste", "exit": "URL di uscita", "false": "Falso", "field": "Campo", "fields": "Campi", - "filter": "Filter", + "filter": "Filtro", "filter-combined": "Aggregati", - "filter-raw": "Raw", + "filter-raw": "Grezzo", "filters": "Filtri", "first-click": "Primo clic", "first-seen": "Prima visualizzazione", @@ -130,14 +130,14 @@ "greater-than": "Maggiore di", "greater-than-equals": "Maggiore o uguale a", "grouped": "Raggruppato", - "growth": "Growth", + "growth": "Crescita", "hostname": "Nome host", - "hour": "Hour", + "hour": "Ora", "includes": "Include", "insight": "Approfondimento", "insights": "Approfondimenti", "insights-description": "Analizza più a fondo i tuoi dati utilizzando segmenti e filtri.", - "invalid-url": "Invalid URL", + "invalid-url": "URL non valido", "is": "È", "is-false": "È falso", "is-not": "Non è", @@ -163,42 +163,42 @@ "less-than-equals": "Meno o uguale a", "link": "Link", "links": "Link", - "location": "Location", + "location": "Posizione", "login": "Accedi", "logout": "Esci", "manage": "Gestisci", - "manager": "Manager", + "manager": "Gestore", "max": "Massimo", "maximize": "Espandi", "medium": "Medio", "member": "Membro", "members": "Membri", "min": "Minimo", - "minute": "Minute", + "minute": "Minuto", "mobile": "Cellulare", - "model": "Model", - "month": "Month", + "model": "Modello", + "month": "Mese", "more": "Dettagli", "my-account": "Il mio account", "my-websites": "I miei siti", "name": "Nome", "new-password": "Nuova password", "none": "Nessuno", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {record} other {record}}", "ok": "OK", "online": "Online", "organic-search": "Ricerca organica", "organic-shopping": "Acquisto organico", "organic-social": "Social organico", "organic-video": "Video organico", - "os": "OS", + "os": "SO", "other": "Altro", - "overview": "Overview", + "overview": "Panoramica", "owner": "Proprietario", "page": "Pagina", - "page-of": "Page {current} of {total}", + "page-of": "Pagina {current} di {total}", "page-views": "Visualizzazioni di pagina", - "pageTitle": "Page title", + "pageTitle": "Titolo pagina", "pages": "Pagine", "paid-ads": "Annunci a pagamento", "paid-search": "Ricerca a pagamento", @@ -210,13 +210,13 @@ "paths": "Percorsi", "pixel": "Pixel", "pixels": "Pixel", - "powered-by": "Powered by {name}", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "powered-by": "Fornito da {name}", + "preferences": "Preferenze", + "previous": "Precedente", + "previous-period": "Periodo precedente", + "previous-year": "Anno precedente", "profile": "Profilo", - "profiles": "Profiles", + "profiles": "Profili", "properties": "Proprietà", "property": "Proprietà", "queries": "Query", @@ -224,166 +224,166 @@ "query-parameters": "Parametri query", "realtime": "Tempo reale", "referral": "Referente", - "referrer": "Referrer", - "referrers": "Referrers", + "referrer": "Referente", + "referrers": "Referenti", "refresh": "Ricarica", - "regenerate": "Regenerate", - "region": "Region", - "regions": "Regions", + "regenerate": "Rigenera", + "region": "Regione", + "regions": "Regioni", "remaining": "Rimanente", - "remove": "Remove", - "remove-member": "Remove member", - "reports": "Reports", + "remove": "Rimuovi", + "remove-member": "Rimuovi membro", + "reports": "Report", "required": "Obbligatorio", - "reset": "Reset", + "reset": "Reimposta", "reset-website": "Resetta le statistiche", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", + "retention": "Fidelizzazione", + "retention-description": "Misura la fidelizzazione del tuo sito monitorando la frequenza con cui gli utenti ritornano.", "revenue": "Ricavi", "revenue-description": "Consulta i tuoi ricavi nel tempo.", - "role": "Role", - "run-query": "Run query", + "role": "Ruolo", + "run-query": "Esegui query", "save": "Salva", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Salva coorte", + "save-segment": "Salva segmento", + "screen": "Schermo", "screens": "Schermi", - "search": "Search", - "segment": "Segment", - "segments": "Segments", - "select": "Select", - "select-date": "Select date", + "search": "Cerca", + "segment": "Segmento", + "segments": "Segmenti", + "select": "Seleziona", + "select-date": "Seleziona data", "select-filter": "Seleziona filtro", - "select-role": "Select role", - "select-website": "Select website", - "session": "Session", + "select-role": "Seleziona ruolo", + "select-website": "Seleziona sito web", + "session": "Sessione", "session-data": "Dati sessione", - "sessions": "Sessions", + "sessions": "Sessioni", "settings": "Impostazioni", "share": "Condividi", "share-url": "Condividi link", "single-day": "Singolo giorno", "sms": "SMS", - "source": "Source", + "source": "Fonte", "sources": "Fonti", - "start-step": "Start Step", - "steps": "Steps", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "start-step": "Passaggio iniziale", + "steps": "Passaggi", + "sum": "Somma", + "support": "Supporto", + "switch-account": "Cambia account", + "table": "Tabella", "tablet": "Tablet", "tag": "Etichetta", "tags": "Etichette", "team": "Team", - "team-id": "Team ID", - "team-manager": "Team manager", - "team-member": "Team member", - "team-name": "Team name", - "team-owner": "Team owner", + "team-id": "ID Team", + "team-manager": "Manager del team", + "team-member": "Membro del team", + "team-name": "Nome del team", + "team-owner": "Proprietario del team", "team-settings": "Impostazioni team", - "team-view-only": "Team view only", - "team-websites": "Team websites", - "teams": "Teams", - "term": "Term", + "team-view-only": "Solo visualizzazione team", + "team-websites": "Siti web del team", + "teams": "Team", + "term": "Termine", "terms": "Termini", "theme": "Tema", "this-month": "Questo mese", "this-week": "Questa settimana", "this-year": "Quest'anno", "timezone": "Fuso orario", - "title": "Title", + "title": "Titolo", "today": "Oggi", "toggle-charts": "Apri/Chiudi i grafici", - "total": "Total", - "total-records": "Total records", + "total": "Totale", + "total-records": "Record totali", "tracking-code": "Codice di tracking", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "Traffico", + "transactions": "Transazioni", + "transfer": "Trasferisci", + "transfer-website": "Trasferisci sito web", + "true": "Vero", + "type": "Tipo", + "unique": "Unico", + "unique-events": "Eventi unici", "unique-visitors": "Visitatori unici", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Clienti unici", "unknown": "Sconosciuto", - "untitled": "Untitled", - "update": "Update", + "untitled": "Senza titolo", + "update": "Aggiorna", "url": "URL", - "user": "User", + "user": "Utente", "username": "Nome utente", - "users": "Users", + "users": "Utenti", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-campaign": "UTM Campagna", + "utm-content": "UTM Contenuto", + "utm-description": "Monitora le tue campagne attraverso i parametri UTM.", + "utm-medium": "UTM Mezzo", + "utm-source": "UTM Fonte", + "utm-term": "UTM Termine", + "value": "Valore", + "version": "Versione", + "view": "Visualizza", "view-details": "Vedi dettagli", - "view-only": "View only", + "view-only": "Solo visualizzazione", "views": "Visualizzazioni", - "views-per-visit": "Views per visit", + "views-per-visit": "Visualizzazioni per visita", "visit-duration": "Tempo medio di visita", "visitors": "Visitatori", - "visits": "Visits", - "website": "Website", - "website-id": "Website ID", + "visits": "Visite", + "website": "Sito web", + "website-id": "ID sito web", "websites": "Siti web", - "window": "Window", + "window": "Finestra", "yesterday": "Ieri" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "Digita {confirmation} nella casella sottostante per confermare.", "active-users": "{x} {x, plural, one {visitatore} other {visitatori}} online", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Richiesta non valida", + "collected-data": "Dati raccolti", "confirm-delete": "Sei sicuro di voler eliminare {target}?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "Sei sicuro di voler lasciare {target}?", + "confirm-remove": "Sei sicuro di voler rimuovere {target}?", "confirm-reset": "Sei sicuro di voler azzerare le statistiche di {target}?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "L'eliminazione di un team eliminerà anche tutti i siti web del team.", "delete-website-warning": "Saranno eliminati anche tutti i dati associati.", "error": "Si è verificato un errore.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} su {url}", + "forbidden": "Vietato", "go-to-settings": "Vai alle impostazioni", "incorrect-username-password": "Username o password non corretti.", "invalid-domain": "Dominio non valido", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "Lunghezza minima di {n} caratteri", + "new-version-available": "È disponibile una nuova versione di Umami {version}!", "no-data-available": "Nessun dato disponibile.", - "no-event-data": "No event data is available.", + "no-event-data": "Nessun dato evento disponibile.", "no-match-password": "Le password non corrispondono", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "Questo team non ha siti web.", + "no-teams": "Non hai creato nessun team.", + "no-users": "Non ci sono utenti.", "no-websites-configured": "Non hai ancora configurato alcun sito.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Non trovato", + "nothing-selected": "Nessuna selezione.", "page-not-found": "Pagina non trovata", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "Per reimpostare questo sito web, digita {confirmation} nella casella sottostante per confermare.", "reset-website-warning": "Tutte le statistiche verranno cancellate per questo sito, ma il tuo codice di tracciamento rimarrà invariato.", "saved": "Salvato!", - "sever-error": "Server error", + "sever-error": "Errore del server", "share-url": "Questo è l'URL di condivisione per {target}.", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "Sei già membro del team.", + "team-not-found": "Team non trovato.", + "team-websites-info": "I siti web possono essere visualizzati da chiunque nel team.", "tracking-code": "Codice di tracking", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "transfer-team-website-to-user": "Trasferire questo sito web al tuo account?", + "transfer-user-website-to-team": "Seleziona il team a cui trasferire questo sito web.", + "transfer-website": "Trasferisci la proprietà del sito web al tuo account o a un altro team.", + "triggered-event": "Evento attivato", + "unauthorized": "Non autorizzato", + "user-deleted": "Utente eliminato.", + "viewed-page": "Pagina visualizzata", "visitor-log": "Utenti da {country} tramite {browser} su {os} {device}" } } diff --git a/public/intl/messages/ja-JP.json b/public/intl/messages/ja-JP.json index 2239bdf62..f8ed9f540 100644 --- a/public/intl/messages/ja-JP.json +++ b/public/intl/messages/ja-JP.json @@ -1,16 +1,16 @@ { "label": { "access-code": "アクセスコード", - "account": "Account", - "action": "Action", + "account": "アカウント", + "action": "アクション", "actions": "アクション", "activity": "アクティビティログ", "add": "追加", "add-board": "ボードを追加", "add-description": "説明を追加", - "add-link": "Add link", + "add-link": "リンクを追加", "add-member": "メンバーの追加", - "add-pixel": "Add pixel", + "add-pixel": "ピクセルを追加", "add-step": "ステップを追加", "add-website": "Webサイトの追加", "admin": "管理者", @@ -18,13 +18,13 @@ "after": "直後", "all": "すべて", "all-time": "すべての時間帯", - "analysis": "Analysis", + "analysis": "分析", "analytics": "アナリティクス", - "application": "Application", + "application": "アプリケーション", "apply": "適用", "attribution": "アトリビューション", "attribution-description": "ユーザーがあなたのマーケティングにどのように関与し、何がコンバージョンを促進するかを確認します。", - "audience": "Audience", + "audience": "オーディエンス", "average": "平均", "back": "戻る", "before": "直前", @@ -34,18 +34,18 @@ "breakdown": "内訳", "browser": "ブラウザ", "browsers": "ブラウザ", - "campaign": "Campaign", + "campaign": "キャンペーン", "campaigns": "キャンペーン", "cancel": "キャンセル", "change-password": "パスワードの変更", - "channel": "Channel", + "channel": "チャネル", "channels": "チャンネル", - "chart": "Chart", + "chart": "チャート", "cities": "都市", "city": "都市", "clear-all": "すべてクリア", "cohort": "コホート", - "cohorts": "Cohorts", + "cohorts": "コホート", "compare": "比較", "compare-dates": "日付を比較", "confirm": "確認", @@ -65,7 +65,7 @@ "create-user": "ユーザーの作成", "created": "作成されました", "created-by": "作成者", - "criteria": "Criteria", + "criteria": "条件", "currency": "通貨", "current": "現在", "current-password": "現在のパスワード", @@ -83,19 +83,19 @@ "delete-website": "Webサイトの削除", "description": "説明", "desktop": "デスクトップ", - "destination-url": "Destination URL", + "destination-url": "遷移先URL", "details": "詳細情報", "device": "デバイス", "devices": "デバイス", "direct": "ダイレクト", "dismiss": "却下", "distinct-id": "識別ID", - "documentation": "Documentation", + "documentation": "ドキュメント", "does-not-contain": "を含まない", "does-not-include": "含まない", "doest-not-exist": "存在しない", "domain": "ドメイン", - "download": "Download", + "download": "ダウンロード", "dropoff": "切り捨て", "edit": "編集", "edit-dashboard": "ダッシュボードの編集", @@ -104,12 +104,12 @@ "enable-share-url": "共有URLを有効にする", "end-step": "最終ステップ", "entry": "訪問時のURL", - "environment": "Environment", + "environment": "環境", "event": "イベント", "event-data": "イベントデータ", "event-name": "イベント名", "events": "イベント", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "直帰を除外", "exists": "存在する", "exit": "退出時のURL", "false": "偽", @@ -130,14 +130,14 @@ "greater-than": "超過", "greater-than-equals": "以上", "grouped": "グループ化", - "growth": "Growth", + "growth": "成長", "hostname": "ホスト名", - "hour": "Hour", + "hour": "時間", "includes": "含む", "insight": "インサイト", "insights": "インサイト", "insights-description": "セグメントとフィルタを使用して、データをさらに詳しく分析します。", - "invalid-url": "Invalid URL", + "invalid-url": "無効なURL", "is": "に等しい", "is-false": "偽である", "is-not": "に等しくない", @@ -161,9 +161,9 @@ "leave-team": "チームを離脱", "less-than": "未満", "less-than-equals": "以下", - "link": "Link", + "link": "リンク", "links": "リンク", - "location": "Location", + "location": "場所", "login": "ログイン", "logout": "ログアウト", "manage": "管理", @@ -174,19 +174,19 @@ "member": "メンバー", "members": "メンバー", "min": "最小", - "minute": "Minute", + "minute": "分", "mobile": "携帯電話", "model": "モデル", - "month": "Month", + "month": "月", "more": "もっと見る", "my-account": "マイアカウント", "my-websites": "マイWebサイト", "name": "名前", "new-password": "新しいパスワード", "none": "なし", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {件} other {件}}", "ok": "OK", - "online": "Online", + "online": "オンライン", "organic-search": "オーガニック検索", "organic-shopping": "オーガニックショッピング", "organic-social": "オーガニックソーシャル", @@ -208,22 +208,22 @@ "password": "パスワード", "path": "パス", "paths": "パス", - "pixel": "Pixel", + "pixel": "ピクセル", "pixels": "ピクセル", - "powered-by": "Powered by {name}", - "preferences": "Preferences", + "powered-by": "{name} 提供", + "preferences": "環境設定", "previous": "以前", "previous-period": "前期", "previous-year": "前年", "profile": "プロフィール", - "profiles": "Profiles", + "profiles": "プロフィール", "properties": "プロパティ", "property": "プロパティ", "queries": "クエリ", "query": "クエリ", "query-parameters": "クエリパラメーター", "realtime": "リアルタイム", - "referral": "Referral", + "referral": "リファラル", "referrer": "リファラー", "referrers": "リファラー", "refresh": "更新", @@ -244,13 +244,13 @@ "role": "ロール", "run-query": "クエリ実行", "save": "保存", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "コホートを保存", + "save-segment": "セグメントを保存", + "screen": "スクリーン", "screens": "画面サイズ", "search": "検索", - "segment": "Segment", - "segments": "Segments", + "segment": "セグメント", + "segments": "セグメント", "select": "選択", "select-date": "日付を選択", "select-filter": "フィルターを選択", @@ -264,14 +264,14 @@ "share-url": "共有URL", "single-day": "一日", "sms": "SMS", - "source": "Source", + "source": "ソース", "sources": "ソース", "start-step": "最初のステップ", "steps": "ステップ", "sum": "合計", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "サポート", + "switch-account": "アカウントを切り替え", + "table": "テーブル", "tablet": "タブレット", "tag": "タグ", "tags": "タグ", @@ -285,7 +285,7 @@ "team-view-only": "チーム表示のみ", "team-websites": "チームのWebサイト", "teams": "チーム", - "term": "Term", + "term": "検索語句", "terms": "利用規約", "theme": "テーマ", "this-month": "今月", @@ -298,14 +298,14 @@ "total": "累計", "total-records": "総記録数", "tracking-code": "トラッキングコード", - "traffic": "Traffic", + "traffic": "トラフィック", "transactions": "トランザクション", "transfer": "移管", "transfer-website": "Webサイトの移管", "true": "真", "type": "種別", "unique": "ユニーク", - "unique-events": "Unique events", + "unique-events": "ユニークイベント", "unique-visitors": "ユニーク訪問者数", "uniqueCustomers": "ユニーク顧客数", "unknown": "不明", @@ -316,14 +316,14 @@ "username": "ユーザー名", "users": "ユーザー", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM キャンペーン", + "utm-content": "UTM コンテンツ", "utm-description": "UTMパラメーターを使用してキャンペーンを追跡します。", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM メディア", + "utm-source": "UTM ソース", + "utm-term": "UTM ターム", "value": "値", - "version": "Version", + "version": "バージョン", "view": "表示", "view-details": "詳細を表示", "view-only": "表示のみ", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "承認する場合は、下のフォームに「{confirmation}」と入力してください。", "active-users": "{x} {x, plural, one {アクティブな訪問者} other {アクティブな訪問者}}", - "bad-request": "Bad request", + "bad-request": "不正なリクエスト", "collected-data": "収集されたデータ", "confirm-delete": "{target}を削除してもよろしいですか?", "confirm-leave": "{target}から離脱してもよろしいですか?", @@ -351,7 +351,7 @@ "delete-website-warning": "Webサイトのデータがすべて削除されます。", "error": "未知のエラーが発生しました。", "event-log": "{url}{event}", - "forbidden": "Forbidden", + "forbidden": "アクセス禁止", "go-to-settings": "設定に移動する", "incorrect-username-password": "ユーザー名またはパスワードが間違っています。", "invalid-domain": "無効なドメインです。http/httpsを含めないでください。", @@ -365,13 +365,13 @@ "no-teams": "チームを作成していません。", "no-users": "ユーザーが存在しません。", "no-websites-configured": "Webサイトが設定されていません。", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "見つかりません", + "nothing-selected": "何も選択されていません。", "page-not-found": "ページが見つかりません", "reset-website": "このWebサイトをリセットするには、下のフォームに「{confirmation}」と入力してください。", "reset-website-warning": "このWebサイトの統計情報はすべて削除されますが、設定はそのまま残ります。", "saved": "保存されました。", - "sever-error": "Server error", + "sever-error": "サーバーエラー", "share-url": "あなたのWebサイトの統計情報は次のURLで公開されています:", "team-already-member": "あなたはすでにチームのメンバーです。", "team-not-found": "チームが見つかりません。", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "このWebサイトを移管するチームを選択してください。", "transfer-website": "Webサイトの所有権を自分のアカウントまたは別のチームへ移管します。", "triggered-event": "トリガーされたイベント", - "unauthorized": "Unauthorized", + "unauthorized": "認証が必要です", "user-deleted": "ユーザーが削除されました。", "viewed-page": "閲覧されたページ", "visitor-log": "{os}({device})で{browser}を使用している{country}からの訪問者" diff --git a/public/intl/messages/km-KH.json b/public/intl/messages/km-KH.json index 891172f01..db50d49a4 100644 --- a/public/intl/messages/km-KH.json +++ b/public/intl/messages/km-KH.json @@ -1,16 +1,16 @@ { "label": { "access-code": "កូដចូលប្រើ", - "account": "Account", - "action": "Action", + "account": "គណនី", + "action": "សកម្មភាព", "actions": "សកម្មភាព", "activity": "កំណត់ហេតុ​សកម្មភាព", "add": "បង្កើតបន្ថែម", "add-board": "បន្ថែមក្តារ", "add-description": "បន្ថែមពិពណ៌នា", - "add-link": "Add link", + "add-link": "បន្ថែមតំណ", "add-member": "បន្ថែមសមាជិក", - "add-pixel": "Add pixel", + "add-pixel": "បន្ថែមភីកសែល", "add-step": "បន្ថែមជំហាន", "add-website": "បន្ថែមគេហទំព័រ", "admin": "អ្នកគ្រប់គ្រង", @@ -18,13 +18,13 @@ "after": "បន្ទាប់", "all": "ទាំងអស់", "all-time": "គ្រប់ពេល", - "analysis": "Analysis", + "analysis": "ការវិភាគ", "analytics": "វិភាគ", - "application": "Application", + "application": "កម្មវិធី", "apply": "អនុវត្ត", "attribution": "ការបញ្ជាក់", "attribution-description": "មើលថាប្រើប្រាស់របស់អ្នកធ្វើអ្វីជាមួយទីផ្សាររបស់អ្នក និងអ្វីជាហេតុបណ្តាលឲ្យមានការបម្លែង។", - "audience": "Audience", + "audience": "ទស្សនិកជន", "average": "ជាមធ្យម", "back": "ថយក្រោយ", "before": "មុន", @@ -34,18 +34,18 @@ "breakdown": "បំបែកលម្អិត", "browser": "កម្មវិធីរុករក", "browsers": "កម្មវិធី", - "campaign": "Campaign", + "campaign": "យុទ្ធនាការ", "campaigns": "យុទ្ធនាការ", "cancel": "បោះបង់", "change-password": "ផ្លាស់ប្តូរពាក្យសម្ងាត់", - "channel": "Channel", + "channel": "ឆានែល", "channels": "ឆានែល", - "chart": "Chart", + "chart": "តារាង", "cities": "ទីក្រុង", "city": "ទីក្រុង", "clear-all": "លុបចេញទាំងអស់", "cohort": "ក្រុម", - "cohorts": "Cohorts", + "cohorts": "ក្រុមកូហ៊ត", "compare": "ប្រៀបធៀប", "compare-dates": "ប្រៀបធៀបទិន្នន័យថ្ងៃខែ", "confirm": "បញ្ជាក់", @@ -65,7 +65,7 @@ "create-user": "បង្កើតអ្នកប្រើប្រាស់", "created": "បង្កើតនៅ", "created-by": "បង្កើតដោយ", - "criteria": "Criteria", + "criteria": "លក្ខណវិនិច្ឆ័យ", "currency": "រូបិយប័ណ្ណ", "current": "បច្ចុប្បន្ន", "current-password": "ពាក្យសម្ងាត់បច្ចុប្បន្ន", @@ -83,46 +83,46 @@ "delete-website": "លុបគេហទំព័រ", "description": "ការពិពណ៌នា", "desktop": "កុំព្យូទ័រលើតុ", - "destination-url": "Destination URL", + "destination-url": "URL គោលដៅ", "details": "ព័ត៌មានលម្អិត", "device": "ឧបករណ៍", "devices": "ឧបករណ៍", "direct": "ផ្ទាល់", "dismiss": "រំសាយ", "distinct-id": "លេខសម្គាល់ពិសេស", - "documentation": "Documentation", + "documentation": "ឯកសារ", "does-not-contain": "មិនមាន", "does-not-include": "មិនរួមបញ្ចូល", "doest-not-exist": "មិនមានទេ", - "domain": "Domain", - "download": "Download", - "dropoff": "Dropoff", + "domain": "ដូមែន", + "download": "ទាញយក", + "dropoff": "ការចាកចេញ", "edit": "កែប្រែ", "edit-dashboard": "កែផ្ទាំងគ្រប់គ្រង", "edit-member": "កែព័ត៌មានសមាជិក", - "email": "Email", + "email": "អ៊ីមែល", "enable-share-url": "បើកការចែករំលែក URL", "end-step": "បញ្ចប់ជំហាន", "entry": "URL ចូល", - "environment": "Environment", + "environment": "បរិស្ថាន", "event": "ព្រឹត្តិការណ៍", "event-data": "ទិន្នន័យព្រឹត្តិការណ៍", "event-name": "ឈ្មោះព្រឹត្តិការណ៍", "events": "ព្រឹត្តិការណ៍", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "មិនរាប់បញ្ចូលការលោតចេញ", "exists": "មាន", "exit": "URL ចេញ", "false": "មិនពិត", - "field": "Field", - "fields": "Fields", + "field": "វាល", + "fields": "វាល", "filter": "ចម្រោះ", "filter-combined": "រួមបញ្ចូលគ្នា", "filter-raw": "ដើម", "filters": "ចម្រោះ", "first-click": "ចុចដំបូង", - "first-seen": "First seen", + "first-seen": "ឃើញដំបូង", "funnel": "ផ្លូវបង្ហាញ", - "funnel-description": "Understand the conversion and drop-off rate of users.", + "funnel-description": "យល់ពីអត្រាបំលែងនិងការចាកចេញរបស់អ្នកប្រើ។", "funnels": "ផ្លូវបង្ហាញ", "goal": "គោលដៅ", "goals": "គោលដៅ", @@ -130,14 +130,14 @@ "greater-than": "ធំជាង", "greater-than-equals": "ធំជាងឬស្មើ", "grouped": "បានដាក់ជាក្រុម", - "growth": "Growth", + "growth": "កំណើន", "hostname": "ឈ្មោះម៉ាស៊ីន", - "hour": "Hour", + "hour": "ម៉ោង", "includes": "រួមបញ្ចូល", "insight": "ការយល់ដឹង", - "insights": "Insights", - "insights-description": "Dive deeper into your data by using segments and filters.", - "invalid-url": "Invalid URL", + "insights": "ការយល់ដឹង", + "insights-description": "ស្វែងរកឱ្យកាន់តែស៊ីជម្រៅក្នុងទិន្នន័យរបស់អ្នកដោយប្រើផ្នែកនិងតម្រង។", + "invalid-url": "URL មិនត្រឹមត្រូវ", "is": "គឺ", "is-false": "មិនពិត", "is-not": "មិនមែន", @@ -156,42 +156,42 @@ "last-days": "{x} ថ្ងៃចុងក្រោយ", "last-hours": "{x} ម៉ោងចុងក្រោយ", "last-months": "{x} ខែចុងក្រោយ", - "last-seen": "Last seen", + "last-seen": "ឃើញចុងក្រោយ", "leave": "ចាកចេញ", "leave-team": "ចេញពីក្រុម", "less-than": "តិច​ជាង", "less-than-equals": "តិចជាង ឬស្មើ", - "link": "Link", + "link": "តំណ", "links": "តំណភ្ជាប់", - "location": "Location", - "login": "Login", - "logout": "Logout", + "location": "ទីតាំង", + "login": "ចូល", + "logout": "ចេញ", "manage": "គ្រប់គ្រង", "manager": "អ្នកគ្រប់គ្រង", - "max": "Max", + "max": "អតិបរមា", "maximize": "ពង្រីក", "medium": "មធ្យម", "member": "សមាជិក", "members": "សមាជិក", - "min": "Min", - "minute": "Minute", + "min": "អប្បបរមា", + "minute": "នាទី", "mobile": "ទូរស័ព្ទចល័ត", "model": "ម៉ូដែល", - "month": "Month", + "month": "ខែ", "more": "បន្ថែម", "my-account": "គណនី​របស់ខ្ញុំ", "my-websites": "គេហទំព័ររបស់ខ្ញុំ", "name": "ឈ្មោះ", "new-password": "ពាក្យសម្ងាត់​ថ្មី", "none": "គ្មាន", - "number-of-records": "{x} {x, plural, one {record} other {records}}", - "ok": "OK", - "online": "Online", + "number-of-records": "{x} {x, plural, one {កំណត់ត្រា} other {កំណត់ត្រា}}", + "ok": "យល់ព្រម", + "online": "អនឡាញ", "organic-search": "ស្វែងរកធម្មជាតិ", "organic-shopping": "ការទិញធម្មជាតិ", "organic-social": "សង្គមធម្មជាតិ", "organic-video": "វីដេអូធម្មជាតិ", - "os": "OS", + "os": "ប្រព័ន្ធប្រតិបត្តិការ", "other": "ផ្សេងទៀត", "overview": "ទិដ្ឋភាពរួម", "owner": "ម្ចាស់", @@ -206,28 +206,28 @@ "paid-social": "សង្គមបង់ប្រាក់", "paid-video": "វីដេអូបង់ប្រាក់", "password": "ពាក្យសម្ងាត់​", - "path": "Path", - "paths": "Paths", - "pixel": "Pixel", + "path": "ផ្លូវ", + "paths": "ផ្លូវ", + "pixel": "ភីកសែល", "pixels": "ភីកសែល", "powered-by": "ដំណើរការដោយ {name}", - "preferences": "Preferences", + "preferences": "ចំណង់ចំណូលចិត្ត", "previous": "មុន", "previous-period": "មួយរយៈពេលមុន", "previous-year": "ឆ្នាំ​មុន", "profile": "គណនី", - "profiles": "Profiles", + "profiles": "ប្រវត្តិរូប", "properties": "លក្ខណៈពិសេស", "property": "លក្ខណៈពិសេស", - "queries": "Queries", - "query": "Query", + "queries": "សំណួរ", + "query": "សំណួរ", "query-parameters": "ប៉ារ៉ាម៉ែត្រ Query", "realtime": "ឥលូវនេះ", "referral": "ការបញ្ជូន", "referrer": "អ្នកណែនាំ", "referrers": "អ្នកណែនាំ", "refresh": "ផ្ទុកឡើងវិញ", - "regenerate": "Regenerate", + "regenerate": "បង្កើតឡើងវិញ", "region": "តំបន់", "regions": "តំបន់", "remaining": "នៅសល់", @@ -238,40 +238,40 @@ "reset": "កែសម្រួល", "reset-website": "ដើម្បីកែគេហទំព័រនេះឡើងវិញ សូមសរសេរ {confirmation} នៅក្នុងប្រអប់ខាងក្រោមដើម្បីបញ្ជាក់។", "retention": "ការរក្សាទុក", - "retention-description": "Measure your website stickiness by tracking how often users return.", - "revenue": "Revenue", + "retention-description": "វាស់ស្ទង់ភាពស្អិតនៃគេហទំព័រដោយតាមដានថាអ្នកប្រើត្រលប់មកវិញញឹកញាប់ប៉ុណ្ណា។", + "revenue": "ចំណូល", "revenue-description": "Look into your revenue across time.", "role": "មុខងារ", - "run-query": "Run query", + "run-query": "ដំណើរការសំណួរ", "save": "រក្សាទុក", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "រក្សាទុកក្រុមកូហ៊ត", + "save-segment": "រក្សាទុកផ្នែក", + "screen": "អេក្រង់", "screens": "ប្រភេទឧបករណ៍", "search": "ស្វែងរក", - "segment": "Segment", - "segments": "Segments", + "segment": "ផ្នែក", + "segments": "ផ្នែក", "select": "ជ្រើសរើស", "select-date": "ជ្រើសរើសកាលបរិច្ឆេទ", "select-filter": "ជ្រើសរើសតម្រង", "select-role": "ជ្រើសរើសមុខងារ", "select-website": "ជ្រើសរើសគេហទំព័រ", - "session": "Session", + "session": "វគ្គ", "session-data": "ទិន្នន័យសម័យ", - "sessions": "Sessions", + "sessions": "វគ្គ", "settings": "ការកំណត់", "share": "ចែករំលែក", "share-url": "ចែករំលែក URL", "single-day": "ថ្ងៃតែមួយ", "sms": "SMS", - "source": "Source", + "source": "ប្រភព", "sources": "ប្រភព", "start-step": "ជំហានចាប់ផ្តើម", "steps": "ជំហាន", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "sum": "ផលបូក", + "support": "ជំនួយ", + "switch-account": "ប្ដូរគណនី", + "table": "តារាង", "tablet": "ថេប្លេត", "tag": "ស្លាក", "tags": "ស្លាក", @@ -282,10 +282,10 @@ "team-name": "ឈ្មោះក្រុម", "team-owner": "ម្ចាស់ក្រុម", "team-settings": "ការកំណត់ក្រុម", - "team-view-only": "Team view only", + "team-view-only": "មើលក្រុមតែប៉ុណ្ណោះ", "team-websites": "គេហទំព័ររបស់ក្រុម", "teams": "ក្រុម", - "term": "Term", + "term": "ពាក្យស្វែងរក", "terms": "លក្ខខណ្ឌ", "theme": "រូបរាង", "this-month": "ខែនេះ", @@ -298,50 +298,50 @@ "total": "សរុប", "total-records": "កំណត់ត្រាសរុប", "tracking-code": "លេខកូដតាមដាន", - "traffic": "Traffic", - "transactions": "Transactions", + "traffic": "ចរាចរណ៍", + "transactions": "ប្រតិបត្តិការ", "transfer": "ការផ្ទេរ", "transfer-website": "ការផ្ទេរគេហទំព័រ", "true": "ពិត", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "type": "ប្រភេទ", + "unique": "តែមួយ", + "unique-events": "ព្រឹត្តិការណ៍តែមួយ", "unique-visitors": "អ្នកចូលមើលម្នាក់ៗ", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "អតិថិជនតែមួយ", "unknown": "មិនស្គាល់", "untitled": "គ្មានចំណងជើង", - "update": "Update", + "update": "ធ្វើបច្ចុប្បន្នភាព", "url": "URL", "user": "អ្នកប្រើប្រាស់", "username": "ឈ្មោះ​អ្នកប្រើប្រាស់", "users": "អ្នកប្រើប្រាស់", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM យុទ្ធនាការ", + "utm-content": "UTM មាតិកា", "utm-description": "តាមដានយុទ្ធនាការរបស់អ្នកតាមរយៈប៉ារ៉ាម៉ែត្រ UTM។", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-medium": "UTM មធ្យម", + "utm-source": "UTM ប្រភព", + "utm-term": "UTM ពាក្យ", + "value": "តម្លៃ", + "version": "កំណែ", + "view": "មើល", "view-details": "មើលព័ត៌មានលម្អិត", "view-only": "បានតែមើលប៉ុណ្ណោះ", "views": "អ្នកចូលមើល", - "views-per-visit": "Views per visit", + "views-per-visit": "ការមើលក្នុងមួយដង", "visit-duration": "រយៈពេលទស្សនា", "visitors": "អ្នកទស្សនា", "visits": "ទស្សនា", "website": "គេហទំព័រ", "website-id": "ID គេហទំព័រ", "websites": "គេហទំព័រ", - "window": "Window", + "window": "បង្អួច", "yesterday": "ម្សិលមិញ" }, "message": { "action-confirmation": "សសេរ {confirmation} នៅក្នុងប្រអប់ខាងក្រោមដើម្បីបញ្ជាក់។", "active-users": "មានអ្នកមើល {x} នាក់ ឥលូវនេះ", - "bad-request": "Bad request", + "bad-request": "សំណើមិនត្រឹមត្រូវ", "collected-data": "ទិន្នន័យដែលបានប្រមូលទុក", "confirm-delete": "តើអ្នកប្រាកដថាចង់លុប {target} ទេ?", "confirm-leave": "តើអ្នកប្រាកដថាចង់ចាកចេញ {target} ទេ?", @@ -350,8 +350,8 @@ "delete-team-warning": "ពេលលុបក្រុម គេហទំព័ររបស់ក្រុមក៏នឹងត្រូវលប់ចោលទាំងអស់ផងដែរ។", "delete-website-warning": "ទិន្នន័យរបស់គេហទំព័រទាំងអស់នឹងត្រូវលុបចោល។", "error": "មាន​អ្វីមួយ​មិន​ប្រក្រតី។", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} នៅ {url}", + "forbidden": "ហាមឃាត់", "go-to-settings": "ការកំណត់", "incorrect-username-password": "ឈ្មោះអ្នកប្រើឬពាក្យសម្ងាត់មិនត្រឹមត្រូវ។", "invalid-domain": "Domain មិន​ត្រឹមត្រូវ", @@ -365,13 +365,13 @@ "no-teams": "អ្នកមិនទាន់បានបង្កើតក្រុមណាមួយទេ។", "no-users": "មិនមានអ្នកប្រើប្រាស់ទេ។", "no-websites-configured": "អ្នកមិនទាន់បានដាក់គេហទំព័រណាមួយចូលទេ។", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "រកមិនឃើញ", + "nothing-selected": "មិនបានជ្រើសអ្វីទេ។", "page-not-found": "រកមិនឃើញទំព័រ។", "reset-website": "ដើម្បីកែគេហទំព័រនេះឡើងវិញ សូមសរសេរ {confirmation} នៅក្នុងប្រអប់ខាងក្រោមដើម្បីបញ្ជាក់។", "reset-website-warning": "ស្ថិតិទាំងអស់សម្រាប់គេហទំព័រនេះនឹងត្រូវបានលុប ប៉ុន្តែកូដតាមដានរបស់អ្នកនឹងនៅដដែល។", "saved": "រក្សាទុកដោយជោគជ័យ។", - "sever-error": "Server error", + "sever-error": "កំហុសម៉ាស៊ីនមេ", "share-url": "នេះគឺជា URL ដែលអាចចែករំលែកជាសាធារណៈបានសម្រាប់ {target}។", "team-already-member": "អ្នកគឺជាសមាជិកនៃក្រុមរួចហើយ។", "team-not-found": "រកក្រុមមិនឃើញទេ។", @@ -380,8 +380,8 @@ "transfer-team-website-to-user": "ផ្ទេរគេហទំព័រនេះទៅគណនីរបស់អ្នក។?", "transfer-user-website-to-team": "ជ្រើសក្រុមដែរត្រូវផ្ទេរគេហទំព័រនេះទៅ។", "transfer-website": "ផ្ទេរកម្មសិទ្ធិគេហទំព័រទៅគណនីរបស់អ្នក ឬក្រុមផ្សេងទៀត។", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", + "triggered-event": "ព្រឹត្តិការណ៍ដែលបានដំណើរការ", + "unauthorized": "មិនមានសិទ្ធិ", "user-deleted": "អ្នកប្រើប្រាស់ត្រូវបានលុបចោល។", "viewed-page": "ទំព័រដែលបានមើល", "visitor-log": "អ្នកមើលពីប្រទេស {country} ប្រើប្រាស់កម្មវិធី {browser} លើឧបករណ៍ {os} {device}" diff --git a/public/intl/messages/ko-KR.json b/public/intl/messages/ko-KR.json index 34ebc1ad0..5f929b100 100644 --- a/public/intl/messages/ko-KR.json +++ b/public/intl/messages/ko-KR.json @@ -1,16 +1,16 @@ { "label": { "access-code": "액세스 코드", - "account": "Account", - "action": "Action", + "account": "계정", + "action": "작업", "actions": "동작", "activity": "활동", "add": "추가", "add-board": "보드 추가", "add-description": "설명 추가", - "add-link": "Add link", + "add-link": "링크 추가", "add-member": "멤버 추가", - "add-pixel": "Add pixel", + "add-pixel": "픽셀 추가", "add-step": "단계 추가", "add-website": "웹사이트 추가", "admin": "관리자", @@ -18,13 +18,13 @@ "after": "이후", "all": "전체", "all-time": "전체 시간", - "analysis": "Analysis", + "analysis": "분석", "analytics": "분석", - "application": "Application", + "application": "애플리케이션", "apply": "적용", "attribution": "기여도", "attribution-description": "사용자가 마케팅에 어떻게 반응하고 전환을 유도하는지 확인하세요.", - "audience": "Audience", + "audience": "잠재고객", "average": "평균", "back": "뒤로", "before": "이전", @@ -34,18 +34,18 @@ "breakdown": "세부 사항", "browser": "브라우저", "browsers": "브라우저", - "campaign": "Campaign", + "campaign": "캠페인", "campaigns": "캠페인", "cancel": "취소", "change-password": "비밀번호 변경", - "channel": "Channel", + "channel": "채널", "channels": "채널", - "chart": "Chart", + "chart": "차트", "cities": "도시", "city": "도시", "clear-all": "모두 지우기", "cohort": "코호트", - "cohorts": "Cohorts", + "cohorts": "코호트", "compare": "비교", "compare-dates": "날짜 비교", "confirm": "확인", @@ -65,7 +65,7 @@ "create-user": "사용자 만들기", "created": "생성됨", "created-by": "작성자", - "criteria": "Criteria", + "criteria": "기준", "currency": "통화", "current": "현재", "current-password": "현재 비밀번호", @@ -83,19 +83,19 @@ "delete-website": "웹사이트 삭제", "description": "설명", "desktop": "데스크톱", - "destination-url": "Destination URL", + "destination-url": "도착 URL", "details": "세부 정보", "device": "기기", "devices": "기기", "direct": "직접", "dismiss": "무시하기", "distinct-id": "고유 ID", - "documentation": "Documentation", + "documentation": "문서", "does-not-contain": "포함하지 않음", "does-not-include": "포함하지 않음", "doest-not-exist": "존재하지 않음", "domain": "도메인", - "download": "Download", + "download": "다운로드", "dropoff": "이탈", "edit": "편집", "edit-dashboard": "대시보드 편집", @@ -104,12 +104,12 @@ "enable-share-url": "URL 공유 활성화", "end-step": "마지막 단계", "entry": "입장 URL", - "environment": "Environment", + "environment": "환경", "event": "이벤트", "event-data": "이벤트 데이터", "event-name": "이벤트 이름", "events": "이벤트", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "이탈 제외", "exists": "존재함", "exit": "퇴장 URL", "false": "거짓", @@ -130,14 +130,14 @@ "greater-than": "이상", "greater-than-equals": "이상", "grouped": "그룹화됨", - "growth": "Growth", + "growth": "성장", "hostname": "호스트명", - "hour": "Hour", + "hour": "시간", "includes": "포함", "insight": "인사이트", "insights": "인사이트", "insights-description": "세그먼트 및 필터를 사용하여 데이터를 더 자세히 살펴보세요.", - "invalid-url": "Invalid URL", + "invalid-url": "잘못된 URL", "is": "해당", "is-false": "거짓임", "is-not": "해당하지 않음", @@ -161,9 +161,9 @@ "leave-team": "팀 떠나기", "less-than": "미만", "less-than-equals": "이하", - "link": "Link", + "link": "링크", "links": "링크", - "location": "Location", + "location": "위치", "login": "로그인", "logout": "로그아웃", "manage": "관리", @@ -174,10 +174,10 @@ "member": "멤버", "members": "멤버", "min": "최소", - "minute": "Minute", + "minute": "분", "mobile": "모바일", "model": "모델", - "month": "Month", + "month": "월", "more": "더 보기", "my-account": "내 계정", "my-websites": "내 웹사이트", @@ -186,7 +186,7 @@ "none": "없음", "number-of-records": "{x}개 레코드", "ok": "확인", - "online": "Online", + "online": "온라인", "organic-search": "자연 검색", "organic-shopping": "자연 쇼핑", "organic-social": "자연 소셜", @@ -208,22 +208,22 @@ "password": "비밀번호", "path": "패스", "paths": "패스", - "pixel": "Pixel", + "pixel": "픽셀", "pixels": "픽셀", - "powered-by": "Powered by {name}", - "preferences": "Preferences", + "powered-by": "{name} 제공", + "preferences": "환경설정", "previous": "이전", "previous-period": "이전 기간", "previous-year": "이전 연도", "profile": "프로필", - "profiles": "Profiles", + "profiles": "프로필", "properties": "속성", "property": "속성", "queries": "쿼리", "query": "쿼리", "query-parameters": "쿼리 매개 변수", "realtime": "실시간", - "referral": "Referral", + "referral": "추천", "referrer": "리퍼러", "referrers": "리퍼러", "refresh": "새로 고침", @@ -244,13 +244,13 @@ "role": "역할", "run-query": "쿼리 실행", "save": "저장", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "코호트 저장", + "save-segment": "세그먼트 저장", + "screen": "화면", "screens": "화면", "search": "검색", - "segment": "Segment", - "segments": "Segments", + "segment": "세그먼트", + "segments": "세그먼트", "select": "선택", "select-date": "날짜 선택", "select-filter": "필터 선택", @@ -264,14 +264,14 @@ "share-url": "공유 URL", "single-day": "하루", "sms": "SMS", - "source": "Source", + "source": "소스", "sources": "소스", "start-step": "시작 단계", "steps": "단계", "sum": "합계", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "지원", + "switch-account": "계정 전환", + "table": "표", "tablet": "태블릿", "tag": "태그", "tags": "태그", @@ -285,7 +285,7 @@ "team-view-only": "팀 보기 전용", "team-websites": "팀 웹사이트", "teams": "팀", - "term": "Term", + "term": "검색어", "terms": "약관", "theme": "테마", "this-month": "이번 달", @@ -298,14 +298,14 @@ "total": "합계", "total-records": "전체 레코드", "tracking-code": "추적 코드", - "traffic": "Traffic", + "traffic": "트래픽", "transactions": "거래", "transfer": "전송", "transfer-website": "웹사이트 전송", "true": "참", "type": "유형", "unique": "고유", - "unique-events": "Unique events", + "unique-events": "고유 이벤트", "unique-visitors": "고유 방문자", "uniqueCustomers": "고유 고객", "unknown": "알 수 없음", @@ -316,14 +316,14 @@ "username": "사용자 이름", "users": "사용자", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM 캠페인", + "utm-content": "UTM 콘텐츠", "utm-description": "UTM 매개변수를 통해 캠페인을 추적하세요.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM 매체", + "utm-source": "UTM 소스", + "utm-term": "UTM 검색어", "value": "값", - "version": "Version", + "version": "버전", "view": "보기", "view-details": "자세히 보기", "view-only": "보기 전용", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "확인을 위해 아래 상자에 {confirmation}을(를) 입력하세요.", "active-users": "현재 방문자 {x}명", - "bad-request": "Bad request", + "bad-request": "잘못된 요청", "collected-data": "수집된 데이터", "confirm-delete": "{target}을(를) 삭제하시겠습니까?", "confirm-leave": "{target}을(를) 떠나시겠습니까?", @@ -351,7 +351,7 @@ "delete-website-warning": "관련된 모든 데이터가 삭제됩니다.", "error": "문제가 발생했습니다.", "event-log": "{event} - {url}", - "forbidden": "Forbidden", + "forbidden": "접근 금지", "go-to-settings": "설정으로 이동", "incorrect-username-password": "사용자 이름 또는 비밀번호를 잘못 입력했습니다.", "invalid-domain": "잘못된 도메인입니다. http/https를 포함하지 마세요.", @@ -365,13 +365,13 @@ "no-teams": "만든 팀이 없습니다.", "no-users": "사용자가 없습니다.", "no-websites-configured": "설정된 웹사이트가 없습니다.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "찾을 수 없음", + "nothing-selected": "선택된 항목이 없습니다.", "page-not-found": "페이지를 찾을 수 없음", "reset-website": "이 웹사이트를 초기화하려면 아래 상자에 {confirmation}을(를) 입력하세요.", "reset-website-warning": "이 웹사이트의 모든 통계가 삭제되지만 설정은 그대로 유지됩니다.", "saved": "저장했습니다.", - "sever-error": "Server error", + "sever-error": "서버 오류", "share-url": "아래 링크를 통해 웹사이트의 통계를 누구나 볼 수 있습니다.", "team-already-member": "이미 팀 멤버입니다.", "team-not-found": "팀을 찾을 수 없습니다.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "이 웹사이트를 전송받을 팀을 선택하세요.", "transfer-website": "웹사이트 소유권을 계정이나 다른 팀으로 전송합니다.", "triggered-event": "트리거된 이벤트", - "unauthorized": "Unauthorized", + "unauthorized": "인증되지 않음", "user-deleted": "사용자를 삭제했습니다.", "viewed-page": "조회한 페이지", "visitor-log": "{os} {device}에서 {browser}을(를) 사용하는 {country}의 방문자" diff --git a/public/intl/messages/lt-LT.json b/public/intl/messages/lt-LT.json index 2f84c511d..eb0e888e5 100644 --- a/public/intl/messages/lt-LT.json +++ b/public/intl/messages/lt-LT.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Prieigos kodas", - "account": "Account", - "action": "Action", + "account": "Paskyra", + "action": "Veiksmas", "actions": "Veiksmai", "activity": "Veiklos žurnalas", "add": "Pridėti", "add-board": "Pridėti lentą", "add-description": "Pridėti aprašymą", - "add-link": "Add link", + "add-link": "Pridėti nuorodą", "add-member": "Pridėti narį", - "add-pixel": "Add pixel", + "add-pixel": "Pridėti pikselį", "add-step": "Pridėti žingsnį", "add-website": "Pridėti svetainę", "admin": "Administrator", @@ -18,13 +18,13 @@ "after": "Po", "all": "Visi", "all-time": "Visas laikotarpis", - "analysis": "Analysis", + "analysis": "Analizė", "analytics": "Analitika", - "application": "Application", + "application": "Programėlė", "apply": "Taikyti", "attribution": "Priskyrimas", "attribution-description": "Žiūrėkite, kaip naudotojai įsitraukia į jūsų rinkodarą ir kas lemia konversijas.", - "audience": "Audience", + "audience": "Auditorija", "average": "Vidurkis", "back": "Atgal", "before": "Prieš", @@ -34,18 +34,18 @@ "breakdown": "Išskaidymas", "browser": "Naršyklė", "browsers": "Naršyklės", - "campaign": "Campaign", + "campaign": "Kampanija", "campaigns": "Kampanijos", "cancel": "Atšaukti", "change-password": "Pakeisti slaptažodį", - "channel": "Channel", + "channel": "Kanalas", "channels": "Kanalai", - "chart": "Chart", + "chart": "Diagrama", "cities": "Miestai", "city": "Miestas", "clear-all": "Išvalyti visus", "cohort": "Kohorta", - "cohorts": "Cohorts", + "cohorts": "Kohortos", "compare": "Palyginti", "compare-dates": "Palyginti datas", "confirm": "Patvirtinti", @@ -65,7 +65,7 @@ "create-user": "Sukurti vartotoją", "created": "Sukurta", "created-by": "Sukūrė", - "criteria": "Criteria", + "criteria": "Kriterijai", "currency": "Valiuta", "current": "Dabartinis", "current-password": "Dabartinis slaptažodis", @@ -83,19 +83,19 @@ "delete-website": "Ištrinti svetainę", "description": "Aprašymas", "desktop": "Stalinis kompiuteris", - "destination-url": "Destination URL", + "destination-url": "Paskirties URL", "details": "Detalės", "device": "Įrenginys", "devices": "Įrenginiai", "direct": "Tiesioginis", "dismiss": "Gerai", "distinct-id": "Unikalus ID", - "documentation": "Documentation", + "documentation": "Dokumentacija", "does-not-contain": "Neturi", "does-not-include": "Neįtraukia", "doest-not-exist": "Neegzistuoja", "domain": "Domenas", - "download": "Download", + "download": "Atsisiųsti", "dropoff": "Atsitraukimas", "edit": "Redaguoti", "edit-dashboard": "Redaguoti švieslentę", @@ -104,12 +104,12 @@ "enable-share-url": "Įjungti bendrinimą su nuoroda", "end-step": "Paskutinis žingsnis", "entry": "Įėjimo URL", - "environment": "Environment", + "environment": "Aplinka", "event": "Įvykis", "event-data": "Įvykių duomenys", "event-name": "Įvykio pavadinimas", "events": "Įvykiai", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Neįtraukti atmetimų", "exists": "Egzistuoja", "exit": "Išėjimo URL", "false": "Netiesa", @@ -130,14 +130,14 @@ "greater-than": "Daugiau nei", "greater-than-equals": "Daugiau arba lygu", "grouped": "Grupuota", - "growth": "Growth", + "growth": "Augimas", "hostname": "Pagrindinis kompiuteris", - "hour": "Hour", + "hour": "Valanda", "includes": "Įtraukia", "insight": "Įžvalga", "insights": "Įžvalgos", "insights-description": "Pasinerkite giliau į savo duomenis naudodami segmentus ir filtrus.", - "invalid-url": "Invalid URL", + "invalid-url": "Netinkamas URL", "is": "Yra", "is-false": "Yra netiesa", "is-not": "Nėra", @@ -161,9 +161,9 @@ "leave-team": "Išeiti iš komandos", "less-than": "Mažiau nei", "less-than-equals": "Mažiau arba lygu", - "link": "Link", + "link": "Nuoroda", "links": "Nuorodos", - "location": "Location", + "location": "Vieta", "login": "Prisijungti", "logout": "Atsijungti", "manage": "Tvarkyti", @@ -174,19 +174,19 @@ "member": "Narys", "members": "Nariai", "min": "Minimumas", - "minute": "Minute", + "minute": "Minutė", "mobile": "Mobilusis", "model": "Modelis", - "month": "Month", + "month": "Mėnuo", "more": "Daugiau", "my-account": "Mano paskyra", "my-websites": "Mano svetainės", "name": "Pavadinimas", "new-password": "Naujas slaptažodis", "none": "Nėra", - "number-of-records": "{x} {x, plural, one {record} other {records}}", - "ok": "OK", - "online": "Online", + "number-of-records": "{x} {x, plural, one {įrašas} few {įrašai} other {įrašų}}", + "ok": "Gerai", + "online": "Prisijungęs", "organic-search": "Organinė paieška", "organic-shopping": "Organinis apsipirkimas", "organic-social": "Organinis socialinis", @@ -208,15 +208,15 @@ "password": "Slaptažodis", "path": "Kelias", "paths": "Keliai", - "pixel": "Pixel", + "pixel": "Pikselis", "pixels": "Pikseliai", - "powered-by": "Powered by {name}", - "preferences": "Preferences", + "powered-by": "Teikia {name}", + "preferences": "Nuostatos", "previous": "Ankstesnis", "previous-period": "Ankstesnis laikotarpis", "previous-year": "Ankstesni metai", "profile": "Profilis", - "profiles": "Profiles", + "profiles": "Profiliai", "properties": "Savybės", "property": "Savybė", "queries": "Užklausos", @@ -244,13 +244,13 @@ "role": "Vaidmuo", "run-query": "Vykdyti užklausą", "save": "Išsaugoti", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Išsaugoti kohortą", + "save-segment": "Išsaugoti segmentą", + "screen": "Ekranas", "screens": "Ekranai", "search": "Ieškoti", - "segment": "Segment", - "segments": "Segments", + "segment": "Segmentas", + "segments": "Segmentai", "select": "Pasirinkti", "select-date": "Pasirinkti laikotarpį", "select-filter": "Pasirinkti filtrą", @@ -264,14 +264,14 @@ "share-url": "Pasidalinti nuoroda", "single-day": "Viena diena", "sms": "SMS", - "source": "Source", + "source": "Šaltinis", "sources": "Šaltiniai", "start-step": "Pradžios žingsnis", "steps": "Žingsniai", "sum": "Suma", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Palaikymas", + "switch-account": "Perjungti paskyrą", + "table": "Lentelė", "tablet": "Planšetė", "tag": "Žyma", "tags": "Žymos", @@ -285,7 +285,7 @@ "team-view-only": "Tik peržiūra", "team-websites": "Komandos svetainės", "teams": "Komandos", - "term": "Term", + "term": "Paieškos terminas", "terms": "Sąlygos", "theme": "Spalvų tema", "this-month": "Šis mėnuo", @@ -295,54 +295,54 @@ "title": "Pavadinimas", "today": "Šiandien", "toggle-charts": "Rodyti / slėpti grafikus", - "total": "Total", - "total-records": "Total records", + "total": "Iš viso", + "total-records": "Iš viso įrašų", "tracking-code": "Sekimo kodas", - "traffic": "Traffic", - "transactions": "Transactions", + "traffic": "Srautas", + "transactions": "Sandoriai", "transfer": "Perleisti", "transfer-website": "Perleisti svetainę", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "true": "Tiesa", + "type": "Tipas", + "unique": "Unikalūs", + "unique-events": "Unikalūs įvykiai", "unique-visitors": "Unikalūs lankytojai", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Unikalūs klientai", "unknown": "Nežinoma", "untitled": "Be pavadinimo", - "update": "Update", + "update": "Atnaujinti", "url": "URL", "user": "Vartotojas", "username": "Vartotojo vardas", "users": "Vartotojai", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", + "utm-campaign": "UTM kampanija", + "utm-content": "UTM turinys", + "utm-description": "Stebėkite savo kampanijas per UTM parametrus.", + "utm-medium": "UTM kanalas", + "utm-source": "UTM šaltinis", + "utm-term": "UTM terminas", + "value": "Reikšmė", + "version": "Versija", "view": "Atidaryti", "view-details": "Peržiūrėti detaliau", "view-only": "Tik peržiūrėti", "views": "Peržiūros", - "views-per-visit": "Views per visit", + "views-per-visit": "Peržiūros per apsilankymą", "visit-duration": "Vidutinė vizito trukmė", "visitors": "Lankytojai", - "visits": "Visits", + "visits": "Apsilankymai", "website": "Svetainė", "website-id": "Svetainės ID", "websites": "Svetainės", - "window": "Window", + "window": "Langas", "yesterday": "Vakar" }, "message": { "action-confirmation": "Įrašykite {confirmation} žemiau, kad patvirtintumėte.", "active-users": "{x, plural, =0 {# aktyvių vartotojų} zero {# aktyvių vartotojų} one {# aktyvus vartotojas} other {# aktyvūs vartotojai}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Netinkama užklausa", + "collected-data": "Surinkti duomenys", "confirm-delete": "Ar esate tikri, jog norite ištrinti svetainę {target}?", "confirm-leave": "Ar esate tikri, jog norite palikti {target}?", "confirm-remove": "Ar esate tikri, jog norite ištrinti {target}?", @@ -350,8 +350,8 @@ "delete-team-warning": "Ištrinant komandą bus ištrintos ir visos komandos svetainės.", "delete-website-warning": "Visi susiję duomenys taip pat bus ištrinti.", "error": "Kažkas įvyko ne taip.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} puslapyje {url}", + "forbidden": "Draudžiama", "go-to-settings": "Eiti į nustatymus", "incorrect-username-password": "Neteisingas vartotojo vardas/slaptažodis.", "invalid-domain": "Klaidingas domenas", @@ -365,13 +365,13 @@ "no-teams": "Jūs nesate sukūrę jokių komandų.", "no-users": "Nėra jokių vartotojų.", "no-websites-configured": "Jūs nesate susikonfiguravę jokių svetainių.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Nerasta", + "nothing-selected": "Nieko nepasirinkta.", "page-not-found": "Puslapis nerastas.", "reset-website": "Kad atstatyti šią svetainę, įrašykite {confirmation} žemiau, kad patvirtintumėte.", "reset-website-warning": "Visi šios svetainės statistikos duomenys bus ištrinti, bet sekimo kodas išliks nepaliestas.", "saved": "Sėkmingai išsaugota.", - "sever-error": "Server error", + "sever-error": "Serverio klaida", "share-url": "Tai yra viešai prieinama {target} nuoroda (URL).", "team-already-member": "Jūs jau esate šios komandos narys.", "team-not-found": "Komanda nerasta.", @@ -380,10 +380,10 @@ "transfer-team-website-to-user": "Perduoti šią svetainę į jūsų paskyrą?", "transfer-user-website-to-team": "Pasirinkite komandą, kuriai norite perduoti šią svetainę.", "transfer-website": "Perduoti svetainės nuosavybę į savo paskyrą arba kitą komandą.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", + "triggered-event": "Suaktyvintas įvykis", + "unauthorized": "Neautorizuota", "user-deleted": "Vartotojas ištrintas.", - "viewed-page": "Viewed page", + "viewed-page": "Peržiūrėtas puslapis", "visitor-log": "Lankytojas iš {country}, naudojantis {browser} sistemoje {os} {device}" } } diff --git a/public/intl/messages/mn-MN.json b/public/intl/messages/mn-MN.json index 2dee05e3c..4d16640df 100644 --- a/public/intl/messages/mn-MN.json +++ b/public/intl/messages/mn-MN.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Хандалтын код", - "account": "Account", - "action": "Action", + "account": "Бүртгэл", + "action": "Үйлдэл", "actions": "Үйлдлүүд", "activity": "Үйл ажиллагааны бүртгэл", "add": "Нэмэх", "add-board": "Самбар нэмэх", "add-description": "Тайлбар нэмэх", - "add-link": "Add link", + "add-link": "Холбоос нэмэх", "add-member": "Гишүүн нэмэх", - "add-pixel": "Add pixel", + "add-pixel": "Пиксел нэмэх", "add-step": "Алхам нэмэх", "add-website": "Веб нэмэх", "admin": "Админ", @@ -18,13 +18,13 @@ "after": "Хойно", "all": "Бүх", "all-time": "Бүх цаг үеийн", - "analysis": "Analysis", + "analysis": "Шинжилгээ", "analytics": "Аналитик", - "application": "Application", + "application": "Программ", "apply": "Хэрэглэх", "attribution": "Холбогдол", "attribution-description": "Хэрэглэгчид таны маркетингт хэрхэн оролцож, ямар зүйлс хөрвүүлэлтэд нөлөөлж байгааг хараарай.", - "audience": "Audience", + "audience": "Үзэгчид", "average": "Дундаж", "back": "Буцах", "before": "Өмнө", @@ -34,18 +34,18 @@ "breakdown": "Задаргаа", "browser": "Хөтөч", "browsers": "Хөтөч", - "campaign": "Campaign", + "campaign": "Кампанит ажил", "campaigns": "Аянууд", "cancel": "Цуцлах", "change-password": "Нууц үг солих", - "channel": "Channel", + "channel": "Суваг", "channels": "Суваг", - "chart": "Chart", + "chart": "График", "cities": "Хотууд", "city": "Хот", "clear-all": "Бүгдийг арилгах", "cohort": "Бүлэг", - "cohorts": "Cohorts", + "cohorts": "Когортууд", "compare": "Харьцуулах", "compare-dates": "Огноо харьцуулах", "confirm": "Батлах", @@ -65,7 +65,7 @@ "create-user": "Хэрэглэгч үүсгэх", "created": "Үүсгэсэн", "created-by": "Үүсгэсэн", - "criteria": "Criteria", + "criteria": "Шалгуур", "currency": "Валют", "current": "Одоогийн", "current-password": "Ашиглаж буй нууц үг", @@ -83,19 +83,19 @@ "delete-website": "Веб устгах", "description": "Тайлбар", "desktop": "Суурин компьютер", - "destination-url": "Destination URL", + "destination-url": "Очих URL", "details": "Мэдээлэл", "device": "Төхөөрөмж", "devices": "Төхөөрөмж", "direct": "Шууд", "dismiss": "Үл хэрэгсэх", "distinct-id": "Ялгаатай ID", - "documentation": "Documentation", + "documentation": "Баримт бичиг", "does-not-contain": "Агуулахгүй", "does-not-include": "Агуулаагүй", "doest-not-exist": "Байхгүй", "domain": "Домэйн", - "download": "Download", + "download": "Татах", "dropoff": "Уналт", "edit": "Засах", "edit-dashboard": "Хянах самбар засах", @@ -104,12 +104,12 @@ "enable-share-url": "Хуваалцах холбоос идэвхжүүлэх", "end-step": "Төгсгөлийн алхам", "entry": "Орох зам", - "environment": "Environment", + "environment": "Орчин", "event": "Үйлдэл", "event-data": "Үйлдлийн өгөгдөл", "event-name": "Үйлдлийн нэр", "events": "Үйлдэл", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Буцалтыг хасах", "exists": "Байгаа", "exit": "Гарах зам", "false": "Худал", @@ -130,14 +130,14 @@ "greater-than": "Их", "greater-than-equals": "Их буюу тэнцүү", "grouped": "Бүлэглэсэн", - "growth": "Growth", + "growth": "Өсөлт", "hostname": "Хост нэр", - "hour": "Hour", + "hour": "Цаг", "includes": "Агуулсан", "insight": "Ойлголт", "insights": "Шинжлэх", "insights-description": "Өгөгдлөө хэсэгчлэн хуваах, шүүх байдлаар задлан шинжлэх.", - "invalid-url": "Invalid URL", + "invalid-url": "Буруу URL", "is": "Бол", "is-false": "Худал байна", "is-not": "Биш", @@ -161,23 +161,23 @@ "leave-team": "Багаас гарах", "less-than": "Бага", "less-than-equals": "Бага буюу тэнцүү", - "link": "Link", + "link": "Холбоос", "links": "Холбоосууд", - "location": "Location", + "location": "Байршил", "login": "Нэвтрэх", "logout": "Гарах", "manage": "Удирдах", "manager": "Удирдагч", - "max": "Max", + "max": "Дээд", "maximize": "Өргөтгөх", "medium": "Дунд", "member": "Гишүүн", "members": "Гишүүд", - "min": "Min", - "minute": "Minute", + "min": "Доод", + "minute": "Минут", "mobile": "Утас", "model": "Загвар", - "month": "Month", + "month": "Сар", "more": "Цааш", "my-account": "Миний бүртгэл", "my-websites": "Миний вебүүд", @@ -186,12 +186,12 @@ "none": "Байхгүй", "number-of-records": "{x} {x, plural, one {бичлэг} other {бичлэг}}", "ok": "ЗА", - "online": "Online", + "online": "Онлайн", "organic-search": "Байгалийн хайлт", "organic-shopping": "Байгалийн дэлгүүр", "organic-social": "Байгалийн сошиал", "organic-video": "Байгалийн видео", - "os": "OS", + "os": "ҮС", "other": "Бусад", "overview": "Тойм", "owner": "Эзэмшигч", @@ -208,22 +208,22 @@ "password": "Нууц үг", "path": "Зам", "paths": "Зам", - "pixel": "Pixel", + "pixel": "Пиксел", "pixels": "Пиксел", "powered-by": "{name} дээр суурилсан", - "preferences": "Preferences", + "preferences": "Тохиргоо", "previous": "Өмнөх", "previous-period": "Өмнөх үе", "previous-year": "Өмнөх жил", "profile": "Бүртгэл", - "profiles": "Profiles", + "profiles": "Профайлууд", "properties": "Шинж чанар", "property": "Шинж чанар", "queries": "Query-нүүд", - "query": "Query", + "query": "Асуулга", "query-parameters": "Query параметр", "realtime": "Яг одоо", - "referral": "Referral", + "referral": "Лавлагаа", "referrer": "Чиглүүлэгч", "referrers": "Чиглүүлэгч", "refresh": "Сэргээх", @@ -244,34 +244,34 @@ "role": "Эрх", "run-query": "Query ажиллуулах", "save": "Хадгалах", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Когорт хадгалах", + "save-segment": "Сегмент хадгалах", + "screen": "Дэлгэц", "screens": "Дэлгэц", "search": "Хайх", - "segment": "Segment", - "segments": "Segments", + "segment": "Сегмент", + "segments": "Сегментүүд", "select": "Сонгох", "select-date": "Огноо сонгох", "select-filter": "Шүүлтүүр сонгох", - "select-role": "Select role", + "select-role": "Үүрэг сонгох", "select-website": "Веб сонгох", - "session": "Session", + "session": "Сессия", "session-data": "Сессийн өгөгдөл", - "sessions": "Sessions", + "sessions": "Сессиүд", "settings": "Тохиргоо", "share": "Хуваалцах", "share-url": "Хуваалцах холбоос", "single-day": "Нэг өдөр", "sms": "SMS", - "source": "Source", + "source": "Эх сурвалж", "sources": "Эх сурвалжууд", "start-step": "Эхлэх алхам", "steps": "Алхам", "sum": "Нийлбэр", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Дэмжлэг", + "switch-account": "Бүртгэл солих", + "table": "Хүснэгт", "tablet": "Таблет", "tag": "Таг", "tags": "Тагууд", @@ -282,10 +282,10 @@ "team-name": "Багийн нэр", "team-owner": "Багийн эзэмшигч", "team-settings": "Багийн тохиргоо", - "team-view-only": "Team view only", + "team-view-only": "Зөвхөн багийн харагдац", "team-websites": "Багийн вебүүд", "teams": "Багууд", - "term": "Term", + "term": "Хайлтын нөхцөл", "terms": "Нөхцөл", "theme": "Загвар", "this-month": "Энэ сар", @@ -298,14 +298,14 @@ "total": "Нийт", "total-records": "Нийт мөрийн тоо", "tracking-code": "Мөрдөх код", - "traffic": "Traffic", - "transactions": "Transactions", + "traffic": "Урсгал", + "transactions": "Гүйлгээнүүд", "transfer": "Шилжүүлэх", "transfer-website": "Вебийг шилжүүлэх", "true": "Үнэн", "type": "Төрөл", "unique": "Давхардаагүй", - "unique-events": "Unique events", + "unique-events": "Өвөрмөц үйл явдлууд", "unique-visitors": "Зочин", "uniqueCustomers": "Давтагдаагүй зочин", "unknown": "Тодорхойгүй", @@ -316,14 +316,14 @@ "username": "Хэрэглэгчийн нэр", "users": "Хэрэглэгчид", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM Кампанит ажил", + "utm-content": "UTM Агуулга", "utm-description": "UTM параметраар кампанит ажлаа мөрдөх.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM Хэрэгсэл", + "utm-source": "UTM Эх сурвалж", + "utm-term": "UTM Нөхцөл", "value": "Утга", - "version": "Version", + "version": "Хувилбар", "view": "Харах", "view-details": "Дэлгэрүүлж харах", "view-only": "Зөвхөн үзэх", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "Доорх хэсэгт {confirmation} гэж бичин баталгаажуулна уу.", "active-users": "одоо {x} {x, plural, one {зочин} other {зочин}} байна", - "bad-request": "Bad request", + "bad-request": "Буруу хүсэлт", "collected-data": "Цуглуулсан өгөгдөл", "confirm-delete": "Та {target}-г устгахдаа итгэлтэй байна уу?", "confirm-leave": "Та {target}-с гарахдаа итгэлтэй байна уу?", @@ -351,7 +351,7 @@ "delete-website-warning": "Энэ вебтэй холбоотой бүх өгөгдөл устах болно.", "error": "Ямар нэг зүйл буруу боллоо.", "event-log": "{url}{event}", - "forbidden": "Forbidden", + "forbidden": "Хориотой", "go-to-settings": "Тохиргоо руу очих", "incorrect-username-password": "Буруу хэрэглэгчийн нэр/нууц үг.", "invalid-domain": "Буруу домэйн", @@ -365,13 +365,13 @@ "no-teams": "Та ямар ч баг үүсгээгүй байна.", "no-users": "Хэрэглэгч байхгүй байна.", "no-websites-configured": "Та ямар нэгэн веб тохируулаагүй байна.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Олдсонгүй", + "nothing-selected": "Юу ч сонгоогүй байна.", "page-not-found": "Хуудас олдсонгүй.", "reset-website": "Тоон үзүүлэлтийг дахин эхлүүлэхийн тулд доорх хэсэгт {confirmation} гэж бичиж, баталгаажуулна уу.", "reset-website-warning": "Энэ вебийн бүх тоон үзүүлэлтүүдийг устгах болно. Гэхдээ мөрдөх код хэвээрээ үлдэнэ.", "saved": "Хадгалсан.", - "sever-error": "Server error", + "sever-error": "Серверийн алдаа", "share-url": "Таны вебийн тоон үзүүлэлтүүд доорх URL дээр нийтэд харагдах болно:", "team-already-member": "Та аль хэдийн энэ багийн гишүүн болсон байна.", "team-not-found": "Баг олдсонгүй.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Энэ вебийг шилжүүлж авах багийг сонгоно уу.", "transfer-website": "Энэ вебийг өөрийн бүртгэл рүү эсвэл багт шилжүүлж авах.", "triggered-event": "Өдөөсөн үйлдэл", - "unauthorized": "Unauthorized", + "unauthorized": "Зөвшөөрөлгүй", "user-deleted": "Хэрэглэгч устсан.", "viewed-page": "Үзсэн хуудас", "visitor-log": "{country} улсаас {os} {device} дээр {browser} хөтөч ашиглан орсон" diff --git a/public/intl/messages/ms-MY.json b/public/intl/messages/ms-MY.json index 5d1dc9218..23b68725c 100644 --- a/public/intl/messages/ms-MY.json +++ b/public/intl/messages/ms-MY.json @@ -1,389 +1,389 @@ { "label": { - "access-code": "Access code", - "account": "Account", - "action": "Action", + "access-code": "Kod akses", + "account": "Akaun", + "action": "Tindakan", "actions": "Aksi", "activity": "Activity log", - "add": "Add", - "add-board": "Add board", - "add-description": "Add description", - "add-link": "Add link", - "add-member": "Add member", - "add-pixel": "Add pixel", - "add-step": "Add step", + "add": "Tambah", + "add-board": "Tambah papan", + "add-description": "Tambah penerangan", + "add-link": "Tambah pautan", + "add-member": "Tambah ahli", + "add-pixel": "Tambah piksel", + "add-step": "Tambah langkah", "add-website": "Tambah laman web", "admin": "Pentadbir", - "affiliate": "Affiliate", - "after": "After", + "affiliate": "Gabungan", + "after": "Selepas", "all": "Semua", - "all-time": "All time", - "analysis": "Analysis", - "analytics": "Analytics", - "application": "Application", - "apply": "Apply", - "attribution": "Attribution", - "attribution-description": "See how users engage with your marketing and what drives conversions.", - "audience": "Audience", - "average": "Average", + "all-time": "Sepanjang masa", + "analysis": "Analisis", + "analytics": "Analitik", + "application": "Aplikasi", + "apply": "Terapkan", + "attribution": "Atribusi", + "attribution-description": "Lihat bagaimana pengguna berinteraksi dengan pemasaran anda dan apa yang mendorong penukaran.", + "audience": "Khalayak", + "average": "Purata", "back": "Kembali", - "before": "Before", - "behavior": "Behavior", - "boards": "Boards", + "before": "Sebelum", + "behavior": "Tingkah laku", + "boards": "Papan", "bounce-rate": "Kadar lantunan", - "breakdown": "Breakdown", - "browser": "Browser", + "breakdown": "Pecahan", + "browser": "Pelayar", "browsers": "Pelayar web", - "campaign": "Campaign", - "campaigns": "Campaigns", + "campaign": "Kempen", + "campaigns": "Kempen", "cancel": "Batal", "change-password": "Tukar kata laluan", - "channel": "Channel", - "channels": "Channels", - "chart": "Chart", - "cities": "Cities", - "city": "City", - "clear-all": "Clear all", - "cohort": "Cohort", - "cohorts": "Cohorts", - "compare": "Compare", - "compare-dates": "Compare dates", - "confirm": "Confirm", + "channel": "Saluran", + "channels": "Saluran", + "chart": "Carta", + "cities": "Bandar", + "city": "Bandar", + "clear-all": "Kosongkan semua", + "cohort": "Kohort", + "cohorts": "Kohort", + "compare": "Bandingkan", + "compare-dates": "Bandingkan tarikh", + "confirm": "Sahkan", "confirm-password": "Sahkan kata laluan", - "contains": "Contains", - "content": "Content", - "continue": "Continue", - "conversion": "Conversion", - "conversion-rate": "Conversion rate", - "conversion-step": "Conversion step", - "count": "Count", + "contains": "Mengandungi", + "content": "Kandungan", + "continue": "Teruskan", + "conversion": "Penukaran", + "conversion-rate": "Kadar penukaran", + "conversion-step": "Langkah penukaran", + "count": "Bilangan", "countries": "Negara", - "country": "Country", - "create": "Create", - "create-report": "Create report", - "create-team": "Create team", - "create-user": "Create user", - "created": "Created", - "created-by": "Created By", - "criteria": "Criteria", - "currency": "Currency", - "current": "Current", + "country": "Negara", + "create": "Cipta", + "create-report": "Cipta laporan", + "create-team": "Cipta pasukan", + "create-user": "Cipta pengguna", + "created": "Dicipta", + "created-by": "Dicipta oleh", + "criteria": "Kriteria", + "currency": "Mata wang", + "current": "Semasa", "current-password": "Kata laluan semasa", "custom-range": "Julat khas", "dashboard": "Papan pemuka", "data": "Data", - "date": "Date", + "date": "Tarikh", "date-range": "Julat tarikh", - "day": "Day", + "day": "Hari", "default-date-range": "Julat tarikh lalai", "delete": "Padam", - "delete-report": "Delete report", - "delete-team": "Delete team", - "delete-user": "Delete user", + "delete-report": "Padam laporan", + "delete-team": "Padam pasukan", + "delete-user": "Padam pengguna", "delete-website": "Padam laman web", - "description": "Description", + "description": "Penerangan", "desktop": "Desktop", - "destination-url": "Destination URL", - "details": "Details", - "device": "Device", + "destination-url": "URL destinasi", + "details": "Butiran", + "device": "Peranti", "devices": "Peranti", - "direct": "Direct", + "direct": "Terus", "dismiss": "Ketepikan", - "distinct-id": "Distinct ID", - "documentation": "Documentation", - "does-not-contain": "Does not contain", - "does-not-include": "Does not include", - "doest-not-exist": "Does not exist", + "distinct-id": "ID unik", + "documentation": "Dokumentasi", + "does-not-contain": "Tidak mengandungi", + "does-not-include": "Tidak termasuk", + "doest-not-exist": "Tidak wujud", "domain": "Domain", - "download": "Download", - "dropoff": "Dropoff", - "edit": "Edit", - "edit-dashboard": "Edit dashboard", - "edit-member": "Edit member", - "email": "Email", + "download": "Muat turun", + "dropoff": "Tercicir", + "edit": "Sunting", + "edit-dashboard": "Sunting papan pemuka", + "edit-member": "Sunting ahli", + "email": "E-mel", "enable-share-url": "Aktifkan url berkongsi", - "end-step": "End Step", + "end-step": "Langkah akhir", "entry": "Entry URL", - "environment": "Environment", - "event": "Event", - "event-data": "Event data", - "event-name": "Event name", + "environment": "Persekitaran", + "event": "Peristiwa", + "event-data": "Data peristiwa", + "event-name": "Nama peristiwa", "events": "Peristiwa", - "exclude-bounce": "Exclude bounce", - "exists": "Exists", + "exclude-bounce": "Kecualikan lantunan", + "exists": "Wujud", "exit": "Exit URL", - "false": "False", - "field": "Field", - "fields": "Fields", - "filter": "Filter", + "false": "Palsu", + "field": "Medan", + "fields": "Medan", + "filter": "Tapis", "filter-combined": "Digabungkan", "filter-raw": "Mentah", - "filters": "Filters", - "first-click": "First click", - "first-seen": "First seen", - "funnel": "Funnel", - "funnel-description": "Understand the conversion and drop-off rate of users.", - "funnels": "Funnels", - "goal": "Goal", - "goals": "Goals", - "goals-description": "Track your goals for pageviews and events.", - "greater-than": "Greater than", - "greater-than-equals": "Greater than or equals", - "grouped": "Grouped", - "growth": "Growth", - "hostname": "Hostname", - "hour": "Hour", - "includes": "Includes", - "insight": "Insight", - "insights": "Insights", - "insights-description": "Dive deeper into your data by using segments and filters.", - "invalid-url": "Invalid URL", - "is": "Is", - "is-false": "Is false", - "is-not": "Is not", - "is-not-set": "Is not set", - "is-set": "Is set", - "is-true": "Is true", - "join": "Join", - "join-team": "Join team", - "journey": "Journey", - "journey-description": "Understand how users navigate through your website.", - "journeys": "Journeys", - "language": "Language", - "languages": "Languages", - "laptop": "Laptop", - "last-click": "Last click", + "filters": "Tapis", + "first-click": "Klik pertama", + "first-seen": "Pertama dilihat", + "funnel": "Corong", + "funnel-description": "Fahami kadar penukaran dan tercicir pengguna.", + "funnels": "Corong", + "goal": "Matlamat", + "goals": "Matlamat", + "goals-description": "Jejaki matlamat anda untuk paparan halaman dan peristiwa.", + "greater-than": "Lebih besar dari", + "greater-than-equals": "Lebih besar atau sama", + "grouped": "Dikumpulkan", + "growth": "Pertumbuhan", + "hostname": "Nama hos", + "hour": "Jam", + "includes": "Termasuk", + "insight": "Wawasan", + "insights": "Wawasan", + "insights-description": "Terokai data anda dengan lebih mendalam menggunakan segmen dan tapis.", + "invalid-url": "URL tidak sah", + "is": "Adalah", + "is-false": "Adalah palsu", + "is-not": "Bukan", + "is-not-set": "Tidak ditetapkan", + "is-set": "Ditetapkan", + "is-true": "Adalah benar", + "join": "Sertai", + "join-team": "Sertai pasukan", + "journey": "Perjalanan", + "journey-description": "Fahami bagaimana pengguna menavigasi laman web anda.", + "journeys": "Perjalanan", + "language": "Bahasa", + "languages": "Bahasa", + "laptop": "Komputer riba", + "last-click": "Klik terakhir", "last-days": "{x} hari lepas", "last-hours": "{x} jam lepas", - "last-months": "Last {x} months", - "last-seen": "Last seen", - "leave": "Leave", - "leave-team": "Leave team", - "less-than": "Less than", - "less-than-equals": "Less than or equals", - "link": "Link", - "links": "Links", - "location": "Location", + "last-months": "{x} bulan lepas", + "last-seen": "Terakhir dilihat", + "leave": "Keluar", + "leave-team": "Keluar pasukan", + "less-than": "Kurang dari", + "less-than-equals": "Kurang atau sama", + "link": "Pautan", + "links": "Pautan", + "location": "Lokasi", "login": "Log masuk", "logout": "Log keluar", - "manage": "Manage", - "manager": "Manager", - "max": "Max", + "manage": "Urus", + "manager": "Pengurus", + "max": "Maks", "maximize": "Expand", "medium": "Medium", - "member": "Member", - "members": "Members", + "member": "Ahli", + "members": "Ahli", "min": "Min", - "minute": "Minute", + "minute": "Minit", "mobile": "Telefon bimbit", "model": "Model", - "month": "Month", + "month": "Bulan", "more": "Lebih banyak lagi", - "my-account": "My account", - "my-websites": "My websites", + "my-account": "Akaun saya", + "my-websites": "Laman web saya", "name": "Nama", "new-password": "Kata laluan baru", - "none": "None", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "none": "Tiada", + "number-of-records": "{x} {x, plural, one {rekod} other {rekod}}", "ok": "OK", - "online": "Online", - "organic-search": "Organic search", - "organic-shopping": "Organic shopping", - "organic-social": "Organic social", - "organic-video": "Organic video", + "online": "Dalam talian", + "organic-search": "Carian organik", + "organic-shopping": "Beli-belah organik", + "organic-social": "Sosial organik", + "organic-video": "Video organik", "os": "OS", - "other": "Other", - "overview": "Overview", - "owner": "Owner", - "page": "Page", - "page-of": "Page {current} of {total}", + "other": "Lain-lain", + "overview": "Gambaran keseluruhan", + "owner": "Pemilik", + "page": "Halaman", + "page-of": "Halaman {current} daripada {total}", "page-views": "Paparan halaman", - "pageTitle": "Page title", + "pageTitle": "Tajuk halaman", "pages": "Halaman", - "paid-ads": "Paid ads", - "paid-search": "Paid search", - "paid-shopping": "Paid shopping", - "paid-social": "Paid social", - "paid-video": "Paid video", + "paid-ads": "Iklan berbayar", + "paid-search": "Carian berbayar", + "paid-shopping": "Beli-belah berbayar", + "paid-social": "Sosial berbayar", + "paid-video": "Video berbayar", "password": "Kata laluan", - "path": "Path", - "paths": "Paths", - "pixel": "Pixel", - "pixels": "Pixels", + "path": "Laluan", + "paths": "Laluan", + "pixel": "Piksel", + "pixels": "Piksel", "powered-by": "Disediakan oleh {name}", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "preferences": "Keutamaan", + "previous": "Sebelumnya", + "previous-period": "Tempoh sebelumnya", + "previous-year": "Tahun sebelumnya", "profile": "Profil", - "profiles": "Profiles", - "properties": "Properties", - "property": "Property", - "queries": "Queries", - "query": "Query", - "query-parameters": "Query parameters", + "profiles": "Profil", + "properties": "Sifat", + "property": "Sifat", + "queries": "Pertanyaan", + "query": "Pertanyaan", + "query-parameters": "Parameter pertanyaan", "realtime": "Siaran langsung", - "referral": "Referral", - "referrer": "Referrer", + "referral": "Rujukan", + "referrer": "Perujuk", "referrers": "Perujuk", "refresh": "Muat semula", - "regenerate": "Regenerate", - "region": "Region", - "regions": "Regions", - "remaining": "Remaining", - "remove": "Remove", - "remove-member": "Remove member", - "reports": "Reports", + "regenerate": "Jana semula", + "region": "Wilayah", + "regions": "Wilayah", + "remaining": "Baki", + "remove": "Buang", + "remove-member": "Buang ahli", + "reports": "Laporan", "required": "Diperlukan", "reset": "Tetapkan semula", "reset-website": "Reset statistics", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", - "revenue": "Revenue", + "retention": "Pengekalan", + "retention-description": "Ukur kelekatan laman web anda dengan menjejaki kekerapan pengguna kembali.", + "revenue": "Hasil", "revenue-description": "Look into your revenue across time.", - "role": "Role", - "run-query": "Run query", + "role": "Peranan", + "run-query": "Jalankan pertanyaan", "save": "Simpan", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", - "screens": "Screens", - "search": "Search", - "segment": "Segment", - "segments": "Segments", - "select": "Select", - "select-date": "Select date", - "select-filter": "Select filter", - "select-role": "Select role", - "select-website": "Select website", - "session": "Session", - "session-data": "Session data", - "sessions": "Sessions", + "save-cohort": "Simpan kohort", + "save-segment": "Simpan segmen", + "screen": "Skrin", + "screens": "Skrin", + "search": "Cari", + "segment": "Segmen", + "segments": "Segmen", + "select": "Pilih", + "select-date": "Pilih tarikh", + "select-filter": "Pilih tapis", + "select-role": "Pilih peranan", + "select-website": "Pilih laman web", + "session": "Sesi", + "session-data": "Data sesi", + "sessions": "Sesi", "settings": "Tetapan", - "share": "Share", + "share": "Kongsi", "share-url": "Kongsikan URL", "single-day": "Satu hari", "sms": "SMS", - "source": "Source", - "sources": "Sources", - "start-step": "Start Step", - "steps": "Steps", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "source": "Sumber", + "sources": "Sumber", + "start-step": "Langkah mula", + "steps": "Langkah", + "sum": "Jumlah", + "support": "Sokongan", + "switch-account": "Tukar akaun", + "table": "Jadual", "tablet": "Tablet", "tag": "Tag", - "tags": "Tags", - "team": "Team", - "team-id": "Team ID", - "team-manager": "Team manager", - "team-member": "Team member", - "team-name": "Team name", - "team-owner": "Team owner", - "team-settings": "Team settings", - "team-view-only": "Team view only", - "team-websites": "Team websites", - "teams": "Teams", - "term": "Term", - "terms": "Terms", - "theme": "Theme", + "tags": "Tag", + "team": "Pasukan", + "team-id": "ID pasukan", + "team-manager": "Pengurus pasukan", + "team-member": "Ahli pasukan", + "team-name": "Nama pasukan", + "team-owner": "Pemilik pasukan", + "team-settings": "Tetapan pasukan", + "team-view-only": "Lihat sahaja pasukan", + "team-websites": "Laman web pasukan", + "teams": "Pasukan", + "term": "Kata kunci", + "terms": "Syarat", + "theme": "Tema", "this-month": "Bulan ini", "this-week": "Minggu ini", "this-year": "Tahun ini", "timezone": "Zon masa", - "title": "Title", + "title": "Tajuk", "today": "Hari ini", - "toggle-charts": "Toggle charts", - "total": "Total", - "total-records": "Total records", + "toggle-charts": "Togol carta", + "total": "Jumlah", + "total-records": "Jumlah rekod", "tracking-code": "Kod penjejakan", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "Trafik", + "transactions": "Transaksi", + "transfer": "Pindahkan", + "transfer-website": "Pindahkan laman web", + "true": "Benar", + "type": "Jenis", + "unique": "Unik", + "unique-events": "Peristiwa unik", "unique-visitors": "Pelawat unik", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Pelanggan unik", "unknown": "Tidak diketahui", - "untitled": "Untitled", - "update": "Update", + "untitled": "Tanpa tajuk", + "update": "Kemas kini", "url": "URL", - "user": "User", + "user": "Pengguna", "username": "Nama pengguna", - "users": "Users", + "users": "Pengguna", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", + "utm-campaign": "UTM Kempen", + "utm-content": "UTM Kandungan", + "utm-description": "Jejaki kempen anda melalui parameter UTM.", "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-source": "UTM Sumber", + "utm-term": "UTM Kata Kunci", + "value": "Nilai", + "version": "Versi", + "view": "Lihat", "view-details": "Lihat butiran", - "view-only": "View only", + "view-only": "Lihat sahaja", "views": "Lawatan", - "views-per-visit": "Views per visit", + "views-per-visit": "Paparan per lawatan", "visit-duration": "Purata tempoh masa lawatan", "visitors": "Pelawat", - "visits": "Visits", - "website": "Website", - "website-id": "Website ID", + "visits": "Lawatan", + "website": "Laman web", + "website-id": "ID laman web", "websites": "Laman web", - "window": "Window", - "yesterday": "Yesterday" + "window": "Tetingkap", + "yesterday": "Semalam" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "Taip {confirmation} dalam kotak di bawah untuk mengesahkan.", "active-users": "{x} semasa {x, plural, one {pelawat} other {pelawat}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Permintaan tidak sah", + "collected-data": "Data yang dikumpul", "confirm-delete": "Pastikah anda ingin memadam {target}?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "Adakah anda pasti mahu meninggalkan {target}?", + "confirm-remove": "Adakah anda pasti mahu membuang {target}?", "confirm-reset": "Are your sure you want to reset {target}'s statistics?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "Memadamkan pasukan juga akan memadamkan semua laman web pasukan.", "delete-website-warning": "Semua data yang berkaitan juga akan dihapuskan.", "error": "Ada yang tidak kena.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} di {url}", + "forbidden": "Dilarang", "go-to-settings": "Pergi ke tetapan", "incorrect-username-password": "Pengguna/kata laluan tidak betul.", "invalid-domain": "Domain tidak sah", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "Panjang minimum {n} aksara", + "new-version-available": "Versi baharu Umami {version} tersedia!", "no-data-available": "Tiada data yang boleh didapati.", - "no-event-data": "No event data is available.", + "no-event-data": "Tiada data peristiwa tersedia.", "no-match-password": "Kata laluan tidak sepadan", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "Pasukan ini tidak mempunyai laman web.", + "no-teams": "Anda belum mencipta sebarang pasukan.", + "no-users": "Tiada pengguna.", "no-websites-configured": "Anda tidak ada sebarang laman web yang telah dikonfigurasikan.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Tidak dijumpai", + "nothing-selected": "Tiada yang dipilih.", "page-not-found": "Halaman tidak dijumpai.", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "Untuk menetapkan semula laman web ini, taip {confirmation} dalam kotak di bawah.", "reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", "saved": "Berjaya disimpan.", - "sever-error": "Server error", + "sever-error": "Ralat pelayan", "share-url": "Ini adalah URL berkongsi untuk {target}.", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "Anda sudah menjadi ahli pasukan.", + "team-not-found": "Pasukan tidak dijumpai.", + "team-websites-info": "Laman web boleh dilihat oleh sesiapa dalam pasukan.", "tracking-code": "Kod penjejakan", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "transfer-team-website-to-user": "Pindahkan laman web ini ke akaun anda?", + "transfer-user-website-to-team": "Pilih pasukan untuk memindahkan laman web ini.", + "transfer-website": "Pindahkan pemilikan laman web ke akaun anda atau pasukan lain.", + "triggered-event": "Peristiwa yang dicetuskan", + "unauthorized": "Tidak dibenarkan", + "user-deleted": "Pengguna dipadamkan.", + "viewed-page": "Halaman dilihat", "visitor-log": "Pelawat dari {country} mengguna {browser} pada {os} {device}" } } diff --git a/public/intl/messages/my-MM.json b/public/intl/messages/my-MM.json index fa8b9beca..6f766125f 100644 --- a/public/intl/messages/my-MM.json +++ b/public/intl/messages/my-MM.json @@ -1,292 +1,292 @@ { "label": { "access-code": "ဝင်ခွင့်ကုဒ်", - "account": "Account", - "action": "Action", + "account": "အကောင့်", + "action": "လုပ်ဆောင်ချက်", "actions": "လုပ်ဆောင်ချက်များ", "activity": "လုပ်ဆောင်ချက်စာရင်း", "add": "ထပ်ထည့်မည်", - "add-board": "Add board", + "add-board": "ဘုတ်ထည့်မည်", "add-description": "အကြောင်းအရာဖော်ပြချက် ထည့်မည်", - "add-link": "Add link", - "add-member": "Add member", - "add-pixel": "Add pixel", - "add-step": "Add step", + "add-link": "လင့်ခ်ထည့်မည်", + "add-member": "အဖွဲ့ဝင်ထည့်မည်", + "add-pixel": "Pixel ထည့်မည်", + "add-step": "အဆင့်ထည့်မည်", "add-website": "ဝက်ဘ်ဆိုဒ်ထည့်မည်", "admin": "အက်ဒမင်", - "affiliate": "Affiliate", + "affiliate": "တွဲဖက်မိတ်ဖက်", "after": "ပြီးနောက်", "all": "အားလုံး", "all-time": "အချိန်အစမှအခုထိ", - "analysis": "Analysis", + "analysis": "ခွဲခြမ်းစိတ်ဖြာမှု", "analytics": "အန်နလစ်တစ်", - "application": "Application", - "apply": "Apply", - "attribution": "Attribution", - "attribution-description": "See how users engage with your marketing and what drives conversions.", - "audience": "Audience", + "application": "အပလီကေးရှင်း", + "apply": "အသုံးပြုမည်", + "attribution": "အရင်းအမြစ်ခွဲခြားခြင်း", + "attribution-description": "သင့်မားကတ်တင်းနှင့် အသုံးပြုသူများ မည်သို့ဆက်ဆံသည်နှင့် ပြောင်းလဲမှုကို မောင်းနှင်သည့်အရာများကို ကြည့်ပါ။", + "audience": "ပရိသတ်", "average": "ပျမ်းမျှ", "back": "နောက်သို့", "before": "မတိုင်မီ", "behavior": "အပြုအမူ", - "boards": "Boards", + "boards": "ဘုတ်များ", "bounce-rate": "Bounce နှုန်း", "breakdown": "ခွဲခြမ်းစိတ်ဖြာမှု", - "browser": "Browser", + "browser": "ဘရောင်ဇာ", "browsers": "ဝက်ဘ်ဘရောင်ဇာများ", - "campaign": "Campaign", - "campaigns": "Campaigns", + "campaign": "ကမ်ပိန်း", + "campaigns": "ကမ်ပိန်းများ", "cancel": "မလုပ်တော့ပါ", "change-password": "စကားဝှက် ပြောင်းမည်", - "channel": "Channel", - "channels": "Channels", - "chart": "Chart", + "channel": "ချန်နယ်", + "channels": "ချန်နယ်များ", + "chart": "ဇယား", "cities": "မြို့များ", - "city": "City", + "city": "မြို့", "clear-all": "အားလုံးကိုဖျက်မည်", - "cohort": "Cohort", - "cohorts": "Cohorts", - "compare": "Compare", - "compare-dates": "Compare dates", + "cohort": "အုပ်စု", + "cohorts": "အုပ်စုများ", + "compare": "နှိုင်းယှဉ်မည်", + "compare-dates": "ရက်စွဲများ နှိုင်းယှဉ်မည်", "confirm": "အတည်ပြုသည်", "confirm-password": "စကားဝှက်အတည်ပြုသည်", "contains": "ပါဝင်သည်", - "content": "Content", + "content": "အကြောင်းအရာ", "continue": "ဆက်သွားမည်", - "conversion": "Conversion", - "conversion-rate": "Conversion rate", - "conversion-step": "Conversion step", - "count": "Count", + "conversion": "ပြောင်းလဲမှု", + "conversion-rate": "ပြောင်းလဲမှုနှုန်း", + "conversion-step": "ပြောင်းလဲမှုအဆင့်", + "count": "အရေအတွက်", "countries": "နိုင်ငံများ", - "country": "Country", - "create": "Create", + "country": "နိုင်ငံ", + "create": "ဖန်တီးမည်", "create-report": "ရီပို့လုပ်မည်", "create-team": "Team ပြုလုပ်မည်", "create-user": "အသုံးပြုသူထည့်မည်", "created": "ပြုလုပ်ပြီးသော", - "created-by": "Created By", - "criteria": "Criteria", - "currency": "Currency", - "current": "Current", + "created-by": "ဖန်တီးသူ", + "criteria": "စံသတ်မှတ်ချက်", + "currency": "ငွေကြေး", + "current": "လက်ရှိ", "current-password": "လက်ရှိစကားဝှက်", "custom-range": "အချိန်အပိုင်းအခြားရွေးရန်", "dashboard": "ဒက်ရှ်ဘုတ်", "data": "ဒေတာ", - "date": "Date", + "date": "ရက်စွဲ", "date-range": "ရက်အပိုင်းအခြား", - "day": "Day", + "day": "ရက်", "default-date-range": "ပုံသေ ရက်အပိုင်းအခြား", "delete": "ဖျက်မည်", - "delete-report": "Delete report", + "delete-report": "အစီရင်ခံစာ ဖျက်မည်", "delete-team": "Team ကိုဖျက်မည်", "delete-user": "အသုံးပြုသူကိုဖျက်မည်", "delete-website": "ဝက်ဘ်ဆိုဒ်ကိုဖျက်မည်", "description": "ရှင်းပြချက်", "desktop": "စားပွဲတင်ကွန်ပျူတာ", - "destination-url": "Destination URL", + "destination-url": "ဦးတည်ရာ URL", "details": "အသေးစိတ်", - "device": "Device", + "device": "ကိရိယာ", "devices": "အသုံးပြုသည့် ကိရိယာများ", - "direct": "Direct", + "direct": "တိုက်ရိုက်", "dismiss": "ပိတ်ပါ", - "distinct-id": "Distinct ID", - "documentation": "Documentation", + "distinct-id": "ထူးခြား ID", + "documentation": "စာရွက်စာတမ်း", "does-not-contain": "မပါဝင်ပါ", - "does-not-include": "Does not include", - "doest-not-exist": "Does not exist", + "does-not-include": "မပါဝင်ပါ", + "doest-not-exist": "မတည်ရှိပါ", "domain": "ဒိုမိန်း", - "download": "Download", - "dropoff": "Dropoff", + "download": "ဒေါင်းလုဒ်လုပ်မည်", + "dropoff": "ထွက်ခွာမှု", "edit": "ပြုပြင်မည်", "edit-dashboard": "ဒက်ရှ်ဘုတ်ကို ပြုပြင်မည်", - "edit-member": "Edit member", - "email": "Email", + "edit-member": "အဖွဲ့ဝင် ပြင်ဆင်မည်", + "email": "အီးမေးလ်", "enable-share-url": "ဝေငှခြင်းကိုလင့်ကို ဖွင့်မည်", - "end-step": "End Step", + "end-step": "အဆုံးအဆင့်", "entry": "Entry URL", - "environment": "Environment", + "environment": "ပတ်ဝန်းကျင်", "event": "အဖြစ်အပျက်", "event-data": "အဖြစ်အပျက် ဒေတာ", - "event-name": "Event name", + "event-name": "အဖြစ်အပျက်အမည်", "events": "အဖြစ်အပျက်များ", - "exclude-bounce": "Exclude bounce", - "exists": "Exists", + "exclude-bounce": "Bounce ဖယ်ထုတ်မည်", + "exists": "တည်ရှိသည်", "exit": "Exit URL", "false": "မှားသည်", "field": "Field အမည်", "fields": "Field အမည်များ", - "filter": "Filter", + "filter": "စစ်ထုတ်မည်", "filter-combined": "ပေါင်းစပ်ပြီး", "filter-raw": "အရှိအတိုင်း", "filters": "Filter များ", - "first-click": "First click", - "first-seen": "First seen", + "first-click": "ပထမဆုံးနှိပ်ချက်", + "first-seen": "ပထမဆုံးတွေ့ရှိချိန်", "funnel": "ဖန်နယ်", - "funnel-description": "Understand the conversion and drop-off rate of users.", - "funnels": "Funnels", - "goal": "Goal", - "goals": "Goals", - "goals-description": "Track your goals for pageviews and events.", + "funnel-description": "အသုံးပြုသူများ၏ ပြောင်းလဲမှုနှင့် ထွက်ခွာမှုနှုန်းကို နားလည်ပါ။", + "funnels": "ဖန်နယ်များ", + "goal": "ပန်းတိုင်", + "goals": "ပန်းတိုင်များ", + "goals-description": "စာမျက်နှာကြည့်ရှုမှုနှင့် အဖြစ်အပျက်များအတွက် ပန်းတိုင်များကို ခြေရာခံပါ။", "greater-than": "ထက်ပို၍ကြီးသည်", "greater-than-equals": "ထက်ပို၍ကြီးသည်သို့မဟုတ်တူသည်", - "grouped": "Grouped", - "growth": "Growth", - "hostname": "Hostname", - "hour": "Hour", - "includes": "Includes", - "insight": "Insight", + "grouped": "အုပ်စုဖွဲ့ထားသော", + "growth": "တိုးတက်မှု", + "hostname": "လက်ခံဆာဗာအမည်", + "hour": "နာရီ", + "includes": "ပါဝင်သည်", + "insight": "ထိုးထွင်းသိမြင်မှု", "insights": "အသေးစိတ်သိမြင်နိုင်ရန်", - "insights-description": "Dive deeper into your data by using segments and filters.", - "invalid-url": "Invalid URL", - "is": "Is", - "is-false": "Is false", - "is-not": "Is not", - "is-not-set": "Is not set", - "is-set": "Is set", - "is-true": "Is true", + "insights-description": "အပိုင်းခွဲများနှင့် စစ်ထုတ်ချက်များကို အသုံးပြု၍ သင့်ဒေတာကို ပိုမိုနက်ရှိုင်းစွာ လေ့လာပါ။", + "invalid-url": "မမှန်ကန်သော URL", + "is": "ဖြစ်သည်", + "is-false": "မှားသည်", + "is-not": "မဟုတ်ပါ", + "is-not-set": "သတ်မှတ်မထားပါ", + "is-set": "သတ်မှတ်ထားသည်", + "is-true": "မှန်သည်", "join": "ဝင်မည်", "join-team": "အသင်းဝင်မည်", - "journey": "Journey", - "journey-description": "Understand how users navigate through your website.", - "journeys": "Journeys", + "journey": "ခရီးလမ်း", + "journey-description": "အသုံးပြုသူများ သင့်ဝက်ဘ်ဆိုဒ်ကို မည်သို့လှည့်လည်သည်ကို နားလည်ပါ။", + "journeys": "ခရီးလမ်းများ", "language": "ဘာသာစကား", "languages": "ဘာသာစကားများ", "laptop": "လက်တော့ပ်", - "last-click": "Last click", + "last-click": "နောက်ဆုံးနှိပ်ချက်", "last-days": "လွန်ခဲ့သော {x} ရက်က", "last-hours": "လွန်ခဲ့သော {x} နာရီက", - "last-months": "Last {x} months", - "last-seen": "Last seen", + "last-months": "လွန်ခဲ့သော {x} လက", + "last-seen": "နောက်ဆုံးတွေ့ရှိချိန်", "leave": "ထွက်မည်", "leave-team": "အသင်းမှထွက်မည်", "less-than": "ထက်ပို၍ငယ်သည်", "less-than-equals": "ထက်ပို၍ငယ်သည်သို့မဟုတ်တူသည်", - "link": "Link", - "links": "Links", - "location": "Location", + "link": "လင့်ခ်", + "links": "လင့်ခ်များ", + "location": "တည်နေရာ", "login": "လော့ဂ်အင်", "logout": "လော့ဂ်အောက်လုပ်မည်", - "manage": "Manage", - "manager": "Manager", + "manage": "စီမံမည်", + "manager": "မန်နေဂျာ", "max": "အများဆုံး", "maximize": "Expand", - "medium": "Medium", - "member": "Member", + "medium": "မီဒီယမ်", + "member": "အဖွဲ့ဝင်", "members": "အဖွဲ့ဝင်များ", "min": "အနည်းဆုံး", - "minute": "Minute", + "minute": "မိနစ်", "mobile": "မိုဘိုင်း", - "model": "Model", - "month": "Month", + "model": "မော်ဒယ်", + "month": "လ", "more": "နောက်ထပ်", - "my-account": "My account", - "my-websites": "My websites", + "my-account": "ကျွန်ုပ်၏အကောင့်", + "my-websites": "ကျွန်ုပ်၏ဝက်ဘ်ဆိုဒ်များ", "name": "အမည်", "new-password": "စကားဝှက်အသစ်", "none": "မရှိပါ", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {မှတ်တမ်း} other {မှတ်တမ်းများ}}", "ok": "OK", - "online": "Online", - "organic-search": "Organic search", - "organic-shopping": "Organic shopping", - "organic-social": "Organic social", - "organic-video": "Organic video", + "online": "အွန်လိုင်း", + "organic-search": "သဘာဝရှာဖွေမှု", + "organic-shopping": "သဘာဝစျေးဝယ်မှု", + "organic-social": "သဘာဝဆိုရှယ်", + "organic-video": "သဘာဝဗီဒီယို", "os": "ကွန်ပျူတာလည်ပတ်မှုစနစ်", - "other": "Other", + "other": "အခြား", "overview": "အပေါ်ယံမြင်ကွင်း", "owner": "ပိုင်ဆိုင်သူ", - "page": "Page", - "page-of": "Page {current} of {total}", + "page": "စာမျက်နှာ", + "page-of": "စာမျက်နှာ {current} / {total}", "page-views": "ဝင်ရောက်ကြည့်ရှုသူ", - "pageTitle": "Page title", + "pageTitle": "စာမျက်နှာခေါင်းစဥ်", "pages": "စာမျက်နှာများ", - "paid-ads": "Paid ads", - "paid-search": "Paid search", - "paid-shopping": "Paid shopping", - "paid-social": "Paid social", - "paid-video": "Paid video", + "paid-ads": "ငွေပေးကြော်ငြာ", + "paid-search": "ငွေပေးရှာဖွေမှု", + "paid-shopping": "ငွေပေးစျေးဝယ်မှု", + "paid-social": "ငွေပေးဆိုရှယ်", + "paid-video": "ငွေပေးဗီဒီယို", "password": "စကားဝှက်", - "path": "Path", - "paths": "Paths", + "path": "လမ်းကြောင်း", + "paths": "လမ်းကြောင်းများ", "pixel": "Pixel", - "pixels": "Pixels", + "pixels": "Pixel များ", "powered-by": "{name} ထောက်ပံ့သည်", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "preferences": "စိတ်ကြိုက်ဆက်တင်များ", + "previous": "ယခင်", + "previous-period": "ယခင်ကာလ", + "previous-year": "ယခင်နှစ်", "profile": "ပရိုဖိုင်း", - "profiles": "Profiles", - "properties": "Properties", - "property": "Property", + "profiles": "ပရိုဖိုင်းများ", + "properties": "ဂုဏ်သတ္တိများ", + "property": "ဂုဏ်သတ္တိ", "queries": "Queries (ကွာရီများ)", "query": "Query (ကွာရီ)", "query-parameters": "Query parameters (ကွာရီပါရာမီတာများ)", "realtime": "အချိန်နှင့်တပြေးညီ", - "referral": "Referral", - "referrer": "Referrer", + "referral": "ရည်ညွှန်းမှု", + "referrer": "ရည်ညွှန်းသူ", "referrers": "ရည်ညွှန်းမှုများ", "refresh": "Refresh လုပ်မည်", "regenerate": "ပြန်ထုတ်မည်", - "region": "Region", + "region": "ဒေသ", "regions": "ဒေသများ", - "remaining": "Remaining", + "remaining": "ကျန်ရှိနေသော", "remove": "ဖျက်မည်", - "remove-member": "Remove member", + "remove-member": "အဖွဲ့ဝင်ကို ဖယ်ရှားမည်", "reports": "တင်ပြမှုများ", "required": "လိုအပ်သည်", "reset": "ပြန်စမည်", "reset-website": "ဝက်ဘ်ဆိုဒ်ဒေတာကိုဖျက်မည်", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", - "revenue": "Revenue", + "retention": "ထိန်းသိမ်းနိုင်မှု", + "retention-description": "အသုံးပြုသူများ မည်မျှမကြာခဏ ပြန်လာသည်ကို ခြေရာခံ၍ သင့်ဝက်ဘ်ဆိုဒ်၏ ဆွဲဆောင်နိုင်မှုကို တိုင်းတာပါ။", + "revenue": "ဝင်ငွေ", "revenue-description": "Look into your revenue across time.", "role": "အခန်းကဏ္ဍ", "run-query": "Query ကိုလုပ်ဆောင်မည်", "save": "သိမ်းဆည်းမည်", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "အုပ်စုသိမ်းမည်", + "save-segment": "အပိုင်းခွဲသိမ်းမည်", + "screen": "မျက်နှာပြင်", "screens": "မြင်ကွင်းများ", - "search": "Search", - "segment": "Segment", - "segments": "Segments", - "select": "Select", + "search": "ရှာဖွေမည်", + "segment": "အပိုင်းခွဲ", + "segments": "အပိုင်းခွဲများ", + "select": "ရွေးချယ်မည်", "select-date": "ရက်ရွေးပါ", - "select-filter": "Select filter", - "select-role": "Select role", + "select-filter": "စစ်ထုတ်ချက်ရွေးမည်", + "select-role": "အခန်းကဏ္ဍရွေးမည်", "select-website": "ဝဘက်ဘ်ဆိုဒ်ရွေးပါ", - "session": "Session", - "session-data": "Session data", + "session": "ဆက်ရှင်", + "session-data": "ဆက်ရှင်ဒေတာ", "sessions": "ဆက်ရှင်များ", "settings": "ဆက်တင်များ", - "share": "Share", + "share": "မျှဝေမည်", "share-url": "URL ကိုရှဲမည်", "single-day": "တစ်ရက်အတွင်း", "sms": "SMS", - "source": "Source", - "sources": "Sources", - "start-step": "Start Step", - "steps": "Steps", + "source": "အရင်းအမြစ်", + "sources": "အရင်းအမြစ်များ", + "start-step": "စတင်အဆင့်", + "steps": "အဆင့်များ", "sum": "ပေါင်းလဒ်", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "ပံ့ပိုးကူညီမှု", + "switch-account": "အကောင့်ပြောင်းမည်", + "table": "ဇယား", "tablet": "တက်ဘလက်", - "tag": "Tag", - "tags": "Tags", + "tag": "တဂ်", + "tags": "တဂ်များ", "team": "အသင်း", "team-id": "အသင်း အိုင်ဒီ", - "team-manager": "Team manager", + "team-manager": "အသင်းမန်နေဂျာ", "team-member": "အသင်းဝင်", - "team-name": "Team name", + "team-name": "အသင်းအမည်", "team-owner": "အသင်းကိုပိုင်ဆိုင်သူ", - "team-settings": "Team settings", - "team-view-only": "Team view only", - "team-websites": "Team websites", + "team-settings": "အသင်းဆက်တင်များ", + "team-view-only": "အသင်း ကြည့်ရှုမှုသာ", + "team-websites": "အသင်းဝက်ဘ်ဆိုဒ်များ", "teams": "အသင်းများ", - "term": "Term", - "terms": "Terms", + "term": "စည်းကမ်း", + "terms": "စည်းကမ်းများ", "theme": "Theme (အပြင်အဆင်)", "this-month": "ယခုလ", "this-week": "ယခုအပတ်", @@ -298,40 +298,40 @@ "total": "စုစုပေါင်း", "total-records": "မှတ်တမ်းစုစုပေါင်း", "tracking-code": "ထရက်လုပ်သည့် ကုဒ်", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", + "traffic": "အသွားအလာ", + "transactions": "ငွေလွှဲမှုများ", + "transfer": "လွှဲပြောင်းမည်", + "transfer-website": "ဝက်ဘ်ဆိုဒ်လွှဲပြောင်းမည်", "true": "မှန်သည်", "type": "အမျိုးအစား", - "unique": "Unique", - "unique-events": "Unique events", + "unique": "ထူးခြားသော", + "unique-events": "ထူးခြားအဖြစ်အပျက်များ", "unique-visitors": "ဝင်ရောက်သူ (ထပ်ခြင်းမရှိ)", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "ထူးခြားဖောက်သည်များ", "unknown": "မသိသော", "untitled": "ခေါင်းစဉ်မရှိ", - "update": "Update", + "update": "အပ်ဒိတ်လုပ်မည်", "url": "URL", "user": "အသုံးပြုသူ", "username": "အသုံးပြုသူအမည်", "users": "အသုံးပြုသူများ", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-campaign": "UTM ကမ်ပိန်း", + "utm-content": "UTM အကြောင်းအရာ", + "utm-description": "UTM ပါရာမီတာများမှတစ်ဆင့် သင့်ကမ်ပိန်းများကို ခြေရာခံပါ။", + "utm-medium": "UTM မီဒီယမ်", + "utm-source": "UTM အရင်းအမြစ်", + "utm-term": "UTM စည်းကမ်း", "value": "တန်ဖိုး", - "version": "Version", + "version": "ဗားရှင်း", "view": "ဝင်ရောက်ကြည့်ရှုမှု", "view-details": "အသေးစိတ်ကို ကြည့်ရှုမည်", "view-only": "ဝင်ရောက်ကြည့်ရှုမှုများသာ", "views": "ဝင်ရောက်ကြည့်ရှုမှုများ", - "views-per-visit": "Views per visit", + "views-per-visit": "လည်ပတ်မှုတစ်ခုလျှင် ကြည့်ရှုမှု", "visit-duration": "ဝဘက်ဘ်ဆိုဒ်တွင် ပျမ်းမျှကုန်ဆုံးချိန်", "visitors": "ဝင်ရောက်ကြည့်ရှုသူများ", - "visits": "Visits", + "visits": "လည်ပတ်မှုများ", "website": "ဝက်ဘ်ဆိုဒ်", "website-id": "ဝက်ဘ်ဆိုဒ် အိုင်ဒီ", "websites": "ဝက်ဘ်ဆိုဒ်များ", @@ -339,19 +339,19 @@ "yesterday": "မနေ့က" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "အတည်ပြုရန် အောက်ပါအကွက်တွင် {confirmation} ကို ရိုက်ထည့်ပါ။", "active-users": "{x} လက်ရှိအသုံးပြုနေသူ {x, plural, one {ယောက်} other {ယောက်}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "မမှန်ကန်သောတောင်းဆိုမှု", + "collected-data": "စုဆောင်းထားသောဒေတာ", "confirm-delete": "{target} ကို ဖျက်ရန် သေချာပါသလား?", "confirm-leave": "{target} ကို ထွက်ရန် သေချာပါသလား?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-remove": "{target} ကို ဖယ်ရှားလိုသည်မှာ သေချာပါသလား?", "confirm-reset": "{target} ကို ဖျက်၍ပြန်စလုပ်ရန် သေချာပါသလား?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "အသင်းကိုဖျက်ပါက အသင်းဝက်ဘ်ဆိုဒ်များအားလုံးကိုပါ ဖျက်ပစ်မည်။", "delete-website-warning": "ဝက်ဘ်ဆိုဒ် ဒေတာအကုန် ဖျက်မည်", "error": "မှားယွင်းမှုတစ်ခု ရှိသွားပါသည်", "event-log": "{url} တွင် {event}", - "forbidden": "Forbidden", + "forbidden": "ခွင့်ပြုချက်မရှိပါ", "go-to-settings": "ဆက်တင်သို့ သွားရန်", "incorrect-username-password": "အသုံးပြုသူအမည် သို့မဟုတ် စကားဝှက် မှားနေသည်", "invalid-domain": "ဒိုမိန်း မမှန်ပါ http/https. မပါရပါ", @@ -365,25 +365,25 @@ "no-teams": "အသင်း မပြုလုပ်ရသေးပါ", "no-users": "အသုံးပြုသူ မရှိသေးပါ", "no-websites-configured": "ဝက်ဘ်ဆိုဒ်တစ်ခုမှ မထည့်ရသေးပါ", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "ရှာမတွေ့ပါ", + "nothing-selected": "ဘာမှရွေးမထားပါ။", "page-not-found": "ဤစာမျက်နှာသည် မရှိပါ", "reset-website": "ဤ ဝက်ဘ်ဆိုဒ်ဒေတာကိုဖျက်၍ ပြန်စလုပ်ရန် အောက်တွင် {confirmation} ကို ရိုက်ထည့်ပေးပါ", "reset-website-warning": "ဤဝက်ဘ်ဆိုဒ်က စာရင်းအချက်အလက်များကို ဖျက်မည်၊ ဆက်တင်ဒေတာများ မပါပါ", "saved": "မှတ်သားပြီး", - "sever-error": "Server error", + "sever-error": "ဆာဗာအမှားအယွင်း", "share-url": "သင့်ဝက်ဆိုဒ်ဘ်၏ စာရင်းအချက်အလက်များကို အောက်ပါ URL တွင် ဝင်ရောက်ကြည့်ရှုနိုင်သည်", "team-already-member": "ဤအသင်းတွင် ဝင်ပြီးသားဖြစ်နေသည်", "team-not-found": "အသင်း မရှိပါ", "team-websites-info": "ဤဝက်ဘ်ဆိုဒ်များကို အသင်းထဲမှ လူတိုင်းဝင်ကြည့်နိုင်သည်", "tracking-code": "ဤဝက်ဘ်ဆိုဒ်၏ ဒေတာကိုကောက်ခံရန် အောက်ပါ code ကို သင်၏ HTML တွင်ထည့်ပါ", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", + "transfer-team-website-to-user": "ဤဝက်ဘ်ဆိုဒ်ကို သင့်အကောင့်သို့ လွှဲပြောင်းမလား?", + "transfer-user-website-to-team": "ဤဝက်ဘ်ဆိုဒ်ကို လွှဲပြောင်းမည့် အသင်းကို ရွေးချယ်ပါ။", + "transfer-website": "ဝက်ဘ်ဆိုဒ်ပိုင်ဆိုင်မှုကို သင့်အကောင့် သို့မဟုတ် အခြားအသင်းသို့ လွှဲပြောင်းပါ။", + "triggered-event": "အစပျိုးလိုက်သော အဖြစ်အပျက်", + "unauthorized": "ခွင့်ပြုချက်မရှိပါ", "user-deleted": "အသုံးပြုသူ ဖျက်ပြီးပါပြီ", - "viewed-page": "Viewed page", + "viewed-page": "ကြည့်ရှုခဲ့သောစာမျက်နှာ", "visitor-log": "{country} မှ {browser} ဖြင့် {os} {device} တွင် ဝင်ရောက်ကြည့်ရှုသူ" } } diff --git a/public/intl/messages/nb-NO.json b/public/intl/messages/nb-NO.json index 7e5f6c47e..ef1fd8ef4 100644 --- a/public/intl/messages/nb-NO.json +++ b/public/intl/messages/nb-NO.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Tilgangskode", - "account": "Account", - "action": "Action", + "account": "Konto", + "action": "Handling", "actions": "Handlinger", "activity": "Aktivitetslogg", "add": "Legg til", "add-board": "Legg til tavle", "add-description": "Legg til beskrivelse", - "add-link": "Add link", + "add-link": "Legg til lenke", "add-member": "Legg til bruker", - "add-pixel": "Add pixel", + "add-pixel": "Legg til piksel", "add-step": "Legg til steg", "add-website": "Legg til nettsted", "admin": "Administrator", @@ -18,13 +18,13 @@ "after": "Etter", "all": "Alle", "all-time": "Noensinne", - "analysis": "Analysis", + "analysis": "Analyse", "analytics": "Analyse", - "application": "Application", + "application": "Applikasjon", "apply": "Bruk", "attribution": "Attribusjon", "attribution-description": "Se hvordan brukere engasjerer seg i markedsføringen din og hva som driver konverteringer.", - "audience": "Audience", + "audience": "Målgruppe", "average": "Gjennomsnnitt", "back": "Tilbake", "before": "Før", @@ -34,18 +34,18 @@ "breakdown": "Nedbrytning", "browser": "Nettleser", "browsers": "Nettlesere", - "campaign": "Campaign", + "campaign": "Kampanje", "campaigns": "Kampanjer", "cancel": "Avvis", "change-password": "Bytt passord", - "channel": "Channel", + "channel": "Kanal", "channels": "Kanaler", - "chart": "Chart", + "chart": "Diagram", "cities": "Byer", "city": "By", "clear-all": "Tøm alle", "cohort": "Kohort", - "cohorts": "Cohorts", + "cohorts": "Kohorter", "compare": "Sammenlign", "compare-dates": "Sammenlign datoer", "confirm": "Bekreft", @@ -65,7 +65,7 @@ "create-user": "Opprett bruker", "created": "Opprettet", "created-by": "Opprettet av", - "criteria": "Criteria", + "criteria": "Kriterier", "currency": "Valuta", "current": "Nåværende", "current-password": "Nåværende passord", @@ -83,33 +83,33 @@ "delete-website": "Slett nettstedet", "description": "Beskrivelse", "desktop": "Stasjonær", - "destination-url": "Destination URL", + "destination-url": "Mål-URL", "details": "Detaljer", "device": "Enhet", "devices": "Enheter", "direct": "Direkte", "dismiss": "Avbryt", "distinct-id": "Unik ID", - "documentation": "Documentation", + "documentation": "Dokumentasjon", "does-not-contain": "Innholder ikke", "does-not-include": "Inkluderer ikke", "doest-not-exist": "Eksisterer ikke", "domain": "Domene", - "download": "Download", - "dropoff": "Dropoff", + "download": "Last ned", + "dropoff": "Frafall", "edit": "Rediger", "edit-dashboard": "Rediger dashboard", "edit-member": "Rediger bruker", - "email": "Email", + "email": "E-post", "enable-share-url": "Aktiver delings-URL", "end-step": "Avslutt steg", "entry": "Inngangs-URL", - "environment": "Environment", + "environment": "Miljø", "event": "Hendelse", "event-data": "Hendelsesdata", "event-name": "Hendelsesnavn", "events": "Hendelser", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Ekskluder avvisning", "exists": "Eksisterer", "exit": "Utgangs-URL", "false": "Usant", @@ -130,14 +130,14 @@ "greater-than": "Mer enn", "greater-than-equals": "Mer enn eller lik", "grouped": "Gruppert", - "growth": "Growth", + "growth": "Vekst", "hostname": "Vertsnavn", - "hour": "Hour", + "hour": "Time", "includes": "Inkluderer", "insight": "Innsikt", "insights": "Innsikt", "insights-description": "Dykk dypere i din data ved bruk av segmentering og filtre.", - "invalid-url": "Invalid URL", + "invalid-url": "Ugyldig URL", "is": "Er", "is-false": "Er usant", "is-not": "Er ikke", @@ -155,15 +155,15 @@ "last-click": "Siste klikk", "last-days": "Siste {x} dager", "last-hours": "Siste {x} timer", - "last-months": "Last {x} months", + "last-months": "Siste {x} måneder", "last-seen": "Sist sett", "leave": "Forlat", "leave-team": "Forlat team", "less-than": "Mindre enn", "less-than-equals": "Mindre enn eller lik", - "link": "Link", + "link": "Lenke", "links": "Lenker", - "location": "Location", + "location": "Plassering", "login": "Logg inn", "logout": "Logg ut", "manage": "Administrer", @@ -174,19 +174,19 @@ "member": "Bruker", "members": "Brukere", "min": "Min", - "minute": "Minute", + "minute": "Minutt", "mobile": "Mobiltelefon", "model": "Modell", - "month": "Month", + "month": "Måned", "more": "Mer", "my-account": "Min konto", "my-websites": "Mine nettsider", "name": "Navn", "new-password": "Nytt passord", "none": "Ingen", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {post} other {poster}}", "ok": "OK", - "online": "Online", + "online": "Tilkoblet", "organic-search": "Organisk søk", "organic-shopping": "Organisk handel", "organic-social": "Organisk sosial", @@ -208,22 +208,22 @@ "password": "Passord", "path": "Sti", "paths": "Stier", - "pixel": "Pixel", + "pixel": "Piksel", "pixels": "Piksler", "powered-by": "Drevet av {name}", - "preferences": "Preferences", + "preferences": "Innstillinger", "previous": "Forrige", "previous-period": "Forrige periode", "previous-year": "Forrige år", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profiler", "properties": "Egenskaper", "property": "Egenskap", "queries": "Forspørsler", "query": "Forespørsel", "query-parameters": "Forespørsel parametere", "realtime": "Sanntid", - "referral": "Referral", + "referral": "Henvisning", "referrer": "Henviser", "referrers": "Henvisere", "refresh": "Oppdater", @@ -244,13 +244,13 @@ "role": "Rolle", "run-query": "Kjør spørring", "save": "Lagre", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Lagre kohort", + "save-segment": "Lagre segment", + "screen": "Skjerm", "screens": "Skjermer", "search": "Søk", "segment": "Segment", - "segments": "Segments", + "segments": "Segmenter", "select": "Velg", "select-date": "Velg dato", "select-filter": "Velg filter", @@ -264,18 +264,18 @@ "share-url": "Del URL", "single-day": "Enkeltdag", "sms": "SMS", - "source": "Source", + "source": "Kilde", "sources": "Kilder", "start-step": "Starttrinn", "steps": "Trinn", "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Støtte", + "switch-account": "Bytt konto", + "table": "Tabell", "tablet": "Nettbrett", "tag": "Tagg", "tags": "Tagger", - "team": "Team", + "team": "Lag", "team-id": "Team-ID", "team-manager": "Teamadministrator", "team-member": "Teammedlem", @@ -285,7 +285,7 @@ "team-view-only": "Team (kun visning)", "team-websites": "Team-nettsteder", "teams": "Team", - "term": "Term", + "term": "Søkeord", "terms": "Vilkår", "theme": "Tema", "this-month": "Denne måneden", @@ -298,14 +298,14 @@ "total": "Totalt", "total-records": "Totalt antall oppføringer", "tracking-code": "Sporingskode", - "traffic": "Traffic", + "traffic": "Trafikk", "transactions": "Transaksjoner", "transfer": "Overfør", "transfer-website": "Overfør nettsted", "true": "Sant", "type": "Type", "unique": "Unike", - "unique-events": "Unique events", + "unique-events": "Unike hendelser", "unique-visitors": "Unike besøkende", "uniqueCustomers": "Unike kunder", "unknown": "Ukjent", @@ -316,14 +316,14 @@ "username": "Brukernavn", "users": "Brukere", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM-kampanje", + "utm-content": "UTM-innhold", "utm-description": "Spor kampanjene dine via UTM-parametre.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM-medium", + "utm-source": "UTM-kilde", + "utm-term": "UTM-søkeord", "value": "Verdi", - "version": "Version", + "version": "Versjon", "view": "Vis", "view-details": "Vis detaljer", "view-only": "Kun visning", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "Skriv {confirmation} i feltet nedenfor for å bekrefte.", "active-users": "{x} {x, plural, one {besøkende} other {besøkende}} nå", - "bad-request": "Bad request", + "bad-request": "Ugyldig forespørsel", "collected-data": "Innsamlede data", "confirm-delete": "Er du sikker på at du vil slette {target}?", "confirm-leave": "Er du sikker på at du vil forlate {target}?", @@ -351,7 +351,7 @@ "delete-website-warning": "Alle tilknyttede data vil også bli slettet.", "error": "Noe gikk galt.", "event-log": "{event}{url}", - "forbidden": "Forbidden", + "forbidden": "Forbudt", "go-to-settings": "Gå til innstillinger", "incorrect-username-password": "Ugyldig brukernavn/passord.", "invalid-domain": "Ugyldig domene", @@ -365,13 +365,13 @@ "no-teams": "Du har ikke opprettet noen team.", "no-users": "Ingen brukere.", "no-websites-configured": "Du har ikke satt opp noen nettsteder.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Ikke funnet", + "nothing-selected": "Ingenting valgt.", "page-not-found": "Siden ble ikke funnet.", "reset-website": "For å nullstille dette nettstedet, skriv {confirmation} i feltet nedenfor for å bekrefte.", "reset-website-warning": "All statistikk for dette nettstedet vil bli slettet, men sporingskoden forblir uberørt.", "saved": "Lagret!", - "sever-error": "Server error", + "sever-error": "Serverfeil", "share-url": "Dette er den offentlige delings-URL-en for {target}.", "team-already-member": "Du er allerede medlem av teamet.", "team-not-found": "Teamet ble ikke funnet.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Velg teamet du vil overføre dette nettstedet til.", "transfer-website": "Overfør eierskapet til nettstedet til din konto eller et annet team.", "triggered-event": "Utløst hendelse", - "unauthorized": "Unauthorized", + "unauthorized": "Ikke autorisert", "user-deleted": "Bruker slettet.", "viewed-page": "Vist side", "visitor-log": "Besøkende fra {country} med {browser}{os} {device}" diff --git a/public/intl/messages/nl-NL.json b/public/intl/messages/nl-NL.json index 1d54e0ba2..6b1e7d88a 100644 --- a/public/intl/messages/nl-NL.json +++ b/public/intl/messages/nl-NL.json @@ -2,15 +2,15 @@ "label": { "access-code": "Toegangscode", "account": "Account", - "action": "Action", + "action": "Actie", "actions": "Acties", "activity": "Activiteiten logboek", "add": "Toevoegen", "add-board": "Bord toevoegen", "add-description": "Omschrijving toevoegen", - "add-link": "Add link", + "add-link": "Link toevoegen", "add-member": "Lid toevoegen", - "add-pixel": "Add pixel", + "add-pixel": "Pixel toevoegen", "add-step": "Stap toevoegen", "add-website": "Website koppelen", "admin": "Administrator", @@ -18,13 +18,13 @@ "after": "Na", "all": "Alles", "all-time": "Onbeperkt", - "analysis": "Analysis", + "analysis": "Analyse", "analytics": "Analyse", - "application": "Application", + "application": "Applicatie", "apply": "Toepassen", "attribution": "Toewijzing", "attribution-description": "Bekijk hoe gebruikers omgaan met je marketing en wat conversies stimuleert.", - "audience": "Audience", + "audience": "Publiek", "average": "Gemiddelde", "back": "Terug", "before": "Voor", @@ -34,18 +34,18 @@ "breakdown": "Opsplitsen", "browser": "Browser", "browsers": "Browsers", - "campaign": "Campaign", + "campaign": "Campagne", "campaigns": "Campagnes", "cancel": "Annuleren", "change-password": "Wachtwoord wijzigen", - "channel": "Channel", + "channel": "Kanaal", "channels": "Kanalen", - "chart": "Chart", + "chart": "Grafiek", "cities": "Steden", "city": "Stad", "clear-all": "Filters wissen", "cohort": "Cohort", - "cohorts": "Cohorts", + "cohorts": "Cohorten", "compare": "Vergelijken", "compare-dates": "Datums vergelijken", "confirm": "Bevestigen", @@ -83,33 +83,33 @@ "delete-website": "Website verwijderen", "description": "Beschrijving", "desktop": "Computer", - "destination-url": "Destination URL", + "destination-url": "Bestemmings-URL", "details": "Informatie", "device": "Apparaat", "devices": "Apparaten", "direct": "Direct", "dismiss": "Negeren", "distinct-id": "Uniek ID", - "documentation": "Documentation", + "documentation": "Documentatie", "does-not-contain": "Bevat geen", "does-not-include": "Bevat niet", "doest-not-exist": "Bestaat niet", "domain": "Domein", - "download": "Download", + "download": "Downloaden", "dropoff": "Uitval", "edit": "Bewerken", "edit-dashboard": "Dashboard aanpassen", "edit-member": "Gebruiker aanpassen", - "email": "Email", + "email": "E-mail", "enable-share-url": "Sta delen via openbare URL toe", - "end-step": "End Step", + "end-step": "Eindstap", "entry": "Entry URL", - "environment": "Environment", + "environment": "Omgeving", "event": "Gebeurtenis", "event-data": "Datum gebeurtenis", "event-name": "Gebeurtenisnaam", "events": "Gebeurtenissen", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Bounce uitsluiten", "exists": "Bestaat", "exit": "Exit URL", "false": "Onwaar", @@ -120,8 +120,8 @@ "filter-raw": "Ruw", "filters": "Filters", "first-click": "Eerste klik", - "first-seen": "First seen", - "funnel": "Funnel", + "first-seen": "Eerst gezien", + "funnel": "Trechter", "funnel-description": "Ontdek de conversie- en uitvalpercentages van gebruikers.", "funnels": "Trechters", "goal": "Doel", @@ -130,14 +130,14 @@ "greater-than": "Groter dan", "greater-than-equals": "Groter of gelijk aan", "grouped": "Gegroepeerd", - "growth": "Growth", + "growth": "Groei", "hostname": "Hostnaam", - "hour": "Hour", + "hour": "Uur", "includes": "Bevat", "insight": "Inzicht", "insights": "Inzichten", "insights-description": "Verken je gegevens verder door segmenten en filters te gebruiken.", - "invalid-url": "Invalid URL", + "invalid-url": "Ongeldige URL", "is": "Is", "is-false": "Is onwaar", "is-not": "Is niet", @@ -163,21 +163,21 @@ "less-than-equals": "Minder of gelijk aan", "link": "Link", "links": "Koppelingen", - "location": "Location", + "location": "Locatie", "login": "Inloggen", "logout": "Uitloggen", "manage": "Beheren", - "manager": "Manager", + "manager": "Beheerder", "max": "Max", "maximize": "Uitvouwen", "medium": "Medium", "member": "Gebruiker", "members": "Gebruikers", "min": "Min", - "minute": "Minute", + "minute": "Minuut", "mobile": "Mobiel", "model": "Model", - "month": "Month", + "month": "Maand", "more": "Toon meer", "my-account": "Mijn profiel", "my-websites": "Mijn websites", @@ -211,12 +211,12 @@ "pixel": "Pixel", "pixels": "Pixels", "powered-by": "mogelijk gemaakt door {name}", - "preferences": "Preferences", + "preferences": "Voorkeuren", "previous": "Vorige", "previous-period": "Vorige periode", "previous-year": "Vorig jaar", "profile": "Profiel", - "profiles": "Profiles", + "profiles": "Profielen", "properties": "Eigenschappen", "property": "Eigenschap", "queries": "Parameters", @@ -224,7 +224,7 @@ "query-parameters": "URL-parameters", "realtime": "Actueel", "referral": "Verwijzing", - "referrer": "Referrer", + "referrer": "Verwijzer", "referrers": "Verwijzers", "refresh": "Vernieuwen", "regenerate": "Opnieuw genereren", @@ -244,13 +244,13 @@ "role": "Gebruikersrol", "run-query": "Query uitvoeren", "save": "Opslaan", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Cohort opslaan", + "save-segment": "Segment opslaan", + "screen": "Scherm", "screens": "Schermen", "search": "Zoeken", "segment": "Segment", - "segments": "Segments", + "segments": "Segmenten", "select": "Selecteer", "select-date": "Datum selecteren", "select-filter": "Filter selecteren", @@ -264,28 +264,28 @@ "share-url": "URL delen", "single-day": "Enkele dag", "sms": "SMS", - "source": "Source", + "source": "Bron", "sources": "Bronnen", "start-step": "Startstap", "steps": "Stappen", "sum": "Som", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Ondersteuning", + "switch-account": "Wissel van account", + "table": "Tabel", "tablet": "Tablet", "tag": "Label", "tags": "Labels", "team": "Team", - "team-id": "Team ID", + "team-id": "Team-ID", "team-manager": "Teamleider", "team-member": "Teamlid", "team-name": "Teamnaam", "team-owner": "Teameigenaar", "team-settings": "Teaminstellingen", "team-view-only": "Team alleen lezen", - "team-websites": "Team websites", + "team-websites": "Teamwebsites", "teams": "Teams", - "term": "Term", + "term": "Zoekterm", "terms": "Voorwaarden", "theme": "Thema", "this-month": "Deze maand", @@ -298,51 +298,51 @@ "total": "Totaal", "total-records": "Totaal records", "tracking-code": "Volgcode", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", + "traffic": "Verkeer", + "transactions": "Transacties", + "transfer": "Overdragen", + "transfer-website": "Website overdragen", "true": "Waar", "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "unique": "Uniek", + "unique-events": "Unieke gebeurtenissen", "unique-visitors": "Unieke bezoekers", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Unieke klanten", "unknown": "Onbekend", "untitled": "Ongetiteld", - "update": "Update", + "update": "Bijwerken", "url": "URL", "user": "Gebruiker", "username": "Gebruikersnaam", "users": "Gebruikers", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-campaign": "UTM-campagne", + "utm-content": "UTM-inhoud", + "utm-description": "Volg je campagnes via UTM-parameters.", + "utm-medium": "UTM-medium", + "utm-source": "UTM-bron", + "utm-term": "UTM-term", "value": "Waarde", - "version": "Version", + "version": "Versie", "view": "Weergave", "view-details": "Meer details", "view-only": "Alleen inzien", "views": "Weergaven", - "views-per-visit": "Views per visit", + "views-per-visit": "Weergaven per bezoek", "visit-duration": "Gemiddelde bezoektijd", "visitors": "Bezoekers", - "visits": "Visits", + "visits": "Bezoeken", "website": "Website", - "website-id": "Website ID", + "website-id": "Website-ID", "websites": "Websites", - "window": "Window", + "window": "Venster", "yesterday": "Gisteren" }, "message": { "action-confirmation": "Typ {confirmation} in het veld hieronder om te bevestigen.", "active-users": "{x} actieve {x, plural, one {bezoeker} other {bezoekers}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Ongeldig verzoek", + "collected-data": "Verzamelde gegevens", "confirm-delete": "Weet je zeker dat je {target} wilt verwijderen?", "confirm-leave": "Weet je zeker dat je {target} wilt verlaten?", "confirm-remove": "Weet je zeker dat je {target} wilt verwijderen?", @@ -351,7 +351,7 @@ "delete-website-warning": "Alle verwante gegevens zullen ook verwijderd worden.", "error": "Er is iets misgegaan.", "event-log": "{event} op {url}", - "forbidden": "Forbidden", + "forbidden": "Verboden", "go-to-settings": "Naar instellingen", "incorrect-username-password": "Incorrecte gebruikersnaam/wachtwoord.", "invalid-domain": "Ongeldig domein", @@ -365,13 +365,13 @@ "no-teams": "Er zijn nog geen teams aangemaakt.", "no-users": "Er zijn geen gebruikers.", "no-websites-configured": "Je hebt geen websites ingesteld.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Niet gevonden", + "nothing-selected": "Niets geselecteerd.", "page-not-found": "Pagina niet gevonden.", "reset-website": "Typ {confirmation} in het veld hieronder om te bevestigen dat je de website wilt resetten.", "reset-website-warning": "Alle bijhorende statistieken van deze website worden verwijderd, maar jouw volgcode blijft gelden.", "saved": "Opslaan succesvol.", - "sever-error": "Server error", + "sever-error": "Serverfout", "share-url": "Met deze URL kan {target} openbaar gedeeld worden.", "team-already-member": "Je bent al lid van het team.", "team-not-found": "Team niet gevonden.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Selecteer het team om deze website aan toe te voegen.", "transfer-website": "Draag het eigenaarschap van de website over naar jouw account, of een ander team.", "triggered-event": "Getriggerde gebeurtenis", - "unauthorized": "Unauthorized", + "unauthorized": "Niet geautoriseerd", "user-deleted": "Gebruiker verwijderd", "viewed-page": "Bekeken pagina", "visitor-log": "Bezoeker uit {country} met {browser} op een {os} {device}" diff --git a/public/intl/messages/pl-PL.json b/public/intl/messages/pl-PL.json index 9d6868cae..081c8fcac 100644 --- a/public/intl/messages/pl-PL.json +++ b/public/intl/messages/pl-PL.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Kod dostępu", - "account": "Account", - "action": "Action", + "account": "Konto", + "action": "Akcja", "actions": "Działania", "activity": "Dziennik aktywności", "add": "Dodaj", "add-board": "Dodaj tablicę", "add-description": "Dodaj opis", - "add-link": "Add link", + "add-link": "Dodaj link", "add-member": "Dodaj członka", - "add-pixel": "Add pixel", + "add-pixel": "Dodaj piksel", "add-step": "Dodaj krok", "add-website": "Dodaj witrynę", "admin": "Administrator", @@ -18,13 +18,13 @@ "after": "Po", "all": "Wszystkie", "all-time": "Cały czas", - "analysis": "Analysis", + "analysis": "Analiza", "analytics": "Analityka", - "application": "Application", + "application": "Aplikacja", "apply": "Zastosuj", "attribution": "Atrybucja", "attribution-description": "Zobacz, jak użytkownicy angażują się w Twoją reklamę i co napędza konwersje.", - "audience": "Audience", + "audience": "Odbiorcy", "average": "Średnia", "back": "Powrót", "before": "Przed", @@ -34,18 +34,18 @@ "breakdown": "Rozbicie", "browser": "Przeglądarka", "browsers": "Przeglądarki", - "campaign": "Campaign", + "campaign": "Kampania", "campaigns": "Kampanie", "cancel": "Anuluj", "change-password": "Zmień hasło", - "channel": "Channel", + "channel": "Kanał", "channels": "Kanały", - "chart": "Chart", + "chart": "Wykres", "cities": "Miasta", "city": "Miasto", "clear-all": "Wyczyść wszystko", "cohort": "Kohorta", - "cohorts": "Cohorts", + "cohorts": "Kohorty", "compare": "Porównaj", "compare-dates": "Porównaj daty", "confirm": "Potwierdź", @@ -65,7 +65,7 @@ "create-user": "Utwórz użytkownika", "created": "Utworzony", "created-by": "Utworzony przez", - "criteria": "Criteria", + "criteria": "Kryteria", "currency": "Waluta", "current": "Aktualny", "current-password": "Aktualne hasło", @@ -83,33 +83,33 @@ "delete-website": "Usuń witrynę", "description": "Opis", "desktop": "Komputer", - "destination-url": "Destination URL", + "destination-url": "Docelowy URL", "details": "Szczegóły", "device": "Urządzenie", "devices": "Urządzenia", "direct": "Bezpośredni", "dismiss": "Odrzuć", "distinct-id": "Unikalny ID", - "documentation": "Documentation", + "documentation": "Dokumentacja", "does-not-contain": "Nie zawiera", "does-not-include": "Nie zawiera", "doest-not-exist": "Nie istnieje", "domain": "Domena", - "download": "Download", + "download": "Pobierz", "dropoff": "Odpływ", "edit": "Edytuj", "edit-dashboard": "Edytuj panel", "edit-member": "Edytuj członka", - "email": "Email", + "email": "E-mail", "enable-share-url": "Włącz udostępnianie adresu URL", "end-step": "Krok końcowy", "entry": "Entry URL", - "environment": "Environment", + "environment": "Środowisko", "event": "Zdarzenie", "event-data": "Dane zdarzenia", "event-name": "Nazwa zdarzenia", "events": "Zdarzenia", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Wyklucz odrzucenia", "exists": "Istnieje", "exit": "URL wyjściowy", "false": "Fałsz", @@ -120,24 +120,24 @@ "filter-raw": "Surowe dane", "filters": "Filtry", "first-click": "Pierwsze kliknięcie", - "first-seen": "First seen", + "first-seen": "Pierwsza wizyta", "funnel": "Lejek", "funnel-description": "Zrozum wskaźniki konwersji i odpływu użytkowników.", "funnels": "Lejki", "goal": "Cel", "goals": "Cele", - "goals-description": "Track your goals for pageviews and events.", + "goals-description": "Śledź cele dla odsłon stron i zdarzeń.", "greater-than": "Większe niż", "greater-than-equals": "Większe niż lub równe", "grouped": "Grupowane", - "growth": "Growth", + "growth": "Wzrost", "hostname": "Nazwa hosta", - "hour": "Hour", + "hour": "Godzina", "includes": "Zawiera", "insight": "Wgląd", "insights": "Analiza", "insights-description": "Poznaj lepiej swoje dane, korzystając z segmentów i filtrów.", - "invalid-url": "Invalid URL", + "invalid-url": "Nieprawidłowy URL", "is": "Równe", "is-false": "Jest fałszem", "is-not": "Nie jest równe", @@ -163,21 +163,21 @@ "less-than-equals": "Mniejsze niż lub równe", "link": "Link", "links": "Linki", - "location": "Location", + "location": "Lokalizacja", "login": "Zaloguj się", "logout": "Wyloguj", - "manage": "Manage", - "manager": "Manager", + "manage": "Zarządzaj", + "manager": "Menedżer", "max": "Maks", "maximize": "Rozwiń", "medium": "Medium", "member": "Członek", "members": "Członkowie", "min": "Min", - "minute": "Minute", + "minute": "Minuta", "mobile": "Smartfon", "model": "Model", - "month": "Month", + "month": "Miesiąc", "more": "Więcej", "my-account": "Moje konto", "my-websites": "Moje witryny", @@ -191,7 +191,7 @@ "organic-shopping": "Zakupy organiczne", "organic-social": "Organiczne social media", "organic-video": "Organiczne wideo", - "os": "OS", + "os": "System", "other": "Inne", "overview": "Przegląd", "owner": "Właściciel", @@ -208,15 +208,15 @@ "password": "Hasło", "path": "Ścieżka", "paths": "Ścieżki", - "pixel": "Pixel", + "pixel": "Piksel", "pixels": "Piksele", "powered-by": "Obsługiwane przez {name}", - "preferences": "Preferences", + "preferences": "Preferencje", "previous": "Poprzedni", "previous-period": "Poprzedni okres", "previous-year": "Poprzedni rok", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profile", "properties": "Właściwości", "property": "Właściwość", "queries": "Zapytania", @@ -244,13 +244,13 @@ "role": "Rola", "run-query": "Uruchom zapytanie", "save": "Zapisz", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Zapisz kohortę", + "save-segment": "Zapisz segment", + "screen": "Ekran", "screens": "Ekrany", "search": "Szukaj", "segment": "Segment", - "segments": "Segments", + "segments": "Segmenty", "select": "Wybierz", "select-date": "Wybierz datę", "select-filter": "Wybierz filtr", @@ -264,14 +264,14 @@ "share-url": "Udostępnij adres URL", "single-day": "W tym dniu", "sms": "SMS", - "source": "Source", + "source": "Źródło", "sources": "Źródła", "start-step": "Krok startowy", "steps": "Kroki", "sum": "Suma", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Wsparcie", + "switch-account": "Przełącz konto", + "table": "Tabela", "tablet": "Tablet", "tag": "Tag", "tags": "Tagi", @@ -285,7 +285,7 @@ "team-view-only": "Tylko do odczytu dla zespołu", "team-websites": "Witryny zespołu", "teams": "Zespoły", - "term": "Term", + "term": "Wyszukiwane hasło", "terms": "Warunki", "theme": "Motyw", "this-month": "W tym miesiącu", @@ -298,16 +298,16 @@ "total": "W sumie", "total-records": "Suma rekordów", "tracking-code": "Kod śledzenia", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", + "traffic": "Ruch", + "transactions": "Transakcje", + "transfer": "Przenieś", + "transfer-website": "Przenieś stronę", "true": "Prawda", "type": "Typ", "unique": "Unikalne", - "unique-events": "Unique events", + "unique-events": "Unikalne zdarzenia", "unique-visitors": "Unikalni odwiedzający", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Unikalni klienci", "unknown": "Nieznany", "untitled": "Bez tytułu", "update": "Aktualizuj", @@ -316,14 +316,14 @@ "username": "Nazwa użytkownika", "users": "Użytkownicy", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM-kampania", + "utm-content": "UTM-treść", "utm-description": "Śledź swoje kampanie za pomocą parametrów UTM.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM-medium", + "utm-source": "UTM-źródło", + "utm-term": "UTM-hasło", "value": "Wartość", - "version": "Version", + "version": "Wersja", "view": "Zobacz", "view-details": "Pokaż szczegóły", "view-only": "Tylko do odczytu", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "Wpisz {confirmation}, aby potwierdzić.", "active-users": "{x} aktualnie {x, plural, one {odwiedzający} other {odwiedzających}}", - "bad-request": "Bad request", + "bad-request": "Nieprawidłowe żądanie", "collected-data": "Zebrane dane", "confirm-delete": "Czy na pewno chcesz usunąć {target}?", "confirm-leave": "Czy na pewno chcesz opuścić {target}?", @@ -351,7 +351,7 @@ "delete-website-warning": "Wszystkie powiązane dane również zostaną usunięte.", "error": "Coś poszło nie tak.", "event-log": "{event} na {url}", - "forbidden": "Forbidden", + "forbidden": "Zabronione", "go-to-settings": "Przejdź do ustawień", "incorrect-username-password": "Nieprawidłowa nazwa użytkownika lub hasło.", "invalid-domain": "Nieprawidłowa witryna", @@ -365,13 +365,13 @@ "no-teams": "Nie stworzyłeś żadnych zespołów.", "no-users": "Nie ma żadnych użytkowników.", "no-websites-configured": "Nie masz skonfigurowanych żadnych witryn internetowych.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Nie znaleziono", + "nothing-selected": "Nic nie wybrano.", "page-not-found": "Strona nie znaleziona.", "reset-website": "Aby zresetować tę witrynę, wpisz {confirmation} w polu poniżej, aby potwierdzić.", "reset-website-warning": "Wszystkie statystyki tej witryny zostaną usunięte, ale kod śledzenia pozostanie nienaruszony.", "saved": "Zapisano pomyślnie.", - "sever-error": "Server error", + "sever-error": "Błąd serwera", "share-url": "To jest publicznie udostępniany adres URL dla {target}.", "team-already-member": "Jesteś już członkiem zespołu.", "team-not-found": "Nie znaleziono zespołu.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Wybierz zespół, do którego chcesz przenieść tę witrynę.", "transfer-website": "Przenieś własność witryny na swoje konto lub do innego zespołu.", "triggered-event": "Zdarzenie wyzwalające", - "unauthorized": "Unauthorized", + "unauthorized": "Brak autoryzacji", "user-deleted": "Użytkownik usunięty.", "viewed-page": "Obejrzana strona", "visitor-log": "Odwiedzający z {country} używa {browser} na {os} {device}" diff --git a/public/intl/messages/pt-BR.json b/public/intl/messages/pt-BR.json index 26a8302be..dd7de79ad 100644 --- a/public/intl/messages/pt-BR.json +++ b/public/intl/messages/pt-BR.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Código de acesso", - "account": "Account", - "action": "Action", + "account": "Conta", + "action": "Ação", "actions": "Ações do usuário", "activity": "Registro de atividades", "add": "Adicionar", "add-board": "Adicionar quadro", "add-description": "Adicionar descrição", - "add-link": "Add link", + "add-link": "Adicionar link", "add-member": "Adicionar membro", - "add-pixel": "Add pixel", + "add-pixel": "Adicionar pixel", "add-step": "Adicionar etapa", "add-website": "Adicionar site", "admin": "Administrador", @@ -18,13 +18,13 @@ "after": "Depois", "all": "Todos", "all-time": "Todos os períodos", - "analysis": "Analysis", + "analysis": "Análise", "analytics": "Análise", - "application": "Application", + "application": "Aplicação", "apply": "Aplicar", "attribution": "Atribuição", "attribution-description": "Veja como os usuários interagem com seu marketing e o que impulsiona conversões.", - "audience": "Audience", + "audience": "Audiência", "average": "Média", "back": "Voltar", "before": "Antes", @@ -34,18 +34,18 @@ "breakdown": "Detalhamento", "browser": "Navegador", "browsers": "Navegadores", - "campaign": "Campaign", + "campaign": "Campanha", "campaigns": "Campanhas", "cancel": "Cancelar", "change-password": "Alterar senha", - "channel": "Channel", + "channel": "Canal", "channels": "Canais", - "chart": "Chart", + "chart": "Gráfico", "cities": "Cidades", "city": "Cidade", "clear-all": "Limpar tudo", "cohort": "Cohorte", - "cohorts": "Cohorts", + "cohorts": "Coortes", "compare": "Comparar", "compare-dates": "Comparar datas", "confirm": "Confirmar", @@ -65,7 +65,7 @@ "create-user": "Criar usuário", "created": "Criado", "created-by": "Criado por", - "criteria": "Criteria", + "criteria": "Critérios", "currency": "Moeda", "current": "Atual", "current-password": "Senha atual", @@ -83,14 +83,14 @@ "delete-website": "Excluir site", "description": "Descrição", "desktop": "Computador", - "destination-url": "Destination URL", + "destination-url": "URL de destino", "details": "Detalhes", "device": "Dispositivo", "devices": "Dispositivos", "direct": "Direto", "dismiss": "Fechar", "distinct-id": "ID distinto", - "documentation": "Documentation", + "documentation": "Documentação", "does-not-contain": "Não contém", "does-not-include": "Não inclui", "doest-not-exist": "Não existe", @@ -100,16 +100,16 @@ "edit": "Editar", "edit-dashboard": "Editar painel", "edit-member": "Editar membro", - "email": "Email", + "email": "E-mail", "enable-share-url": "Ativar link para compartilhar", - "end-step": "End Step", + "end-step": "Etapa final", "entry": "Entry URL", - "environment": "Environment", + "environment": "Ambiente", "event": "Evento", "event-data": "Dados do evento", "event-name": "Nome do evento", "events": "Tipos de eventos", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Excluir rejeição", "exists": "Existe", "exit": "Exit URL", "false": "Não", @@ -120,7 +120,7 @@ "filter-raw": "Bruto", "filters": "Filtros", "first-click": "Primeiro clique", - "first-seen": "First seen", + "first-seen": "Visto pela primeira vez", "funnel": "Funil", "funnel-description": "Entenda a taxa de conversão e abandono dos seus usuários.", "funnels": "Funis", @@ -130,14 +130,14 @@ "greater-than": "Maior que", "greater-than-equals": "Maior ou igual a", "grouped": "Agrupado", - "growth": "Growth", + "growth": "Crescimento", "hostname": "Nome do host", - "hour": "Hour", + "hour": "Hora", "includes": "Inclui", "insight": "Insight", "insights": "Insights", "insights-description": "Explore seus dados em mais detalhes usando filtros", - "invalid-url": "Invalid URL", + "invalid-url": "URL inválida", "is": "É igual a", "is-false": "É falso", "is-not": "Não é igual a", @@ -163,21 +163,21 @@ "less-than-equals": "Menor ou igual a", "link": "Link", "links": "Links", - "location": "Location", + "location": "Localização", "login": "Entrar", "logout": "Sair", "manage": "Gerenciar", - "manager": "Manager", + "manager": "Gerente", "max": "Máximo", "maximize": "Expandir", "medium": "Médio", "member": "Membro", "members": "Membros", "min": "Mínimo", - "minute": "Minute", + "minute": "Minuto", "mobile": "Celular", "model": "Modelo", - "month": "Month", + "month": "Mês", "more": "Mais", "my-account": "Minha conta", "my-websites": "Meus sites", @@ -211,12 +211,12 @@ "pixel": "Pixel", "pixels": "Pixels", "powered-by": "Desenvolvido por {name}", - "preferences": "Preferences", + "preferences": "Preferências", "previous": "Anterior", "previous-period": "Período anterior", "previous-year": "Ano anterior", "profile": "Perfil", - "profiles": "Profiles", + "profiles": "Perfis", "properties": "Propriedades", "property": "Propriedade", "queries": "Consultas", @@ -244,13 +244,13 @@ "role": "Função", "run-query": "Executar consulta", "save": "Salvar", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Salvar coorte", + "save-segment": "Salvar segmento", + "screen": "Tela", "screens": "Tamanhos de tela", "search": "Pesquisar", - "segment": "Segment", - "segments": "Segments", + "segment": "Segmento", + "segments": "Segmentos", "select": "Selecionar", "select-date": "Selecionar data", "select-filter": "Selecionar filtro", @@ -264,14 +264,14 @@ "share-url": "Link para compartilhar", "single-day": "Apenas um dia", "sms": "SMS", - "source": "Source", + "source": "Fonte", "sources": "Fontes", - "start-step": "Start Step", + "start-step": "Etapa inicial", "steps": "Etapas", "sum": "Soma", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Suporte", + "switch-account": "Trocar conta", + "table": "Tabela", "tablet": "Tablet", "tag": "Tag", "tags": "Tags", @@ -285,7 +285,7 @@ "team-view-only": "Apenas visualização da equipe", "team-websites": "Sites da equipe", "teams": "Equipes", - "term": "Term", + "term": "Termo", "terms": "Termos", "theme": "Tema", "this-month": "Este mês", @@ -298,16 +298,16 @@ "total": "Total", "total-records": "Total de registros", "tracking-code": "Código de rastreamento", - "traffic": "Traffic", - "transactions": "Transactions", + "traffic": "Tráfego", + "transactions": "Transações", "transfer": "Transferir", "transfer-website": "Transferir site", "true": "Sim", "type": "Tipo", "unique": "Únicos", - "unique-events": "Unique events", + "unique-events": "Eventos únicos", "unique-visitors": "Visitantes únicos", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Clientes únicos", "unknown": "Desconhecido", "untitled": "Sem título", "update": "Atualizar", @@ -316,14 +316,14 @@ "username": "Nome de usuário", "users": "Usuários", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM Campanha", + "utm-content": "UTM Conteúdo", "utm-description": "Acompanhe suas campanhas de publicidade através de parâmetros UTM.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM Mídia", + "utm-source": "UTM Fonte", + "utm-term": "UTM Termo", "value": "Valor", - "version": "Version", + "version": "Versão", "view": "Visualizar", "view-details": "Ver mais", "view-only": "Somente visualização", @@ -341,8 +341,8 @@ "message": { "action-confirmation": "Digite {confirmation} na caixa abaixo para confirmar.", "active-users": " Atualmente {x} usuários ativos", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Requisição inválida", + "collected-data": "Dados coletados", "confirm-delete": "Tem certeza de que deseja excluir {target}?", "confirm-leave": "Tem certeza de que deseja sair de {target}?", "confirm-remove": "Tem certeza que deseja remover {target}?", @@ -351,7 +351,7 @@ "delete-website-warning": "Todos os dados relacionados serão excluídos.", "error": "Ocorreu um erro.", "event-log": "{event} em {url}", - "forbidden": "Forbidden", + "forbidden": "Proibido", "go-to-settings": "Ir para as configurações", "incorrect-username-password": "Nome de usuário ou senha incorretos.", "invalid-domain": "Domínio inválido", @@ -365,13 +365,13 @@ "no-teams": "Você ainda não criou nenhuma equipe.", "no-users": "Não há usuários.", "no-websites-configured": "Você ainda não configurou nenhum site.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Não encontrado", + "nothing-selected": "Nada selecionado.", "page-not-found": "Página não encontrada.", "reset-website": "Se você tiver certeza de que deseja redefinir este site, digite {confirmation} na caixa de entrada abaixo para confirmar.", "reset-website-warning": "Todos os dados estatísticos deste site serão excluídos, mas seu código de rastreamento permanecerá o mesmo.", "saved": "Salvo com sucesso.", - "sever-error": "Server error", + "sever-error": "Erro do servidor", "share-url": "Este é o link para compartilhar {target}.", "team-already-member": "Você já é membro desta equipe.", "team-not-found": "Equipe não encontrada.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Selecione para qual equipe deseja transferir este site.", "transfer-website": "Transfira a propriedade do site para sua conta ou para outra equipe.", "triggered-event": "Evento disparado", - "unauthorized": "Unauthorized", + "unauthorized": "Não autorizado", "user-deleted": "Usuário excluído.", "viewed-page": "Página visualizada", "visitor-log": "Visitante de {country} usando o navegador {browser} em um {device} com sistema operacional {os}." diff --git a/public/intl/messages/pt-PT.json b/public/intl/messages/pt-PT.json index 318df5bf5..35e6a4ee1 100644 --- a/public/intl/messages/pt-PT.json +++ b/public/intl/messages/pt-PT.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Código de acesso", - "account": "Account", - "action": "Action", + "account": "Conta", + "action": "Ação", "actions": "Ações", "activity": "Registo de atividade", "add": "Adicionar", "add-board": "Adicionar quadro", "add-description": "Adicionar descrição", - "add-link": "Add link", + "add-link": "Adicionar ligação", "add-member": "Adicionar membro", - "add-pixel": "Add pixel", + "add-pixel": "Adicionar pixel", "add-step": "Adicionar passo", "add-website": "Adicionar website", "admin": "Administrador", @@ -18,13 +18,13 @@ "after": "Depois", "all": "Todos", "all-time": "Todo o tempo", - "analysis": "Analysis", + "analysis": "Análise", "analytics": "Análise", - "application": "Application", + "application": "Aplicação", "apply": "Aplicar", "attribution": "Atribuição", "attribution-description": "Veja como os utilizadores interagem com o seu marketing e o que impulsiona conversões.", - "audience": "Audience", + "audience": "Audiência", "average": "Média", "back": "Voltar", "before": "Antes", @@ -34,25 +34,25 @@ "breakdown": "Detalhamento", "browser": "Navegador", "browsers": "Navegadores", - "campaign": "Campaign", + "campaign": "Campanha", "campaigns": "Campanhas", "cancel": "Cancelar", "change-password": "Alterar senha", - "channel": "Channel", + "channel": "Canal", "channels": "Canais", - "chart": "Chart", + "chart": "Gráfico", "cities": "Cidades", "city": "Cidade", "clear-all": "Limpar tudo", "cohort": "Cohorte", - "cohorts": "Cohorts", + "cohorts": "Coortes", "compare": "Comparar", "compare-dates": "Comparar datas", "confirm": "Confirmar", "confirm-password": "Confirmar senha", - "contains": "Contains", + "contains": "Contém", "content": "Conteúdo", - "continue": "Continue", + "continue": "Continuar", "conversion": "Conversão", "conversion-rate": "Taxa de conversão", "conversion-step": "Passo de conversão", @@ -65,14 +65,14 @@ "create-user": "Criar utilizador", "created": "Criado", "created-by": "Criado por", - "criteria": "Criteria", + "criteria": "Critérios", "currency": "Moeda", "current": "Atual", "current-password": "Senha atual", "custom-range": "Intervalo personalizado", "dashboard": "Painel", - "data": "Data", - "date": "Date", + "data": "Dados", + "date": "Data", "date-range": "Intervalo de datas", "day": "Dia", "default-date-range": "Intervalo de datas predefinido", @@ -83,33 +83,33 @@ "delete-website": "Eliminar website", "description": "Descrição", "desktop": "Computador", - "destination-url": "Destination URL", + "destination-url": "URL de destino", "details": "Detalhes", "device": "Dispositivo", "devices": "Dispositivos", "direct": "Direto", "dismiss": "Ignorar", "distinct-id": "ID distinto", - "documentation": "Documentation", + "documentation": "Documentação", "does-not-contain": "Não contém", "does-not-include": "Não inclui", "doest-not-exist": "Não existe", "domain": "Domínio", - "download": "Download", - "dropoff": "Dropoff", + "download": "Transferir", + "dropoff": "Abandono", "edit": "Editar", "edit-dashboard": "Editar painel", "edit-member": "Editar membro", - "email": "Email", + "email": "E-mail", "enable-share-url": "Ativar link de partilha", "end-step": "Passo final", "entry": "URL de entrada", - "environment": "Environment", + "environment": "Ambiente", "event": "Evento", "event-data": "Dados do evento", "event-name": "Nome do evento", "events": "Eventos", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Excluir rejeição", "exists": "Existe", "exit": "URL de saída", "false": "Falso", @@ -130,14 +130,14 @@ "greater-than": "Maior que", "greater-than-equals": "Maior ou igual a", "grouped": "Agrupado", - "growth": "Growth", + "growth": "Crescimento", "hostname": "Nome do host", - "hour": "Hour", + "hour": "Hora", "includes": "Inclui", "insight": "Insight", "insights": "Insights", - "insights-description": "Dive deeper into your data by using segments and filters.", - "invalid-url": "Invalid URL", + "insights-description": "Aprofunde os seus dados utilizando segmentos e filtros.", + "invalid-url": "URL inválido", "is": "É", "is-false": "É falso", "is-not": "Não é", @@ -161,9 +161,9 @@ "leave-team": "Sair da equipa", "less-than": "Menor que", "less-than-equals": "Menor ou igual a", - "link": "Link", + "link": "Ligação", "links": "Ligações", - "location": "Location", + "location": "Localização", "login": "Iniciar sessão", "logout": "Sair", "manage": "Gerir", @@ -174,31 +174,31 @@ "member": "Membro", "members": "Membros", "min": "Mínimo", - "minute": "Minute", + "minute": "Minuto", "mobile": "Telemóvel", "model": "Modelo", - "month": "Month", + "month": "Mês", "more": "Mais", "my-account": "A minha conta", "my-websites": "Os meus websites", "name": "Nome", "new-password": "Nova senha", "none": "Nenhum", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {registo} other {registos}}", "ok": "OK", "online": "Online", "organic-search": "Pesquisa orgânica", "organic-shopping": "Compras orgânicas", "organic-social": "Social orgânico", "organic-video": "Vídeo orgânico", - "os": "OS", + "os": "SO", "other": "Outro", - "overview": "Overview", + "overview": "Visão geral", "owner": "Proprietário", "page": "Página", - "page-of": "Page {current} of {total}", + "page-of": "Página {current} de {total}", "page-views": "Visualizações da página", - "pageTitle": "Page title", + "pageTitle": "Título da página", "pages": "Páginas", "paid-ads": "Anúncios pagos", "paid-search": "Pesquisa paga", @@ -211,179 +211,179 @@ "pixel": "Pixel", "pixels": "Píxeis", "powered-by": "Distribuído por {name}", - "preferences": "Preferences", + "preferences": "Preferências", "previous": "Anterior", "previous-period": "Período anterior", "previous-year": "Ano anterior", "profile": "Perfil", - "profiles": "Profiles", + "profiles": "Perfis", "properties": "Propriedades", "property": "Propriedade", - "queries": "Queries", - "query": "Query", - "query-parameters": "Query parameters", + "queries": "Consultas", + "query": "Consulta", + "query-parameters": "Parâmetros de consulta", "realtime": "Tempo real", "referral": "Referência", - "referrer": "Referrer", + "referrer": "Referência", "referrers": "Referenciadores", "refresh": "Atualizar", - "regenerate": "Regenerate", - "region": "Region", - "regions": "Regions", + "regenerate": "Regenerar", + "region": "Região", + "regions": "Regiões", "remaining": "Restante", - "remove": "Remove", - "remove-member": "Remove member", - "reports": "Reports", + "remove": "Remover", + "remove-member": "Remover membro", + "reports": "Relatórios", "required": "Obrigatório", "reset": "Repor", "reset-website": "Repor estatísticas", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", + "retention": "Retenção", + "retention-description": "Meça a fidelidade do seu site, monitorizando a frequência com que os utilizadores regressam.", "revenue": "Receita", "revenue-description": "Veja a sua receita ao longo do tempo.", - "role": "Role", - "run-query": "Run query", + "role": "Função", + "run-query": "Executar consulta", "save": "Guardar", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", - "screens": "Screens", - "search": "Search", - "segment": "Segment", - "segments": "Segments", - "select": "Select", - "select-date": "Select date", + "save-cohort": "Guardar coorte", + "save-segment": "Guardar segmento", + "screen": "Ecrã", + "screens": "Ecrãs", + "search": "Pesquisar", + "segment": "Segmento", + "segments": "Segmentos", + "select": "Selecionar", + "select-date": "Selecionar data", "select-filter": "Selecionar filtro", - "select-role": "Select role", - "select-website": "Select website", + "select-role": "Selecionar função", + "select-website": "Selecionar website", "session": "Sessão", "session-data": "Dados da sessão", - "sessions": "Sessions", + "sessions": "Sessões", "settings": "Definições", "share": "Partilhar", "share-url": "Partilhar link", "single-day": "Dia único", "sms": "SMS", - "source": "Source", + "source": "Fonte", "sources": "Fontes", - "start-step": "Start Step", - "steps": "Steps", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "start-step": "Etapa inicial", + "steps": "Etapas", + "sum": "Soma", + "support": "Suporte", + "switch-account": "Trocar de conta", + "table": "Tabela", "tablet": "Tablet", "tag": "Etiqueta", "tags": "Etiquetas", - "team": "Team", - "team-id": "Team ID", + "team": "Equipa", + "team-id": "ID da equipa", "team-manager": "Gestor de equipa", - "team-member": "Team member", - "team-name": "Team name", - "team-owner": "Team owner", + "team-member": "Membro da equipa", + "team-name": "Nome da equipa", + "team-owner": "Proprietário da equipa", "team-settings": "Definições da equipa", - "team-view-only": "Team view only", - "team-websites": "Team websites", - "teams": "Teams", - "term": "Term", + "team-view-only": "Visualização da equipa apenas", + "team-websites": "Websites da equipa", + "teams": "Equipas", + "term": "Termo", "terms": "Termos", "theme": "Tema", "this-month": "Este mês", "this-week": "Esta semana", "this-year": "Este ano", "timezone": "Fuso horário", - "title": "Title", + "title": "Título", "today": "Hoje", "toggle-charts": "Alternar gráficos", "total": "Total", - "total-records": "Total records", + "total-records": "Total de registos", "tracking-code": "Código de rastreamento", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "Tráfego", + "transactions": "Transações", + "transfer": "Transferir", + "transfer-website": "Transferir website", + "true": "Verdadeiro", + "type": "Tipo", + "unique": "Único", + "unique-events": "Eventos únicos", "unique-visitors": "Visitantes únicos", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Clientes únicos", "unknown": "Desconhecido", - "untitled": "Untitled", - "update": "Update", + "untitled": "Sem título", + "update": "Atualizar", "url": "URL", - "user": "User", + "user": "Utilizador", "username": "Nome de utilizador", - "users": "Users", + "users": "Utilizadores", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-campaign": "UTM Campanha", + "utm-content": "UTM Conteúdo", + "utm-description": "Monitorize as suas campanhas através de parâmetros UTM.", + "utm-medium": "UTM Meio", + "utm-source": "UTM Fonte", + "utm-term": "UTM Termo", + "value": "Valor", + "version": "Versão", + "view": "Visualizar", "view-details": "Ver detalhes", - "view-only": "View only", + "view-only": "Apenas visualização", "views": "Visualizações", - "views-per-visit": "Views per visit", + "views-per-visit": "Visualizações por visita", "visit-duration": "Tempo médio de visita", "visitors": "Visitantes", - "visits": "Visits", + "visits": "Visitas", "website": "Website", - "website-id": "Website ID", + "website-id": "ID do website", "websites": "Websites", - "window": "Window", - "yesterday": "Yesterday" + "window": "Janela", + "yesterday": "Ontem" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "Escreva {confirmation} na caixa abaixo para confirmar.", "active-users": "{x} {x, plural, one {visitante} other {visitantes}} neste momento", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Pedido inválido", + "collected-data": "Dados recolhidos", "confirm-delete": "Tem a certeza que pretende eliminar {target}?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "Tem a certeza de que deseja sair de {target}?", + "confirm-remove": "Tem a certeza de que deseja remover {target}?", "confirm-reset": "Tem a certeza que pretende restaurar as estatísticas de {target}?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "Eliminar uma equipa também elimina todos os websites da equipa.", "delete-website-warning": "Todos os dados associados também serão eliminados.", "error": "Ocorreu um erro.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} em {url}", + "forbidden": "Proibido", "go-to-settings": "Ir para as definições", "incorrect-username-password": "Nome de utilizador/senha incorretos.", "invalid-domain": "Domínio inválido", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "Comprimento mínimo de {n} caracteres", + "new-version-available": "Uma nova versão do Umami {version} está disponível!", "no-data-available": "Sem dados disponíveis.", - "no-event-data": "No event data is available.", + "no-event-data": "Não existem dados de eventos disponíveis.", "no-match-password": "As senhas não coincidem", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "Esta equipa não tem websites.", + "no-teams": "Ainda não criou nenhuma equipa.", + "no-users": "Não existem utilizadores.", "no-websites-configured": "Não tens nenhum website configurado.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Não encontrado", + "nothing-selected": "Nada selecionado.", "page-not-found": "Página não encontrada.", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "Para repor este website, escreva {confirmation} na caixa abaixo para confirmar.", "reset-website-warning": "Todas as estatísticas deste site serão eliminadas, mas o seu código de rastreamento permanecerá intacto.", "saved": "Guardado com sucesso.", - "sever-error": "Server error", + "sever-error": "Erro do servidor", "share-url": "Este é o link de partilha público para {target}.", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "Já é membro da equipa.", + "team-not-found": "Equipa não encontrada.", + "team-websites-info": "Os websites podem ser visualizados por qualquer membro da equipa.", "tracking-code": "Código de rastreamento", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "transfer-team-website-to-user": "Transferir este website para a sua conta?", + "transfer-user-website-to-team": "Selecione a equipa para a qual transferir este website.", + "transfer-website": "Transfira a propriedade do website para a sua conta ou outra equipa.", + "triggered-event": "Evento acionado", + "unauthorized": "Não autorizado", + "user-deleted": "Utilizador eliminado.", + "viewed-page": "Página visualizada", "visitor-log": "Visitante de {country} a usar {browser} no {device} {os}" } } diff --git a/public/intl/messages/ro-RO.json b/public/intl/messages/ro-RO.json index f8fb2762a..dc7ddfdd1 100644 --- a/public/intl/messages/ro-RO.json +++ b/public/intl/messages/ro-RO.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Cod de access", - "account": "Account", - "action": "Action", + "account": "Cont", + "action": "Acțiune", "actions": "Acțiuni", "activity": "Jurnal de activități", "add": "Adaugă", "add-board": "Adaugă panou", "add-description": "Adaugă descriere", - "add-link": "Add link", + "add-link": "Adaugă link", "add-member": "Adaugă membru", - "add-pixel": "Add pixel", + "add-pixel": "Adaugă pixel", "add-step": "Adaugă pas", "add-website": "Adaugă site web", "admin": "Administrator", @@ -18,13 +18,13 @@ "after": "După", "all": "Toate", "all-time": "Pentru tot timpul", - "analysis": "Analysis", + "analysis": "Analiză", "analytics": "Analiză", - "application": "Application", + "application": "Aplicație", "apply": "Aplică", "attribution": "Atribuire", "attribution-description": "Vezi cum utilizatorii interacționează cu marketingul tău și ce determină conversiile.", - "audience": "Audience", + "audience": "Audiență", "average": "Mediu", "back": "Înapoi", "before": "Înainte", @@ -34,21 +34,21 @@ "breakdown": "Detaliat", "browser": "Browser", "browsers": "Browsere", - "campaign": "Campaign", + "campaign": "Campanie", "campaigns": "Campanii", "cancel": "Anulează", "change-password": "Schimbare parolă", - "channel": "Channel", + "channel": "Canal", "channels": "Canale", - "chart": "Chart", + "chart": "Grafic", "cities": "Orașe", "city": "Oraș", "clear-all": "Șterge tot", "cohort": "Cohortă", - "cohorts": "Cohorts", + "cohorts": "Cohorte", "compare": "Compară", "compare-dates": "Compară datele", - "confirm": "Confirm", + "confirm": "Confirmă", "confirm-password": "Confirmare parolă", "contains": "Conține", "content": "Conținut", @@ -65,7 +65,7 @@ "create-user": "Crează utilizator", "created": "Creat", "created-by": "Creat de", - "criteria": "Criteria", + "criteria": "Criterii", "currency": "Monedă", "current": "Curent", "current-password": "Parola curentă", @@ -83,19 +83,19 @@ "delete-website": "Șterge site web", "description": "Descriere", "desktop": "Desktop", - "destination-url": "Destination URL", + "destination-url": "URL destinație", "details": "Detalii", "device": "Dispozitiv", "devices": "Dispozitive", "direct": "Direct", "dismiss": "Renunță", - "distinct-id": "Distinct ID", - "documentation": "Documentation", + "distinct-id": "ID distinct", + "documentation": "Documentație", "does-not-contain": "Nu conține", "does-not-include": "Nu include", "doest-not-exist": "Nu există", "domain": "Domeniu", - "download": "Download", + "download": "Descarcă", "dropoff": "Rată de abandon", "edit": "Editare", "edit-dashboard": "Editare tablou de bord", @@ -104,12 +104,12 @@ "enable-share-url": "Activare adresă URL de distribuire", "end-step": "Pas final", "entry": "URL de intrare", - "environment": "Environment", + "environment": "Mediu", "event": "Eveniment", "event-data": "Date despre eveniment", "event-name": "Nume eveniment", "events": "Evenimente", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Exclude respingere", "exists": "Există", "exit": "URL de ieșire", "false": "Fals", @@ -130,14 +130,14 @@ "greater-than": "Mai mare decât", "greater-than-equals": "Mai mare sau egal cu", "grouped": "Grupat", - "growth": "Growth", + "growth": "Creștere", "hostname": "Nume gazdă", - "hour": "Hour", + "hour": "Oră", "includes": "Include", "insight": "Perspectivă", "insights": "Perspective", "insights-description": "Aprofundează datele utilizând segmente și filtre.", - "invalid-url": "Invalid URL", + "invalid-url": "URL invalid", "is": "Este", "is-false": "Este fals", "is-not": "Nu este", @@ -163,7 +163,7 @@ "less-than-equals": "Mai puțin sau egal cu", "link": "Link", "links": "Linkuri", - "location": "Location", + "location": "Locație", "login": "Autentificare", "logout": "Ieșire din cont", "manage": "Administrează", @@ -174,10 +174,10 @@ "member": "Membru", "members": "Membri", "min": "Min", - "minute": "Minute", + "minute": "Minut", "mobile": "Mobil", "model": "Model", - "month": "Month", + "month": "Lună", "more": "Mai mult", "my-account": "Contul meu", "my-websites": "Website-ul meu", @@ -191,7 +191,7 @@ "organic-shopping": "Cumpărături organice", "organic-social": "Social organic", "organic-video": "Video organic", - "os": "OS", + "os": "SO", "other": "Altul", "overview": "Vedere de ansamblu", "owner": "Titular", @@ -211,19 +211,19 @@ "pixel": "Pixel", "pixels": "Pixeli", "powered-by": "Cu sprijinul {name}", - "preferences": "Preferences", + "preferences": "Preferințe", "previous": "Anterior", "previous-period": "Perioda anterioară", "previous-year": "Anul anterior", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profiluri", "properties": "Proprietăți", "property": "Proprietate", "queries": "Interogări", "query": "Interogare", "query-parameters": "Parametri de interogare", "realtime": "Timp real", - "referral": "Referral", + "referral": "Referință", "referrer": "Proveniență", "referrers": "Site-uri de proveniență", "refresh": "Reîmprospătare", @@ -244,13 +244,13 @@ "role": "Rol", "run-query": "Execută interogarea", "save": "Salvează", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Salvează cohorta", + "save-segment": "Salvează segmentul", + "screen": "Ecran", "screens": "Ecrane", "search": "Căutare", "segment": "Segment", - "segments": "Segments", + "segments": "Segmente", "select": "Selectează", "select-date": "Selectează data", "select-filter": "Selectează filtru", @@ -264,14 +264,14 @@ "share-url": "Partajare URL", "single-day": "O singură zi", "sms": "SMS", - "source": "Source", + "source": "Sursă", "sources": "Surse", "start-step": "Pas de început", "steps": "Pași", "sum": "Sumă", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Suport", + "switch-account": "Schimbă contul", + "table": "Tabel", "tablet": "Tabletă", "tag": "Etichetă", "tags": "Etichete", @@ -285,7 +285,7 @@ "team-view-only": "Doar vizualizare echipă", "team-websites": "Website-uri echipă", "teams": "Echipă", - "term": "Term", + "term": "Termen", "terms": "Termeni", "theme": "Temă", "this-month": "Această lună", @@ -298,32 +298,32 @@ "total": "Total", "total-records": "Total înregistrări", "tracking-code": "Cod de urmărire", - "traffic": "Traffic", + "traffic": "Trafic", "transactions": "Tranzacții", - "transfer": "Transfer", - "transfer-website": "Transfer website", + "transfer": "Transferă", + "transfer-website": "Transferă site-ul", "true": "Adevărat", "type": "Tip", "unique": "Unici", - "unique-events": "Unique events", + "unique-events": "Evenimente unice", "unique-visitors": "Vizitatori unici", "uniqueCustomers": "Clienți unici", "unknown": "Necunoscut", "untitled": "Fără titlu", - "update": "Update", + "update": "Actualizează", "url": "URL", "user": "Utilizator", "username": "Nume utilizator", "users": "Utilizatori", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM Campanie", + "utm-content": "UTM Conținut", "utm-description": "Urmărește campaniile tale cu parametri UTM.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM Mediu", + "utm-source": "UTM Sursă", + "utm-term": "UTM Termen", "value": "Valoare", - "version": "Version", + "version": "Versiune", "view": "Vizualizare", "view-details": "Vizualizare detalii", "view-only": "Doar vizualizare", @@ -332,7 +332,7 @@ "visit-duration": "Timp mediu de vizitare", "visitors": "Vizitatori", "visits": "Vizite", - "website": "Website", + "website": "Site web", "website-id": "ID Website", "websites": "Site-uri web", "window": "Fereastră", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "Scrie {confirmation} în câmpul de mai jos pentru a confirma.", "active-users": "{x} {x, plural, one {vizitator activ} other {vizitatori activi}}", - "bad-request": "Bad request", + "bad-request": "Cerere incorectă", "collected-data": "Date colectate", "confirm-delete": "Ești sigur că vrei să ștergi {target}?", "confirm-leave": "Ești sigur că vrei să părăsești {target}?", @@ -351,7 +351,7 @@ "delete-website-warning": "Toate datele asociate vor fi șterse, de asemenea.", "error": "Ceva n-a mers bine.", "event-log": "{event} la {url}", - "forbidden": "Forbidden", + "forbidden": "Interzis", "go-to-settings": "Mergi la Setări", "incorrect-username-password": "Nume utilizator / parolă incorecte.", "invalid-domain": "Domeniul nu este valid", @@ -365,13 +365,13 @@ "no-teams": "Nu ai creat nicio echipă.", "no-users": "Nu există utilizatori.", "no-websites-configured": "Nu ai niciun site web configurat.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Negăsit", + "nothing-selected": "Nimic selectat.", "page-not-found": "Pagina nu a fost găsită.", "reset-website": "Pentru a reseta acest website, scrie {confirmation} În câmpul de mai jos pentru a confirma.", "reset-website-warning": "Toate statisticile pentru acest site web vor fi șterse, dar codul de urmărire va rămâne intact.", "saved": "Salvat cu succes.", - "sever-error": "Server error", + "sever-error": "Eroare de server", "share-url": "Aceasta este adresa URL de partajare pentru {target}.", "team-already-member": "Deja ești membru al acestei echipe.", "team-not-found": "Echipa nu a fost găsită.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Selectează echipa căreia vrei să îi transferi site-ul.", "transfer-website": "Transferă titulatura site-ului către tine sau către o altă echipă.", "triggered-event": "Eveniment declanșat", - "unauthorized": "Unauthorized", + "unauthorized": "Neautorizat", "user-deleted": "Utilizator șters.", "viewed-page": "Pagină vizualizată", "visitor-log": "Vizitator din {country} folosind {browser} pe {os} {device}" diff --git a/public/intl/messages/ru-RU.json b/public/intl/messages/ru-RU.json index 811e534fc..6ed9c7a8a 100644 --- a/public/intl/messages/ru-RU.json +++ b/public/intl/messages/ru-RU.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Код доступа", - "account": "Account", - "action": "Action", + "account": "Аккаунт", + "action": "Действие", "actions": "Действия", "activity": "Журнал активности", "add": "Добавить", "add-board": "Добавить доску", "add-description": "Добавить описание", - "add-link": "Add link", + "add-link": "Добавить ссылку", "add-member": "Добавить участника", - "add-pixel": "Add pixel", + "add-pixel": "Добавить пиксель", "add-step": "Добавить шаг", "add-website": "Добавить сайт", "admin": "Администратор", @@ -18,13 +18,13 @@ "after": "После", "all": "Все", "all-time": "Все время", - "analysis": "Analysis", + "analysis": "Анализ", "analytics": "Аналитика", - "application": "Application", + "application": "Приложение", "apply": "Применить", "attribution": "Атрибуция", "attribution-description": "Посмотрите, как пользователи взаимодействуют с вашим маркетингом и что приводит к конверсиям.", - "audience": "Audience", + "audience": "Аудитория", "average": "Средний", "back": "Назад", "before": "До", @@ -34,18 +34,18 @@ "breakdown": "Авария", "browser": "Браузер", "browsers": "Браузеры", - "campaign": "Campaign", + "campaign": "Кампания", "campaigns": "Кампании", "cancel": "Отменить", "change-password": "Изменить пароль", - "channel": "Channel", + "channel": "Канал", "channels": "Каналы", - "chart": "Chart", + "chart": "Диаграмма", "cities": "Города", "city": "Город", "clear-all": "Очистить все", "cohort": "Когорта", - "cohorts": "Cohorts", + "cohorts": "Когорты", "compare": "Сравнить", "compare-dates": "Сравнить даты", "confirm": "Подтвердить", @@ -65,7 +65,7 @@ "create-user": "Создать пользователя", "created": "Создано", "created-by": "Создано", - "criteria": "Criteria", + "criteria": "Критерии", "currency": "Валюта", "current": "Текущий", "current-password": "Текущий пароль", @@ -83,33 +83,33 @@ "delete-website": "Удалить сайт", "description": "Описание", "desktop": "Настольный компьютер", - "destination-url": "Destination URL", + "destination-url": "URL назначения", "details": "Подробности", "device": "Устройство", "devices": "Устройства", - "direct": "Direct", + "direct": "Прямой", "dismiss": "Отклонить", - "distinct-id": "Distinct ID", - "documentation": "Documentation", + "distinct-id": "Уникальный ID", + "documentation": "Документация", "does-not-contain": "Не содержит", "does-not-include": "Не включает", "doest-not-exist": "Не существует", "domain": "Домен", - "download": "Download", + "download": "Скачать", "dropoff": "Высадка", "edit": "Изменить", "edit-dashboard": "Редактировать дашборд", "edit-member": "Редактировать участника", - "email": "Email", + "email": "Электронная почта", "enable-share-url": "Разрешить делиться ссылкой", "end-step": "Конечный шаг", "entry": "URL-адрес входа", - "environment": "Environment", + "environment": "Окружение", "event": "Событие", "event-data": "Данные о событии", "event-name": "Название события", "events": "События", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Исключить отказы", "exists": "Существует", "exit": "URL-адрес выхода", "false": "Ложь", @@ -130,14 +130,14 @@ "greater-than": "Больше, чем", "greater-than-equals": "Больше или равно", "grouped": "Группировано", - "growth": "Growth", + "growth": "Рост", "hostname": "Имя хоста", - "hour": "Hour", + "hour": "Час", "includes": "Включает", "insight": "Инсайт", "insights": "Информация", "insights-description": "Погрузитесь глубже в свои данные с помощью сегментов и фильтров.", - "invalid-url": "Invalid URL", + "invalid-url": "Недействительный URL", "is": "Является", "is-false": "Ложно", "is-not": "Не установлен", @@ -146,7 +146,7 @@ "is-true": "Истинно", "join": "Присоединиться", "join-team": "Присоединиться к команде", - "journey": "Journey", + "journey": "Путь", "journey-description": "Поймите, как пользователи перемещаются по вашему сайту.", "journeys": "Пути", "language": "Язык", @@ -161,9 +161,9 @@ "leave-team": "Покинуть команду", "less-than": "Меньше, чем", "less-than-equals": "Меньше или равно", - "link": "Link", + "link": "Ссылка", "links": "Ссылки", - "location": "Location", + "location": "Местоположение", "login": "Войти", "logout": "Выйти", "manage": "Управление", @@ -174,10 +174,10 @@ "member": "Участник", "members": "Участники", "min": "Минимум", - "minute": "Minute", + "minute": "Минута", "mobile": "Смартфон", "model": "Модель", - "month": "Month", + "month": "Месяц", "more": "Больше", "my-account": "Мой профиль", "my-websites": "Мои сайты", @@ -185,13 +185,13 @@ "new-password": "Новый пароль", "none": "Не указано", "number-of-records": "{x} {x, plural, one {запись} other {записи}}", - "ok": "OK", - "online": "Online", + "ok": "ОК", + "online": "Онлайн", "organic-search": "Органический поиск", "organic-shopping": "Органические покупки", "organic-social": "Органические соцсети", "organic-video": "Органическое видео", - "os": "OS", + "os": "ОС", "other": "Другое", "overview": "Обзор", "owner": "Владелец", @@ -208,22 +208,22 @@ "password": "Пароль", "path": "Путь", "paths": "Пути", - "pixel": "Pixel", + "pixel": "Пиксель", "pixels": "Пиксели", "powered-by": "На движке {name}", - "preferences": "Preferences", + "preferences": "Настройки", "previous": "Предыдущий", "previous-period": "Предыдущий период", "previous-year": "Предыдущий год", "profile": "Профиль", - "profiles": "Profiles", + "profiles": "Профили", "properties": "Свойства", "property": "Свойство", "queries": "Запросы", "query": "Запрос", "query-parameters": "Параметры запроса", "realtime": "Реальное время", - "referral": "Referral", + "referral": "Реферал", "referrer": "Реферер", "referrers": "Источники", "refresh": "Обновить", @@ -244,13 +244,13 @@ "role": "Роль", "run-query": "Выполнить запрос", "save": "Сохранить", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Сохранить когорту", + "save-segment": "Сохранить сегмент", + "screen": "Экран", "screens": "Экраны", "search": "Поиск", - "segment": "Segment", - "segments": "Segments", + "segment": "Сегмент", + "segments": "Сегменты", "select": "Выберите", "select-date": "Выберите дату", "select-filter": "Выберите фильтр", @@ -263,15 +263,15 @@ "share": "Поделиться", "share-url": "Поделиться ссылкой", "single-day": "Один день", - "sms": "SMS", - "source": "Source", + "sms": "СМС", + "source": "Источник", "sources": "Источники", "start-step": "Начальный этап", "steps": "Шаги", "sum": "Сумма", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Поддержка", + "switch-account": "Сменить аккаунт", + "table": "Таблица", "tablet": "Планшет", "tag": "Тег", "tags": "Теги", @@ -285,7 +285,7 @@ "team-view-only": "Только командный просмотр", "team-websites": "Веб-сайты команды", "teams": "Команды", - "term": "Term", + "term": "Поисковый запрос", "terms": "Условия", "theme": "Тема", "this-month": "Этот месяц", @@ -298,14 +298,14 @@ "total": "Всего", "total-records": "Всего записей", "tracking-code": "Код отслеживания", - "traffic": "Traffic", + "traffic": "Трафик", "transactions": "Транзакции", "transfer": "Передача", "transfer-website": "Передать сайт", "true": "Правда", "type": "Тип", "unique": "Уникальный", - "unique-events": "Unique events", + "unique-events": "Уникальные события", "unique-visitors": "Уникальные посетители", "uniqueCustomers": "Уникальные клиенты", "unknown": "Неизвестно", @@ -316,14 +316,14 @@ "username": "Имя пользователя", "users": "Пользователи", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM-кампания", + "utm-content": "UTM-контент", "utm-description": "Отслеживайте свои кампании с помощью UTM-параметров.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM-канал", + "utm-source": "UTM-источник", + "utm-term": "UTM-запрос", "value": "Значение", - "version": "Version", + "version": "Версия", "view": "Просмотреть", "view-details": "Посмотреть детали", "view-only": "Только просмотр", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "Введите {confirmation} в поле ниже, чтобы подтвердить.", "active-users": "{x} текущих посетителей", - "bad-request": "Bad request", + "bad-request": "Неверный запрос", "collected-data": "Собранные данные", "confirm-delete": "Вы уверены, что хотите удалить {target}?", "confirm-leave": "Вы уверены, что хотите уйти {target}?", @@ -351,7 +351,7 @@ "delete-website-warning": "Все связанные данные будут также удалены.", "error": "Что-то пошло не так.", "event-log": "{event} на {url}", - "forbidden": "Forbidden", + "forbidden": "Доступ запрещён", "go-to-settings": "Перейти к настройкам", "incorrect-username-password": "Неверное имя пользователя/пароль.", "invalid-domain": "Некорректный домен", @@ -365,13 +365,13 @@ "no-teams": "Вы не создали ни одной команды.", "no-users": "Нет пользователей.", "no-websites-configured": "У вас нет настроенных сайтов.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Не найдено", + "nothing-selected": "Ничего не выбрано.", "page-not-found": "Страница не найдена.", "reset-website": "Для сброса введите RESET", "reset-website-warning": "Вся статистика для этого сайта будет удалена, но ваш код отслеживания останется нетронутым.", "saved": "Успешно сохранено.", - "sever-error": "Server error", + "sever-error": "Ошибка сервера", "share-url": "Это публичная ссылка для {target}.", "team-already-member": "Вы уже состоите в команде.", "team-not-found": "Команда не найдена.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Выберите команду, которой нужно передать этот сайт.", "transfer-website": "Передайте право владения сайтом своей учетной записи или другой команде.", "triggered-event": "Запущенное событие", - "unauthorized": "Unauthorized", + "unauthorized": "Не авторизован", "user-deleted": "Пользователь удален.", "viewed-page": "Просмотренная страница", "visitor-log": "Посетитель из {country} используя {browser} на {os} {device}" diff --git a/public/intl/messages/si-LK.json b/public/intl/messages/si-LK.json index 7106f6352..e42bf11a6 100644 --- a/public/intl/messages/si-LK.json +++ b/public/intl/messages/si-LK.json @@ -1,389 +1,389 @@ { "label": { - "access-code": "Access code", - "account": "Account", - "action": "Action", - "actions": "Actions", + "access-code": "ප්‍රවේශ කේතය", + "account": "ගිණුම", + "action": "ක්‍රියාව", + "actions": "ක්‍රියා", "activity": "Activity log", - "add": "Add", - "add-board": "Add board", - "add-description": "Add description", - "add-link": "Add link", - "add-member": "Add member", - "add-pixel": "Add pixel", - "add-step": "Add step", + "add": "එකතු කරන්න", + "add-board": "පුවරුව එකතු කරන්න", + "add-description": "විස්තරය එකතු කරන්න", + "add-link": "සබැඳිය එකතු කරන්න", + "add-member": "සාමාජිකයා එකතු කරන්න", + "add-pixel": "පික්සලය එකතු කරන්න", + "add-step": "පියවර එකතු කරන්න", "add-website": "වෙබ් අඩවිය එක් කරන්න", "admin": "Administrator", - "affiliate": "Affiliate", - "after": "After", + "affiliate": "අනුබද්ධ", + "after": "පසුව", "all": "සියල්ල", "all-time": "හැම වෙලාවෙම", - "analysis": "Analysis", - "analytics": "Analytics", - "application": "Application", - "apply": "Apply", - "attribution": "Attribution", - "attribution-description": "See how users engage with your marketing and what drives conversions.", - "audience": "Audience", - "average": "Average", + "analysis": "විශ්ලේෂණය", + "analytics": "විශ්ලේෂණ", + "application": "යෙදුම", + "apply": "යොදන්න", + "attribution": "ආරෝපණය", + "attribution-description": "පරිශීලකයින් ඔබේ අලෙවිකරණය සමඟ කටයුතු කරන ආකාරය සහ පරිවර්තන මෙහෙයවන දේ බලන්න.", + "audience": "ප්‍රේක්ෂකයින්", + "average": "සාමාන්‍ය", "back": "ආපසු", - "before": "Before", + "before": "පෙර", "behavior": "අචරණය", - "boards": "Boards", - "bounce-rate": "Bounce rate", - "breakdown": "Breakdown", - "browser": "Browser", - "browsers": "Browsers", - "campaign": "Campaign", - "campaigns": "Campaigns", + "boards": "පුවරු", + "bounce-rate": "ප්‍රතිචිප්ත අනුපාතය", + "breakdown": "බිඳීම", + "browser": "බ්‍රවුසරය", + "browsers": "බ්‍රවුසර", + "campaign": "ව්‍යාපාරය", + "campaigns": "ව්‍යාපාර", "cancel": "අවලංගු කරන්න", "change-password": "මුරපදය වෙනස් කරන්න", - "channel": "Channel", - "channels": "Channels", - "chart": "Chart", - "cities": "Cities", - "city": "City", - "clear-all": "Clear all", - "cohort": "Cohort", - "cohorts": "Cohorts", - "compare": "Compare", - "compare-dates": "Compare dates", - "confirm": "Confirm", + "channel": "නාලිකාව", + "channels": "නාලිකා", + "chart": "ප්‍රස්ථාරය", + "cities": "නගර", + "city": "නගරය", + "clear-all": "සියල්ල හිස් කරන්න", + "cohort": "සමූහය", + "cohorts": "සමූහ", + "compare": "සංසන්දනය", + "compare-dates": "දින සංසන්දනය", + "confirm": "තහවුරු කරන්න", "confirm-password": "මුරපදය සත්‍යාපනය කරන්න", - "contains": "Contains", - "content": "Content", - "continue": "Continue", - "conversion": "Conversion", - "conversion-rate": "Conversion rate", - "conversion-step": "Conversion step", - "count": "Count", - "countries": "Countries", - "country": "Country", - "create": "Create", - "create-report": "Create report", - "create-team": "Create team", - "create-user": "Create user", - "created": "Created", - "created-by": "Created By", - "criteria": "Criteria", - "currency": "Currency", - "current": "Current", + "contains": "අඩංගු වේ", + "content": "අන්තර්ගතය", + "continue": "ඉදිරියට", + "conversion": "පරිවර්තනය", + "conversion-rate": "පරිවර්තන අනුපාතය", + "conversion-step": "පරිවර්තන පියවර", + "count": "ගණන", + "countries": "රටවල්", + "country": "රට", + "create": "සාදන්න", + "create-report": "වාර්තාව සාදන්න", + "create-team": "කණ්ඩායම සාදන්න", + "create-user": "පරිශීලකයා සාදන්න", + "created": "සාදන ලදි", + "created-by": "සාදන ලද්දේ", + "criteria": "නිර්ණායක", + "currency": "මුදල් ඒකකය", + "current": "වත්මන්", "current-password": "වත්මන් මුරපදය", "custom-range": "අභිරුචි පරාසය", "dashboard": "උපකරණ පුවරුව", - "data": "Data", - "date": "Date", + "data": "දත්ත", + "date": "දිනය", "date-range": "දින පරාසය", - "day": "Day", + "day": "දිනය", "default-date-range": "පෙරනිමි දින පරාසය", "delete": "මකන්න", - "delete-report": "Delete report", - "delete-team": "Delete team", - "delete-user": "Delete user", + "delete-report": "වාර්තාව මකන්න", + "delete-team": "කණ්ඩායම මකන්න", + "delete-user": "පරිශීලකයා මකන්න", "delete-website": "වෙබ් අඩවිය මකන්න", - "description": "Description", - "desktop": "Desktop", - "destination-url": "Destination URL", - "details": "Details", - "device": "Device", - "devices": "Devices", - "direct": "Direct", + "description": "විස්තරය", + "desktop": "ඩෙස්ක්ටොප්", + "destination-url": "ගමනාන්ත URL", + "details": "විස්තර", + "device": "උපාංගය", + "devices": "උපාංග", + "direct": "සෘජු", "dismiss": "මගහරින්න", - "distinct-id": "Distinct ID", - "documentation": "Documentation", - "does-not-contain": "Does not contain", - "does-not-include": "Does not include", - "doest-not-exist": "Does not exist", + "distinct-id": "විශේෂිත ID", + "documentation": "ලේඛනගත කිරීම", + "does-not-contain": "අඩංගු නොවේ", + "does-not-include": "ඇතුළත් නොවේ", + "doest-not-exist": "පවතින්නේ නැත", "domain": "වසම", - "download": "Download", - "dropoff": "Dropoff", + "download": "බාගන්න", + "dropoff": "අතහැර යෑම", "edit": "සංස්කරණය කරන්න", - "edit-dashboard": "Edit dashboard", - "edit-member": "Edit member", - "email": "Email", + "edit-dashboard": "උපකරණ පුවරුව සංස්කරණය", + "edit-member": "සාමාජිකයා සංස්කරණය", + "email": "විද්‍යුත් තැපෑල", "enable-share-url": "බෙදාගැනීමේ URL සබල කරන්න", - "end-step": "End Step", + "end-step": "අවසාන පියවර", "entry": "Entry URL", - "environment": "Environment", - "event": "Event", + "environment": "පරිසරය", + "event": "සිදුවීම", "event-data": "සිදුවීම් දත්ත", - "event-name": "Event name", - "events": "Events", - "exclude-bounce": "Exclude bounce", - "exists": "Exists", + "event-name": "සිදුවීම් නාමය", + "events": "සිදුවීම්", + "exclude-bounce": "ප්‍රතිචිප්ත බැහැර කරන්න", + "exists": "පවතී", "exit": "Exit URL", - "false": "False", - "field": "Field", - "fields": "Fields", - "filter": "Filter", - "filter-combined": "Combined", - "filter-raw": "Raw", - "filters": "Filters", - "first-click": "First click", - "first-seen": "First seen", - "funnel": "Funnel", - "funnel-description": "Understand the conversion and drop-off rate of users.", - "funnels": "Funnels", - "goal": "Goal", - "goals": "Goals", - "goals-description": "Track your goals for pageviews and events.", - "greater-than": "Greater than", - "greater-than-equals": "Greater than or equals", - "grouped": "Grouped", - "growth": "Growth", - "hostname": "Hostname", - "hour": "Hour", - "includes": "Includes", - "insight": "Insight", - "insights": "Insights", - "insights-description": "Dive deeper into your data by using segments and filters.", - "invalid-url": "Invalid URL", - "is": "Is", - "is-false": "Is false", - "is-not": "Is not", - "is-not-set": "Is not set", - "is-set": "Is set", - "is-true": "Is true", - "join": "Join", - "join-team": "Join team", - "journey": "Journey", - "journey-description": "Understand how users navigate through your website.", - "journeys": "Journeys", + "false": "අසත්‍ය", + "field": "ක්ෂේත්‍රය", + "fields": "ක්ෂේත්‍ර", + "filter": "පෙරහන", + "filter-combined": "ඒකාබද්ධ", + "filter-raw": "අමු", + "filters": "පෙරහන්", + "first-click": "පළමු ක්ලික්", + "first-seen": "මුලින් දුටු", + "funnel": "පුනීලය", + "funnel-description": "පරිශීලකයින්ගේ පරිවර්තන සහ අතහැර යෑමේ අනුපාතය තේරුම් ගන්න.", + "funnels": "පුනීල", + "goal": "ඉලක්කය", + "goals": "ඉලක්ක", + "goals-description": "පිටු නැරඹීම් සහ සිදුවීම් සඳහා ඔබේ ඉලක්ක නිරීක්ෂණය කරන්න.", + "greater-than": "වඩා විශාලයි", + "greater-than-equals": "වඩා විශාල හෝ සමානයි", + "grouped": "කාණ්ඩගත", + "growth": "වර්ධනය", + "hostname": "ධාරක නාමය", + "hour": "පැය", + "includes": "ඇතුළත් වේ", + "insight": "අවබෝධය", + "insights": "අවබෝධ", + "insights-description": "ඛණ්ඩ සහ පෙරහන් භාවිතා කර ඔබේ දත්ත ගැඹුරින් බලන්න.", + "invalid-url": "වලංගු නොවන URL", + "is": "වේ", + "is-false": "අසත්‍යයි", + "is-not": "නොවේ", + "is-not-set": "සකසා නැත", + "is-set": "සකසා ඇත", + "is-true": "සත්‍යයි", + "join": "සම්බන්ධ වන්න", + "join-team": "කණ්ඩායමට සම්බන්ධ වන්න", + "journey": "ගමන", + "journey-description": "පරිශීලකයින් ඔබේ වෙබ් අඩවිය හරහා සැරිසරන ආකාරය තේරුම් ගන්න.", + "journeys": "ගමන්", "language": "භාෂාව", - "languages": "Languages", - "laptop": "Laptop", - "last-click": "Last click", + "languages": "භාෂා", + "laptop": "ලැප්ටොප්", + "last-click": "අවසාන ක්ලික්", "last-days": "අන්තිම {x} දින", "last-hours": "අන්තිම {x} පැය", - "last-months": "Last {x} months", - "last-seen": "Last seen", - "leave": "Leave", - "leave-team": "Leave team", - "less-than": "Less than", - "less-than-equals": "Less than or equals", - "link": "Link", - "links": "Links", - "location": "Location", + "last-months": "අන්තිම {x} මාස", + "last-seen": "අවසන් දුටු", + "leave": "ඉවත් වන්න", + "leave-team": "කණ්ඩායමෙන් ඉවත් වන්න", + "less-than": "වඩා කුඩායි", + "less-than-equals": "වඩා කුඩා හෝ සමානයි", + "link": "සබැඳිය", + "links": "සබැඳි", + "location": "ස්ථානය", "login": "ලොග් වෙන්න", "logout": "පිටවීම", - "manage": "Manage", - "manager": "Manager", - "max": "Max", + "manage": "කළමනාකරණය", + "manager": "කළමනාකරු", + "max": "උපරිම", "maximize": "Expand", - "medium": "Medium", - "member": "Member", - "members": "Members", - "min": "Min", - "minute": "Minute", - "mobile": "Mobile", - "model": "Model", - "month": "Month", + "medium": "මාධ්‍යය", + "member": "සාමාජිකයා", + "members": "සාමාජිකයින්", + "min": "අවම", + "minute": "මිනිත්තුව", + "mobile": "ජංගම", + "model": "ආදර්ශය", + "month": "මාසය", "more": "තවත්", - "my-account": "My account", - "my-websites": "My websites", + "my-account": "මගේ ගිණුම", + "my-websites": "මගේ වෙබ් අඩවි", "name": "නම", "new-password": "අලුත් මුරපදය", "none": "කිසිවක් නැත", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {වාර්තාව} other {වාර්තා}}", "ok": "OK", - "online": "Online", - "organic-search": "Organic search", - "organic-shopping": "Organic shopping", - "organic-social": "Organic social", - "organic-video": "Organic video", + "online": "සබැඳි", + "organic-search": "කාබනික සෙවීම", + "organic-shopping": "කාබනික සාප්පු සවාරි", + "organic-social": "කාබනික සමාජ", + "organic-video": "කාබනික වීඩියෝ", "os": "OS", - "other": "Other", - "overview": "Overview", + "other": "වෙනත්", + "overview": "දළ විసුරුම", "owner": "හිමිකරු", - "page": "Page", - "page-of": "Page {current} of {total}", - "page-views": "Page views", - "pageTitle": "Page title", - "pages": "Pages", - "paid-ads": "Paid ads", - "paid-search": "Paid search", - "paid-shopping": "Paid shopping", - "paid-social": "Paid social", - "paid-video": "Paid video", + "page": "පිටුව", + "page-of": "පිටුව {current} / {total}", + "page-views": "පිටු නැරඹීම්", + "pageTitle": "පිටු මාතෘකාව", + "pages": "පිටු", + "paid-ads": "ගෙවූ දැන්වීම්", + "paid-search": "ගෙවූ සෙවීම", + "paid-shopping": "ගෙවූ සාප්පු සවාරි", + "paid-social": "ගෙවූ සමාජ", + "paid-video": "ගෙවූ වීඩියෝ", "password": "මුරපදය", - "path": "Path", - "paths": "Paths", - "pixel": "Pixel", - "pixels": "Pixels", - "powered-by": "Powered by {name}", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "path": "මාර්ගය", + "paths": "මාර්ග", + "pixel": "පික්සලය", + "pixels": "පික්සල", + "powered-by": "{name} මඟින් බලගැන්වේ", + "preferences": "මනාප", + "previous": "පෙර", + "previous-period": "පෙර කාලය", + "previous-year": "පෙර වසර", "profile": "පැතිකඩ", - "profiles": "Profiles", - "properties": "Properties", - "property": "Property", - "queries": "Queries", - "query": "Query", - "query-parameters": "Query parameters", + "profiles": "පැතිකඩ", + "properties": "ගුණාංග", + "property": "ගුණාංගය", + "queries": "විමසීම්", + "query": "විමසුම", + "query-parameters": "විමසුම් පරාමිති", "realtime": "තත්ය කාල", - "referral": "Referral", - "referrer": "Referrer", - "referrers": "Referrers", + "referral": "යොමු කිරීම", + "referrer": "යොමු කරන්නා", + "referrers": "යොමු කරන්නන්", "refresh": "නැවුම් කරන්න", - "regenerate": "Regenerate", - "region": "Region", - "regions": "Regions", - "remaining": "Remaining", - "remove": "Remove", - "remove-member": "Remove member", - "reports": "Reports", + "regenerate": "නැවත උත්පාදනය", + "region": "කලාපය", + "regions": "කලාප", + "remaining": "ඉතිරි", + "remove": "ඉවත් කරන්න", + "remove-member": "සාමාජිකයා ඉවත් කරන්න", + "reports": "වාර්තා", "required": "අවශ්‍යයි", "reset": "යළි පිහිටුවන්න", "reset-website": "සංඛ්යා ලේඛන නැවත සකසන්න", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", - "revenue": "Revenue", + "retention": "රඳවා ගැනීම", + "retention-description": "පරිශීලකයින් කොපමණ වාරයක් නැවත පැමිණෙනවාද යන්න නිරීක්ෂණය කර ඔබේ වෙබ් අඩවියේ ඇලෙන සුළුබව මනින්න.", + "revenue": "ආදායම", "revenue-description": "Look into your revenue across time.", - "role": "Role", - "run-query": "Run query", + "role": "භූමිකාව", + "run-query": "විමසුම ධාවනය කරන්න", "save": "සුරකින්න", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", - "screens": "Screens", - "search": "Search", - "segment": "Segment", - "segments": "Segments", - "select": "Select", - "select-date": "Select date", - "select-filter": "Select filter", - "select-role": "Select role", - "select-website": "Select website", - "session": "Session", - "session-data": "Session data", - "sessions": "Sessions", + "save-cohort": "සමූහය සුරකින්න", + "save-segment": "ඛණ්ඩය සුරකින්න", + "screen": "තිරය", + "screens": "තිර", + "search": "සෙවීම", + "segment": "ඛණ්ඩය", + "segments": "ඛණ්ඩ", + "select": "තෝරන්න", + "select-date": "දිනය තෝරන්න", + "select-filter": "පෙරහන තෝරන්න", + "select-role": "භූමිකාව තෝරන්න", + "select-website": "වෙබ් අඩවිය තෝරන්න", + "session": "සැසිය", + "session-data": "සැසි දත්ත", + "sessions": "සැසි", "settings": "සැකසුම්", - "share": "Share", + "share": "බෙදාගන්න", "share-url": "බෙදාගැනීමේ URL", "single-day": "තනි දවස", "sms": "SMS", - "source": "Source", - "sources": "Sources", - "start-step": "Start Step", - "steps": "Steps", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", - "tablet": "Tablet", - "tag": "Tag", - "tags": "Tags", - "team": "Team", - "team-id": "Team ID", - "team-manager": "Team manager", - "team-member": "Team member", - "team-name": "Team name", - "team-owner": "Team owner", - "team-settings": "Team settings", - "team-view-only": "Team view only", - "team-websites": "Team websites", - "teams": "Teams", - "term": "Term", - "terms": "Terms", + "source": "මූලාශ්‍රය", + "sources": "මූලාශ්‍ර", + "start-step": "ආරම්භක පියවර", + "steps": "පියවර", + "sum": "එකතුව", + "support": "සහාය", + "switch-account": "ගිණුම මාරු කරන්න", + "table": "වගුව", + "tablet": "ටැබ්ලටය", + "tag": "ටැගය", + "tags": "ටැග්", + "team": "කණ්ඩායම", + "team-id": "කණ්ඩායම් ID", + "team-manager": "කණ්ඩායම් කළමනාකරු", + "team-member": "කණ්ඩායම් සාමාජිකයා", + "team-name": "කණ්ඩායම් නම", + "team-owner": "කණ්ඩායම් හිමිකරු", + "team-settings": "කණ්ඩායම් සැකසුම්", + "team-view-only": "කණ්ඩායම් බැලීම පමණි", + "team-websites": "කණ්ඩායම් වෙබ් අඩවි", + "teams": "කණ්ඩායම්", + "term": "යෙදුම", + "terms": "නියම", "theme": "තේමාව", "this-month": "මෙ මාසය", "this-week": "මේ සතිය", "this-year": "මේ අවුරුද්ද", "timezone": "වේලා කලාපය", - "title": "Title", + "title": "මාතෘකාව", "today": "අද", - "toggle-charts": "Toggle charts", - "total": "Total", - "total-records": "Total records", + "toggle-charts": "ප්‍රස්ථාර ටොගල් කරන්න", + "total": "මුළු", + "total-records": "මුළු වාර්තා", "tracking-code": "ලුහුබැඳීමේ කේතය", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", - "unique-visitors": "Unique visitors", - "uniqueCustomers": "Unique Customers", + "traffic": "ගමනාගමනය", + "transactions": "ගනුදෙනු", + "transfer": "මාරු කරන්න", + "transfer-website": "වෙබ් අඩවිය මාරු කරන්න", + "true": "සත්‍ය", + "type": "වර්ගය", + "unique": "අනන්‍ය", + "unique-events": "අනන්‍ය සිදුවීම්", + "unique-visitors": "අනන්‍ය නරඹන්නන්", + "uniqueCustomers": "අනන්‍ය ගනුදෙනුකරුවන්", "unknown": "නොදනී", - "untitled": "Untitled", - "update": "Update", + "untitled": "නම් නොකළ", + "update": "යාවත්කාලීන කරන්න", "url": "URL", - "user": "User", + "user": "පරිශීලකයා", "username": "පරිශීලක නාමය", - "users": "Users", + "users": "පරිශීලකයින්", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-campaign": "UTM ව්‍යාපාරය", + "utm-content": "UTM අන්තර්ගතය", + "utm-description": "UTM පරාමිති හරහා ඔබේ ව්‍යාපාර නිරීක්ෂණය කරන්න.", + "utm-medium": "UTM මාධ්‍යය", + "utm-source": "UTM මූලාශ්‍රය", + "utm-term": "UTM යෙදුම", + "value": "අගය", + "version": "අනුවාදය", + "view": "බලන්න", "view-details": "තොරතුරු පෙන්වන්න", - "view-only": "View only", - "views": "Views", - "views-per-visit": "Views per visit", - "visit-duration": "Visit duration", - "visitors": "Visitors", - "visits": "Visits", - "website": "Website", - "website-id": "Website ID", + "view-only": "බැලීම පමණි", + "views": "නැරඹීම්", + "views-per-visit": "සංචාරයකට නැරඹීම්", + "visit-duration": "සංචාර කාලය", + "visitors": "නරඹන්නන්", + "visits": "සංචාර", + "website": "වෙබ් අඩවිය", + "website-id": "වෙබ් අඩවි ID", "websites": "වෙබ් අඩවි", - "window": "Window", + "window": "කවුළුව", "yesterday": "ඊයේ" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "තහවුරු කිරීමට පහත කොටුවේ {confirmation} ටයිප් කරන්න.", "active-users": "{x} දැන් {x, plural, one {අමුත්තා} other {අමුත්තන්}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "වලංගු නොවන ඉල්ලීමක්", + "collected-data": "එකතු කළ දත්ත", "confirm-delete": "{target} මකා දැමීම ගැන විශ්වාසද?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "ඔබට {target} වෙතින් ඉවත් වීමට අවශ්‍ය බව විශ්වාසද?", + "confirm-remove": "ඔබට {target} ඉවත් කිරීමට අවශ්‍ය බව විශ්වාසද?", "confirm-reset": "{target} ට අදාල සංඛ්‍යාලේඛන නැවත පිහිටුවීමට අවශ්‍යද?", - "delete-team-warning": "Deleting a team will also delete all team websites.", - "delete-website-warning": "All website data will be deleted.", - "error": "Something went wrong.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "delete-team-warning": "කණ්ඩායමක් මකා දැමීමෙන් එහි සියලු වෙබ් අඩවි ද මැකෙනු ඇත.", + "delete-website-warning": "සියලුම වෙබ් අඩවි දත්ත මකා දැමෙනු ඇත.", + "error": "යමක් වැරදී ගියා.", + "event-log": "{url} හි {event}", + "forbidden": "තහනම්", "go-to-settings": "සැකසීම් වෙත යන්න", "incorrect-username-password": "වැරදි පරිශීලක නාමය/මුරපදය.", - "invalid-domain": "Invalid domain. Do not include http/https.", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "invalid-domain": "වලංගු නොවන ඩොමේනයකි. http/https ඇතුළත් නොකරන්න.", + "min-password-length": "අවම {n} අක්ෂර දිග", + "new-version-available": "Umami හි නව අනුවාදයක් {version} ලබා ගත හැකිය!", "no-data-available": "පෙන්වීමට දත්ත නොමැත.", - "no-event-data": "No event data is available.", - "no-match-password": "Passwords do not match.", + "no-event-data": "සිදුවීම් දත්ත නොමැත.", + "no-match-password": "මුරපද නොගැළපේ.", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", - "no-websites-configured": "You do not have any websites configured.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "no-team-websites": "මෙම කණ්ඩායමට වෙබ් අඩවි නොමැත.", + "no-teams": "ඔබ කිසිදු කණ්ඩායමක් සාදා නැත.", + "no-users": "පරිශීලකයින් නොමැත.", + "no-websites-configured": "ඔබ වෙබ් අඩවි කිසිවක් සකසා නැත.", + "not-found": "සොයා ගත නොහැක", + "nothing-selected": "කිසිවක් තෝරා නැත.", "page-not-found": "පිටුව හමු නොවීය.", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", - "reset-website-warning": "All statistics for this website will be deleted, but your settings will remain intact.", - "saved": "Saved.", - "sever-error": "Server error", + "reset-website": "මෙම වෙබ් අඩවිය නැවත පිහිටුවීමට, පහත කොටුවේ {confirmation} ටයිප් කර තහවුරු කරන්න.", + "reset-website-warning": "මෙම වෙබ් අඩවියට අදාල සියලු සංඛ්‍යාලේඛන මකා දැමෙනු ඇත, නමුත් ඔබේ සැකසුම් නොවෙනස්ව පවතිනු ඇත.", + "saved": "සුරකින ලදි.", + "sever-error": "සේවාදායක දෝෂයකි", "share-url": "මේ {target} සඳහා ප්‍රසිද්ධියේ බෙදාගත් URL එකයි.", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", - "tracking-code": "To track stats for this website, place the following code in the ... section of your HTML.", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", - "visitor-log": "Visitor from {country} using {browser} on {os} {device}" + "team-already-member": "ඔබ දැනටමත් මෙම කණ්ඩායමේ සාමාජිකයෙකි.", + "team-not-found": "කණ්ඩායම සොයා ගත නොහැක.", + "team-websites-info": "කණ්ඩායමේ ඕනෑම කෙනෙකුට වෙබ් අඩවි බැලිය හැකිය.", + "tracking-code": "මෙම වෙබ් අඩවියේ සංඛ්‍යාලේඛන නිරීක්ෂණය කිරීමට, පහත කේතය ඔබේ HTML හි ... කොටස තුළ තබන්න.", + "transfer-team-website-to-user": "මෙම වෙබ් අඩවිය ඔබේ ගිණුමට මාරු කරන්නද?", + "transfer-user-website-to-team": "මෙම වෙබ් අඩවිය මාරු කිරීමට කණ්ඩායම තෝරන්න.", + "transfer-website": "වෙබ් අඩවියේ හිමිකාරිත්වය ඔබේ ගිණුමට හෝ වෙනත් කණ්ඩායමකට මාරු කරන්න.", + "triggered-event": "අවුලුවන ලද සිදුවීම", + "unauthorized": "අනවසරයි", + "user-deleted": "පරිශීලකයා මකා දමන ලදි.", + "viewed-page": "නැරඹූ පිටුව", + "visitor-log": "{country} සිට {os} {device} හි {browser} භාවිතා කරන නරඹන්නා" } } diff --git a/public/intl/messages/sk-SK.json b/public/intl/messages/sk-SK.json index a433476a7..00ea51ba1 100644 --- a/public/intl/messages/sk-SK.json +++ b/public/intl/messages/sk-SK.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Prístupový kód", - "account": "Account", - "action": "Action", + "account": "Účet", + "action": "Akcia", "actions": "Akcie", "activity": "Denník aktivít", "add": "Pridať", "add-board": "Pridať tabuľu", "add-description": "Pridať popis", - "add-link": "Add link", + "add-link": "Pridať odkaz", "add-member": "Pridať člena", - "add-pixel": "Add pixel", + "add-pixel": "Pridať pixel", "add-step": "Pridať krok", "add-website": "Pridať web", "admin": "Administrátor", @@ -18,13 +18,13 @@ "after": "Po", "all": "Všetko", "all-time": "Celý čas", - "analysis": "Analysis", + "analysis": "Analýza", "analytics": "Analytika", - "application": "Application", + "application": "Aplikácia", "apply": "Použiť", "attribution": "Priradenie", "attribution-description": "Pozrite sa, ako používatelia interagujú s vaším marketingom a čo vedie ku konverziám.", - "audience": "Audience", + "audience": "Publikum", "average": "Priemer", "back": "Späť", "before": "Pred", @@ -34,25 +34,25 @@ "breakdown": "Rozpis", "browser": "Prehliadač", "browsers": "Prehliadač", - "campaign": "Campaign", + "campaign": "Kampaň", "campaigns": "Kampane", "cancel": "Zrušiť", "change-password": "Zmeniť heslo", - "channel": "Channel", + "channel": "Kanál", "channels": "Kanály", - "chart": "Chart", + "chart": "Graf", "cities": "Mestá", "city": "Mesto", "clear-all": "Vymazať všetko", "cohort": "Kohorta", - "cohorts": "Cohorts", + "cohorts": "Kohorty", "compare": "Porovnať", "compare-dates": "Porovnať dátumy", "confirm": "Potvrdiť", "confirm-password": "Potvrdiť heslo", - "contains": "Contains", + "contains": "Obsahuje", "content": "Obsah", - "continue": "Continue", + "continue": "Pokračovať", "conversion": "Konverzia", "conversion-rate": "Miera konverzie", "conversion-step": "Krok konverzie", @@ -65,14 +65,14 @@ "create-user": "Vytvoriť používateľa", "created": "Vytvorené", "created-by": "Vytvoril", - "criteria": "Criteria", + "criteria": "Kritériá", "currency": "Mena", "current": "Aktuálny", "current-password": "Aktuálne heslo", "custom-range": "Vlastný rozsah", "dashboard": "Prehlad", - "data": "Data", - "date": "Date", + "data": "Dáta", + "date": "Dátum", "date-range": "Obdobie", "day": "Deň", "default-date-range": "Predvolené obdobie", @@ -83,33 +83,33 @@ "delete-website": "Zmazať web", "description": "Popis", "desktop": "Stolný počítač", - "destination-url": "Destination URL", - "details": "Details", + "destination-url": "Cieľová URL", + "details": "Podrobnosti", "device": "Zariadenie", "devices": "Zariadenie", "direct": "Priamy", "dismiss": "Odísť", "distinct-id": "Jedinečné ID", - "documentation": "Documentation", + "documentation": "Dokumentácia", "does-not-contain": "Neobsahuje", "does-not-include": "Nezahŕňa", "doest-not-exist": "Neexistuje", "domain": "Doména", - "download": "Download", - "dropoff": "Dropoff", + "download": "Stiahnuť", + "dropoff": "Odchod", "edit": "Upraviť", "edit-dashboard": "Upraviť prehľad", "edit-member": "Upraviť člena", - "email": "Email", + "email": "E-mail", "enable-share-url": "Povoliť zdielanie URL", "end-step": "Konečný krok", "entry": "Vstupná URL", - "environment": "Environment", + "environment": "Prostredie", "event": "Udalosť", "event-data": "Dáta udalosti", "event-name": "Názov udalosti", "events": "Udalosti", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Vylúčiť odmietnutia", "exists": "Existuje", "exit": "Výstupná URL", "false": "Nepravda", @@ -130,14 +130,14 @@ "greater-than": "Väčšie ako", "greater-than-equals": "Väčšie alebo rovné", "grouped": "Zoskupené", - "growth": "Growth", + "growth": "Rast", "hostname": "Názov hostiteľa", - "hour": "Hour", + "hour": "Hodina", "includes": "Zahŕňa", "insight": "Prehľad", - "insights": "Insights", - "insights-description": "Dive deeper into your data by using segments and filters.", - "invalid-url": "Invalid URL", + "insights": "Prehľady", + "insights-description": "Ponorte sa hlbšie do vašich dát pomocou segmentov a filtrov.", + "invalid-url": "Neplatná URL", "is": "Je", "is-false": "Je nepravda", "is-not": "Nie je", @@ -161,9 +161,9 @@ "leave-team": "Opustiť tím", "less-than": "Menej ako", "less-than-equals": "Menej alebo rovné", - "link": "Link", + "link": "Odkaz", "links": "Odkazy", - "location": "Location", + "location": "Umiestnenie", "login": "Prihlásiť", "logout": "Odhlásiť", "manage": "Spravovať", @@ -174,17 +174,17 @@ "member": "Člen", "members": "Členovia", "min": "Minimum", - "minute": "Minute", + "minute": "Minúta", "mobile": "Mobilný telefon", "model": "Model", - "month": "Month", + "month": "Mesiac", "more": "Viac", "my-account": "Môj účet", "my-websites": "Moje weby", "name": "Meno", "new-password": "Nové heslo", "none": "Žiadny", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {záznam} few {záznamy} other {záznamov}}", "ok": "OK", "online": "Online", "organic-search": "Organické vyhľadávanie", @@ -193,12 +193,12 @@ "organic-video": "Organické video", "os": "OS", "other": "Iné", - "overview": "Overview", - "owner": "Owner", + "overview": "Prehľad", + "owner": "Vlastník", "page": "Stránka", - "page-of": "Page {current} of {total}", + "page-of": "Strana {current} z {total}", "page-views": "Zobrazenie stánok", - "pageTitle": "Page title", + "pageTitle": "Názov stránky", "pages": "Stránky", "paid-ads": "Platené reklamy", "paid-search": "Platené vyhľadávanie", @@ -210,180 +210,180 @@ "paths": "Cesty", "pixel": "Pixel", "pixels": "Pixely", - "powered-by": "Powered by {name}", - "preferences": "Preferences", + "powered-by": "Poskytuje {name}", + "preferences": "Predvoľby", "previous": "Predchádzajúci", "previous-period": "Predchádzajúce obdobie", "previous-year": "Predchádzajúci rok", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profily", "properties": "Vlastnosti", "property": "Vlastnosť", - "queries": "Queries", - "query": "Query", - "query-parameters": "Query parameters", + "queries": "Dotazy", + "query": "Dotaz", + "query-parameters": "Parametre dotazu", "realtime": "Aktuálne", "referral": "Odporúčanie", - "referrer": "Referrer", + "referrer": "Odkazovateľ", "referrers": "Odkazy", "refresh": "Obnoviť", - "regenerate": "Regenerate", - "region": "Region", - "regions": "Regions", + "regenerate": "Regenerovať", + "region": "Región", + "regions": "Regióny", "remaining": "Zostáva", - "remove": "Remove", - "remove-member": "Remove member", - "reports": "Reports", + "remove": "Odstrániť", + "remove-member": "Odstrániť člena", + "reports": "Správy", "required": "Povinné", - "reset": "Reset", + "reset": "Resetovať", "reset-website": "Reset statistics", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", + "retention": "Retencia", + "retention-description": "Merajte angažovanosť vašej stránky sledovaním, ako často sa používatelia vracajú.", "revenue": "Príjem", "revenue-description": "Pozrite si svoj príjem v priebehu času.", - "role": "Role", - "run-query": "Run query", + "role": "Rola", + "run-query": "Spustiť dotaz", "save": "Uložiť", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", - "screens": "Screens", - "search": "Search", + "save-cohort": "Uložiť kohortu", + "save-segment": "Uložiť segment", + "screen": "Obrazovka", + "screens": "Obrazovky", + "search": "Hľadať", "segment": "Segment", - "segments": "Segments", - "select": "Select", - "select-date": "Select date", + "segments": "Segmenty", + "select": "Vybrať", + "select-date": "Vybrať dátum", "select-filter": "Vybrať filter", - "select-role": "Select role", - "select-website": "Select website", + "select-role": "Vybrať rolu", + "select-website": "Vybrať web", "session": "Sedenie", "session-data": "Dáta sedenia", - "sessions": "Sessions", + "sessions": "Relácie", "settings": "Nastavenia", "share": "Zdieľať", "share-url": "Zdielanie URL", "single-day": "Jeden deň", "sms": "SMS", - "source": "Source", + "source": "Zdroj", "sources": "Zdroje", - "start-step": "Start Step", - "steps": "Steps", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "start-step": "Počiatočný krok", + "steps": "Kroky", + "sum": "Súčet", + "support": "Podpora", + "switch-account": "Prepnúť účet", + "table": "Tabuľka", "tablet": "Tablet", "tag": "Značka", "tags": "Značky", - "team": "Team", - "team-id": "Team ID", + "team": "Tím", + "team-id": "ID tímu", "team-manager": "Manažér tímu", - "team-member": "Team member", - "team-name": "Team name", - "team-owner": "Team owner", + "team-member": "Člen tímu", + "team-name": "Názov tímu", + "team-owner": "Vlastník tímu", "team-settings": "Nastavenia tímu", - "team-view-only": "Team view only", - "team-websites": "Team websites", - "teams": "Teams", - "term": "Term", + "team-view-only": "Iba zobrazenie pre tím", + "team-websites": "Weby tímu", + "teams": "Tímy", + "term": "Hľadaný výraz", "terms": "Podmienky", - "theme": "Theme", + "theme": "Téma", "this-month": "Tento mesiac", "this-week": "Tento týždeň", "this-year": "Tento rok", "timezone": "Časová zóna", - "title": "Title", + "title": "Názov", "today": "Dnes", - "toggle-charts": "Toggle charts", - "total": "Total", - "total-records": "Total records", + "toggle-charts": "Prepnúť grafy", + "total": "Celkom", + "total-records": "Celkom záznamov", "tracking-code": "Sledovací kód", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "Návštevnosť", + "transactions": "Transakcie", + "transfer": "Preniesť", + "transfer-website": "Preniesť web", + "true": "Pravda", + "type": "Typ", + "unique": "Unikátny", + "unique-events": "Unikátne udalosti", "unique-visitors": "Jedinečné návštevy", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Unikátni zákazníci", "unknown": "Neznámý", - "untitled": "Untitled", - "update": "Update", + "untitled": "Bez názvu", + "update": "Aktualizovať", "url": "URL", - "user": "User", + "user": "Používateľ", "username": "Užívateľské meno", - "users": "Users", + "users": "Používatelia", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-campaign": "UTM kampaň", + "utm-content": "UTM obsah", + "utm-description": "Sledujte svoje kampane pomocou UTM parametrov.", + "utm-medium": "UTM médium", + "utm-source": "UTM zdroj", + "utm-term": "UTM výraz", + "value": "Hodnota", + "version": "Verzia", + "view": "Zobraziť", "view-details": "Zobraziť detaily", - "view-only": "View only", + "view-only": "Iba zobrazenie", "views": "Zobrazení", - "views-per-visit": "Views per visit", + "views-per-visit": "Zobrazenia na návštevu", "visit-duration": "Priemerný čas návštevy", "visitors": "Návštevy", - "visits": "Visits", - "website": "Website", - "website-id": "Website ID", + "visits": "Návštevy", + "website": "Web", + "website-id": "ID webu", "websites": "Weby", - "window": "Window", - "yesterday": "Yesterday" + "window": "Okno", + "yesterday": "Včera" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "Zadajte {confirmation} do poľa nižšie na potvrdenie.", "active-users": "{x} aktuálne {x, plural, one {návštevník} other {návštěvníci}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Neplatná požiadavka", + "collected-data": "Zozbierané dáta", "confirm-delete": "Naozaj zmazať {target}?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "Naozaj chcete opustiť {target}?", + "confirm-remove": "Naozaj chcete odstrániť {target}?", "confirm-reset": "Are your sure you want to reset {target}'s statistics?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "Vymazanie tímu vymaže aj všetky weby tímu.", "delete-website-warning": "Všetky príbuzné data budu tiež zmazané.", "error": "Niečo sa pokazilo.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} na {url}", + "forbidden": "Zakázané", "go-to-settings": "Ísť do nastavení", "incorrect-username-password": "Nesprávné meno/heslo.", "invalid-domain": "Neplatná doména", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "Minimálna dĺžka {n} znakov", + "new-version-available": "K dispozícii je nová verzia Umami {version}!", "no-data-available": "Žiadne data.", - "no-event-data": "No event data is available.", + "no-event-data": "Nie sú dostupné žiadne údaje o udalostiach.", "no-match-password": "Hesla se nezhodujú", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "Tento tím nemá žiadne weby.", + "no-teams": "Nevytvorili ste žiadne tímy.", + "no-users": "Nie sú žiadni používatelia.", "no-websites-configured": "Nemáte nastavený žiadny web.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Nenájdené", + "nothing-selected": "Nič nie je vybrané.", "page-not-found": "Stránka sa nenašla.", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "Na resetovanie tohto webu zadajte {confirmation} do poľa nižšie.", "reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", "saved": "Úspešne uložené.", - "sever-error": "Server error", + "sever-error": "Chyba servera", "share-url": "Toto je zdielané URL pre {target}.", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "Už ste členom tohto tímu.", + "team-not-found": "Tím nenájdený.", + "team-websites-info": "Weby si môže zobraziť ktokoľvek z tímu.", "tracking-code": "Sledovací kód", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "transfer-team-website-to-user": "Preniesť tento web na váš účet?", + "transfer-user-website-to-team": "Vyberte tím, na ktorý chcete tento web preniesť.", + "transfer-website": "Preneste vlastníctvo webu na svoj účet alebo iný tím.", + "triggered-event": "Spustená udalosť", + "unauthorized": "Neautorizované", + "user-deleted": "Používateľ vymazaný.", + "viewed-page": "Zobrazená stránka", "visitor-log": "Návštevník z {country} s prehliadačom {browser} na {os} {device}" } } diff --git a/public/intl/messages/sl-SI.json b/public/intl/messages/sl-SI.json index f6caa5f35..af1c9b6a8 100644 --- a/public/intl/messages/sl-SI.json +++ b/public/intl/messages/sl-SI.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Koda za dostop", - "account": "Account", - "action": "Action", + "account": "Račun", + "action": "Dejanje", "actions": "Dejanja", "activity": "Dnevnik dejavnosti", "add": "Dodaj", "add-board": "Dodaj tablo", "add-description": "Dodaj opis", - "add-link": "Add link", + "add-link": "Dodaj povezavo", "add-member": "Dodaj člana", - "add-pixel": "Add pixel", + "add-pixel": "Dodaj piksel", "add-step": "Dodaj korak", "add-website": "Dodaj spletno mesto", "admin": "Administrator", @@ -18,13 +18,13 @@ "after": "Po", "all": "Vsi", "all-time": "Ves čas", - "analysis": "Analysis", + "analysis": "Analiza", "analytics": "Analitika", - "application": "Application", + "application": "Aplikacija", "apply": "Uporabi", "attribution": "Pripis", "attribution-description": "Oglejte si, kako uporabniki sodelujejo z vašim marketingom in kaj spodbuja konverzije.", - "audience": "Audience", + "audience": "Občinstvo", "average": "Povprečno", "back": "Nazaj", "before": "Pred", @@ -34,23 +34,28 @@ "breakdown": "Razčlenitev", "browser": "Brskalnik", "browsers": "Brskalniki", - "campaign": "Campaign", + "campaign": "Kampanja", "campaigns": "Kampanje", "cancel": "Prekliči", "change-password": "Zamenjaj geslo", - "channel": "Channel", + "channel": "Kanal", "channels": "Kanali", - "chart": "Chart", + "chart": "Grafikon", "cities": "Mesta", "city": "Mesto", "clear-all": "Počisti vse", - "cohorts": "Cohorts", + "cohort": "Kohorta", + "cohorts": "Kohorte", "compare": "Primerjaj", + "compare-dates": "Primerjaj datume", "confirm": "Potrdi", "confirm-password": "Potrdi geslo", "contains": "Vsebuje", "content": "Vsebina", "continue": "Nadaljuj", + "conversion": "Konverzija", + "conversion-rate": "Stopnja konverzije", + "conversion-step": "Korak konverzije", "count": "Število", "countries": "Države", "country": "Država", @@ -60,7 +65,8 @@ "create-user": "Ustvari uporabnika", "created": "Ustvarjeno", "created-by": "Ustvaril", - "criteria": "Criteria", + "criteria": "Merila", + "currency": "Valuta", "current": "Trenutno", "current-password": "Trenutno geslo", "custom-range": "Obdobje po meri", @@ -77,32 +83,34 @@ "delete-website": "Izbriši spletno mesto", "description": "Opis", "desktop": "Namizni računalnik", - "destination-url": "Destination URL", + "destination-url": "Ciljni URL", "details": "Podrobnosti", "device": "Naprava", "devices": "Naprave", "direct": "Neposredno", "dismiss": "Prezri", "distinct-id": "Unikatni ID", - "documentation": "Documentation", + "documentation": "Dokumentacija", "does-not-contain": "Ne vsebuje", "does-not-include": "Ne vključuje", "doest-not-exist": "Ne obstaja", "domain": "Domena", - "download": "Download", + "download": "Prenesi", "dropoff": "Zapustitev", "edit": "Uredi", "edit-dashboard": "Uredi nadzorno ploščo", "edit-member": "Uredi člana", + "email": "E-pošta", "enable-share-url": "Omogoči povezavo za deljenje", "end-step": "Končni korak", "entry": "Vstopni URL", - "environment": "Environment", + "environment": "Okolje", "event": "Dogodek", "event-data": "Podatki dogodka", "event-name": "Ime dogodka", "events": "Dogodki", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Izključi odbite", + "exists": "Obstaja", "exit": "Izhodni URL", "false": "Napačno", "field": "Polje", @@ -111,21 +119,25 @@ "filter-combined": "Skupaj", "filter-raw": "Neobdelano", "filters": "Filtri", + "first-click": "Prvi klik", "first-seen": "Prvič viden", "funnel": "Prodajni lijak", "funnel-description": "Razumite stopnjo konverzije in osipa uporabnikov.", + "funnels": "Prodajni lijaki", "goal": "Cilj", "goals": "Cilji", "goals-description": "Spremljajte svoje cilje za oglede strani in dogodke.", "greater-than": "Večje od", "greater-than-equals": "Večje ali enako kot", - "growth": "Growth", - "host": "Gostitelj", - "hosts": "Gostitelji", - "hour": "Hour", + "grouped": "Združeno", + "growth": "Rast", + "hostname": "Ime gostitelja", + "hour": "Ura", + "includes": "Vključuje", + "insight": "Vpogled", "insights": "Vpogled", "insights-description": "Poglobite se v podatke z uporabo segmentov in filtrov.", - "invalid-url": "Invalid URL", + "invalid-url": "Neveljaven URL", "is": "Je", "is-false": "Je napačno", "is-not": "Ni", @@ -136,6 +148,7 @@ "join-team": "Pridruži se ekipi", "journey": "Uporabniška pot", "journey-description": "Razumite, kako uporabniki krmarijo po vašem spletnem mestu.", + "journeys": "Uporabniške poti", "language": "Jezik", "languages": "Jeziki", "laptop": "Prenosni računalnik", @@ -148,30 +161,32 @@ "leave-team": "Zapusti ekipo", "less-than": "Manjše kot", "less-than-equals": "Manjše ali enako kot", - "link": "Link", + "link": "Povezava", "links": "Povezave", - "location": "Location", + "location": "Lokacija", "login": "Prijava", "logout": "Odjava", "manage": "Upravljaj", "manager": "Upravitelj", "max": "Največ", + "maximize": "Povečaj", + "medium": "Medij", "member": "Član", "members": "Člani", "min": "Najmanj", - "minute": "Minute", + "minute": "Minuta", "mobile": "Mobilne naprave", "model": "Model", - "month": "Month", + "month": "Mesec", "more": "Več", "my-account": "Moj račun", "my-websites": "Moja spletna mesta", "name": "Ime", "new-password": "Novo geslo", "none": "Noben", - "number-of-records": "{x} {x, plural, one {record} other {records}}", - "ok": "OK", - "online": "Online", + "number-of-records": "{x} {x, plural, one {zapis} two {zapisa} few {zapisi} other {zapisov}}", + "ok": "V redu", + "online": "Na spletu", "organic-search": "Organsko iskanje", "organic-shopping": "Organski nakupi", "organic-social": "Organska družbena omrežja", @@ -193,14 +208,15 @@ "password": "Geslo", "path": "Pot", "paths": "Poti", - "pixel": "Pixel", + "pixel": "Piksel", + "pixels": "Piksli", "powered-by": "Poganja {name}", - "preferences": "Preferences", + "preferences": "Nastavitve", "previous": "Prejšnji", "previous-period": "Prejšnje obdobje", "previous-year": "Prejšnje leto", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profili", "properties": "Lastnosti", "property": "Lastnost", "queries": "Poizvedbe", @@ -225,34 +241,37 @@ "retention-description": "Merite uporabnikovo zadržanost s sledenjem, kako pogosto se vračajo.", "revenue": "Prihodki", "revenue-description": "Preglejte svoje prihodke skozi čas.", - "revenue-property": "Lastnost prihodkov", "role": "Vloga", "run-query": "Izvedi poizvedbo", "save": "Shrani", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Shrani kohorto", + "save-segment": "Shrani segment", + "screen": "Zaslon", "screens": "Zasloni", "search": "Išči", "segment": "Segment", - "segments": "Segments", + "segments": "Segmenti", "select": "Izberi", "select-date": "Izberi datum", + "select-filter": "Izberi filter", "select-role": "Izberi vlogo", "select-website": "Izberi spletno mesto", "session": "Seja", + "session-data": "Podatki seje", "sessions": "Seje", "settings": "Nastavitve", "share": "Deli", "share-url": "Deli povezavo", "single-day": "En dan", - "source": "Source", + "sms": "SMS", + "source": "Vir", + "sources": "Viri", "start-step": "Začetni korak", "steps": "Koraki", "sum": "Seštevek", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Podpora", + "switch-account": "Zamenjaj račun", + "table": "Tabela", "tablet": "Tablični računalnik", "tag": "Oznaka", "tags": "Oznake", @@ -262,10 +281,11 @@ "team-member": "Član ekipe", "team-name": "Ime ekipe", "team-owner": "Lastnik ekipe", + "team-settings": "Nastavitve ekipe", "team-view-only": "Ekipa samo za ogled", "team-websites": "Spletna mesta ekipe", "teams": "Ekipe", - "term": "Term", + "term": "Iskalni izraz", "terms": "Pogoji", "theme": "Tema", "this-month": "Ta mesec", @@ -278,49 +298,53 @@ "total": "Skupaj", "total-records": "Skupni zapisi", "tracking-code": "Koda za sledenje", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", + "traffic": "Promet", + "transactions": "Transakcije", + "transfer": "Prenesi", + "transfer-website": "Prenesi spletno stran", "true": "Pravilno", "type": "Vrsta", "unique": "Unikatni", - "unique-events": "Unique events", + "unique-events": "Edinstveni dogodki", "unique-visitors": "Unikatni obiskovalci", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Edinstvene stranke", "unknown": "Neznano", "untitled": "Brez naslova", - "update": "Update", + "update": "Posodobi", "url": "URL", "user": "Uporabnik", "username": "Uporabniško ime", "users": "Uporabniki", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-campaign": "UTM kampanja", + "utm-content": "UTM vsebina", + "utm-description": "Sledite svojim kampanjam s pomočjo UTM parametrov.", + "utm-medium": "UTM medij", + "utm-source": "UTM vir", + "utm-term": "UTM izraz", "value": "Vrednost", - "version": "Version", + "version": "Različica", "view": "Poglej", "view-details": "Poglej podrobnosti", "view-only": "Samo ogledovanje", "views": "Obiski", - "views-per-visit": "Views per visit", + "views-per-visit": "Ogledov na obisk", "visit-duration": "Povprečni čas obiska", "visitors": "Obiskovalci", - "visits": "Visits", + "visits": "Obiski", "website": "Spletno mesto", "website-id": "ID spletnega mesta", "websites": "Spletna mesta", "window": "Okno", - "yesterday": "Včeraj" + "yesterday": "Včeraj", + "host": "Gostitelj", + "hosts": "Gostitelji", + "revenue-property": "Lastnost prihodkov" }, "message": { "action-confirmation": "Za potrditev v spodnje polje vnesite {confirmation}.", "active-users": "{x} trenutni {x, plural, one {obiskovalec} other {obiskovalcev}}", + "bad-request": "Napačna zahteva", "collected-data": "Zbrani podatki", "confirm-delete": "Ste prepričani, da želite izbrisati {target}?", "confirm-leave": "Ste prepričani, da želite zapustiti {target}?", @@ -330,7 +354,7 @@ "delete-website-warning": "Izbrisani bodo tudi vsi pripadajoči podatki.", "error": "Nekaj je šlo narobe.", "event-log": "{event} na {url}", - "forbidden": "Forbidden", + "forbidden": "Prepovedano", "go-to-settings": "Pojdi v nastavitve", "incorrect-username-password": "Nepravilno uporabniško ime/geslo.", "invalid-domain": "Neveljavna domena", @@ -344,13 +368,13 @@ "no-teams": "Niste še ustvarili nobene ekipe.", "no-users": "Ni uporabnikov.", "no-websites-configured": "Nimate nastavljenih nobenih spletnih mest.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Ni najdeno", + "nothing-selected": "Nič ni izbrano.", "page-not-found": "Stran ni bila najdena.", "reset-website": "Za ponastavitev izbrisa tega spletnega mesta vnesite {confirmation} v spodnje polje.", "reset-website-warning": "Vse statistike za to spletno mesto bodo izbrisane, koda za sledenje pa bo ostala nespremenjena.", "saved": "Uspešno shranjeno.", - "sever-error": "Server error", + "sever-error": "Napaka strežnika", "share-url": "To je javno dostopna povezava za {target}.", "team-already-member": "Ste že član ekipe.", "team-not-found": "Ekipa ni bila najdena.", @@ -360,6 +384,7 @@ "transfer-user-website-to-team": "Izberite ekipo, na katero želite prenesti to spletno mesto.", "transfer-website": "Prenesite lastništvo spletnega mesta na svoj račun ali drugo ekipo.", "triggered-event": "Sprožen dogodek", + "unauthorized": "Nepooblaščen dostop", "user-deleted": "Uporabnik je izbrisan.", "viewed-page": "Ogledana stran", "visitor-log": "Obiskovalec iz {country} uporablja {browser} na {os} {device}", diff --git a/public/intl/messages/sv-SE.json b/public/intl/messages/sv-SE.json index dc70b044b..85d1280a8 100644 --- a/public/intl/messages/sv-SE.json +++ b/public/intl/messages/sv-SE.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Åtkomstkod", - "account": "Account", - "action": "Action", + "account": "Konto", + "action": "Åtgärd", "actions": "Händelser", "activity": "Aktivitetslogg", "add": "Lägg till", "add-board": "Lägg till anslagstavla", "add-description": "Lägg till beskrivning", - "add-link": "Add link", + "add-link": "Lägg till länk", "add-member": "Lägg till medlem", - "add-pixel": "Add pixel", + "add-pixel": "Lägg till pixel", "add-step": "Lägg till steg", "add-website": "Lägg till webbplats", "admin": "Administratör", @@ -18,13 +18,13 @@ "after": "Efter", "all": "Alla", "all-time": "Sedan början", - "analysis": "Analysis", + "analysis": "Analys", "analytics": "Webbplats Analys", - "application": "Application", + "application": "Applikation", "apply": "Tillämpa", "attribution": "Attribuering", "attribution-description": "Se hur användare interagerar med din marknadsföring och vad som driver konverteringar.", - "audience": "Audience", + "audience": "Publik", "average": "Genomsnitt", "back": "Tillbaka", "before": "Före", @@ -34,18 +34,18 @@ "breakdown": "Analys", "browser": "Webbläsare", "browsers": "Webbläsare", - "campaign": "Campaign", + "campaign": "Kampanj", "campaigns": "Kampanjer", "cancel": "Avbryt", "change-password": "Byt lösenord", - "channel": "Channel", + "channel": "Kanal", "channels": "Kanaler", - "chart": "Chart", + "chart": "Diagram", "cities": "Städer", "city": "Stad", "clear-all": "Rensa alla", "cohort": "Kohort", - "cohorts": "Cohorts", + "cohorts": "Kohorter", "compare": "Jämför", "compare-dates": "Jämför datum", "confirm": "Bekräfta", @@ -65,7 +65,7 @@ "create-user": "Skapa användare", "created": "Skapad", "created-by": "Skapad av", - "criteria": "Criteria", + "criteria": "Kriterier", "currency": "Valuta", "current": "Nuvarande", "current-password": "Nuvarande lösenord", @@ -83,33 +83,33 @@ "delete-website": "Radera webbplats", "description": "Beskrivning", "desktop": "Stationär", - "destination-url": "Destination URL", + "destination-url": "Mål-URL", "details": "Detaljer", "device": "Enhet", "devices": "Enheter", "direct": "Direkt", "dismiss": "Avbryt", "distinct-id": "Unikt ID", - "documentation": "Documentation", + "documentation": "Dokumentation", "does-not-contain": "Innehåller inte", "does-not-include": "Inkluderar inte", "doest-not-exist": "Existerar inte", "domain": "Domän", - "download": "Download", + "download": "Ladda ner", "dropoff": "Bortfall", "edit": "Redigera", "edit-dashboard": "Redigera översikt", "edit-member": "Redigera medlem", - "email": "Email", + "email": "E-post", "enable-share-url": "Aktivera delningslänk", "end-step": "Slutsteg", "entry": "Ingångs-URL", - "environment": "Environment", + "environment": "Miljö", "event": "Händelse", "event-data": "Händelsedata", "event-name": "Händelsenamn", "events": "Händelser", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Exkludera avvisning", "exists": "Existerar", "exit": "Exit URL", "false": "Falskt", @@ -120,8 +120,8 @@ "filter-raw": "Rådata", "filters": "Filter", "first-click": "Första klicket", - "first-seen": "First seen", - "funnel": "Funnel", + "first-seen": "Först sedd", + "funnel": "Tratt", "funnel-description": "Förstå omvandlingen och bortfallsfrekvensen för användare.", "funnels": "Trattar", "goal": "Mål", @@ -130,14 +130,14 @@ "greater-than": "Större än", "greater-than-equals": "Större än eller lika med", "grouped": "Grupperad", - "growth": "Growth", + "growth": "Tillväxt", "hostname": "Värdnamn", - "hour": "Hour", + "hour": "Timme", "includes": "Inkluderar", "insight": "Insikt", "insights": "Insikter", "insights-description": "Dyk djupare in i din data genom att använda olika segment och filter.", - "invalid-url": "Invalid URL", + "invalid-url": "Ogiltig URL", "is": "Är", "is-false": "Är falskt", "is-not": "Är inte", @@ -161,30 +161,30 @@ "leave-team": "Lämna team", "less-than": "Mindre än", "less-than-equals": "Mindre än eller lika med", - "link": "Link", + "link": "Länk", "links": "Länkar", - "location": "Location", + "location": "Plats", "login": "Logga in", "logout": "Logga ut", - "manage": "Manage", - "manager": "Manager", + "manage": "Hantera", + "manager": "Ansvarig", "max": "Max", "maximize": "Expandera", "medium": "Medium", "member": "Medlem", "members": "Medlemmar", "min": "Min", - "minute": "Minute", + "minute": "Minut", "mobile": "Mobil", "model": "Modell", - "month": "Month", + "month": "Månad", "more": "Mer", "my-account": "Mitt konto", "my-websites": "Mina webbplatser", "name": "Namn", "new-password": "Nytt lösenord", "none": "Ingen", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {post} other {poster}}", "ok": "OK", "online": "Online", "organic-search": "Organisk sökning", @@ -211,12 +211,12 @@ "pixel": "Pixel", "pixels": "Pixlar", "powered-by": "Drivs av {name}", - "preferences": "Preferences", + "preferences": "Inställningar", "previous": "Föregående", "previous-period": "Föregående period", "previous-year": "Föregående år", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profiler", "properties": "Egenskaper", "property": "Egenskap", "queries": "Frågor", @@ -232,7 +232,7 @@ "regions": "Regioner", "remaining": "Återstår", "remove": "Ta bort", - "remove-member": "Remove member", + "remove-member": "Ta bort medlem", "reports": "Rapporter", "required": "Krävs", "reset": "Återställ", @@ -244,17 +244,17 @@ "role": "Roll", "run-query": "Kör sökning", "save": "Spara", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Spara kohort", + "save-segment": "Spara segment", + "screen": "Skärm", "screens": "Upplösning", "search": "Sök", "segment": "Segment", - "segments": "Segments", - "select": "Select", + "segments": "Segment", + "select": "Välj", "select-date": "Välj datum", "select-filter": "Välj filter", - "select-role": "Select role", + "select-role": "Välj roll", "select-website": "Välj webbplats", "session": "Session", "session-data": "Sessionsdata", @@ -264,28 +264,28 @@ "share-url": "Delningslänk", "single-day": "En dag", "sms": "SMS", - "source": "Source", + "source": "Källa", "sources": "Källor", - "start-step": "Start Step", - "steps": "Steps", + "start-step": "Startsteg", + "steps": "Steg", "sum": "Summa", "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "switch-account": "Byt konto", + "table": "Tabell", "tablet": "Surfplatta", "tag": "Tagg", "tags": "Taggar", "team": "Team", - "team-id": "Team ID", + "team-id": "Team-ID", "team-manager": "Teamledare", "team-member": "Team-medlem", "team-name": "Team namn", "team-owner": "Team-ägare", "team-settings": "Teaminställningar", - "team-view-only": "Team view only", + "team-view-only": "Endast teamvisning", "team-websites": "Team webbplatser", "teams": "Team", - "term": "Term", + "term": "Sökord", "terms": "Villkor", "theme": "Tema", "this-month": "Denna månad", @@ -298,40 +298,40 @@ "total": "Totalt", "total-records": "Totala poster", "tracking-code": "Spårningskod", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", + "traffic": "Trafik", + "transactions": "Transaktioner", + "transfer": "Överför", + "transfer-website": "Överför webbplats", "true": "Sant", "type": "Typ", "unique": "Unikt", - "unique-events": "Unique events", + "unique-events": "Unika händelser", "unique-visitors": "Unika besökare", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Unika kunder", "unknown": "Okänt", "untitled": "Namnlös", - "update": "Update", + "update": "Uppdatera", "url": "URL", "user": "Användare", "username": "Användarnamn", "users": "Användare", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-campaign": "UTM-kampanj", + "utm-content": "UTM-innehåll", + "utm-description": "Spåra dina kampanjer genom UTM-parametrar.", + "utm-medium": "UTM-medium", + "utm-source": "UTM-källa", + "utm-term": "UTM-sökord", "value": "Värde", "version": "Version", "view": "Visa", "view-details": "Visa detaljer", "view-only": "Endast visning", "views": "Visningar", - "views-per-visit": "Views per visit", + "views-per-visit": "Visningar per besök", "visit-duration": "Genomsnittlig besökstid", "visitors": "Besökare", - "visits": "Visits", + "visits": "Besök", "website": "Webbplats", "website-id": "Webbplats ID", "websites": "Webbplatser", @@ -339,19 +339,19 @@ "yesterday": "Igår" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "Skriv {confirmation} i rutan nedan för att bekräfta.", "active-users": "{x} {x, plural, one {besökare} other {besökare}} just nu", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Ogiltig förfrågan", + "collected-data": "Insamlad data", "confirm-delete": "Är du säker på att du vill radera {target}?", "confirm-leave": "Är du säker på att du vill lämna {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-remove": "Är du säker på att du vill ta bort {target}?", "confirm-reset": "Är du säker på att du vill återställa statistiken för {target}?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "Att radera ett team raderar även alla teamets webbplatser.", "delete-website-warning": "All tillhörande data kommer också att raderas.", "error": "Något gick fel.", "event-log": "{event}{url}", - "forbidden": "Forbidden", + "forbidden": "Förbjudet", "go-to-settings": "Gå till inställningar", "incorrect-username-password": "Felaktigt användarnamn/lösenord.", "invalid-domain": "Ogiltig domän", @@ -365,25 +365,25 @@ "no-teams": "Du har inte skapat några team.", "no-users": "Det finns inga användare.", "no-websites-configured": "Du har inte konfigurerat några webbplatser.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Hittades inte", + "nothing-selected": "Inget valt.", "page-not-found": "Sidan kunde inte hittas.", "reset-website": "För att återställa webbplatsen, skriv {confirmation} i rutan nedan.", "reset-website-warning": "All statistik för webbplatsen tas bort, men spårningskoden förblir oförändrad.", "saved": "Sparat!", - "sever-error": "Server error", + "sever-error": "Serverfel", "share-url": "Det här är den offentliga delningslänken för {target}.", "team-already-member": "Du är redan medlem i teamet.", "team-not-found": "Teamet kunde inte hittas.", "team-websites-info": "Webbplatserna kan ses av alla i teamet.", "tracking-code": "Spårningskod", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", + "transfer-team-website-to-user": "Överför denna webbplats till ditt konto?", + "transfer-user-website-to-team": "Välj teamet att överföra denna webbplats till.", + "transfer-website": "Överför webbplatsägande till ditt konto eller ett annat team.", + "triggered-event": "Utlöst händelse", + "unauthorized": "Inte auktoriserad", "user-deleted": "Användaren har raderats.", - "viewed-page": "Viewed page", + "viewed-page": "Visad sida", "visitor-log": "Besökare från {country} med {browser}{os} {device}" } } diff --git a/public/intl/messages/ta-IN.json b/public/intl/messages/ta-IN.json index 0a6c2d382..f9578fc5e 100644 --- a/public/intl/messages/ta-IN.json +++ b/public/intl/messages/ta-IN.json @@ -1,389 +1,389 @@ { "label": { - "access-code": "Access code", - "account": "Account", - "action": "Action", + "access-code": "அணுகல் குறியீடு", + "account": "கணக்கு", + "action": "செயல்", "actions": "செயல்கள்", - "activity": "Activity log", - "add": "Add", - "add-board": "Add board", - "add-description": "Add description", - "add-link": "Add link", - "add-member": "Add member", - "add-pixel": "Add pixel", - "add-step": "Add step", + "activity": "செயல்பாடு", + "add": "சேர்", + "add-board": "பலகையைச் சேர்", + "add-description": "விளக்கத்தைச் சேர்", + "add-link": "இணைப்பைச் சேர்", + "add-member": "உறுப்பினரைச் சேர்", + "add-pixel": "பிக்சலைச் சேர்", + "add-step": "படியைச் சேர்", "add-website": "வலைத்தளத்தைச் சேர்க்க", "admin": "நிர்வாகியைச் சேர்க்க", - "affiliate": "Affiliate", - "after": "After", + "affiliate": "இணைத்திட்டம்", + "after": "பிறகு", "all": "எல்லாம்", - "all-time": "All time", - "analysis": "Analysis", - "analytics": "Analytics", - "application": "Application", - "apply": "Apply", - "attribution": "Attribution", - "attribution-description": "See how users engage with your marketing and what drives conversions.", - "audience": "Audience", - "average": "Average", + "all-time": "எல்லா நேரமும்", + "analysis": "பகுப்பாய்வு", + "analytics": "பகுப்பாய்வு", + "application": "பயன்பாடு", + "apply": "பயன்படுத்து", + "attribution": "காரணிப்பு", + "attribution-description": "பயனர்கள் உங்கள் சந்தைப்படுத்தலுடன் எவ்வாறு ஈடுபடுகிறார்கள் மற்றும் மாற்றங்களை எது ஊக்குவிக்கிறது என்பதைப் பாருங்கள்.", + "audience": "பார்வையாளர்", + "average": "சராசரி", "back": "பின்னால்", - "before": "Before", + "before": "முன்", "behavior": "நடத்தை", - "boards": "Boards", + "boards": "பலகைகள்", "bounce-rate": "துள்ளல் விகிதம்", - "breakdown": "Breakdown", - "browser": "Browser", + "breakdown": "விரிவாக்கம்", + "browser": "உலாவி", "browsers": "உலாவிகள்", - "campaign": "Campaign", - "campaigns": "Campaigns", + "campaign": "பிரச்சாரம்", + "campaigns": "பிரச்சாரங்கள்", "cancel": "ரத்துசெய்", "change-password": "கடவுச்சொல்லை மாற்று", - "channel": "Channel", - "channels": "Channels", - "chart": "Chart", - "cities": "Cities", - "city": "City", - "clear-all": "Clear all", - "cohort": "Cohort", - "cohorts": "Cohorts", - "compare": "Compare", - "compare-dates": "Compare dates", - "confirm": "Confirm", + "channel": "சேனல்", + "channels": "சேனல்கள்", + "chart": "வரைபடம்", + "cities": "நகரங்கள்", + "city": "நகரம்", + "clear-all": "அனைத்தையும் அழி", + "cohort": "குழு", + "cohorts": "குழுக்கள்", + "compare": "ஒப்பிடு", + "compare-dates": "தேதிகளை ஒப்பிடு", + "confirm": "உறுதிப்படுத்து", "confirm-password": "கடவுச்சொல்லை உறுதிப்படுத்தவும்", - "contains": "Contains", - "content": "Content", - "continue": "Continue", - "conversion": "Conversion", - "conversion-rate": "Conversion rate", - "conversion-step": "Conversion step", - "count": "Count", + "contains": "உள்ளடக்கியது", + "content": "உள்ளடக்கம்", + "continue": "தொடர்", + "conversion": "மாற்றம்", + "conversion-rate": "மாற்ற விகிதம்", + "conversion-step": "மாற்றப் படி", + "count": "எண்ணிக்கை", "countries": "நாடுகள்", - "country": "Country", - "create": "Create", - "create-report": "Create report", - "create-team": "Create team", - "create-user": "Create user", - "created": "Created", - "created-by": "Created By", - "criteria": "Criteria", - "currency": "Currency", - "current": "Current", + "country": "நாடு", + "create": "உருவாக்கு", + "create-report": "அறிக்கையை உருவாக்கு", + "create-team": "குழுவை உருவாக்கு", + "create-user": "பயனரை உருவாக்கு", + "created": "உருவாக்கப்பட்டது", + "created-by": "உருவாக்கியவர்", + "criteria": "அளவுகோல்", + "currency": "நாணயம்", + "current": "தற்போதைய", "current-password": "தற்போதைய கடவுச்சொல்", "custom-range": "தனிப்பயன் வேறுபாட்டெல்லை", "dashboard": "முகப்பு", - "data": "Data", - "date": "Date", + "data": "தரவு", + "date": "தேதி", "date-range": "தேதி வரம்பு", - "day": "Day", + "day": "நாள்", "default-date-range": "இயல்புநிலை தேதி வரம்பு", "delete": "அழி", - "delete-report": "Delete report", - "delete-team": "Delete team", - "delete-user": "Delete user", + "delete-report": "அறிக்கையை நீக்கு", + "delete-team": "குழுவை நீக்கு", + "delete-user": "பயனரை நீக்கு", "delete-website": "வலைத்தளத்தை நீக்கு", - "description": "Description", + "description": "விளக்கம்", "desktop": "மேசை கணினி", - "destination-url": "Destination URL", - "details": "Details", - "device": "Device", + "destination-url": "இலக்கு URL", + "details": "விவரங்கள்", + "device": "சாதனம்", "devices": "சாதனங்கள்", - "direct": "Direct", + "direct": "நேரடி", "dismiss": "நீக்கு", - "distinct-id": "Distinct ID", - "documentation": "Documentation", - "does-not-contain": "Does not contain", - "does-not-include": "Does not include", - "doest-not-exist": "Does not exist", + "distinct-id": "தனித்துவ ID", + "documentation": "ஆவணங்கள்", + "does-not-contain": "உள்ளடக்கவில்லை", + "does-not-include": "சேர்க்கவில்லை", + "doest-not-exist": "இல்லை", "domain": "கள முகவரி", - "download": "Download", - "dropoff": "Dropoff", + "download": "பதிவிறக்கு", + "dropoff": "விலகல்", "edit": "திருத்துதல்", - "edit-dashboard": "Edit dashboard", - "edit-member": "Edit member", - "email": "Email", + "edit-dashboard": "முகப்பைத் திருத்து", + "edit-member": "உறுப்பினரைத் திருத்து", + "email": "மின்னஞ்சல்", "enable-share-url": "கள முகவரியை பகிரலாம்", - "end-step": "End Step", + "end-step": "இறுதிப் படி", "entry": "Entry URL", - "environment": "Environment", - "event": "Event", - "event-data": "Event data", - "event-name": "Event name", + "environment": "சூழல்", + "event": "நிகழ்வு", + "event-data": "நிகழ்வுத் தரவு", + "event-name": "நிகழ்வு பெயர்", "events": "நிகழ்வுகள்", - "exclude-bounce": "Exclude bounce", - "exists": "Exists", + "exclude-bounce": "துள்ளலை விலக்கு", + "exists": "உள்ளது", "exit": "Exit URL", - "false": "False", - "field": "Field", - "fields": "Fields", - "filter": "Filter", + "false": "தவறு", + "field": "புலம்", + "fields": "புலங்கள்", + "filter": "வடிகட்டி", "filter-combined": "ஒருங்கிணைந்த", "filter-raw": "மூல", - "filters": "Filters", - "first-click": "First click", - "first-seen": "First seen", - "funnel": "Funnel", - "funnel-description": "Understand the conversion and drop-off rate of users.", - "funnels": "Funnels", - "goal": "Goal", - "goals": "Goals", - "goals-description": "Track your goals for pageviews and events.", - "greater-than": "Greater than", - "greater-than-equals": "Greater than or equals", - "grouped": "Grouped", - "growth": "Growth", - "hostname": "Hostname", - "hour": "Hour", - "includes": "Includes", - "insight": "Insight", - "insights": "Insights", - "insights-description": "Dive deeper into your data by using segments and filters.", - "invalid-url": "Invalid URL", - "is": "Is", - "is-false": "Is false", - "is-not": "Is not", - "is-not-set": "Is not set", - "is-set": "Is set", - "is-true": "Is true", - "join": "Join", - "join-team": "Join team", - "journey": "Journey", - "journey-description": "Understand how users navigate through your website.", - "journeys": "Journeys", - "language": "Language", - "languages": "Languages", + "filters": "வடிகட்டிகள்", + "first-click": "முதல் கிளிக்", + "first-seen": "முதலில் பார்த்தது", + "funnel": "புனல்", + "funnel-description": "பயனர்களின் மாற்ற மற்றும் விலகல் விகிதத்தைப் புரிந்துகொள்ளுங்கள்.", + "funnels": "புனல்கள்", + "goal": "இலக்கு", + "goals": "இலக்குகள்", + "goals-description": "பக்க காட்சிகள் மற்றும் நிகழ்வுகளுக்கான உங்கள் இலக்குகளைக் கண்காணிக்கவும்.", + "greater-than": "பெரியது", + "greater-than-equals": "பெரியது அல்லது சமம்", + "grouped": "தொகுக்கப்பட்டது", + "growth": "வளர்ச்சி", + "hostname": "புரவலன் பெயர்", + "hour": "மணி", + "includes": "சேர்க்கிறது", + "insight": "நுண்ணறிவு", + "insights": "நுண்ணறிவுகள்", + "insights-description": "பிரிவுகள் மற்றும் வடிகட்டிகளைப் பயன்படுத்தி உங்கள் தரவில் ஆழமாக முழுகுங்கள்.", + "invalid-url": "தவறான URL", + "is": "ஆகும்", + "is-false": "தவறு", + "is-not": "அல்ல", + "is-not-set": "அமைக்கப்படவில்லை", + "is-set": "அமைக்கப்பட்டுள்ளது", + "is-true": "உண்மை", + "join": "சேர்", + "join-team": "குழுவில் சேர்", + "journey": "பயணம்", + "journey-description": "பயனர்கள் உங்கள் வலைத்தளத்தில் எவ்வாறு வழிசெல்கிறார்கள் என்பதைப் புரிந்துகொள்ளுங்கள்.", + "journeys": "பயணங்கள்", + "language": "மொழி", + "languages": "மொழிகள்", "laptop": "மடிக்கணினி", - "last-click": "Last click", + "last-click": "கடைசி கிளிக்", "last-days": "முந்தைய {x} நாட்கள்", "last-hours": "முந்தைய {x} மணி", - "last-months": "Last {x} months", - "last-seen": "Last seen", - "leave": "Leave", - "leave-team": "Leave team", - "less-than": "Less than", - "less-than-equals": "Less than or equals", - "link": "Link", - "links": "Links", - "location": "Location", + "last-months": "முந்தைய {x} மாதங்கள்", + "last-seen": "கடைசியாகப் பார்த்தது", + "leave": "வெளியேறு", + "leave-team": "குழுவை விட்டு வெளியேறு", + "less-than": "சிறியது", + "less-than-equals": "சிறியது அல்லது சமம்", + "link": "இணைப்பு", + "links": "இணைப்புகள்", + "location": "இடம்", "login": "உள்நுழைய", "logout": "வெளியேறு", - "manage": "Manage", - "manager": "Manager", - "max": "Max", + "manage": "நிர்வகி", + "manager": "மேலாளர்", + "max": "அதிகபட்சம்", "maximize": "Expand", - "medium": "Medium", - "member": "Member", - "members": "Members", - "min": "Min", - "minute": "Minute", + "medium": "ஊடகம்", + "member": "உறுப்பினர்", + "members": "உறுப்பினர்கள்", + "min": "குறைந்தபட்சம்", + "minute": "நிமிடம்", "mobile": "கைபேசி", - "model": "Model", - "month": "Month", + "model": "மாதிரி", + "month": "மாதம்", "more": "மேலும்", - "my-account": "My account", - "my-websites": "My websites", + "my-account": "எனது கணக்கு", + "my-websites": "எனது வலைத்தளங்கள்", "name": "பெயர்", "new-password": "புதிய கடவுச்சொல்", - "none": "None", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "none": "எதுவுமில்லை", + "number-of-records": "{x} {x, plural, one {பதிவு} other {பதிவுகள்}}", "ok": "OK", - "online": "Online", - "organic-search": "Organic search", - "organic-shopping": "Organic shopping", - "organic-social": "Organic social", - "organic-video": "Organic video", + "online": "நிகழ்நிலை", + "organic-search": "இயற்கையான தேடல்", + "organic-shopping": "இயற்கையான ஷாப்பிங்", + "organic-social": "இயற்கையான சமூக ஊடகம்", + "organic-video": "இயற்கையான வீடியோ", "os": "OS", - "other": "Other", - "overview": "Overview", - "owner": "Owner", - "page": "Page", - "page-of": "Page {current} of {total}", + "other": "பிற", + "overview": "மேலோட்டம்", + "owner": "உரிமையாளர்", + "page": "பக்கம்", + "page-of": "பக்கம் {current} / {total}", "page-views": "பக்க காட்சிகள்", - "pageTitle": "Page title", + "pageTitle": "பக்கத் தலைப்பு", "pages": "பக்கங்கள்", - "paid-ads": "Paid ads", - "paid-search": "Paid search", - "paid-shopping": "Paid shopping", - "paid-social": "Paid social", - "paid-video": "Paid video", + "paid-ads": "கட்டண விளம்பரங்கள்", + "paid-search": "கட்டணத் தேடல்", + "paid-shopping": "கட்டண ஷாப்பிங்", + "paid-social": "கட்டண சமூக ஊடகம்", + "paid-video": "கட்டண வீடியோ", "password": "கடவுச்சொல்", - "path": "Path", - "paths": "Paths", - "pixel": "Pixel", - "pixels": "Pixels", + "path": "பாதை", + "paths": "பாதைகள்", + "pixel": "பிக்சல்", + "pixels": "பிக்சல்கள்", "powered-by": "{name} ஆல் இயக்கப்படுகிறது", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "preferences": "விருப்பத்தேர்வுகள்", + "previous": "முந்தைய", + "previous-period": "முந்தைய காலம்", + "previous-year": "முந்தைய ஆண்டு", "profile": "சுயவிவரம்", - "profiles": "Profiles", - "properties": "Properties", - "property": "Property", - "queries": "Queries", - "query": "Query", - "query-parameters": "Query parameters", + "profiles": "சுயவிவரங்கள்", + "properties": "பண்புகள்", + "property": "பண்பு", + "queries": "வினவல்கள்", + "query": "வினவல்", + "query-parameters": "வினவல் அளவுருக்கள்", "realtime": "தற்போதைய", - "referral": "Referral", - "referrer": "Referrer", + "referral": "பரிந்துரை", + "referrer": "பரிந்துரையாளர்", "referrers": "குறிப்பிடுவோர்", "refresh": "புதுப்பிப்பு", - "regenerate": "Regenerate", - "region": "Region", - "regions": "Regions", - "remaining": "Remaining", - "remove": "Remove", - "remove-member": "Remove member", - "reports": "Reports", + "regenerate": "மீண்டும் உருவாக்கு", + "region": "பிராந்தியம்", + "regions": "பிராந்தியங்கள்", + "remaining": "மீதம்", + "remove": "நீக்கு", + "remove-member": "உறுப்பினரை நீக்கு", + "reports": "அறிக்கைகள்", "required": "தேவையானவை", "reset": "மீட்டமை", "reset-website": "Reset statistics", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", - "revenue": "Revenue", - "revenue-description": "Look into your revenue across time.", - "role": "Role", - "run-query": "Run query", + "retention": "தக்கவைப்பு", + "retention-description": "பயனர்கள் எவ்வளவு அடிக்கடி திரும்பி வருகிறார்கள் என்பதைக் கண்காணித்து உங்கள் வலைத்தளத்தின் ஒட்டுதலை அளவிடுங்கள்.", + "revenue": "வருவாய்", + "revenue-description": "உங்கள் வருவாய் தரவையும் பயனர்கள் எவ்வாறு செலவிடுகிறார்கள் என்பதையும் ஆராயுங்கள்.", + "role": "பங்கு", + "run-query": "வினவலை இயக்கு", "save": "சேமி", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", - "screens": "Screens", - "search": "Search", - "segment": "Segment", - "segments": "Segments", - "select": "Select", - "select-date": "Select date", - "select-filter": "Select filter", - "select-role": "Select role", - "select-website": "Select website", - "session": "Session", - "session-data": "Session data", - "sessions": "Sessions", + "save-cohort": "குழுவைச் சேமி", + "save-segment": "பிரிவைச் சேமி", + "screen": "திரை", + "screens": "திரைகள்", + "search": "தேடு", + "segment": "பிரிவு", + "segments": "பிரிவுகள்", + "select": "தேர்ந்தெடு", + "select-date": "தேதியைத் தேர்ந்தெடு", + "select-filter": "வடிகட்டியைத் தேர்ந்தெடு", + "select-role": "பங்கைத் தேர்ந்தெடு", + "select-website": "வலைத்தளத்தைத் தேர்ந்தெடு", + "session": "அமர்வு", + "session-data": "அமர்வுத் தரவு", + "sessions": "அமர்வுகள்", "settings": "அமைப்புகள்", - "share": "Share", + "share": "பகிர்", "share-url": "வலைத்தள களத்தைப் பகிரவும்", "single-day": "ஒரு நாள்", "sms": "SMS", - "source": "Source", - "sources": "Sources", - "start-step": "Start Step", - "steps": "Steps", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "source": "மூலம்", + "sources": "மூலங்கள்", + "start-step": "தொடக்கப் படி", + "steps": "படிகள்", + "sum": "கூட்டுத்தொகை", + "support": "ஆதரவு", + "switch-account": "கணக்கை மாற்று", + "table": "அட்டவணை", "tablet": "கையடக்க கணினி", - "tag": "Tag", - "tags": "Tags", - "team": "Team", - "team-id": "Team ID", - "team-manager": "Team manager", - "team-member": "Team member", - "team-name": "Team name", - "team-owner": "Team owner", - "team-settings": "Team settings", - "team-view-only": "Team view only", - "team-websites": "Team websites", - "teams": "Teams", - "term": "Term", - "terms": "Terms", - "theme": "Theme", + "tag": "குறிச்சொல்", + "tags": "குறிச்சொற்கள்", + "team": "குழு", + "team-id": "குழு ID", + "team-manager": "குழு மேலாளர்", + "team-member": "குழு உறுப்பினர்", + "team-name": "குழுவின் பெயர்", + "team-owner": "குழு உரிமையாளர்", + "team-settings": "குழு அமைப்புகள்", + "team-view-only": "குழு பார்வை மட்டும்", + "team-websites": "குழு வலைத்தளங்கள்", + "teams": "குழுக்கள்", + "term": "சொல்", + "terms": "விதிமுறைகள்", + "theme": "தீம்", "this-month": "இந்த மாதம்", "this-week": "இந்த வாரம்", "this-year": "இந்த வருடம்", "timezone": "நேர மண்டலம்", - "title": "Title", + "title": "தலைப்பு", "today": "இன்று", - "toggle-charts": "Toggle charts", - "total": "Total", - "total-records": "Total records", + "toggle-charts": "வரைபடங்களை மாற்று", + "total": "மொத்தம்", + "total-records": "மொத்தப் பதிவுகள்", "tracking-code": "கண்காணிப்பு குறியீடு", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "பார்வையாளர் போக்குவரத்து", + "transactions": "பரிவர்த்தனைகள்", + "transfer": "மாற்றம்", + "transfer-website": "வலைத்தளத்தை மாற்று", + "true": "உண்மை", + "type": "வகை", + "unique": "தனித்துவ", + "unique-events": "தனித்துவ நிகழ்வுகள்", "unique-visitors": "தனிப்பட்ட பார்வையாளர்கள்", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "தனித்துவ வாடிக்கையாளர்கள்", "unknown": "தெரியாத", - "untitled": "Untitled", - "update": "Update", + "untitled": "தலைப்பில்லாத", + "update": "புதுப்பி", "url": "URL", - "user": "User", + "user": "பயனர்", "username": "பயனர்பெயர்", - "users": "Users", + "users": "பயனர்கள்", "utm": "UTM", "utm-campaign": "UTM Campaign", "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", + "utm-description": "UTM அளவுருக்கள் மூலம் உங்கள் பிரச்சாரங்களைக் கண்காணிக்கவும்.", "utm-medium": "UTM Medium", "utm-source": "UTM Source", "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "value": "மதிப்பு", + "version": "பதிப்பு", + "view": "பார்", "view-details": "விபரங்களை பார்", - "view-only": "View only", + "view-only": "பார்வை மட்டும்", "views": "பார்வைகள்", - "views-per-visit": "Views per visit", + "views-per-visit": "ஒரு வருகைக்கான பார்வைகள்", "visit-duration": "சராசரி வருகை நேரம்", "visitors": "பார்வையாளர்கள்", - "visits": "Visits", - "website": "Website", - "website-id": "Website ID", + "visits": "வருகைகள்", + "website": "வலைத்தளம்", + "website-id": "வலைத்தள ID", "websites": "வலைத்தளங்கள்", - "window": "Window", - "yesterday": "Yesterday" + "window": "சாளரம்", + "yesterday": "நேற்று" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "உறுதிப்படுத்த கீழே உள்ள பெட்டியில் {confirmation} என்று தட்டச்சு செய்யவும்.", "active-users": "{x} தற்போதைய {x, plural, one {ஒன்று} other {மற்ற}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "தவறான கோரிக்கை", + "collected-data": "சேகரிக்கப்பட்ட தரவு", "confirm-delete": "நீங்கள் நிச்சயமாக {target} நீக்க விரும்புகிறீர்களா?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "{target} விட்டு வெளியேற விரும்புகிறீர்களா?", + "confirm-remove": "{target} நீக்க விரும்புகிறீர்களா?", "confirm-reset": "Are your sure you want to reset {target}'s statistics?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "ஒரு குழுவை நீக்கினால் அனைத்து குழு வலைத்தளங்களும் நீக்கப்படும்.", "delete-website-warning": "தொடர்புடைய எல்லா தரவும் நீக்கப்படும்.", "error": "ஏதோ தவறு நடந்துவிட்டது.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} {url} இல்", + "forbidden": "தடைசெய்யப்பட்டது", "go-to-settings": "அமைப்புகளுக்குச் செல்லவும்", "incorrect-username-password": "தவறான பயனர்பெயர் / கடவுச்சொல்.", "invalid-domain": "தவறான கள முகவரி", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "குறைந்தபட்சம் {n} எழுத்துகள் தேவை", + "new-version-available": "Umami {version} புதிய பதிப்பு கிடைக்கிறது!", "no-data-available": "தரவு எதுவும் கிடைக்கவில்லை.", - "no-event-data": "No event data is available.", + "no-event-data": "நிகழ்வுத் தரவு எதுவும் கிடைக்கவில்லை.", "no-match-password": "இருக்கடவுச்சொல் பொருந்தவில்லை", - "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-results-found": "முடிவுகள் எதுவும் கிடைக்கவில்லை.", + "no-team-websites": "இந்தக் குழுவில் வலைத்தளங்கள் எதுவும் இல்லை.", + "no-teams": "நீங்கள் எந்தக் குழுவையும் உருவாக்கவில்லை.", + "no-users": "பயனர்கள் யாரும் இல்லை.", "no-websites-configured": "உங்களிடம் எந்த வலைத்தளங்களும் கட்டமைக்கப்படவில்லை.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "கிடைக்கவில்லை", + "nothing-selected": "எதுவும் தேர்ந்தெடுக்கப்படவில்லை.", "page-not-found": "பக்கம் கிடைக்கவில்லை.", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", - "reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", + "reset-website": "இந்த வலைத்தளத்தை மீட்டமைக்க, கீழே உள்ள பெட்டியில் {confirmation} என்று தட்டச்சு செய்து உறுதிப்படுத்தவும்.", + "reset-website-warning": "இந்த வலைத்தளத்தின் அனைத்து புள்ளிவிவரங்களும் நீக்கப்படும், ஆனால் உங்கள் அமைப்புகள் அப்படியே இருக்கும்.", "saved": "வெற்றிகரமாக சேமிக்கப்பட்டது.", - "sever-error": "Server error", - "share-url": "{target} இது பொதுவில் பகிரும் வலைத்தள முகவரி.", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", - "tracking-code": "கண்காணிப்பு குறியீடு", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "sever-error": "சேவையக பிழை", + "share-url": "உங்கள் வலைத்தள புள்ளிவிவரங்கள் பின்வரும் URL இல் பொதுவாகக் கிடைக்கும்:", + "team-already-member": "நீங்கள் ஏற்கனவே இந்தக் குழுவின் உறுப்பினர்.", + "team-not-found": "குழு கிடைக்கவில்லை.", + "team-websites-info": "குழுவில் உள்ள எவரும் வலைத்தளங்களைப் பார்க்கலாம்.", + "tracking-code": "இந்த வலைத்தளத்தின் புள்ளிவிவரங்களைக் கண்காணிக்க, பின்வரும் குறியீட்டை உங்கள் HTML இன் ... பகுதியில் வைக்கவும்.", + "transfer-team-website-to-user": "இந்த வலைத்தளத்தை உங்கள் கணக்கிற்கு மாற்ற விரும்புகிறீர்களா?", + "transfer-user-website-to-team": "இந்த வலைத்தளத்தை மாற்ற குழுவைத் தேர்ந்தெடுக்கவும்.", + "transfer-website": "வலைத்தள உரிமையை உங்கள் கணக்கிற்கு அல்லது மற்றொரு குழுவிற்கு மாற்றவும்.", + "triggered-event": "தூண்டப்பட்ட நிகழ்வு", + "unauthorized": "அங்கீகரிக்கப்படவில்லை", + "user-deleted": "பயனர் நீக்கப்பட்டார்.", + "viewed-page": "பார்வையிட்ட பக்கம்", "visitor-log": "{country}வில் இருந்து பார்வையாளர் {browser}{os} {device}லில் பயன்படுத்துகிறார்" } } diff --git a/public/intl/messages/th-TH.json b/public/intl/messages/th-TH.json index 21d1a5de2..5d274aba8 100644 --- a/public/intl/messages/th-TH.json +++ b/public/intl/messages/th-TH.json @@ -1,389 +1,389 @@ { "label": { - "access-code": "Access code", - "account": "Account", - "action": "Action", + "access-code": "รหัสเข้าถึง", + "account": "บัญชี", + "action": "การกระทำ", "actions": "การกระทำ", "activity": "Activity log", - "add": "Add", - "add-board": "Add board", - "add-description": "Add description", - "add-link": "Add link", - "add-member": "Add member", - "add-pixel": "Add pixel", - "add-step": "Add step", + "add": "เพิ่ม", + "add-board": "เพิ่มบอร์ด", + "add-description": "เพิ่มคำอธิบาย", + "add-link": "เพิ่มลิงก์", + "add-member": "เพิ่มสมาชิก", + "add-pixel": "เพิ่มพิกเซล", + "add-step": "เพิ่มขั้นตอน", "add-website": "เพิ่มเว็บไซต์", "admin": "ผู้ดูแลระบบ", - "affiliate": "Affiliate", - "after": "After", + "affiliate": "พันธมิตร", + "after": "หลัง", "all": "ทั้งหมด", "all-time": "ทุกช่วงเวลา", - "analysis": "Analysis", - "analytics": "Analytics", - "application": "Application", - "apply": "Apply", - "attribution": "Attribution", - "attribution-description": "See how users engage with your marketing and what drives conversions.", - "audience": "Audience", - "average": "Average", + "analysis": "การวิเคราะห์", + "analytics": "การวิเคราะห์ข้อมูล", + "application": "แอปพลิเคชัน", + "apply": "นำไปใช้", + "attribution": "การระบุแหล่งที่มา", + "attribution-description": "ดูว่าผู้ใช้มีปฏิสัมพันธ์กับการตลาดอย่างไรและอะไรกระตุ้นการแปลง", + "audience": "กลุ่มเป้าหมาย", + "average": "ค่าเฉลี่ย", "back": "ย้อนกลับ", - "before": "Before", + "before": "ก่อน", "behavior": "พฤติกรรม", - "boards": "Boards", + "boards": "บอร์ด", "bounce-rate": "อัตราตีกลับ", - "breakdown": "Breakdown", - "browser": "Browser", + "breakdown": "การแยกย่อย", + "browser": "เบราว์เซอร์", "browsers": "เบราว์เซอร์", - "campaign": "Campaign", - "campaigns": "Campaigns", + "campaign": "แคมเปญ", + "campaigns": "แคมเปญ", "cancel": "ยกเลิก", "change-password": "เปลี่ยนรหัสผ่าน", - "channel": "Channel", - "channels": "Channels", - "chart": "Chart", - "cities": "Cities", - "city": "City", - "clear-all": "Clear all", - "cohort": "Cohort", - "cohorts": "Cohorts", - "compare": "Compare", - "compare-dates": "Compare dates", - "confirm": "Confirm", + "channel": "ช่องทาง", + "channels": "ช่องทาง", + "chart": "แผนภูมิ", + "cities": "เมือง", + "city": "เมือง", + "clear-all": "ล้างทั้งหมด", + "cohort": "กลุ่มตัวอย่าง", + "cohorts": "กลุ่มตัวอย่าง", + "compare": "เปรียบเทียบ", + "compare-dates": "เปรียบเทียบวันที่", + "confirm": "ยืนยัน", "confirm-password": "ยืนยันรหัสผ่าน", - "contains": "Contains", - "content": "Content", - "continue": "Continue", - "conversion": "Conversion", - "conversion-rate": "Conversion rate", - "conversion-step": "Conversion step", - "count": "Count", + "contains": "มี", + "content": "เนื้อหา", + "continue": "ดำเนินต่อ", + "conversion": "การแปลง", + "conversion-rate": "อัตราการแปลง", + "conversion-step": "ขั้นตอนการแปลง", + "count": "จำนวน", "countries": "ประเทศ", - "country": "Country", - "create": "Create", - "create-report": "Create report", - "create-team": "Create team", - "create-user": "Create user", - "created": "Created", - "created-by": "Created By", - "criteria": "Criteria", - "currency": "Currency", - "current": "Current", + "country": "ประเทศ", + "create": "สร้าง", + "create-report": "สร้างรายงาน", + "create-team": "สร้างทีม", + "create-user": "สร้างผู้ใช้", + "created": "สร้างเมื่อ", + "created-by": "สร้างโดย", + "criteria": "เกณฑ์", + "currency": "สกุลเงิน", + "current": "ปัจจุบัน", "current-password": "รหัสผ่านปัจจุบัน", "custom-range": "กำหนดช่วงเวลา", "dashboard": "แดชบอร์ด", - "data": "Data", - "date": "Date", + "data": "ข้อมูล", + "date": "วันที่", "date-range": "ตั้งแต่วันที่", - "day": "Day", + "day": "วัน", "default-date-range": "ช่วงเวลา", "delete": "ลบ", - "delete-report": "Delete report", - "delete-team": "Delete team", - "delete-user": "Delete user", + "delete-report": "ลบรายงาน", + "delete-team": "ลบทีม", + "delete-user": "ลบผู้ใช้", "delete-website": "ลบเว็บไซต์", - "description": "Description", + "description": "คำอธิบาย", "desktop": "เดสก์ท็อป", - "destination-url": "Destination URL", - "details": "Details", - "device": "Device", + "destination-url": "URL ปลายทาง", + "details": "รายละเอียด", + "device": "อุปกรณ์", "devices": "อุปกรณ์", - "direct": "Direct", + "direct": "ตรง", "dismiss": "ยกเลิก", - "distinct-id": "Distinct ID", - "documentation": "Documentation", - "does-not-contain": "Does not contain", - "does-not-include": "Does not include", - "doest-not-exist": "Does not exist", + "distinct-id": "ID เฉพาะ", + "documentation": "เอกสาร", + "does-not-contain": "ไม่มี", + "does-not-include": "ไม่รวม", + "doest-not-exist": "ไม่มีอยู่", "domain": "โดเมน", - "download": "Download", - "dropoff": "Dropoff", + "download": "ดาวน์โหลด", + "dropoff": "การออกจากระบบ", "edit": "แก้ไข", - "edit-dashboard": "Edit dashboard", - "edit-member": "Edit member", - "email": "Email", + "edit-dashboard": "แก้ไขแดชบอร์ด", + "edit-member": "แก้ไขสมาชิก", + "email": "อีเมล", "enable-share-url": "เปิดใช้งานการแชร์ลิงก์", - "end-step": "End Step", + "end-step": "ขั้นตอนสุดท้าย", "entry": "Entry URL", - "environment": "Environment", - "event": "Event", - "event-data": "Event data", - "event-name": "Event name", + "environment": "สภาพแวดล้อม", + "event": "เหตุการณ์", + "event-data": "ข้อมูลเหตุการณ์", + "event-name": "ชื่อเหตุการณ์", "events": "เหตุการณ์", - "exclude-bounce": "Exclude bounce", - "exists": "Exists", + "exclude-bounce": "ยกเว้นการตีกลับ", + "exists": "มีอยู่", "exit": "Exit URL", - "false": "False", - "field": "Field", - "fields": "Fields", - "filter": "Filter", + "false": "เท็จ", + "field": "ฟิลด์", + "fields": "ฟิลด์", + "filter": "ตัวกรอง", "filter-combined": "ข้อมูลรวม", "filter-raw": "ข้อมูลดิบ", - "filters": "Filters", - "first-click": "First click", - "first-seen": "First seen", - "funnel": "Funnel", - "funnel-description": "Understand the conversion and drop-off rate of users.", - "funnels": "Funnels", - "goal": "Goal", - "goals": "Goals", - "goals-description": "Track your goals for pageviews and events.", - "greater-than": "Greater than", - "greater-than-equals": "Greater than or equals", - "grouped": "Grouped", - "growth": "Growth", - "hostname": "Hostname", - "hour": "Hour", - "includes": "Includes", - "insight": "Insight", - "insights": "Insights", - "insights-description": "Dive deeper into your data by using segments and filters.", - "invalid-url": "Invalid URL", - "is": "Is", - "is-false": "Is false", - "is-not": "Is not", - "is-not-set": "Is not set", - "is-set": "Is set", - "is-true": "Is true", - "join": "Join", - "join-team": "Join team", - "journey": "Journey", - "journey-description": "Understand how users navigate through your website.", - "journeys": "Journeys", + "filters": "ตัวกรอง", + "first-click": "คลิกแรก", + "first-seen": "เห็นครั้งแรก", + "funnel": "ช่องทางขาย", + "funnel-description": "ทำความเข้าใจอัตราการแปลงและการออกจากระบบของผู้ใช้", + "funnels": "ช่องทางขาย", + "goal": "เป้าหมาย", + "goals": "เป้าหมาย", + "goals-description": "ติดตามเป้าหมายสำหรับการดูหน้าเว็บและเหตุการณ์", + "greater-than": "มากกว่า", + "greater-than-equals": "มากกว่าหรือเท่ากับ", + "grouped": "จัดกลุ่ม", + "growth": "การเติบโต", + "hostname": "ชื่อโฮสต์", + "hour": "ชั่วโมง", + "includes": "รวม", + "insight": "ข้อมูลเชิงลึก", + "insights": "ข้อมูลเชิงลึก", + "insights-description": "เจาะลึกข้อมูลของคุณโดยใช้กลุ่มและตัวกรอง", + "invalid-url": "URL ไม่ถูกต้อง", + "is": "คือ", + "is-false": "เป็นเท็จ", + "is-not": "ไม่ใช่", + "is-not-set": "ไม่ได้ตั้งค่า", + "is-set": "ตั้งค่าแล้ว", + "is-true": "เป็นจริง", + "join": "เข้าร่วม", + "join-team": "เข้าร่วมทีม", + "journey": "เส้นทาง", + "journey-description": "ทำความเข้าใจว่าผู้ใช้เดินทางผ่านเว็บไซต์ของคุณอย่างไร", + "journeys": "เส้นทาง", "language": "ภาษา", "languages": "ภาษา", "laptop": "แล็ปท็อป", - "last-click": "Last click", + "last-click": "คลิกสุดท้าย", "last-days": "{x} วันที่ผ่านมา", "last-hours": "{x} ชั่วโมงที่ผ่านมา", - "last-months": "Last {x} months", - "last-seen": "Last seen", - "leave": "Leave", - "leave-team": "Leave team", - "less-than": "Less than", - "less-than-equals": "Less than or equals", - "link": "Link", - "links": "Links", - "location": "Location", + "last-months": "{x} เดือนล่าสุด", + "last-seen": "เห็นล่าสุด", + "leave": "ออก", + "leave-team": "ออกจากทีม", + "less-than": "น้อยกว่า", + "less-than-equals": "น้อยกว่าหรือเท่ากับ", + "link": "ลิงก์", + "links": "ลิงก์", + "location": "ตำแหน่ง", "login": "เข้าสู่ระบบ", "logout": "ออกจากระบบ", - "manage": "Manage", - "manager": "Manager", - "max": "Max", + "manage": "จัดการ", + "manager": "ผู้จัดการ", + "max": "สูงสุด", "maximize": "Expand", - "medium": "Medium", - "member": "Member", - "members": "Members", - "min": "Min", - "minute": "Minute", + "medium": "สื่อ", + "member": "สมาชิก", + "members": "สมาชิก", + "min": "ต่ำสุด", + "minute": "นาที", "mobile": "โทรศัพท์มือถือ", - "model": "Model", - "month": "Month", + "model": "รุ่น", + "month": "เดือน", "more": "เพิ่มเติม", - "my-account": "My account", - "my-websites": "My websites", + "my-account": "บัญชีของฉัน", + "my-websites": "เว็บไซต์ของฉัน", "name": "ชื่อ", "new-password": "รหัสผ่านใหม่", "none": "ไม่ได้กำหนด", - "number-of-records": "{x} {x, plural, one {record} other {records}}", - "ok": "OK", - "online": "Online", - "organic-search": "Organic search", - "organic-shopping": "Organic shopping", - "organic-social": "Organic social", - "organic-video": "Organic video", - "os": "OS", - "other": "Other", - "overview": "Overview", + "number-of-records": "{x} {x, plural, one {รายการ} other {รายการ}}", + "ok": "ตกลง", + "online": "ออนไลน์", + "organic-search": "ค้นหาแบบออร์แกนิก", + "organic-shopping": "ชอปปิ้งแบบออร์แกนิก", + "organic-social": "โซเชียลแบบออร์แกนิก", + "organic-video": "วิดีโอแบบออร์แกนิก", + "os": "ระบบปฏิบัติการ", + "other": "อื่นๆ", + "overview": "ภาพรวม", "owner": "เจ้าของ", - "page": "Page", - "page-of": "Page {current} of {total}", + "page": "หน้า", + "page-of": "หน้า {current} จาก {total}", "page-views": "การเข้าชม", - "pageTitle": "Page title", + "pageTitle": "ชื่อหน้า", "pages": "หน้าเพจ", - "paid-ads": "Paid ads", - "paid-search": "Paid search", - "paid-shopping": "Paid shopping", - "paid-social": "Paid social", - "paid-video": "Paid video", + "paid-ads": "โฆษณาแบบจ่ายเงิน", + "paid-search": "ค้นหาแบบจ่ายเงิน", + "paid-shopping": "ชอปปิ้งแบบจ่ายเงิน", + "paid-social": "โซเชียลแบบจ่ายเงิน", + "paid-video": "วิดีโอแบบจ่ายเงิน", "password": "รหัสผ่าน", - "path": "Path", - "paths": "Paths", - "pixel": "Pixel", - "pixels": "Pixels", + "path": "เส้นทาง", + "paths": "เส้นทาง", + "pixel": "พิกเซล", + "pixels": "พิกเซล", "powered-by": "ขับเคลื่อนโดย {name}", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "preferences": "การตั้งค่า", + "previous": "ก่อนหน้า", + "previous-period": "ช่วงก่อนหน้า", + "previous-year": "ปีก่อนหน้า", "profile": "โปรไฟล์", - "profiles": "Profiles", - "properties": "Properties", - "property": "Property", - "queries": "Queries", - "query": "Query", - "query-parameters": "Query parameters", + "profiles": "โปรไฟล์", + "properties": "คุณสมบัติ", + "property": "คุณสมบัติ", + "queries": "คิวรี", + "query": "คิวรี", + "query-parameters": "พารามิเตอร์คิวรี", "realtime": "เรียลไทม์", - "referral": "Referral", - "referrer": "Referrer", + "referral": "การอ้างอิง", + "referrer": "ผู้อ้างอิง", "referrers": "แหล่งที่มา", "refresh": "รีเฟรช", - "regenerate": "Regenerate", - "region": "Region", - "regions": "Regions", - "remaining": "Remaining", - "remove": "Remove", - "remove-member": "Remove member", - "reports": "Reports", + "regenerate": "สร้างใหม่", + "region": "ภูมิภาค", + "regions": "ภูมิภาค", + "remaining": "ที่เหลือ", + "remove": "ลบ", + "remove-member": "ลบสมาชิก", + "reports": "รายงาน", "required": "ต้องการ", "reset": "รีเซต", "reset-website": "รีเซตข้อมูลสถิติ", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", - "revenue": "Revenue", + "retention": "การรักษาผู้ใช้", + "retention-description": "วัดความเหนียวแน่นของเว็บไซต์โดยติดตามว่าผู้ใช้กลับมาบ่อยแค่ไหน", + "revenue": "รายได้", "revenue-description": "Look into your revenue across time.", - "role": "Role", - "run-query": "Run query", + "role": "บทบาท", + "run-query": "เรียกใช้คิวรี", "save": "บันทึก", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "บันทึกกลุ่มตัวอย่าง", + "save-segment": "บันทึกเซ็กเมนต์", + "screen": "หน้าจอ", "screens": "ขนาดหน้าจอ", - "search": "Search", - "segment": "Segment", - "segments": "Segments", - "select": "Select", - "select-date": "Select date", - "select-filter": "Select filter", - "select-role": "Select role", - "select-website": "Select website", - "session": "Session", - "session-data": "Session data", - "sessions": "Sessions", + "search": "ค้นหา", + "segment": "เซ็กเมนต์", + "segments": "เซ็กเมนต์", + "select": "เลือก", + "select-date": "เลือกวันที่", + "select-filter": "เลือกตัวกรอง", + "select-role": "เลือกบทบาท", + "select-website": "เลือกเว็บไซต์", + "session": "เซสชัน", + "session-data": "ข้อมูลเซสชัน", + "sessions": "เซสชัน", "settings": "ตั้งค่า", - "share": "Share", + "share": "แชร์", "share-url": "แชร์ลิงก์", "single-day": "วันที่", "sms": "SMS", - "source": "Source", - "sources": "Sources", - "start-step": "Start Step", - "steps": "Steps", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "source": "แหล่งที่มา", + "sources": "แหล่งที่มา", + "start-step": "ขั้นตอนเริ่มต้น", + "steps": "ขั้นตอน", + "sum": "ผลรวม", + "support": "การสนับสนุน", + "switch-account": "สลับบัญชี", + "table": "ตาราง", "tablet": "แท็บเล็ต", - "tag": "Tag", - "tags": "Tags", - "team": "Team", - "team-id": "Team ID", - "team-manager": "Team manager", - "team-member": "Team member", - "team-name": "Team name", - "team-owner": "Team owner", - "team-settings": "Team settings", - "team-view-only": "Team view only", - "team-websites": "Team websites", - "teams": "Teams", - "term": "Term", - "terms": "Terms", + "tag": "แท็ก", + "tags": "แท็ก", + "team": "ทีม", + "team-id": "ID ทีม", + "team-manager": "ผู้จัดการทีม", + "team-member": "สมาชิกทีม", + "team-name": "ชื่อทีม", + "team-owner": "เจ้าของทีม", + "team-settings": "การตั้งค่าทีม", + "team-view-only": "ดูเฉพาะทีม", + "team-websites": "เว็บไซต์ทีม", + "teams": "ทีม", + "term": "คำค้นหา", + "terms": "เงื่อนไข", "theme": "ธีม", "this-month": "เดือนปัจจุบัน", "this-week": "สัปดาห์ปัจจุบัน", "this-year": "ปีปัจจุบัน", "timezone": "เขตเวลา", - "title": "Title", + "title": "ชื่อ", "today": "วันนี้", "toggle-charts": "เปิด/ปิดแผนภูมิ", - "total": "Total", - "total-records": "Total records", + "total": "รวม", + "total-records": "จำนวนรายการทั้งหมด", "tracking-code": "โค้ดสำหรับใช้ติดตาม", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "ทราฟฟิก", + "transactions": "ธุรกรรม", + "transfer": "โอน", + "transfer-website": "โอนเว็บไซต์", + "true": "จริง", + "type": "ประเภท", + "unique": "ไม่ซ้ำ", + "unique-events": "เหตุการณ์ไม่ซ้ำ", "unique-visitors": "ผู้เข้าชม", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "ลูกค้าไม่ซ้ำ", "unknown": "ไม่รู้จัก", - "untitled": "Untitled", - "update": "Update", + "untitled": "ไม่มีชื่อ", + "update": "อัปเดต", "url": "URL", - "user": "User", + "user": "ผู้ใช้", "username": "ชื่อผู้ใช้", - "users": "Users", + "users": "ผู้ใช้", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "utm-campaign": "UTM แคมเปญ", + "utm-content": "UTM เนื้อหา", + "utm-description": "ติดตามแคมเปญของคุณผ่านพารามิเตอร์ UTM", + "utm-medium": "UTM สื่อ", + "utm-source": "UTM แหล่งที่มา", + "utm-term": "UTM คำค้นหา", + "value": "ค่า", + "version": "เวอร์ชัน", + "view": "ดู", "view-details": "แสดงรายละเอียด", - "view-only": "View only", + "view-only": "ดูอย่างเดียว", "views": "การเข้าชม", - "views-per-visit": "Views per visit", + "views-per-visit": "การดูต่อการเยี่ยมชม", "visit-duration": "ระยะเวลาเข้าชมเฉลี่ย", "visitors": "ผู้เข้าชม", - "visits": "Visits", - "website": "Website", - "website-id": "Website ID", + "visits": "การเยี่ยมชม", + "website": "เว็บไซต์", + "website-id": "ID เว็บไซต์", "websites": "เว็บไซต์", - "window": "Window", - "yesterday": "Yesterday" + "window": "หน้าต่าง", + "yesterday": "เมื่อวาน" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "พิมพ์ {confirmation} ในช่องด้านล่างเพื่อยืนยัน", "active-users": "มีผู้ใช้งาน {x} {x, plural, one {คนในขณะนี้} other {คนในขณะนี้}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "คำขอไม่ถูกต้อง", + "collected-data": "ข้อมูลที่เก็บรวบรวม", "confirm-delete": "คุณแน่ใจหรือไม่ว่าต้องการลบ {target} ?", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "คุณแน่ใจหรือไม่ว่าต้องการออกจาก {target}?", + "confirm-remove": "คุณแน่ใจหรือไม่ว่าต้องการลบ {target}?", "confirm-reset": "คุณแน่ใจหรือไม่ว่าต้องการรีเซตข้อมูลสถิติของ {target} ?", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "การลบทีมจะลบเว็บไซต์ทั้งหมดของทีมด้วย", "delete-website-warning": "ข้อมูลที่เกี่ยวข้องทั้งหมดจะถูกลบ.", "error": "เกิดข้อผิดพลาด.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} บน {url}", + "forbidden": "ไม่ได้รับอนุญาต", "go-to-settings": "ไปที่การตั้งค่า", "incorrect-username-password": "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง.", "invalid-domain": "โดเมนไม่ถูกต้อง", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "ความยาวขั้นต่ำ {n} ตัวอักษร", + "new-version-available": "Umami เวอร์ชันใหม่ {version} พร้อมใช้งานแล้ว!", "no-data-available": "ไม่มีข้อมูล.", - "no-event-data": "No event data is available.", + "no-event-data": "ไม่มีข้อมูลเหตุการณ์", "no-match-password": "รหัสผ่านไม่ตรงกัน", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "ทีมนี้ไม่มีเว็บไซต์", + "no-teams": "คุณยังไม่ได้สร้างทีม", + "no-users": "ไม่มีผู้ใช้", "no-websites-configured": "คุณยังไม่ได้ตั้งค่าเว็บไซต์ใด ๆ ไว้.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "ไม่พบ", + "nothing-selected": "ไม่ได้เลือกอะไร", "page-not-found": "ไม่พบหน้านี้.", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "เพื่อรีเซ็ตเว็บไซต์นี้ พิมพ์ {confirmation} ในช่องด้านล่าง", "reset-website-warning": "สถิติทั้งหมดสำหรับเว็บไซต์นี้จะถูกลบออก แต่โค้ดสำหรับใช้ติดตามของคุณจะยังคงอยู่เหมือนเดิม.", "saved": "บันทึกข้อมูลเรียบร้อย.", - "sever-error": "Server error", + "sever-error": "เกิดข้อผิดพลาดของเซิร์ฟเวอร์", "share-url": "นี่คือลิงก์ที่แชร์แบบสาธารณะสำหรับ {target}.", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "คุณเป็นสมาชิกของทีมอยู่แล้ว", + "team-not-found": "ไม่พบทีม", + "team-websites-info": "เว็บไซต์สามารถดูได้โดยทุกคนในทีม", "tracking-code": "โค้ดสำหรับใช้ติดตาม", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "transfer-team-website-to-user": "โอนเว็บไซต์นี้ไปยังบัญชีของคุณ?", + "transfer-user-website-to-team": "เลือกทีมเพื่อโอนเว็บไซต์นี้", + "transfer-website": "โอนความเป็นเจ้าของเว็บไซต์ไปยังบัญชีหรือทีมอื่น", + "triggered-event": "เหตุการณ์ที่ถูกเรียก", + "unauthorized": "ไม่ได้รับอนุญาต", + "user-deleted": "ผู้ใช้ถูกลบแล้ว", + "viewed-page": "หน้าที่ดู", "visitor-log": "ผู้เข้าชมจาก {country} กำลังใช้งานผ่าน {browser} บน {os} {device}" } } diff --git a/public/intl/messages/tr-TR.json b/public/intl/messages/tr-TR.json index 39cbb18f8..843df31fd 100644 --- a/public/intl/messages/tr-TR.json +++ b/public/intl/messages/tr-TR.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Erişim Kodu", - "account": "Account", - "action": "Action", + "account": "Hesap", + "action": "Eylem", "actions": "Hareketler", "activity": "Aktivite Kaydı", "add": "Ekle", "add-board": "Pano ekle", "add-description": "Açıklama ekle", - "add-link": "Add link", + "add-link": "Bağlantı ekle", "add-member": "Üye ekle", - "add-pixel": "Add pixel", + "add-pixel": "Piksel ekle", "add-step": "Adım ekle", "add-website": "Web sitesi ekle", "admin": "Administrator", @@ -18,13 +18,13 @@ "after": "Sonra", "all": "Tümü", "all-time": "Tüm zamanlar", - "analysis": "Analysis", + "analysis": "Analiz", "analytics": "Analitik", - "application": "Application", + "application": "Uygulama", "apply": "Uygula", "attribution": "Atıf", "attribution-description": "Kullanıcıların pazarlamanızla nasıl etkileşime girdiğini ve dönüşümleri neyin tetiklediğini görün.", - "audience": "Audience", + "audience": "Kitle", "average": "Ortalama", "back": "Geri", "before": "Önce", @@ -34,18 +34,18 @@ "breakdown": "Dağılım", "browser": "Tarayıcı", "browsers": "Tarayıcılar", - "campaign": "Campaign", + "campaign": "Kampanya", "campaigns": "Kampanyalar", "cancel": "İptal", "change-password": "Şifre değiştir", - "channel": "Channel", + "channel": "Kanal", "channels": "Kanallar", - "chart": "Chart", + "chart": "Grafik", "cities": "Şehirler", "city": "Şehir", "clear-all": "Hepsini temizle", "cohort": "Kohort", - "cohorts": "Cohorts", + "cohorts": "Kohortlar", "compare": "Karşılaştır", "compare-dates": "Tarihleri karşılaştır", "confirm": "Onayla", @@ -65,7 +65,7 @@ "create-user": "Kullanıcı oluştur", "created": "Oluşturuldu", "created-by": "Tarafından oluşturldu", - "criteria": "Criteria", + "criteria": "Kriterler", "currency": "Para birimi", "current": "Mevcut", "current-password": "Mevcut parola", @@ -83,33 +83,33 @@ "delete-website": "Web sitesini sil", "description": "Açıklama", "desktop": "Masaüstü", - "destination-url": "Destination URL", + "destination-url": "Hedef URL", "details": "Detaylar", "device": "Cihaz", "devices": "Cihazlar", "direct": "Doğrudan", "dismiss": "Reddet", "distinct-id": "Benzersiz ID", - "documentation": "Documentation", + "documentation": "Dokümantasyon", "does-not-contain": "İçermez", "does-not-include": "İçermiyor", "doest-not-exist": "Mevcut değil", "domain": "Alan adı", - "download": "Download", + "download": "İndir", "dropoff": "Bırakma", "edit": "Düzenle", "edit-dashboard": "Kontrol panelini düzenle", "edit-member": "Üyeyi düzenle", - "email": "Email", + "email": "E-posta", "enable-share-url": "Anonim paylaşım URL'i aktif", - "end-step": "End Step", + "end-step": "Son adım", "entry": "Entry URL", - "environment": "Environment", + "environment": "Ortam", "event": "Olay", "event-data": "Olay verisi", "event-name": "Olay adı", "events": "Olaylar", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Hemen çıkışı hariç tut", "exists": "Mevcut", "exit": "Exit URL", "false": "Yanlış", @@ -120,7 +120,7 @@ "filter-raw": "Ham filtre", "filters": "Filtreler", "first-click": "İlk tıklama", - "first-seen": "First seen", + "first-seen": "İlk görülme", "funnel": "Huni", "funnel-description": "Kullanıcıların dönüşüm ve ayrılma oranlarını anlayın.", "funnels": "Huniler", @@ -130,15 +130,15 @@ "greater-than": "Büyüktür", "greater-than-equals": "Büyük veya eşittir", "grouped": "Gruplandırılmış", - "growth": "Growth", + "growth": "Büyüme", "hostname": "Sunucu adı", - "hour": "Hour", + "hour": "Saat", "includes": "İçerir", "insight": "İçgörü", - "insights": "Insights", + "insights": "İçgörüler", "insights-description": "Segmentleri ve filtreleri kullanarak verilerinizi derinlemesine inceleyin.", - "invalid-url": "Invalid URL", - "is": "Is", + "invalid-url": "Geçersiz URL", + "is": "Eşittir", "is-false": "Yanlış", "is-not": "Değil", "is-not-set": "Ayarlanmamış", @@ -161,37 +161,37 @@ "leave-team": "Takımdan Ayrıl", "less-than": "Küçüktür", "less-than-equals": "Küçük veya eşittir", - "link": "Link", + "link": "Bağlantı", "links": "Bağlantılar", - "location": "Location", + "location": "Konum", "login": "Giriş Yap", "logout": "Çıkış Yap", "manage": "Yönet", - "manager": "Manager", - "max": "Max", + "manager": "Yönetici", + "max": "Maks", "maximize": "Genişlet", "medium": "Orta", "member": "Üye", "members": "Üyeler", "min": "Min", - "minute": "Minute", + "minute": "Dakika", "mobile": "Mobil Cihaz", "model": "Model", - "month": "Month", + "month": "Ay", "more": "Detaylı göster", "my-account": "Hesabım", "my-websites": "Web sitelerim", "name": "İsim", "new-password": "Yeni parola", "none": "Yok", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {kayıt} other {kayıt}}", "ok": "TAMAM", - "online": "Online", + "online": "Çevrimiçi", "organic-search": "Organik arama", "organic-shopping": "Organik alışveriş", "organic-social": "Organik sosyal", "organic-video": "Organik video", - "os": "OS", + "os": "İşletim Sistemi", "other": "Diğer", "overview": "Genel bakış", "owner": "Sahibi", @@ -208,15 +208,15 @@ "password": "Parola", "path": "Yol", "paths": "Yollar", - "pixel": "Pixel", + "pixel": "Piksel", "pixels": "Pikseller", "powered-by": "Sağlayıcı: {name}", - "preferences": "Preferences", + "preferences": "Tercihler", "previous": "Önceki", "previous-period": "Önceki dönem", "previous-year": "Önceki yıl", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profiller", "properties": "Özellikler", "property": "Özellik", "queries": "Sorgular", @@ -224,7 +224,7 @@ "query-parameters": "Sorgu parametreleri", "realtime": "Gerçek Zamanlı", "referral": "Yönlendirme", - "referrer": "Referrer", + "referrer": "Yönlendiren", "referrers": "Yönlendirenler", "refresh": "Yenile", "regenerate": "Yeniden Oluştur", @@ -244,13 +244,13 @@ "role": "Rol", "run-query": "Sorgu çalıştır", "save": "Kaydet", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Kohortu kaydet", + "save-segment": "Segmenti kaydet", + "screen": "Ekran", "screens": "Ekranlar", "search": "Ara", "segment": "Segment", - "segments": "Segments", + "segments": "Segmentler", "select": "Seç", "select-date": "Tarih seç", "select-filter": "Filtre seç", @@ -258,20 +258,20 @@ "select-website": "Web sitesi seç", "session": "Oturum", "session-data": "Oturum verisi", - "sessions": "Sessions", + "sessions": "Oturumlar", "settings": "Ayarlar", "share": "Paylaş", "share-url": "Paylaşım adresi", "single-day": "Tekil gün", "sms": "SMS", - "source": "Source", + "source": "Kaynak", "sources": "Kaynaklar", - "start-step": "Start Step", + "start-step": "Başlangıç adımı", "steps": "Adımlar", "sum": "Toplam", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Destek", + "switch-account": "Hesap değiştir", + "table": "Tablo", "tablet": "Tablet", "tag": "Etiket", "tags": "Etiketler", @@ -285,7 +285,7 @@ "team-view-only": "Yalnızca ekip görünümü", "team-websites": "Takım web siteleri", "teams": "Takımlar", - "term": "Term", + "term": "Arama terimi", "terms": "Koşullar", "theme": "Tema", "this-month": "Bu ay", @@ -298,16 +298,16 @@ "total": "Toplam", "total-records": "Toplam kayıt", "tracking-code": "İzleme kodu", - "traffic": "Traffic", - "transactions": "Transactions", + "traffic": "Trafik", + "transactions": "İşlemler", "transfer": "Transfer", "transfer-website": "Transfer web sitesi", "true": "Doğru", "type": "Tip", "unique": "Benzersiz", - "unique-events": "Unique events", + "unique-events": "Benzersiz etkinlikler", "unique-visitors": "Tekil kullanıcı", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Benzersiz müşteriler", "unknown": "Bilinmeyen", "untitled": "İsimsiz", "update": "Güncelle", @@ -316,14 +316,14 @@ "username": "Kullanıcı adı", "users": "Kullanıcılar", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM Kampanya", + "utm-content": "UTM İçerik", "utm-description": "Kampanyalarınızı UTM parametreleri aracılığıyla takip edin.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM Ortam", + "utm-source": "UTM Kaynak", + "utm-term": "UTM Terim", "value": "Değer", - "version": "Version", + "version": "Sürüm", "view": "Görünüm", "view-details": "Detayı incele", "view-only": "Sadece görünüm", @@ -333,7 +333,7 @@ "visitors": "Ziyaretçi", "visits": "Ziyaretler", "website": "Web sitesi", - "website-id": "Website ID", + "website-id": "Web sitesi ID", "websites": "Web siteleri", "window": "Pencere", "yesterday": "Dün" @@ -341,8 +341,8 @@ "message": { "action-confirmation": "Onaylamak için aşağıdaki kutuya {confirmation} yazın.", "active-users": "{x} aktif ziyaretçi", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Geçersiz istek", + "collected-data": "Toplanan veriler", "confirm-delete": "{target} kaydını silmek istediğinizden emin misiniz?", "confirm-leave": "{target} kaydından ayrılmak istediğinizden emin misiniz?", "confirm-remove": "{target} kaydını kaldırmak istediğinizden emin misiniz?", @@ -350,8 +350,8 @@ "delete-team-warning": "Bir takımı silmek tüm takım web sitelerini de silecektir.", "delete-website-warning": "İlişkili tüm veriler de silinecektir.", "error": "Bir şeyler ters gitti!", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{event} sayfasında {url}", + "forbidden": "Yasaklandı", "go-to-settings": "Ayarlara git", "incorrect-username-password": "Hatalı kullanıcı adı ya da parola.", "invalid-domain": "Geçersiz alan adı", @@ -365,13 +365,13 @@ "no-teams": "Herhangi bir takım oluşturmadınız.", "no-users": "Kullanıcı yok.", "no-websites-configured": "Henüz hiç web sitesi tanımlamadınız", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Bulunamadı", + "nothing-selected": "Hiçbir şey seçilmedi.", "page-not-found": "Sayfa bulunamadı.", "reset-website": "Bu websitesini sıfılamak için aşağıdaki kutuya {confirmation} yazın.", "reset-website-warning": "Bu web sitesi için tüm istatistikler silinecek, ancak izleme kodunuz bozulmadan kalacaktır.", "saved": "Başarıyla kaydedildi.", - "sever-error": "Server error", + "sever-error": "Sunucu hatası", "share-url": "{target} için kullanılabilir anonim paylaşım adresidir.", "team-already-member": "Zaten bu takımın üyesisiniz", "team-not-found": "Takım bulunamadı", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Bu web sitesinin aktarılacağı takımı seçin.", "transfer-website": "Web sitesi sahipliğini hesabınıza veya başka bir takıma aktarın", "triggered-event": "Tetiklenen olay", - "unauthorized": "Unauthorized", + "unauthorized": "Yetkisiz", "user-deleted": "Kullanıcı silindi.", "viewed-page": "Görüntülenen sayfa", "visitor-log": "Yeni ziyaretçi: {country}, {os}, {device}, {browser}" diff --git a/public/intl/messages/uk-UA.json b/public/intl/messages/uk-UA.json index fc19e02a1..94b8d3078 100644 --- a/public/intl/messages/uk-UA.json +++ b/public/intl/messages/uk-UA.json @@ -1,16 +1,16 @@ { "label": { "access-code": "Код доступу", - "account": "Account", - "action": "Action", + "account": "Обліковий запис", + "action": "Дія", "actions": "Дії", "activity": "Журнал", "add": "Додати", "add-board": "Додати дошку", "add-description": "Додати опис", - "add-link": "Add link", + "add-link": "Додати посилання", "add-member": "Додати учасника", - "add-pixel": "Add pixel", + "add-pixel": "Додати піксель", "add-step": "Додати крок", "add-website": "Додати сайт", "admin": "Адміністратор", @@ -18,13 +18,13 @@ "after": "Після", "all": "Всі", "all-time": "Весь час", - "analysis": "Analysis", + "analysis": "Аналіз", "analytics": "Аналітика", - "application": "Application", + "application": "Додаток", "apply": "Застосувати", "attribution": "Атрибуція", "attribution-description": "Дивіться, як користувачі взаємодіють з вашим маркетингом і що сприяє конверсіям.", - "audience": "Audience", + "audience": "Аудиторія", "average": "Середній", "back": "Назад", "before": "До", @@ -34,18 +34,18 @@ "breakdown": "Розподіл", "browser": "Браузер", "browsers": "Браузери", - "campaign": "Campaign", + "campaign": "Кампанія", "campaigns": "Кампанії", "cancel": "Відмінити", "change-password": "Змінити пароль", - "channel": "Channel", + "channel": "Канал", "channels": "Канали", - "chart": "Chart", + "chart": "Діаграма", "cities": "Міста", "city": "Місто", "clear-all": "Очистити все", "cohort": "Когорта", - "cohorts": "Cohorts", + "cohorts": "Когорти", "compare": "Порівняти", "compare-dates": "Порівняти дати", "confirm": "Підтвердити", @@ -65,7 +65,7 @@ "create-user": "Створити користувача", "created": "Створено", "created-by": "Створено", - "criteria": "Criteria", + "criteria": "Критерії", "currency": "Валюта", "current": "Поточний", "current-password": "Поточний пароль", @@ -83,36 +83,36 @@ "delete-website": "Видалити сайт", "description": "Опис", "desktop": "Настільний ПК", - "destination-url": "Destination URL", + "destination-url": "URL призначення", "details": "Деталі", "device": "Пристрій", "devices": "Пристрої", "direct": "Прямий", "dismiss": "Відхилити", "distinct-id": "Унікальний ID", - "documentation": "Documentation", + "documentation": "Документація", "does-not-contain": "Не містить", "does-not-include": "Не включає", "doest-not-exist": "Не існує", "domain": "Домен", - "download": "Download", + "download": "Завантажити", "dropoff": "Відсів", "edit": "Редагувати", "edit-dashboard": "Редагувати панель", "edit-member": "Редагувати учасника", - "email": "Email", + "email": "Електронна пошта", "enable-share-url": "Увімкнути спільне посилання", "end-step": "Кінцевий крок", "entry": "Вхідний URL", - "environment": "Environment", + "environment": "Середовище", "event": "Подія", "event-data": "Дані події", "event-name": "Назва події", "events": "Події", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Виключити відмови", "exists": "Існує", "exit": "Exit URL", - "false": "False", + "false": "Хибно", "field": "Поле", "fields": "Поля", "filter": "Фільтр", @@ -120,7 +120,7 @@ "filter-raw": "Сирі дані", "filters": "Фільтри", "first-click": "Перший клік", - "first-seen": "First seen", + "first-seen": "Перший візит", "funnel": "Воронка", "funnel-description": "Зрозуміти рівень конверсії та відсіву користувачів.", "funnels": "Воронки", @@ -130,14 +130,14 @@ "greater-than": "Більше ніж", "greater-than-equals": "Більше або рівно", "grouped": "Груповано", - "growth": "Growth", + "growth": "Зростання", "hostname": "Ім'я хоста", - "hour": "Hour", + "hour": "Година", "includes": "Включає", "insight": "Інсайт", "insights": "Інсайти", "insights-description": "Зануртеся глибше у свої дані за допомогою сегментів та фільтрів.", - "invalid-url": "Invalid URL", + "invalid-url": "Недійсний URL", "is": "Є", "is-false": "Хибно", "is-not": "Не є", @@ -161,32 +161,32 @@ "leave-team": "Покинути команду", "less-than": "Менше ніж", "less-than-equals": "Менше або дорівнює", - "link": "Link", + "link": "Посилання", "links": "Посилання", - "location": "Location", + "location": "Місцезнаходження", "login": "Увійти", "logout": "Вийти", "manage": "Керувати", - "manager": "Manager", + "manager": "Менеджер", "max": "Макс.", "maximize": "Розгорнути", "medium": "Середній", "member": "Учасник", "members": "Учасники", "min": "Мін.", - "minute": "Minute", + "minute": "Хвилина", "mobile": "Мобільний", "model": "Модель", - "month": "Month", + "month": "Місяць", "more": "Більше", "my-account": "Мій обліковий запис", "my-websites": "Мої сайти", "name": "Ім'я", "new-password": "Новий пароль", "none": "Нічого", - "number-of-records": "{x} {x, plural, one {record} other {records}}", - "ok": "OK", - "online": "Online", + "number-of-records": "{x} {x, plural, one {запис} few {записи} other {записів}}", + "ok": "ОК", + "online": "Онлайн", "organic-search": "Органічний пошук", "organic-shopping": "Органічні покупки", "organic-social": "Органічні соцмережі", @@ -206,17 +206,17 @@ "paid-social": "Платні соцмережі", "paid-video": "Платне відео", "password": "Пароль", - "path": "Path", - "paths": "Paths", - "pixel": "Pixel", + "path": "Шлях", + "paths": "Шляхи", + "pixel": "Піксель", "pixels": "Пікселі", "powered-by": "На базі {name}", - "preferences": "Preferences", + "preferences": "Налаштування", "previous": "Попередній", "previous-period": "Попередній період", "previous-year": "Попередній рік", "profile": "Профіль", - "profiles": "Profiles", + "profiles": "Профілі", "properties": "Властивості", "property": "Властивість", "queries": "Запити", @@ -244,13 +244,13 @@ "role": "Роль", "run-query": "Виконати запит", "save": "Зберегти", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Зберегти когорту", + "save-segment": "Зберегти сегмент", + "screen": "Екран", "screens": "Екрани", "search": "Пошук", - "segment": "Segment", - "segments": "Segments", + "segment": "Сегмент", + "segments": "Сегменти", "select": "Вибрати", "select-date": "Вибрати дату", "select-filter": "Вибрати фільтр", @@ -263,15 +263,15 @@ "share": "Поділитися", "share-url": "Поділитися посилання", "single-day": "Один день", - "sms": "SMS", - "source": "Source", + "sms": "СМС", + "source": "Джерело", "sources": "Джерела", - "start-step": "Start Step", + "start-step": "Початковий крок", "steps": "Кроки", "sum": "Сума", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Підтримка", + "switch-account": "Змінити обліковий запис", + "table": "Таблиця", "tablet": "Планшет", "tag": "Тег", "tags": "Теги", @@ -285,7 +285,7 @@ "team-view-only": "Тільки для командного перегляду", "team-websites": "Сайти команди", "teams": "Команди", - "term": "Term", + "term": "Пошуковий запит", "terms": "Умови", "theme": "Тема", "this-month": "Цього місяця", @@ -298,16 +298,16 @@ "total": "Всього", "total-records": "Всього записів", "tracking-code": "Код для відслідковування", - "traffic": "Traffic", - "transactions": "Transactions", + "traffic": "Трафік", + "transactions": "Транзакції", "transfer": "Передати", "transfer-website": "Передати сайт", - "true": "True", + "true": "Істинно", "type": "Тип", "unique": "Унікальний", - "unique-events": "Unique events", + "unique-events": "Унікальні події", "unique-visitors": "Унікальні відвідувачі", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "Унікальні клієнти", "unknown": "Невідомо", "untitled": "Без заголовку", "update": "Оновлення", @@ -316,20 +316,20 @@ "username": "Ім'я користувача", "users": "Користувачі", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM-кампанія", + "utm-content": "UTM-контент", "utm-description": "Відстежуйте свої кампанії за допомогою параметрів UTM.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM-канал", + "utm-source": "UTM-джерело", + "utm-term": "UTM-запит", "value": "Значення", - "version": "Version", + "version": "Версія", "view": "Перегляд", "view-details": "Переглянути деталі", "view-only": "Тільки для перегляду", "views": "Перегляди", "views-per-visit": "Перегляди за одне відвідування", - "visit-duration": "Visit duration", + "visit-duration": "Тривалість візиту", "visitors": "Відвідувачі", "visits": "Відвідування", "website": "Сайт", @@ -341,8 +341,8 @@ "message": { "action-confirmation": "Введіть {confirmation} у полі нижче, щоб підтвердити.", "active-users": "{x} поточних відвідувачів", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "Невірний запит", + "collected-data": "Зібрані дані", "confirm-delete": "Ви впевнені, що бажаєте видалити {target}?", "confirm-leave": "Ви впевнені, що бажаєте покинути {target}?", "confirm-remove": "Ви впевнені, що бажаєте видалити {target}?", @@ -351,7 +351,7 @@ "delete-website-warning": "Усі пов'язані дані будуть видалені також.", "error": "Щось пішло не так.", "event-log": "{event} на {url}", - "forbidden": "Forbidden", + "forbidden": "Доступ заборонено", "go-to-settings": "Перейти до налаштувань", "incorrect-username-password": "Невірне ім'я користувача або пароль.", "invalid-domain": "Некоректний домен", @@ -365,13 +365,13 @@ "no-teams": "Ви не створили жодної команди.", "no-users": "Немає жодного користувача.", "no-websites-configured": "У вас немає налаштованих сайтів.", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "Не знайдено", + "nothing-selected": "Нічого не вибрано.", "page-not-found": "Сторінку не знайдено.", "reset-website": "Щоб скинути налаштування цього веб-сайту, введіть {confirmation} у полі нижче для підтвердження.", "reset-website-warning": "Вся статистика для цього сайту буде видалена, проте код відслідковування буде продовжувати працювати.", "saved": "Збережено успішно.", - "sever-error": "Server error", + "sever-error": "Помилка сервера", "share-url": "Це публічне посилання для {target}.", "team-already-member": "Ви вже є членом команди.", "team-not-found": "Команду не знайдено.", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "Виберіть команду, до якої ви хочете передати цей веб-сайт.", "transfer-website": "Передайте право власності на сайт своєму акаунту або іншій команді.", "triggered-event": "Подія, що спрацювала", - "unauthorized": "Unauthorized", + "unauthorized": "Не авторизовано", "user-deleted": "Користувача видалено.", "viewed-page": "Переглянута сторінка", "visitor-log": "Відвідувач з {country} використовуючи {browser} на {os} {device}" diff --git a/public/intl/messages/ur-PK.json b/public/intl/messages/ur-PK.json index 4d9230ba9..c8a520075 100644 --- a/public/intl/messages/ur-PK.json +++ b/public/intl/messages/ur-PK.json @@ -1,389 +1,389 @@ { "label": { - "access-code": "Access code", - "account": "Account", - "action": "Action", + "access-code": "رسائی کوڈ", + "account": "اکاؤنٹ", + "action": "عمل", "actions": "اعمال", "activity": "Activity log", - "add": "Add", - "add-board": "Add board", - "add-description": "Add description", - "add-link": "Add link", - "add-member": "Add member", - "add-pixel": "Add pixel", - "add-step": "Add step", + "add": "شامل کریں", + "add-board": "بورڈ شامل کریں", + "add-description": "تفصیل شامل کریں", + "add-link": "لنک شامل کریں", + "add-member": "رکن شامل کریں", + "add-pixel": "پکسل شامل کریں", + "add-step": "مرحلہ شامل کریں", "add-website": "ویب سائٹ کا اضافہ کریں", "admin": "منتظم", - "affiliate": "Affiliate", - "after": "After", + "affiliate": "ملحقہ", + "after": "بعد", "all": "تمام", "all-time": "تمام وقت", - "analysis": "Analysis", - "analytics": "Analytics", - "application": "Application", - "apply": "Apply", - "attribution": "Attribution", - "attribution-description": "See how users engage with your marketing and what drives conversions.", - "audience": "Audience", - "average": "Average", + "analysis": "تجزیہ", + "analytics": "تجزیات", + "application": "ایپلیکیشن", + "apply": "لاگو کریں", + "attribution": "انتساب", + "attribution-description": "دیکھیں کہ صارفین آپ کی مارکیٹنگ کے ساتھ کیسے جڑتے ہیں اور تبدیلیوں کی وجہ کیا ہے۔", + "audience": "سامعین", + "average": "اوسط", "back": "پیچھے", - "before": "Before", + "before": "پہلے", "behavior": "رویے", - "boards": "Boards", + "boards": "بورڈز", "bounce-rate": "اچھال کی شرح", - "breakdown": "Breakdown", - "browser": "Browser", + "breakdown": "تفصیلی تجزیہ", + "browser": "براؤزر", "browsers": "براؤزرز", - "campaign": "Campaign", - "campaigns": "Campaigns", + "campaign": "مہم", + "campaigns": "مہمات", "cancel": "منسوخ", "change-password": "پاس ورڈ تبدیل کریں", - "channel": "Channel", - "channels": "Channels", - "chart": "Chart", - "cities": "Cities", - "city": "City", - "clear-all": "Clear all", - "cohort": "Cohort", - "cohorts": "Cohorts", - "compare": "Compare", - "compare-dates": "Compare dates", - "confirm": "Confirm", + "channel": "چینل", + "channels": "چینلز", + "chart": "چارٹ", + "cities": "شہر", + "city": "شہر", + "clear-all": "سب صاف کریں", + "cohort": "کوہارٹ", + "cohorts": "کوہارٹس", + "compare": "موازنہ کریں", + "compare-dates": "تاریخوں کا موازنہ", + "confirm": "تصدیق کریں", "confirm-password": "پاس ورڈ کی تصدیق کریں", - "contains": "Contains", - "content": "Content", - "continue": "Continue", - "conversion": "Conversion", - "conversion-rate": "Conversion rate", - "conversion-step": "Conversion step", - "count": "Count", + "contains": "شامل ہے", + "content": "مواد", + "continue": "جاری رکھیں", + "conversion": "تبدیلی", + "conversion-rate": "تبدیلی کی شرح", + "conversion-step": "تبدیلی کا مرحلہ", + "count": "شمار", "countries": "ممالک", - "country": "Country", - "create": "Create", - "create-report": "Create report", - "create-team": "Create team", - "create-user": "Create user", - "created": "Created", - "created-by": "Created By", - "criteria": "Criteria", - "currency": "Currency", - "current": "Current", + "country": "ملک", + "create": "بنائیں", + "create-report": "رپورٹ بنائیں", + "create-team": "ٹیم بنائیں", + "create-user": "صارف بنائیں", + "created": "بنایا گیا", + "created-by": "بنانے والا", + "criteria": "معیار", + "currency": "کرنسی", + "current": "موجودہ", "current-password": "موجودہ پاس ورڈ", "custom-range": "اپنی مرضی کی حد", "dashboard": "ڈیش بورڈ", - "data": "Data", - "date": "Date", + "data": "ڈیٹا", + "date": "تاریخ", "date-range": "تاریخ کی حد", - "day": "Day", + "day": "دن", "default-date-range": "پہلے سے طے شدہ تاریخ کی حد", "delete": "حذف کریں", - "delete-report": "Delete report", - "delete-team": "Delete team", - "delete-user": "Delete user", + "delete-report": "رپورٹ حذف کریں", + "delete-team": "ٹیم حذف کریں", + "delete-user": "صارف حذف کریں", "delete-website": "ویب سائٹ مٹایں", - "description": "Description", + "description": "تفصیل", "desktop": "ڈیسک ٹاپ", - "destination-url": "Destination URL", - "details": "Details", - "device": "Device", + "destination-url": "منزل URL", + "details": "تفصیلات", + "device": "آلہ", "devices": "آلات", - "direct": "Direct", + "direct": "براہ راست", "dismiss": "مسترد کریں", - "distinct-id": "Distinct ID", - "documentation": "Documentation", - "does-not-contain": "Does not contain", - "does-not-include": "Does not include", - "doest-not-exist": "Does not exist", + "distinct-id": "منفرد ID", + "documentation": "دستاویزات", + "does-not-contain": "شامل نہیں ہے", + "does-not-include": "مشتمل نہیں ہے", + "doest-not-exist": "موجود نہیں ہے", "domain": "ڈومین", - "download": "Download", - "dropoff": "Dropoff", + "download": "ڈاؤن لوڈ", + "dropoff": "ڈراپ آف", "edit": "ترمیم", - "edit-dashboard": "Edit dashboard", - "edit-member": "Edit member", - "email": "Email", + "edit-dashboard": "ڈیش بورڈ میں ترمیم", + "edit-member": "رکن میں ترمیم", + "email": "ای میل", "enable-share-url": "شیئر یو آر ایل کو فعال کریں", - "end-step": "End Step", + "end-step": "آخری مرحلہ", "entry": "Entry URL", - "environment": "Environment", - "event": "Event", - "event-data": "Event data", - "event-name": "Event name", + "environment": "ماحول", + "event": "واقعہ", + "event-data": "واقعہ ڈیٹا", + "event-name": "واقعہ کا نام", "events": "واقعات", - "exclude-bounce": "Exclude bounce", - "exists": "Exists", + "exclude-bounce": "اچھال خارج کریں", + "exists": "موجود ہے", "exit": "Exit URL", - "false": "False", - "field": "Field", - "fields": "Fields", - "filter": "Filter", + "false": "غلط", + "field": "فیلڈ", + "fields": "فیلڈز", + "filter": "فلٹر", "filter-combined": "مشترکہ", "filter-raw": "خام", - "filters": "Filters", - "first-click": "First click", - "first-seen": "First seen", - "funnel": "Funnel", - "funnel-description": "Understand the conversion and drop-off rate of users.", - "funnels": "Funnels", - "goal": "Goal", - "goals": "Goals", - "goals-description": "Track your goals for pageviews and events.", - "greater-than": "Greater than", - "greater-than-equals": "Greater than or equals", - "grouped": "Grouped", - "growth": "Growth", - "hostname": "Hostname", - "hour": "Hour", - "includes": "Includes", - "insight": "Insight", - "insights": "Insights", - "insights-description": "Dive deeper into your data by using segments and filters.", - "invalid-url": "Invalid URL", - "is": "Is", - "is-false": "Is false", - "is-not": "Is not", - "is-not-set": "Is not set", - "is-set": "Is set", - "is-true": "Is true", - "join": "Join", - "join-team": "Join team", - "journey": "Journey", - "journey-description": "Understand how users navigate through your website.", - "journeys": "Journeys", - "language": "Language", + "filters": "فلٹرز", + "first-click": "پہلا کلک", + "first-seen": "پہلی بار دیکھا گیا", + "funnel": "فنل", + "funnel-description": "صارفین کی تبدیلی اور ڈراپ آف شرح کو سمجھیں۔", + "funnels": "فنلز", + "goal": "ہدف", + "goals": "اہداف", + "goals-description": "صفحہ کے نظاروں اور واقعات کے لیے اپنے اہداف کی نگرانی کریں۔", + "greater-than": "سے زیادہ", + "greater-than-equals": "سے زیادہ یا مساوی", + "grouped": "گروپ شدہ", + "growth": "نمو", + "hostname": "ہوسٹ نام", + "hour": "گھنٹہ", + "includes": "مشتمل ہے", + "insight": "بصیرت", + "insights": "بصیرتیں", + "insights-description": "سیگمنٹس اور فلٹرز استعمال کرکے اپنے ڈیٹا میں گہرائی سے جائیں۔", + "invalid-url": "غلط URL", + "is": "ہے", + "is-false": "غلط ہے", + "is-not": "نہیں ہے", + "is-not-set": "سیٹ نہیں ہے", + "is-set": "سیٹ ہے", + "is-true": "درست ہے", + "join": "شامل ہوں", + "join-team": "ٹیم میں شامل ہوں", + "journey": "سفر", + "journey-description": "سمجھیں کہ صارفین آپ کی ویب سائٹ پر کیسے تشریف لے جاتے ہیں۔", + "journeys": "سفر", + "language": "زبان", "languages": "زبانیں", "laptop": "لیپ ٹاپ", - "last-click": "Last click", + "last-click": "آخری کلک", "last-days": "پچھلے {x} دن", "last-hours": "پچھلے {x} گھنٹے", - "last-months": "Last {x} months", - "last-seen": "Last seen", - "leave": "Leave", - "leave-team": "Leave team", - "less-than": "Less than", - "less-than-equals": "Less than or equals", - "link": "Link", - "links": "Links", - "location": "Location", + "last-months": "پچھلے {x} مہینے", + "last-seen": "آخری بار دیکھا گیا", + "leave": "چھوڑیں", + "leave-team": "ٹیم چھوڑیں", + "less-than": "سے کم", + "less-than-equals": "سے کم یا مساوی", + "link": "لنک", + "links": "لنکس", + "location": "مقام", "login": "لاگ ان", "logout": "لاگ آوٹ", - "manage": "Manage", - "manager": "Manager", - "max": "Max", + "manage": "انتظام کریں", + "manager": "منتظم", + "max": "زیادہ سے زیادہ", "maximize": "Expand", - "medium": "Medium", - "member": "Member", - "members": "Members", - "min": "Min", - "minute": "Minute", + "medium": "میڈیم", + "member": "رکن", + "members": "اراکین", + "min": "کم سے کم", + "minute": "منٹ", "mobile": "موبائل", - "model": "Model", - "month": "Month", + "model": "ماڈل", + "month": "مہینہ", "more": "مزید", - "my-account": "My account", - "my-websites": "My websites", + "my-account": "میرا اکاؤنٹ", + "my-websites": "میری ویب سائٹس", "name": "نام", "new-password": "نیا پاس ورڈ", - "none": "None", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "none": "کوئی نہیں", + "number-of-records": "{x} {x, plural, one {ریکارڈ} other {ریکارڈز}}", "ok": "OK", - "online": "Online", - "organic-search": "Organic search", - "organic-shopping": "Organic shopping", - "organic-social": "Organic social", - "organic-video": "Organic video", + "online": "آن لائن", + "organic-search": "نامیاتی تلاش", + "organic-shopping": "نامیاتی خریداری", + "organic-social": "نامیاتی سوشل", + "organic-video": "نامیاتی ویڈیو", "os": "OS", - "other": "Other", - "overview": "Overview", + "other": "دیگر", + "overview": "جائزہ", "owner": "مالک", - "page": "Page", - "page-of": "Page {current} of {total}", + "page": "صفحہ", + "page-of": "صفحہ {current} از {total}", "page-views": "صفحہ کے نظارے", - "pageTitle": "Page title", + "pageTitle": "صفحہ کا عنوان", "pages": "صفحات", - "paid-ads": "Paid ads", - "paid-search": "Paid search", - "paid-shopping": "Paid shopping", - "paid-social": "Paid social", - "paid-video": "Paid video", + "paid-ads": "ادا شدہ اشتہارات", + "paid-search": "ادا شدہ تلاش", + "paid-shopping": "ادا شدہ خریداری", + "paid-social": "ادا شدہ سوشل", + "paid-video": "ادا شدہ ویڈیو", "password": "پاس ورڈ", - "path": "Path", - "paths": "Paths", - "pixel": "Pixel", - "pixels": "Pixels", + "path": "راستہ", + "paths": "راستے", + "pixel": "پکسل", + "pixels": "پکسلز", "powered-by": "تقویت یافتہ بذریعہ {name}", - "preferences": "Preferences", - "previous": "Previous", - "previous-period": "Previous period", - "previous-year": "Previous year", + "preferences": "ترجیحات", + "previous": "پچھلا", + "previous-period": "پچھلا عرصہ", + "previous-year": "پچھلا سال", "profile": "پروفائل", - "profiles": "Profiles", - "properties": "Properties", - "property": "Property", - "queries": "Queries", - "query": "Query", - "query-parameters": "Query parameters", + "profiles": "پروفائلز", + "properties": "خصوصیات", + "property": "خصوصیت", + "queries": "استفسارات", + "query": "استفسار", + "query-parameters": "استفسار پیرامیٹرز", "realtime": "براہ راست", - "referral": "Referral", - "referrer": "Referrer", + "referral": "حوالہ", + "referrer": "حوالہ دہندہ", "referrers": "بھیجنے والے", "refresh": "تازہ دم کریں", - "regenerate": "Regenerate", - "region": "Region", - "regions": "Regions", - "remaining": "Remaining", - "remove": "Remove", - "remove-member": "Remove member", - "reports": "Reports", + "regenerate": "دوبارہ بنائیں", + "region": "علاقہ", + "regions": "علاقے", + "remaining": "باقی", + "remove": "ہٹائیں", + "remove-member": "رکن ہٹائیں", + "reports": "رپورٹیں", "required": "درکار ہے", "reset": "دوبارہ ترتیب دیں", "reset-website": "اعدادوشمار کو دوبارہ ترتیب دیں", - "retention": "Retention", - "retention-description": "Measure your website stickiness by tracking how often users return.", - "revenue": "Revenue", + "retention": "برقراری", + "retention-description": "یہ جانچیں کہ صارفین کتنی بار واپس آتے ہیں اور آپ کی ویب سائٹ کتنی پرکشش ہے۔", + "revenue": "آمدنی", "revenue-description": "Look into your revenue across time.", - "role": "Role", - "run-query": "Run query", + "role": "کردار", + "run-query": "استفسار چلائیں", "save": "محفوظ کریں", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", - "screens": "Screens", - "search": "Search", - "segment": "Segment", - "segments": "Segments", - "select": "Select", - "select-date": "Select date", - "select-filter": "Select filter", - "select-role": "Select role", - "select-website": "Select website", - "session": "Session", - "session-data": "Session data", - "sessions": "Sessions", + "save-cohort": "کوہارٹ محفوظ کریں", + "save-segment": "سیگمنٹ محفوظ کریں", + "screen": "اسکرین", + "screens": "اسکرینز", + "search": "تلاش", + "segment": "سیگمنٹ", + "segments": "سیگمنٹس", + "select": "منتخب کریں", + "select-date": "تاریخ منتخب کریں", + "select-filter": "فلٹر منتخب کریں", + "select-role": "کردار منتخب کریں", + "select-website": "ویب سائٹ منتخب کریں", + "session": "سیشن", + "session-data": "سیشن ڈیٹا", + "sessions": "سیشنز", "settings": "ترتیبات", - "share": "Share", + "share": "شیئر کریں", "share-url": "URL کا اشتراک کریں", "single-day": "ایک دن", "sms": "SMS", - "source": "Source", - "sources": "Sources", - "start-step": "Start Step", - "steps": "Steps", - "sum": "Sum", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "source": "ذریعہ", + "sources": "ذرائع", + "start-step": "شروعاتی مرحلہ", + "steps": "مراحل", + "sum": "کل", + "support": "معاونت", + "switch-account": "اکاؤنٹ تبدیل کریں", + "table": "ٹیبل", "tablet": "ٹیبلیٹ", - "tag": "Tag", - "tags": "Tags", - "team": "Team", + "tag": "ٹیگ", + "tags": "ٹیگز", + "team": "ٹیم", "team-id": "Team ID", - "team-manager": "Team manager", - "team-member": "Team member", - "team-name": "Team name", - "team-owner": "Team owner", - "team-settings": "Team settings", - "team-view-only": "Team view only", - "team-websites": "Team websites", - "teams": "Teams", - "term": "Term", - "terms": "Terms", - "theme": "Theme", + "team-manager": "ٹیم منتظم", + "team-member": "ٹیم رکن", + "team-name": "ٹیم کا نام", + "team-owner": "ٹیم مالک", + "team-settings": "ٹیم ترتیبات", + "team-view-only": "ٹیم صرف دیکھنے کے لیے", + "team-websites": "ٹیم ویب سائٹس", + "teams": "ٹیمیں", + "term": "اصطلاح", + "terms": "شرائط", + "theme": "تھیم", "this-month": "اس مہینے", "this-week": "اس ہفتے", "this-year": "اس سال", "timezone": "ٹائم زون", - "title": "Title", + "title": "عنوان", "today": "آج", "toggle-charts": "چارٹ تبدیل کریں", - "total": "Total", - "total-records": "Total records", + "total": "کل", + "total-records": "کل ریکارڈز", "tracking-code": "ٹریکنگ کوڈ", - "traffic": "Traffic", - "transactions": "Transactions", - "transfer": "Transfer", - "transfer-website": "Transfer website", - "true": "True", - "type": "Type", - "unique": "Unique", - "unique-events": "Unique events", + "traffic": "ٹریفک", + "transactions": "لین دین", + "transfer": "منتقلی", + "transfer-website": "ویب سائٹ منتقل کریں", + "true": "درست", + "type": "قسم", + "unique": "منفرد", + "unique-events": "منفرد واقعات", "unique-visitors": "منفرد زائرین", - "uniqueCustomers": "Unique Customers", + "uniqueCustomers": "منفرد گاہک", "unknown": "نامعلوم", - "untitled": "Untitled", - "update": "Update", + "untitled": "بے عنوان", + "update": "اپ ڈیٹ", "url": "URL", - "user": "User", + "user": "صارف", "username": "صارف نام", - "users": "Users", + "users": "صارفین", "utm": "UTM", "utm-campaign": "UTM Campaign", "utm-content": "UTM Content", - "utm-description": "Track your campaigns through UTM parameters.", + "utm-description": "UTM پیرامیٹرز کے ذریعے اپنی مہمات کی نگرانی کریں۔", "utm-medium": "UTM Medium", "utm-source": "UTM Source", "utm-term": "UTM Term", - "value": "Value", - "version": "Version", - "view": "View", + "value": "قدر", + "version": "ورژن", + "view": "دیکھیں", "view-details": "تفصیلات دیکھیں", - "view-only": "View only", + "view-only": "صرف دیکھیں", "views": "مناظر", - "views-per-visit": "Views per visit", + "views-per-visit": "فی وزٹ نظارے", "visit-duration": "وزٹ کا اوسط وقت", "visitors": "زائرین", - "visits": "Visits", - "website": "Website", + "visits": "وزٹس", + "website": "ویب سائٹ", "website-id": "Website ID", "websites": "ویب سائٹس", - "window": "Window", - "yesterday": "Yesterday" + "window": "ونڈو", + "yesterday": "کل" }, "message": { - "action-confirmation": "Type {confirmation} in the box below to confirm.", + "action-confirmation": "تصدیق کے لیے نیچے دیے گئے خانے میں {confirmation} ٹائپ کریں۔", "active-users": "{x} موجودہ {x, plural, one {زائر} other {زائرین}}", - "bad-request": "Bad request", - "collected-data": "Collected data", + "bad-request": "غلط درخواست", + "collected-data": "جمع شدہ ڈیٹا", "confirm-delete": "کیا آپ واقعی {target} کو حذف کرنا چاہتے ہیں؟", - "confirm-leave": "Are you sure you want to leave {target}?", - "confirm-remove": "Are you sure you want to remove {target}?", + "confirm-leave": "کیا آپ واقعی {target} چھوڑنا چاہتے ہیں؟", + "confirm-remove": "کیا آپ واقعی {target} کو ہٹانا چاہتے ہیں؟", "confirm-reset": "کیا آپ واقعی {target} کے اعدادوشمار کو دوبارہ ترتیب دینا چاہتے ہیں؟", - "delete-team-warning": "Deleting a team will also delete all team websites.", + "delete-team-warning": "ٹیم حذف کرنے سے ٹیم کی تمام ویب سائٹس بھی حذف ہو جائیں گی۔", "delete-website-warning": "تمام متعلقہ ڈیٹا بھی حذف کر دیا جائے گا۔", "error": "کچھ غلط ہو گیا.", - "event-log": "{event} on {url}", - "forbidden": "Forbidden", + "event-log": "{url} پر {event}", + "forbidden": "ممنوع", "go-to-settings": "ترتیبات پر جائیں", "incorrect-username-password": "غلط صارف نام/پاس ورڈ۔", "invalid-domain": "غلط ڈومین", - "min-password-length": "Minimum length of {n} characters", - "new-version-available": "A new version of Umami {version} is available!", + "min-password-length": "کم از کم {n} حروف کی لمبائی", + "new-version-available": "Umami کا نیا ورژن {version} دستیاب ہے!", "no-data-available": "مواد موجود نہیں ہے.", - "no-event-data": "No event data is available.", + "no-event-data": "واقعہ کا کوئی ڈیٹا دستیاب نہیں ہے۔", "no-match-password": "پاس ورڈز مماثل نہیں ہیں", "no-results-found": "No results were found.", - "no-team-websites": "This team does not have any websites.", - "no-teams": "You have not created any teams.", - "no-users": "There are no users.", + "no-team-websites": "اس ٹیم کے پاس کوئی ویب سائٹ نہیں ہے۔", + "no-teams": "آپ نے ابھی تک کوئی ٹیم نہیں بنائی۔", + "no-users": "کوئی صارف نہیں ہے۔", "no-websites-configured": "آپ کے پاس کوئی ویب سائٹ کنفیگر نہیں ہے۔", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "نہیں ملا", + "nothing-selected": "کچھ بھی منتخب نہیں کیا گیا۔", "page-not-found": "صفحہ نہیں ملا.", - "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", + "reset-website": "اس ویب سائٹ کو دوبارہ ترتیب دینے کے لیے تصدیق کے خانے میں {confirmation} ٹائپ کریں۔", "reset-website-warning": "اس ویب سائٹ کے تمام اعدادوشمار کو حذف کر دیا جائے گا، لیکن آپ کا ٹریکنگ کوڈ برقرار رہے گا۔", "saved": "کامیابی سے محفوظ ہو گیا۔", - "sever-error": "Server error", + "sever-error": "سرور کی خرابی", "share-url": "یہ {target} کے لیے عوامی طور پر اشتراک کردہ URL ہے۔", - "team-already-member": "You are already a member of the team.", - "team-not-found": "Team not found.", - "team-websites-info": "Websites can be viewed by anyone on the team.", + "team-already-member": "آپ پہلے سے اس ٹیم کے رکن ہیں۔", + "team-not-found": "ٹیم نہیں ملی۔", + "team-websites-info": "ویب سائٹس ٹیم کا کوئی بھی رکن دیکھ سکتا ہے۔", "tracking-code": "ٹریکنگ کوڈ", - "transfer-team-website-to-user": "Transfer this website to your account?", - "transfer-user-website-to-team": "Select the team to transfer this website to.", - "transfer-website": "Transfer website ownership to your account or another team.", - "triggered-event": "Triggered event", - "unauthorized": "Unauthorized", - "user-deleted": "User deleted.", - "viewed-page": "Viewed page", + "transfer-team-website-to-user": "اس ویب سائٹ کو اپنے اکاؤنٹ میں منتقل کریں؟", + "transfer-user-website-to-team": "اس ویب سائٹ کو منتقل کرنے کے لیے ٹیم منتخب کریں۔", + "transfer-website": "ویب سائٹ کی ملکیت اپنے اکاؤنٹ یا کسی اور ٹیم کو منتقل کریں۔", + "triggered-event": "متحرک واقعہ", + "unauthorized": "غیر مجاز", + "user-deleted": "صارف حذف ہو گیا۔", + "viewed-page": "دیکھا گیا صفحہ", "visitor-log": "{os} {device} پر {browser} کا استعمال کرتے ہوئے {country} سے آنے والا" } } diff --git a/public/intl/messages/uz-UZ.json b/public/intl/messages/uz-UZ.json index ec7fce7a0..69738b8f6 100644 --- a/public/intl/messages/uz-UZ.json +++ b/public/intl/messages/uz-UZ.json @@ -1,47 +1,61 @@ { "label": { "access-code": "Kirish kodi", - "account": "Account", - "action": "Action", + "account": "Hisob", + "action": "Harakat", "actions": "Amallar", "activity": "Faoliyat", "add": "Qoʻshish", + "add-board": "Taxta qoʻshish", "add-description": "Tavsif qoʻshish", - "add-link": "Add link", + "add-link": "Havola qo'shish", "add-member": "A'zo qoʻshish", - "add-pixel": "Add pixel", + "add-pixel": "Piksel qo'shish", "add-step": "Qadam qoʻshish", "add-website": "Veb-sayt qoʻshish", "admin": "Administrator", + "affiliate": "Sherik", "after": "Keyin", "all": "Barchasi", "all-time": "Barcha vaqtlar", - "analysis": "Analysis", + "analysis": "Tahlil", "analytics": "Tahlil", - "application": "Application", - "audience": "Audience", + "application": "Ilova", + "apply": "Qoʻllash", + "attribution": "Atribusiya", + "attribution-description": "Foydalanuvchilar marketingingiz bilan qanday muloqot qilishlarini va konversiyalarni nimalar ragʻbatlantirganini koʻring.", + "audience": "Auditoriya", "average": "Oʻrtacha", "back": "Orqaga", "before": "Oldin", "behavior": "Xulq-atvor", + "boards": "Taxtalar", "bounce-rate": "Chiqib ketish darajasi", "breakdown": "Tahlil", "browser": "Brauzer", "browsers": "Brauzerlar", - "campaign": "Campaign", + "campaign": "Kampaniya", + "campaigns": "Kampaniyalar", "cancel": "Bekor qilish", "change-password": "Parolni oʻzgartirish", - "channel": "Channel", - "chart": "Chart", + "channel": "Kanal", + "channels": "Kanallar", + "chart": "Grafik", "cities": "Shaharlar", "city": "Shahar", "clear-all": "Barchasini tozalash", - "cohorts": "Cohorts", + "cohort": "Kogorta", + "cohorts": "Kogortalar", "compare": "Taqqoslash", + "compare-dates": "Sanalarni taqqoslash", "confirm": "Tasdiqlash", "confirm-password": "Parolni tasdiqlash", "contains": "Oʻz ichiga oladi", + "content": "Kontent", "continue": "Davom etish", + "conversion": "Konversiya", + "conversion-rate": "Konversiya darajasi", + "conversion-step": "Konversiya qadami", "count": "Soni", "countries": "Davlatlar", "country": "Davlat", @@ -51,7 +65,8 @@ "create-user": "Foydalanuvchi yaratish", "created": "Yaratilgan", "created-by": "Kim tomonidan yaratilgan", - "criteria": "Criteria", + "criteria": "Mezonlar", + "currency": "Valyuta", "current": "Joriy", "current-password": "Joriy parol", "custom-range": "Maxsus oraliq", @@ -68,27 +83,34 @@ "delete-website": "Veb-saytni oʻchirish", "description": "Tavsif", "desktop": "Ish stoli", - "destination-url": "Destination URL", + "destination-url": "Maqsad URL", "details": "Batafsil ma'lumot", "device": "Qurilma", "devices": "Qurilmalar", + "direct": "Toʻgʻridantoʻgʻri", "dismiss": "Yopish", - "documentation": "Documentation", + "distinct-id": "Noyob ID", + "documentation": "Hujjatlar", "does-not-contain": "Oʻz ichiga olmaydi", + "does-not-include": "Oʻz ichiga olmaydi", + "doest-not-exist": "Mavjud emas", "domain": "Domen", - "download": "Download", + "download": "Yuklab olish", "dropoff": "Tashlab ketish", "edit": "Tahrirlash", "edit-dashboard": "Boshqaruv panelini tahrirlash", "edit-member": "A'zoni tahrirlash", + "email": "Elektron pochta", "enable-share-url": "Ulashish URL'ini yoqish", "end-step": "Yakuniy qadam", "entry": "Kirish yoʻli", - "environment": "Environment", + "environment": "Muhit", "event": "Hodisa", "event-data": "Hodisa ma'lumotlari", + "event-name": "Hodisa nomi", "events": "Hodisalar", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Chiqib ketishni istisno qilish", + "exists": "Mavjud", "exit": "Chiqish yoʻli", "false": "Yolgʻon", "field": "Maydon", @@ -97,32 +119,40 @@ "filter-combined": "Birlashtirilgan", "filter-raw": "Xom", "filters": "Filtrlar", + "first-click": "Birinchi bosish", "first-seen": "Birinchi koʻrilgan", "funnel": "Voronka", "funnel-description": "Foydalanuvchilarning konversiya va tashlab ketish darajasini tushunish.", + "funnels": "Voronkalar", "goal": "Maqsad", "goals": "Maqsadlar", "goals-description": "Sahifa koʻrishlari va hodisalar uchun maqsadlaringizni kuzatib boring.", "greater-than": "Kattaroq", "greater-than-equals": "Kattaroq yoki teng", - "growth": "Growth", - "host": "Xost", - "hosts": "Xostlar", - "hour": "Hour", + "grouped": "Guruhlangan", + "growth": "O'sish", + "hostname": "Xost nomi", + "hour": "Soat", + "includes": "Oʻz ichiga oladi", + "insight": "Tushuncha", "insights": "Tushunchalar", "insights-description": "Segmentlar va filtrlardan foydalanib ma'lumotlaringizga chuqurroq kiring.", - "invalid-url": "Invalid URL", + "invalid-url": "Noto'g'ri URL", "is": "Teng", + "is-false": "Yolgʻon", "is-not": "Teng emas", "is-not-set": "Oʻrnatilmagan", "is-set": "Oʻrnatilgan", + "is-true": "Rost", "join": "Qoʻshilish", "join-team": "Jamoaga qoʻshilish", "journey": "Sayohat", "journey-description": "Foydalanuvchilar veb-saytingizda qanday harakat qilishlarini tushunish.", + "journeys": "Sayohatlar", "language": "Til", "languages": "Tillar", "laptop": "Noutbuk", + "last-click": "Oxirgi bosish", "last-days": "Oxirgi {x} kun", "last-hours": "Oxirgi {x} soat", "last-months": "Oxirgi {x} oy", @@ -131,19 +161,23 @@ "leave-team": "Jamoani tark etish", "less-than": "Kichikroq", "less-than-equals": "Kichikroq yoki teng", - "link": "Link", - "location": "Location", + "link": "Havola", + "links": "Havolalar", + "location": "Joylashuv", "login": "Kirish", "logout": "Chiqish", "manage": "Boshqarish", "manager": "Menejer", "max": "Maksimal", + "maximize": "Kattalashtirish", + "medium": "Vosita", "member": "A'zo", "members": "A'zolar", "min": "Minimal", - "minute": "Minute", + "minute": "Daqiqa", "mobile": "Mobil", - "month": "Month", + "model": "Model", + "month": "Oy", "more": "Koʻproq", "my-account": "Mening hisobim", "my-websites": "Mening veb-saytlarim", @@ -152,36 +186,51 @@ "none": "Hech biri", "number-of-records": "{x} yozuv", "ok": "OK", + "online": "Onlayn", + "organic-search": "Organik qidiruv", + "organic-shopping": "Organik xarid", + "organic-social": "Organik ijtimoiy", + "organic-video": "Organik video", "os": "OT (Operatsion tizim)", + "other": "Boshqa", "overview": "Umumiy koʻrinish", "owner": "Egasi", + "page": "Sahifa", "page-of": "Sahifa {current} dan {total}", "page-views": "Sahifa koʻrishlari", "pageTitle": "Sahifa sarlavhasi", "pages": "Sahifalar", + "paid-ads": "Pullik reklamalar", + "paid-search": "Pullik qidiruv", + "paid-shopping": "Pullik xarid", + "paid-social": "Pullik ijtimoiy", + "paid-video": "Pullik video", "password": "Parol", "path": "Yoʻl", "paths": "Yoʻllar", - "pixel": "Pixel", + "pixel": "Piksel", + "pixels": "Piksellar", "powered-by": "{name} tomonidan quvvatlanadi", - "preferences": "Preferences", + "preferences": "Sozlamalar", "previous": "Oldingi", "previous-period": "Oldingi davr", "previous-year": "Oldingi yil", "profile": "Profil", - "profiles": "Profiles", + "profiles": "Profillar", "properties": "Xususiyatlar", "property": "Xususiyat", "queries": "Soʻrovlar", "query": "Soʻrov", "query-parameters": "Soʻrov parametrlari", "realtime": "Haqiqiy vaqt", + "referral": "Tavsiya", "referrer": "Tavsiya etuvchi", "referrers": "Tavsiya etuvchilar", "refresh": "Yangilash", "regenerate": "Qayta yaratish", "region": "Viloyat/Mintaqa", "regions": "Viloyatlar/Mintaqalar", + "remaining": "Qolgan", "remove": "Olib tashlash", "remove-member": "A'zoni olib tashlash", "reports": "Hisobotlar", @@ -192,44 +241,52 @@ "retention-description": "Foydalanuvchilarning qaytish chastotasini kuzatib, veb-saytingizning jozibadorligini oʻlchang.", "revenue": "Daromad", "revenue-description": "Vaqt oʻtishi bilan daromadingizni tekshiring.", - "revenue-property": "Daromad xususiyati", "role": "Rol", "run-query": "Soʻrovni ishga tushirish", "save": "Saqlash", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Kogortani saqlash", + "save-segment": "Segmentni saqlash", + "screen": "Ekran", "screens": "Ekranlar", "search": "Qidiruv", "segment": "Segment", - "segments": "Segments", + "segments": "Segmentlar", "select": "Tanlash", "select-date": "Sanani tanlash", + "select-filter": "Filtrni tanlash", "select-role": "Rolni tanlash", "select-website": "Veb-saytni tanlash", "session": "Sessiya", + "session-data": "Sessiya maʼlumotlari", "sessions": "Sessiyalar", "settings": "Sozlamalar", + "share": "Ulashish", "share-url": "Ulashish URL'i", "single-day": "Bir kun", - "source": "Source", + "sms": "SMS", + "source": "Manba", + "sources": "Manbalar", "start-step": "Boshlanish qadami", "steps": "Qadamlar", "sum": "Yigʻindi", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Qo'llab-quvvatlash", + "switch-account": "Hisobni almashtirish", + "table": "Jadval", "tablet": "Planshet", + "tag": "Yorliq", + "tags": "Yorliqlar", "team": "Jamoa", "team-id": "Jamoa ID'si", "team-manager": "Jamoa menejeri", "team-member": "Jamoa a'zosi", "team-name": "Jamoa nomi", "team-owner": "Jamoa egasi", + "team-settings": "Jamoa sozlamalari", "team-view-only": "Jamoa faqat koʻrish", "team-websites": "Jamoa veb-saytlari", "teams": "Jamoalar", - "term": "Term", + "term": "Qidiruv iborasi", + "terms": "Shartlar", "theme": "Mavzu", "this-month": "Shu oy", "this-week": "Shu hafta", @@ -241,34 +298,32 @@ "total": "Jami", "total-records": "Jami yozuvlar", "tracking-code": "Kuzatuv kodi", - "traffic": "Traffic", + "traffic": "Trafik", "transactions": "Tranzaksiyalar", "transfer": "Oʻtkazish", "transfer-website": "Veb-saytni oʻtkazish", "true": "Rost", "type": "Tur", "unique": "Noyob", - "unique-events": "Unique events", + "unique-events": "Noyob hodisalar", "unique-visitors": "Noyob tashrif buyuruvchilar", "uniqueCustomers": "Noyob mijozlar", "unknown": "Noma'lum", "untitled": "Sarlavhasiz", "update": "Yangilash", "url": "URL", - "urls": "URL'lar", "user": "Foydalanuvchi", - "user-property": "Foydalanuvchi xususiyati", "username": "Foydalanuvchi nomi", "users": "Foydalanuvchilar", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM Kampaniya", + "utm-content": "UTM Kontent", "utm-description": "UTM parametrlari orqali kampaniyalaringizni kuzatib boring.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM Vosita", + "utm-source": "UTM Manba", + "utm-term": "UTM Ibora", "value": "Qiymat", - "version": "Version", + "version": "Versiya", "view": "Koʻrish", "view-details": "Batafsil koʻrish", "view-only": "Faqat koʻrish", @@ -281,11 +336,17 @@ "website-id": "Veb-sayt ID'si", "websites": "Veb-saytlar", "window": "Oyna", - "yesterday": "Kecha" + "yesterday": "Kecha", + "host": "Xost", + "hosts": "Xostlar", + "revenue-property": "Daromad xususiyati", + "urls": "URL'lar", + "user-property": "Foydalanuvchi xususiyati" }, "message": { "action-confirmation": "Tasdiqlash uchun pastdagi qutiga **{confirmation}** yozing.", "active-users": "{x} joriy {x, plural, one {tashrif buyuruvchi} other {tashrif buyuruvchilar}}", + "bad-request": "Notoʻgʻri soʻrov", "collected-data": "Yigʻilgan ma'lumotlar", "confirm-delete": "**{target}** ni oʻchirmoqchi ekanligingizga ishonchingiz komilmi?", "confirm-leave": "**{target}** ni tark etmoqchi ekanligingizga ishonchingiz komilmi?", @@ -295,6 +356,7 @@ "delete-website-warning": "Barcha veb-sayt ma'lumotlari oʻchiriladi.", "error": "Nimadir xato ketdi.", "event-log": "**{url}** da **{event}** hodisasi", + "forbidden": "Taqiqlangan", "go-to-settings": "Sozlamalarga oʻtish", "incorrect-username-password": "Notoʻgʻri foydalanuvchi nomi va/yoki parol.", "invalid-domain": "Notoʻgʻri domen. http/https qoʻshmang.", @@ -308,10 +370,13 @@ "no-teams": "Siz hech qanday jamoa yaratmagansiz.", "no-users": "Hech qanday foydalanuvchi yoʻq.", "no-websites-configured": "Sizda hech qanday veb-sayt sozlanmagan.", + "not-found": "Topilmadi", + "nothing-selected": "Hech narsa tanlanmagan.", "page-not-found": "Sahifa topilmadi", "reset-website": "Bu veb-saytni qayta tiklash uchun tasdiqlash uchun pastdagi qutiga **{confirmation}** yozing.", "reset-website-warning": "Bu veb-sayt uchun barcha statistik ma'lumotlar oʻchiriladi, lekin sozlamalaringiz saqlanib qoladi.", "saved": "Saqlandi.", + "sever-error": "Server xatosi", "share-url": "Sizning veb-sayt statistikalaringiz quyidagi URL'da ochiqdir:", "team-already-member": "Siz allaqachon jamoa a'zosisiz.", "team-not-found": "Jamoa topilmadi.", @@ -321,6 +386,7 @@ "transfer-user-website-to-team": "Bu veb-saytni oʻtkazish uchun jamoani tanlang.", "transfer-website": "Veb-sayt egaligini oʻz hisobingizga yoki boshqa jamoaga oʻtkazish.", "triggered-event": "Hodisa ishga tushirildi", + "unauthorized": "Ruxsatsiz", "user-deleted": "Foydalanuvchi oʻchirildi.", "viewed-page": "Sahifa koʻrildi", "visitor-log": "{os} {device} da {browser} dan foydalanayotgan {country} dan tashrif buyuruvchi", diff --git a/public/intl/messages/vi-VN.json b/public/intl/messages/vi-VN.json index ed30c80ca..6f027e5d7 100644 --- a/public/intl/messages/vi-VN.json +++ b/public/intl/messages/vi-VN.json @@ -1,47 +1,61 @@ { "label": { "access-code": "Mã truy cập", - "account": "Account", - "action": "Action", + "account": "Tài khoản", + "action": "Hành động", "actions": "Hành động", "activity": "Nhật ký hoạt động", "add": "Thêm", + "add-board": "Thêm bảng", "add-description": "Thêm mô tả", - "add-link": "Add link", + "add-link": "Thêm liên kết", "add-member": "Thêm thành viên", - "add-pixel": "Add pixel", + "add-pixel": "Thêm pixel", "add-step": "Thêm bước", "add-website": "Thêm website", "admin": "Quản trị", + "affiliate": "Liên kết", "after": "Sau đó", "all": "Tất cả", "all-time": "Toàn thời gian", - "analysis": "Analysis", + "analysis": "Phân tích", "analytics": "Phân tích", - "application": "Application", - "audience": "Audience", + "application": "Ứng dụng", + "apply": "Áp dụng", + "attribution": "Phân bổ", + "attribution-description": "Xem cách người dùng tương tác với marketing của bạn và điều gì thúc đẩy chuyển đổi.", + "audience": "Đối tượng", "average": "Trung bình", "back": "Quay lại", "before": "Trước đó", "behavior": "Hành vi", + "boards": "Các bảng", "bounce-rate": "Tỷ lệ thoát trang", "breakdown": "Phân tích chi tiết", "browser": "Trình duyệt", "browsers": "Các trình duyệt", - "campaign": "Campaign", + "campaign": "Chiến dịch", + "campaigns": "Các chiến dịch", "cancel": "Hủy bỏ", "change-password": "Đổi mật khẩu", - "channel": "Channel", - "chart": "Chart", + "channel": "Kênh", + "channels": "Các kênh", + "chart": "Biểu đồ", "cities": "Các thành phố", "city": "Thành phố", "clear-all": "Xóa tất cả", - "cohorts": "Cohorts", + "cohort": "Nhóm thuần tập", + "cohorts": "Nhóm thuần tập", "compare": "So sánh", + "compare-dates": "So sánh ngày", "confirm": "Xác nhận", "confirm-password": "Xác nhận mật khẩu", "contains": "Chứa", + "content": "Nội dung", "continue": "Tiếp tục", + "conversion": "Chuyển đổi", + "conversion-rate": "Tỷ lệ chuyển đổi", + "conversion-step": "Bước chuyển đổi", "count": "Số lượng", "countries": "Các quốc gia", "country": "Quốc gia", @@ -51,7 +65,8 @@ "create-user": "Tạo người dùng", "created": "Đã tạo", "created-by": "Được tạo bởi", - "criteria": "Criteria", + "criteria": "Tiêu chí", + "currency": "Tiền tệ", "current": "Hiện tại", "current-password": "Mật khẩu hiện tại", "custom-range": "Phạm vi tùy chỉnh", @@ -68,27 +83,34 @@ "delete-website": "Xóa website", "description": "Mô tả", "desktop": "Máy tính để bàn", - "destination-url": "Destination URL", + "destination-url": "URL đích", "details": "Chi tiết", "device": "Thiết bị", "devices": "Các thiết bị", + "direct": "Trực tiếp", "dismiss": "Bỏ qua", - "documentation": "Documentation", + "distinct-id": "ID riêng biệt", + "documentation": "Tài liệu", "does-not-contain": "Không chứa", + "does-not-include": "Không bao gồm", + "doest-not-exist": "Không tồn tại", "domain": "Tên miền", - "download": "Download", + "download": "Tải xuống", "dropoff": "Tỷ lệ bỏ qua", "edit": "Chỉnh sửa", "edit-dashboard": "Chỉnh sửa bảng điều khiển", "edit-member": "Chỉnh sửa thành viên", + "email": "Email", "enable-share-url": "Bật chia sẻ URL", "end-step": "Bước kết thúc", "entry": "URL truy cập", - "environment": "Environment", + "environment": "Môi trường", "event": "Sự kiện", "event-data": "Dữ liệu sự kiện", + "event-name": "Tên sự kiện", "events": "Các sự kiện", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "Loại trừ thoát trang", + "exists": "Tồn tại", "exit": "URL thoát", "false": "Sai", "field": "Trường", @@ -97,32 +119,40 @@ "filter-combined": "Kết hợp lọc", "filter-raw": "Lọc thô", "filters": "Bộ lọc", + "first-click": "Nhấp đầu tiên", "first-seen": "Lần đầu tiên nhìn thấy", "funnel": "Phễu", "funnel-description": "Tìm hiểu tỷ lệ chuyển đổi và bỏ qua của người dùng.", + "funnels": "Các phễu", "goal": "Mục tiêu", "goals": "Các mục tiêu", "goals-description": "Theo dõi các mục tiêu của bạn cho lượt xem trang và sự kiện.", "greater-than": "Lớn hơn", "greater-than-equals": "Lớn hơn hoặc bằng", - "growth": "Growth", - "host": "Máy chủ", - "hosts": "Các máy chủ", - "hour": "Hour", + "grouped": "Đã nhóm", + "growth": "Tăng trưởng", + "hostname": "Tên máy chủ", + "hour": "Giờ", + "includes": "Bao gồm", + "insight": "Thông tin chi tiết", "insights": "Thông tin chi tiết", "insights-description": "Tìm hiểu sâu hơn về dữ liệu của bạn bằng cách sử dụng phân đoạn và bộ lọc.", - "invalid-url": "Invalid URL", + "invalid-url": "URL không hợp lệ", "is": "Là", + "is-false": "Là sai", "is-not": "Không phải là", "is-not-set": "Chưa được đặt", "is-set": "Đã đặt", + "is-true": "Là đúng", "join": "Tham gia", "join-team": "Tham gia nhóm", "journey": "Hành trình", "journey-description": "Hiểu cách người dùng điều hướng qua website của bạn.", + "journeys": "Các hành trình", "language": "Ngôn ngữ", "languages": "Các ngôn ngữ", "laptop": "Máy tính xách tay", + "last-click": "Nhấp cuối cùng", "last-days": "{x} ngày gần nhất", "last-hours": "{x} giờ gần nhất", "last-months": "{x} tháng gần nhất", @@ -131,19 +161,23 @@ "leave-team": "Rời nhóm", "less-than": "Nhỏ hơn", "less-than-equals": "Nhỏ hơn hoặc bằng", - "link": "Link", - "location": "Location", + "link": "Liên kết", + "links": "Các liên kết", + "location": "Vị trí", "login": "Đăng nhập", "logout": "Đăng xuất", "manage": "Quản lý", "manager": "Quản lý", "max": "Tối đa", + "maximize": "Phóng to", + "medium": "Phương tiện", "member": "Thành viên", "members": "Các thành viên", "min": "Tối thiểu", - "minute": "Minute", + "minute": "Phút", "mobile": "Di động", - "month": "Month", + "model": "Mô hình", + "month": "Tháng", "more": "Thêm", "my-account": "Tài khoản của tôi", "my-websites": "Các website của tôi", @@ -152,36 +186,51 @@ "none": "Không", "number-of-records": "{x} {x, plural, one {bản ghi} other {bản ghi}}", "ok": "OK", + "online": "Trực tuyến", + "organic-search": "Tìm kiếm tự nhiên", + "organic-shopping": "Mua sắm tự nhiên", + "organic-social": "Mạng xã hội tự nhiên", + "organic-video": "Video tự nhiên", "os": "Hệ điều hành", + "other": "Khác", "overview": "Tổng quan", "owner": "Chủ sở hữu", + "page": "Trang", "page-of": "Trang {current} trên {total}", "page-views": "Lượt xem trang", "pageTitle": "Tiêu đề trang", "pages": "Các trang", + "paid-ads": "Quảng cáo trả phí", + "paid-search": "Tìm kiếm trả phí", + "paid-shopping": "Mua sắm trả phí", + "paid-social": "Mạng xã hội trả phí", + "paid-video": "Video trả phí", "password": "Mật khẩu", "path": "Đường dẫn", "paths": "Các đường dẫn", "pixel": "Pixel", + "pixels": "Các pixel", "powered-by": "Được cung cấp bởi {name}", - "preferences": "Preferences", + "preferences": "Tùy chọn", "previous": "Trước", "previous-period": "Kỳ trước", "previous-year": "Năm trước", "profile": "Hồ sơ", - "profiles": "Profiles", + "profiles": "Hồ sơ", "properties": "Thuộc tính", "property": "Thuộc tính", "queries": "Truy vấn", "query": "Truy vấn", "query-parameters": "Tham số truy vấn", "realtime": "Thời gian thực", + "referral": "Giới thiệu", "referrer": "Nguồn giới thiệu", "referrers": "Các nguồn giới thiệu", "refresh": "Làm mới", "regenerate": "Tạo lại", "region": "Vùng", "regions": "Các vùng", + "remaining": "Còn lại", "remove": "Xóa", "remove-member": "Xóa thành viên", "reports": "Báo cáo", @@ -192,44 +241,52 @@ "retention-description": "Đo lường mức độ gắn bó của website bằng cách theo dõi tần suất người dùng quay lại.", "revenue": "Doanh thu", "revenue-description": "Xem xét doanh thu của bạn theo thời gian.", - "revenue-property": "Thuộc tính doanh thu", "role": "Vai trò", "run-query": "Chạy truy vấn", "save": "Lưu", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "Lưu nhóm thuần tập", + "save-segment": "Lưu phân đoạn", + "screen": "Màn hình", "screens": "Màn hình", "search": "Tìm kiếm", - "segment": "Segment", - "segments": "Segments", + "segment": "Phân đoạn", + "segments": "Phân đoạn", "select": "Chọn", "select-date": "Chọn ngày", + "select-filter": "Chọn bộ lọc", "select-role": "Chọn vai trò", "select-website": "Chọn website", "session": "Phiên", + "session-data": "Dữ liệu phiên", "sessions": "Các phiên", "settings": "Cài đặt", + "share": "Chia sẻ", "share-url": "Chia sẻ URL", "single-day": "Một ngày", - "source": "Source", + "sms": "SMS", + "source": "Nguồn", + "sources": "Các nguồn", "start-step": "Bước bắt đầu", "steps": "Các bước", "sum": "Tổng", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "Hỗ trợ", + "switch-account": "Chuyển tài khoản", + "table": "Bảng", "tablet": "Máy tính bảng", + "tag": "Thẻ", + "tags": "Các thẻ", "team": "Nhóm", "team-id": "ID nhóm", "team-manager": "Quản lý nhóm", "team-member": "Thành viên nhóm", "team-name": "Tên nhóm", "team-owner": "Chủ sở hữu nhóm", + "team-settings": "Cài đặt nhóm", "team-view-only": "Chỉ xem nhóm", "team-websites": "Các website của nhóm", "teams": "Các nhóm", - "term": "Term", + "term": "Từ khóa", + "terms": "Điều khoản", "theme": "Chủ đề", "this-month": "Tháng này", "this-week": "Tuần này", @@ -241,34 +298,32 @@ "total": "Tổng", "total-records": "Tổng số bản ghi", "tracking-code": "Mã theo dõi", - "traffic": "Traffic", + "traffic": "Lưu lượng truy cập", "transactions": "Giao dịch", "transfer": "Chuyển giao", "transfer-website": "Chuyển giao website", "true": "Đúng", "type": "Loại", "unique": "Duy nhất", - "unique-events": "Unique events", + "unique-events": "Sự kiện duy nhất", "unique-visitors": "Khách truy cập duy nhất", "uniqueCustomers": "Khách hàng duy nhất", "unknown": "Không rõ", "untitled": "Không có tiêu đề", "update": "Cập nhật", "url": "URL", - "urls": "Các URL", "user": "Người dùng", - "user-property": "Thuộc tính người dùng", "username": "Tên đăng nhập", "users": "Người dùng", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM Chiến dịch", + "utm-content": "UTM Nội dung", "utm-description": "Theo dõi các chiến dịch của bạn thông qua các tham số UTM.", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM Phương tiện", + "utm-source": "UTM Nguồn", + "utm-term": "UTM Từ khóa", "value": "Giá trị", - "version": "Version", + "version": "Phiên bản", "view": "Xem", "view-details": "Xem chi tiết", "view-only": "Chỉ xem", @@ -277,15 +332,21 @@ "visit-duration": "Thời lượng truy cập", "visitors": "Khách truy cập", "visits": "Lượt truy cập", - "website": "Website", + "website": "Trang web", "website-id": "ID website", "websites": "Các website", "window": "Cửa sổ", - "yesterday": "Hôm qua" + "yesterday": "Hôm qua", + "host": "Máy chủ", + "hosts": "Các máy chủ", + "revenue-property": "Thuộc tính doanh thu", + "urls": "Các URL", + "user-property": "Thuộc tính người dùng" }, "message": { "action-confirmation": "Nhập {confirmation} vào ô bên dưới để xác nhận.", "active-users": "{x} {x, plural, one {người dùng} other {người dùng}} đang hoạt động", + "bad-request": "Yêu cầu không hợp lệ", "collected-data": "Dữ liệu đã thu thập", "confirm-delete": "Bạn có chắc chắn muốn xóa {target}?", "confirm-leave": "Bạn có chắc chắn muốn rời {target}?", @@ -295,6 +356,7 @@ "delete-website-warning": "Tất cả dữ liệu liên quan cũng sẽ bị xóa.", "error": "Đã xảy ra lỗi.", "event-log": "{event} trên {url}", + "forbidden": "Bị cấm", "go-to-settings": "Chuyển đến cài đặt", "incorrect-username-password": "Sai tên đăng nhập/mật khẩu.", "invalid-domain": "Tên miền không hợp lệ", @@ -308,10 +370,13 @@ "no-teams": "Bạn chưa tạo nhóm nào.", "no-users": "Không có người dùng nào.", "no-websites-configured": "Bạn chưa cấu hình bất kỳ website nào.", + "not-found": "Không tìm thấy", + "nothing-selected": "Chưa chọn gì.", "page-not-found": "Không tìm thấy trang.", "reset-website": "Để đặt lại website này, nhập {confirmation} vào ô bên dưới để xác nhận.", "reset-website-warning": "Tất cả số liệu thống kê của website này sẽ bị xóa, nhưng mã theo dõi sẽ vẫn giữ nguyên.", "saved": "Đã lưu thành công.", + "sever-error": "Lỗi máy chủ", "share-url": "Đây là đường dẫn URL cho {target}.", "team-already-member": "Bạn đã là thành viên của nhóm.", "team-not-found": "Không tìm thấy nhóm.", @@ -321,6 +386,7 @@ "transfer-user-website-to-team": "Chọn nhóm để chuyển website này đến.", "transfer-website": "Chuyển quyền sở hữu website sang tài khoản của bạn hoặc một nhóm khác.", "triggered-event": "Sự kiện được kích hoạt", + "unauthorized": "Chưa được xác thực", "user-deleted": "Người dùng đã bị xóa.", "viewed-page": "Đã xem trang", "visitor-log": "Khách từ {country} đang sử dụng {browser} trên {os} {device}", diff --git a/public/intl/messages/zh-CN.json b/public/intl/messages/zh-CN.json index 1a2d5bd8f..df162d83a 100644 --- a/public/intl/messages/zh-CN.json +++ b/public/intl/messages/zh-CN.json @@ -34,7 +34,7 @@ "breakdown": "故障", "browser": "浏览器", "browsers": "浏览器", - "campaign": "Campaign", + "campaign": "推广活动", "campaigns": "活动", "cancel": "取消", "change-password": "修改密码", @@ -109,7 +109,7 @@ "event-data": "事件数据", "event-name": "事件名称", "events": "行为类别", - "exclude-bounce": "Exclude bounce", + "exclude-bounce": "排除跳出", "exists": "存在", "exit": "退出 URL", "false": "否", @@ -132,7 +132,7 @@ "grouped": "分组", "growth": "增长", "hostname": "主机名", - "hour": "Hour", + "hour": "小时", "includes": "包括", "insight": "洞察", "insights": "见解", @@ -174,17 +174,17 @@ "member": "成员", "members": "成员", "min": "最小", - "minute": "Minute", + "minute": "分钟", "mobile": "手机", "model": "模型", - "month": "Month", + "month": "月", "more": "更多", "my-account": "我的账户", "my-websites": "我的网站", "name": "名字", "new-password": "新密码", "none": "无", - "number-of-records": "{x} {x, plural, one {record} other {records}}", + "number-of-records": "{x} {x, plural, one {条记录} other {条记录}}", "ok": "好的", "online": "在线", "organic-search": "自然搜索", @@ -263,8 +263,8 @@ "share": "分享", "share-url": "共享链接", "single-day": "单日", - "sms": "SMS", - "source": "Source", + "sms": "短信", + "source": "来源", "sources": "来源", "start-step": "开始步骤", "steps": "步骤", @@ -285,7 +285,7 @@ "team-view-only": "仅团队视图", "team-websites": "团队网站", "teams": "团队", - "term": "Term", + "term": "搜索词", "terms": "条款", "theme": "主题", "this-month": "本月", @@ -305,7 +305,7 @@ "true": "是", "type": "类型", "unique": "独立", - "unique-events": "Unique events", + "unique-events": "独立事件", "unique-visitors": "独立访客", "uniqueCustomers": "独特客户", "unknown": "未知", @@ -316,14 +316,14 @@ "username": "用户名", "users": "用户", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM 推广活动", + "utm-content": "UTM 内容", "utm-description": "通过 UTM 参数追踪您的广告活动。", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM 媒介", + "utm-source": "UTM 来源", + "utm-term": "UTM 关键词", "value": "值", - "version": "Version", + "version": "版本", "view": "查看", "view-details": "查看更多", "view-only": "仅浏览", diff --git a/public/intl/messages/zh-TW.json b/public/intl/messages/zh-TW.json index 74fa70576..396b2c34b 100644 --- a/public/intl/messages/zh-TW.json +++ b/public/intl/messages/zh-TW.json @@ -1,16 +1,16 @@ { "label": { "access-code": "存取碼", - "account": "Account", - "action": "Action", + "account": "帳號", + "action": "動作", "actions": "行為", "activity": "活動紀錄", "add": "新增", "add-board": "新增看板", "add-description": "新增描述", - "add-link": "Add link", + "add-link": "新增連結", "add-member": "新增成員", - "add-pixel": "Add pixel", + "add-pixel": "新增像素", "add-step": "新增步驟", "add-website": "新增網站", "admin": "管理員", @@ -18,13 +18,13 @@ "after": "之後", "all": "全部", "all-time": "所有時間", - "analysis": "Analysis", + "analysis": "分析", "analytics": "分析", - "application": "Application", + "application": "應用程式", "apply": "套用", "attribution": "歸因", "attribution-description": "查看使用者如何與您的行銷互動,以及什麼促成了轉換。", - "audience": "Audience", + "audience": "受眾", "average": "平均", "back": "返回", "before": "之前", @@ -34,18 +34,18 @@ "breakdown": "細項分析", "browser": "瀏覽器", "browsers": "瀏覽器", - "campaign": "Campaign", + "campaign": "活動", "campaigns": "活動", "cancel": "取消", "change-password": "更改密碼", - "channel": "Channel", - "channels": "Channels", - "chart": "Chart", + "channel": "頻道", + "channels": "頻道", + "chart": "圖表", "cities": "城市", "city": "城市", "clear-all": "全部清除", "cohort": "群組", - "cohorts": "Cohorts", + "cohorts": "群組", "compare": "比較", "compare-dates": "比較日期", "confirm": "確認", @@ -65,8 +65,8 @@ "create-user": "建立使用者", "created": "已建立", "created-by": "建立者", - "criteria": "Criteria", - "currency": "Currency", + "criteria": "條件", + "currency": "貨幣", "current": "目前", "current-password": "目前密碼", "custom-range": "自訂範圍", @@ -83,34 +83,34 @@ "delete-website": "刪除網站", "description": "描述", "desktop": "桌上型電腦", - "destination-url": "Destination URL", + "destination-url": "目標網址", "details": "詳細資訊", "device": "裝置", "devices": "裝置", - "direct": "Direct", + "direct": "直接", "dismiss": "關閉", - "distinct-id": "Distinct ID", - "documentation": "Documentation", + "distinct-id": "唯一識別碼", + "documentation": "說明文件", "does-not-contain": "不包含", - "does-not-include": "Does not include", - "doest-not-exist": "Does not exist", + "does-not-include": "不包含", + "doest-not-exist": "不存在", "domain": "網域", - "download": "Download", + "download": "下載", "dropoff": "離開", "edit": "編輯", "edit-dashboard": "編輯儀表板", "edit-member": "編輯成員", - "email": "Email", + "email": "電子郵件", "enable-share-url": "啟用分享連結", "end-step": "結束步驟", "entry": "進入網址", - "environment": "Environment", + "environment": "環境", "event": "事件", "event-data": "事件資料", - "event-name": "Event name", + "event-name": "事件名稱", "events": "事件", - "exclude-bounce": "Exclude bounce", - "exists": "Exists", + "exclude-bounce": "排除跳出", + "exists": "存在", "exit": "離開網址", "false": "否", "field": "欄位", @@ -119,40 +119,40 @@ "filter-combined": "組合", "filter-raw": "原始", "filters": "篩選條件", - "first-click": "First click", + "first-click": "首次點擊", "first-seen": "首次造訪", "funnel": "漏斗分析", "funnel-description": "瞭解使用者的轉換率與流失率。", - "funnels": "Funnels", + "funnels": "漏斗", "goal": "目標", "goals": "目標", "goals-description": "追蹤網頁瀏覽和事件的目標。", "greater-than": "大於", "greater-than-equals": "大於或等於", - "grouped": "Grouped", - "growth": "Growth", - "hostname": "Hostname", - "hour": "Hour", - "includes": "Includes", - "insight": "Insight", + "grouped": "已分組", + "growth": "成長", + "hostname": "主機名稱", + "hour": "小時", + "includes": "包含", + "insight": "洞察", "insights": "洞察", "insights-description": "使用區段和篩選器來深入分析您的資料。", - "invalid-url": "Invalid URL", + "invalid-url": "無效的網址", "is": "是", - "is-false": "Is false", + "is-false": "為否", "is-not": "不是", "is-not-set": "未設定", "is-set": "已設定", - "is-true": "Is true", + "is-true": "為是", "join": "加入", "join-team": "加入團隊", "journey": "使用者旅程", "journey-description": "瞭解使用者如何瀏覽您的網站。", - "journeys": "Journeys", + "journeys": "使用者旅程", "language": "語言", "languages": "語言", "laptop": "筆記型電腦", - "last-click": "Last click", + "last-click": "最後點擊", "last-days": "最近 {x} 天", "last-hours": "最近 {x} 小時", "last-months": "最近 {x} 個月", @@ -161,23 +161,23 @@ "leave-team": "離開團隊", "less-than": "小於", "less-than-equals": "小於或等於", - "link": "Link", - "links": "Links", - "location": "Location", + "link": "連結", + "links": "連結", + "location": "位置", "login": "登入", "logout": "登出", "manage": "管理", "manager": "管理者", "max": "最大值", "maximize": "Expand", - "medium": "Medium", + "medium": "媒介", "member": "成員", "members": "成員", "min": "最小值", - "minute": "Minute", + "minute": "分鐘", "mobile": "行動裝置", - "model": "Model", - "month": "Month", + "model": "型號", + "month": "月", "more": "更多", "my-account": "我的帳號", "my-websites": "我的網站", @@ -185,52 +185,52 @@ "new-password": "新密碼", "none": "無", "number-of-records": "{x} 筆紀錄", - "ok": "OK", - "online": "Online", - "organic-search": "Organic search", - "organic-shopping": "Organic shopping", - "organic-social": "Organic social", - "organic-video": "Organic video", + "ok": "確定", + "online": "線上", + "organic-search": "自然搜尋", + "organic-shopping": "自然購物", + "organic-social": "自然社群", + "organic-video": "自然影片", "os": "作業系統", - "other": "Other", + "other": "其他", "overview": "總覽", "owner": "擁有者", - "page": "Page", + "page": "頁面", "page-of": "第 {current} 頁,共 {total} 頁", "page-views": "網頁瀏覽次數", "pageTitle": "網頁標題", "pages": "網頁", - "paid-ads": "Paid ads", - "paid-search": "Paid search", - "paid-shopping": "Paid shopping", - "paid-social": "Paid social", - "paid-video": "Paid video", + "paid-ads": "付費廣告", + "paid-search": "付費搜尋", + "paid-shopping": "付費購物", + "paid-social": "付費社群", + "paid-video": "付費影片", "password": "密碼", "path": "路徑", "paths": "路徑", - "pixel": "Pixel", - "pixels": "Pixels", + "pixel": "像素", + "pixels": "像素", "powered-by": "由 {name} 提供技術支援", - "preferences": "Preferences", + "preferences": "偏好設定", "previous": "上一個", "previous-period": "上一期間", "previous-year": "去年", "profile": "個人檔案", - "profiles": "Profiles", + "profiles": "個人檔案", "properties": "屬性", "property": "屬性", "queries": "查詢", "query": "查詢", "query-parameters": "查詢參數", "realtime": "即時", - "referral": "Referral", + "referral": "推薦", "referrer": "參照來源", "referrers": "參照來源", "refresh": "重新整理", "regenerate": "重新產生", "region": "地區", "regions": "地區", - "remaining": "Remaining", + "remaining": "剩餘", "remove": "移除", "remove-member": "移除成員", "reports": "報表", @@ -244,49 +244,49 @@ "role": "角色", "run-query": "執行查詢", "save": "儲存", - "save-cohort": "Save cohort", - "save-segment": "Save segment", - "screen": "Screen", + "save-cohort": "儲存群組", + "save-segment": "儲存區段", + "screen": "螢幕", "screens": "螢幕", "search": "搜尋", - "segment": "Segment", - "segments": "Segments", + "segment": "區段", + "segments": "區段", "select": "選取", "select-date": "選取日期", - "select-filter": "Select filter", + "select-filter": "選取篩選條件", "select-role": "選取角色", "select-website": "選取網站", "session": "工作階段", - "session-data": "Session data", + "session-data": "工作階段資料", "sessions": "工作階段", "settings": "設定", - "share": "Share", + "share": "分享", "share-url": "分享連結", "single-day": "單日", - "sms": "SMS", - "source": "Source", - "sources": "Sources", + "sms": "簡訊", + "source": "來源", + "sources": "來源", "start-step": "起始步驟", "steps": "步驟", "sum": "總和", - "support": "Support", - "switch-account": "Switch account", - "table": "Table", + "support": "支援", + "switch-account": "切換帳號", + "table": "表格", "tablet": "平板", - "tag": "Tag", - "tags": "Tags", + "tag": "標籤", + "tags": "標籤", "team": "團隊", "team-id": "團隊 ID", "team-manager": "團隊管理者", "team-member": "團隊成員", "team-name": "團隊名稱", "team-owner": "團隊擁有者", - "team-settings": "Team settings", + "team-settings": "團隊設定", "team-view-only": "團隊僅供檢視", "team-websites": "團隊網站", "teams": "團隊", - "term": "Term", - "terms": "Terms", + "term": "搜尋詞", + "terms": "條款", "theme": "主題", "this-month": "本月", "this-week": "本週", @@ -298,14 +298,14 @@ "total": "總計", "total-records": "紀錄總數", "tracking-code": "追蹤代碼", - "traffic": "Traffic", + "traffic": "流量", "transactions": "交易", "transfer": "轉移", "transfer-website": "轉移網站", "true": "是", "type": "類型", "unique": "不重複", - "unique-events": "Unique events", + "unique-events": "不重複事件", "unique-visitors": "不重複訪客", "uniqueCustomers": "不重複客戶", "unknown": "未知", @@ -316,14 +316,14 @@ "username": "使用者名稱", "users": "使用者", "utm": "UTM", - "utm-campaign": "UTM Campaign", - "utm-content": "UTM Content", + "utm-campaign": "UTM 活動", + "utm-content": "UTM 內容", "utm-description": "透過 UTM 參數追蹤您的行銷活動。", - "utm-medium": "UTM Medium", - "utm-source": "UTM Source", - "utm-term": "UTM Term", + "utm-medium": "UTM 媒介", + "utm-source": "UTM 來源", + "utm-term": "UTM 關鍵字", "value": "值", - "version": "Version", + "version": "版本", "view": "檢視", "view-details": "檢視詳細資訊", "view-only": "僅供檢視", @@ -341,7 +341,7 @@ "message": { "action-confirmation": "請在下方欄位輸入 {confirmation} 以確認。", "active-users": "目前有 {x} 位訪客", - "bad-request": "Bad request", + "bad-request": "錯誤的請求", "collected-data": "已蒐集的資料", "confirm-delete": "您確定要刪除 {target} 嗎?", "confirm-leave": "您確定要離開 {target} 嗎?", @@ -351,7 +351,7 @@ "delete-website-warning": "所有網站資料都將被刪除。", "error": "發生錯誤。", "event-log": "在 {url} 上的 {event}", - "forbidden": "Forbidden", + "forbidden": "禁止存取", "go-to-settings": "前往設定", "incorrect-username-password": "使用者名稱或密碼不正確。", "invalid-domain": "無效的網域。請勿包含 http/https。", @@ -365,13 +365,13 @@ "no-teams": "您尚未建立任何團隊。", "no-users": "沒有任何使用者。", "no-websites-configured": "您尚未設定任何網站。", - "not-found": "Not found", - "nothing-selected": "Nothing selected.", + "not-found": "找不到", + "nothing-selected": "尚未選取任何項目。", "page-not-found": "找不到網頁", "reset-website": "要重設此網站的統計資料,請在下方欄位輸入 {confirmation} 以確認。", "reset-website-warning": "此網站的所有統計資料都將被刪除,但您的設定將保持不變。", "saved": "已儲存。", - "sever-error": "Server error", + "sever-error": "伺服器錯誤", "share-url": "您的網站統計資料可在以下網址公開檢視:", "team-already-member": "您已是該團隊的成員。", "team-not-found": "找不到團隊。", @@ -381,7 +381,7 @@ "transfer-user-website-to-team": "請選擇要轉移此網站的團隊。", "transfer-website": "將網站所有權轉移至您的帳號或其他團隊。", "triggered-event": "已觸發的事件", - "unauthorized": "Unauthorized", + "unauthorized": "未經授權", "user-deleted": "使用者已刪除。", "viewed-page": "已瀏覽的網頁", "visitor-log": "來自 {country} 的訪客在 {device} 上的 {os} 使用 {browser} 瀏覽。" diff --git a/scripts/translate-1-eastasian.cjs b/scripts/translate-1-eastasian.cjs new file mode 100644 index 000000000..c3530bf99 --- /dev/null +++ b/scripts/translate-1-eastasian.cjs @@ -0,0 +1,349 @@ +const fs = require('fs'); +const path = require('path'); +const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); +const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); + +const translations = { + 'zh-CN': { + label: { + 'campaign': '推广活动', + 'exclude-bounce': '排除跳出', + 'hour': '小时', + 'minute': '分钟', + 'month': '月', + 'number-of-records': '{x} {x, plural, one {条记录} other {条记录}}', + 'sms': '短信', + 'source': '来源', + 'term': '搜索词', + 'unique-events': '独立事件', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM 推广活动', + 'utm-content': 'UTM 内容', + 'utm-medium': 'UTM 媒介', + 'utm-source': 'UTM 来源', + 'utm-term': 'UTM 关键词', + 'version': '版本' + }, + message: {} + }, + 'zh-TW': { + label: { + 'account': '帳號', + 'action': '動作', + 'add-link': '新增連結', + 'add-pixel': '新增像素', + 'analysis': '分析', + 'application': '應用程式', + 'audience': '受眾', + 'campaign': '活動', + 'channel': '頻道', + 'channels': '頻道', + 'chart': '圖表', + 'cohorts': '群組', + 'criteria': '條件', + 'currency': '貨幣', + 'destination-url': '目標網址', + 'direct': '直接', + 'distinct-id': '唯一識別碼', + 'documentation': '說明文件', + 'does-not-include': '不包含', + 'doest-not-exist': '不存在', + 'download': '下載', + 'email': '電子郵件', + 'environment': '環境', + 'event-name': '事件名稱', + 'exclude-bounce': '排除跳出', + 'exists': '存在', + 'first-click': '首次點擊', + 'funnels': '漏斗', + 'grouped': '已分組', + 'growth': '成長', + 'hostname': '主機名稱', + 'hour': '小時', + 'includes': '包含', + 'insight': '洞察', + 'invalid-url': '無效的網址', + 'is-false': '為否', + 'is-true': '為是', + 'journeys': '使用者旅程', + 'last-click': '最後點擊', + 'link': '連結', + 'links': '連結', + 'location': '位置', + 'medium': '媒介', + 'minute': '分鐘', + 'model': '型號', + 'month': '月', + 'ok': '確定', + 'online': '線上', + 'organic-search': '自然搜尋', + 'organic-shopping': '自然購物', + 'organic-social': '自然社群', + 'organic-video': '自然影片', + 'other': '其他', + 'page': '頁面', + 'paid-ads': '付費廣告', + 'paid-search': '付費搜尋', + 'paid-shopping': '付費購物', + 'paid-social': '付費社群', + 'paid-video': '付費影片', + 'pixel': '像素', + 'pixels': '像素', + 'preferences': '偏好設定', + 'profiles': '個人檔案', + 'referral': '推薦', + 'remaining': '剩餘', + 'save-cohort': '儲存群組', + 'save-segment': '儲存區段', + 'screen': '螢幕', + 'segment': '區段', + 'segments': '區段', + 'select-filter': '選取篩選條件', + 'session-data': '工作階段資料', + 'share': '分享', + 'sms': '簡訊', + 'source': '來源', + 'sources': '來源', + 'support': '支援', + 'switch-account': '切換帳號', + 'table': '表格', + 'tag': '標籤', + 'tags': '標籤', + 'team-settings': '團隊設定', + 'term': '搜尋詞', + 'terms': '條款', + 'traffic': '流量', + 'unique-events': '不重複事件', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM 活動', + 'utm-content': 'UTM 內容', + 'utm-medium': 'UTM 媒介', + 'utm-source': 'UTM 來源', + 'utm-term': 'UTM 關鍵字', + 'version': '版本' + }, + message: { + 'bad-request': '錯誤的請求', + 'forbidden': '禁止存取', + 'not-found': '找不到', + 'nothing-selected': '尚未選取任何項目。', + 'sever-error': '伺服器錯誤', + 'unauthorized': '未經授權' + } + }, + 'ja-JP': { + label: { + 'account': 'アカウント', + 'action': 'アクション', + 'add-link': 'リンクを追加', + 'add-pixel': 'ピクセルを追加', + 'analysis': '分析', + 'application': 'アプリケーション', + 'audience': 'オーディエンス', + 'campaign': 'キャンペーン', + 'channel': 'チャネル', + 'chart': 'チャート', + 'cohorts': 'コホート', + 'criteria': '条件', + 'destination-url': '遷移先URL', + 'documentation': 'ドキュメント', + 'download': 'ダウンロード', + 'environment': '環境', + 'exclude-bounce': '直帰を除外', + 'growth': '成長', + 'hour': '時間', + 'invalid-url': '無効なURL', + 'link': 'リンク', + 'location': '場所', + 'minute': '分', + 'month': '月', + 'number-of-records': '{x} {x, plural, one {件} other {件}}', + 'ok': 'OK', + 'online': 'オンライン', + 'os': 'OS', + 'pixel': 'ピクセル', + 'powered-by': '{name} 提供', + 'preferences': '環境設定', + 'profiles': 'プロフィール', + 'referral': 'リファラル', + 'save-cohort': 'コホートを保存', + 'save-segment': 'セグメントを保存', + 'screen': 'スクリーン', + 'segment': 'セグメント', + 'segments': 'セグメント', + 'sms': 'SMS', + 'source': 'ソース', + 'support': 'サポート', + 'switch-account': 'アカウントを切り替え', + 'table': 'テーブル', + 'term': '検索語句', + 'traffic': 'トラフィック', + 'unique-events': 'ユニークイベント', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM キャンペーン', + 'utm-content': 'UTM コンテンツ', + 'utm-medium': 'UTM メディア', + 'utm-source': 'UTM ソース', + 'utm-term': 'UTM ターム', + 'version': 'バージョン' + }, + message: { + 'bad-request': '不正なリクエスト', + 'forbidden': 'アクセス禁止', + 'not-found': '見つかりません', + 'nothing-selected': '何も選択されていません。', + 'sever-error': 'サーバーエラー', + 'unauthorized': '認証が必要です' + } + }, + 'ko-KR': { + label: { + 'account': '계정', + 'action': '작업', + 'add-link': '링크 추가', + 'add-pixel': '픽셀 추가', + 'analysis': '분석', + 'application': '애플리케이션', + 'audience': '잠재고객', + 'campaign': '캠페인', + 'channel': '채널', + 'chart': '차트', + 'cohorts': '코호트', + 'criteria': '기준', + 'destination-url': '도착 URL', + 'documentation': '문서', + 'download': '다운로드', + 'environment': '환경', + 'exclude-bounce': '이탈 제외', + 'growth': '성장', + 'hour': '시간', + 'invalid-url': '잘못된 URL', + 'link': '링크', + 'location': '위치', + 'minute': '분', + 'month': '월', + 'online': '온라인', + 'pixel': '픽셀', + 'powered-by': '{name} 제공', + 'preferences': '환경설정', + 'profiles': '프로필', + 'referral': '추천', + 'save-cohort': '코호트 저장', + 'save-segment': '세그먼트 저장', + 'screen': '화면', + 'segment': '세그먼트', + 'segments': '세그먼트', + 'sms': 'SMS', + 'source': '소스', + 'support': '지원', + 'switch-account': '계정 전환', + 'table': '표', + 'term': '검색어', + 'traffic': '트래픽', + 'unique-events': '고유 이벤트', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM 캠페인', + 'utm-content': 'UTM 콘텐츠', + 'utm-medium': 'UTM 매체', + 'utm-source': 'UTM 소스', + 'utm-term': 'UTM 검색어', + 'version': '버전' + }, + message: { + 'bad-request': '잘못된 요청', + 'forbidden': '접근 금지', + 'not-found': '찾을 수 없음', + 'nothing-selected': '선택된 항목이 없습니다.', + 'sever-error': '서버 오류', + 'unauthorized': '인증되지 않음' + } + }, + 'vi-VN': { + label: { + 'account': 'Tài khoản', + 'action': 'Hành động', + 'add-link': 'Thêm liên kết', + 'add-pixel': 'Thêm pixel', + 'analysis': 'Phân tích', + 'application': 'Ứng dụng', + 'audience': 'Đối tượng', + 'campaign': 'Chiến dịch', + 'channel': 'Kênh', + 'chart': 'Biểu đồ', + 'cohorts': 'Nhóm thuần tập', + 'criteria': 'Tiêu chí', + 'destination-url': 'URL đích', + 'documentation': 'Tài liệu', + 'download': 'Tải xuống', + 'email': 'Email', + 'environment': 'Môi trường', + 'exclude-bounce': 'Loại trừ thoát trang', + 'growth': 'Tăng trưởng', + 'hour': 'Giờ', + 'invalid-url': 'URL không hợp lệ', + 'link': 'Liên kết', + 'location': 'Vị trí', + 'minute': 'Phút', + 'month': 'Tháng', + 'ok': 'OK', + 'pixel': 'Pixel', + 'preferences': 'Tùy chọn', + 'profiles': 'Hồ sơ', + 'save-cohort': 'Lưu nhóm thuần tập', + 'save-segment': 'Lưu phân đoạn', + 'screen': 'Màn hình', + 'segment': 'Phân đoạn', + 'segments': 'Phân đoạn', + 'sms': 'SMS', + 'source': 'Nguồn', + 'support': 'Hỗ trợ', + 'switch-account': 'Chuyển tài khoản', + 'table': 'Bảng', + 'term': 'Từ khóa', + 'traffic': 'Lưu lượng truy cập', + 'unique-events': 'Sự kiện duy nhất', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM Chiến dịch', + 'utm-content': 'UTM Nội dung', + 'utm-medium': 'UTM Phương tiện', + 'utm-source': 'UTM Nguồn', + 'utm-term': 'UTM Từ khóa', + 'version': 'Phiên bản', + 'website': 'Trang web' + }, + message: {} + } +}; + +for (const [locale, trans] of Object.entries(translations)) { + const filePath = path.join(dir, locale + '.json'); + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + let count = 0; + for (const [section, keys] of Object.entries(trans)) { + for (const [key, value] of Object.entries(keys)) { + if (data[section] && key in data[section]) { + data[section][key] = value; + count++; + } + } + } + const sorted = {}; + for (const section of Object.keys(enUS)) { + if (data[section]) { + sorted[section] = {}; + for (const key of Object.keys(enUS[section])) { + if (key in data[section]) sorted[section][key] = data[section][key]; + } + for (const key of Object.keys(data[section])) { + if (!(key in sorted[section])) sorted[section][key] = data[section][key]; + } + } + } + fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); + console.log('Updated ' + locale + ': ' + count + ' keys'); +} diff --git a/scripts/translate-10-sinhala.cjs b/scripts/translate-10-sinhala.cjs new file mode 100644 index 000000000..653109308 --- /dev/null +++ b/scripts/translate-10-sinhala.cjs @@ -0,0 +1,358 @@ +const fs = require('fs'); +const path = require('path'); + +const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); +const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); + +const translations = { + 'si-LK': { + label: { + // A + 'access-code': 'ප්‍රවේශ කේතය', + 'account': 'ගිණුම', + 'action': 'ක්‍රියාව', + 'actions': 'ක්‍රියා', + 'add': 'එකතු කරන්න', + 'add-board': 'පුවරුව එකතු කරන්න', + 'add-description': 'විස්තරය එකතු කරන්න', + 'add-link': 'සබැඳිය එකතු කරන්න', + 'add-member': 'සාමාජිකයා එකතු කරන්න', + 'add-pixel': 'පික්සලය එකතු කරන්න', + 'add-step': 'පියවර එකතු කරන්න', + 'affiliate': 'අනුබද්ධ', + 'after': 'පසුව', + 'analysis': 'විශ්ලේෂණය', + 'analytics': 'විශ්ලේෂණ', + 'application': 'යෙදුම', + 'apply': 'යොදන්න', + 'attribution': 'ආරෝපණය', + 'attribution-description': 'පරිශීලකයින් ඔබේ අලෙවිකරණය සමඟ කටයුතු කරන ආකාරය සහ පරිවර්තන මෙහෙයවන දේ බලන්න.', + 'audience': 'ප්‍රේක්ෂකයින්', + 'average': 'සාමාන්‍ය', + 'before': 'පෙර', + 'boards': 'පුවරු', + 'bounce-rate': 'ප්‍රතිචිප්ත අනුපාතය', + 'breakdown': 'බිඳීම', + 'browser': 'බ්‍රවුසරය', + 'browsers': 'බ්‍රවුසර', + 'campaign': 'ව්‍යාපාරය', + 'campaigns': 'ව්‍යාපාර', + 'channel': 'නාලිකාව', + 'channels': 'නාලිකා', + 'chart': 'ප්‍රස්ථාරය', + 'cities': 'නගර', + 'city': 'නගරය', + 'clear-all': 'සියල්ල හිස් කරන්න', + 'cohort': 'සමූහය', + 'cohorts': 'සමූහ', + 'compare': 'සංසන්දනය', + 'compare-dates': 'දින සංසන්දනය', + 'confirm': 'තහවුරු කරන්න', + 'contains': 'අඩංගු වේ', + 'content': 'අන්තර්ගතය', + 'continue': 'ඉදිරියට', + 'conversion': 'පරිවර්තනය', + 'conversion-rate': 'පරිවර්තන අනුපාතය', + 'conversion-step': 'පරිවර්තන පියවර', + 'count': 'ගණන', + 'countries': 'රටවල්', + 'country': 'රට', + 'create': 'සාදන්න', + 'create-report': 'වාර්තාව සාදන්න', + 'create-team': 'කණ්ඩායම සාදන්න', + 'create-user': 'පරිශීලකයා සාදන්න', + 'created': 'සාදන ලදි', + 'created-by': 'සාදන ලද්දේ', + 'criteria': 'නිර්ණායක', + 'currency': 'මුදල් ඒකකය', + 'current': 'වත්මන්', + 'data': 'දත්ත', + 'date': 'දිනය', + 'day': 'දිනය', + 'delete-report': 'වාර්තාව මකන්න', + 'delete-team': 'කණ්ඩායම මකන්න', + 'delete-user': 'පරිශීලකයා මකන්න', + 'description': 'විස්තරය', + 'desktop': 'ඩෙස්ක්ටොප්', + 'destination-url': 'ගමනාන්ත URL', + 'details': 'විස්තර', + 'device': 'උපාංගය', + 'devices': 'උපාංග', + 'direct': 'සෘජු', + 'distinct-id': 'විශේෂිත ID', + 'documentation': 'ලේඛනගත කිරීම', + 'does-not-contain': 'අඩංගු නොවේ', + 'does-not-include': 'ඇතුළත් නොවේ', + 'doest-not-exist': 'පවතින්නේ නැත', + 'download': 'බාගන්න', + 'dropoff': 'අතහැර යෑම', + 'edit-dashboard': 'උපකරණ පුවරුව සංස්කරණය', + 'edit-member': 'සාමාජිකයා සංස්කරණය', + 'email': 'විද්‍යුත් තැපෑල', + 'end-step': 'අවසාන පියවර', + 'environment': 'පරිසරය', + 'event': 'සිදුවීම', + 'event-name': 'සිදුවීම් නාමය', + 'events': 'සිදුවීම්', + 'exclude-bounce': 'ප්‍රතිචිප්ත බැහැර කරන්න', + 'exists': 'පවතී', + 'false': 'අසත්‍ය', + 'field': 'ක්ෂේත්‍රය', + 'fields': 'ක්ෂේත්‍ර', + 'filter': 'පෙරහන', + 'filter-combined': 'ඒකාබද්ධ', + 'filter-raw': 'අමු', + 'filters': 'පෙරහන්', + 'first-click': 'පළමු ක්ලික්', + 'first-seen': 'මුලින් දුටු', + 'funnel': 'පුනීලය', + 'funnel-description': 'පරිශීලකයින්ගේ පරිවර්තන සහ අතහැර යෑමේ අනුපාතය තේරුම් ගන්න.', + 'funnels': 'පුනීල', + 'goal': 'ඉලක්කය', + 'goals': 'ඉලක්ක', + 'goals-description': 'පිටු නැරඹීම් සහ සිදුවීම් සඳහා ඔබේ ඉලක්ක නිරීක්ෂණය කරන්න.', + 'greater-than': 'වඩා විශාලයි', + 'greater-than-equals': 'වඩා විශාල හෝ සමානයි', + 'grouped': 'කාණ්ඩගත', + 'growth': 'වර්ධනය', + 'hostname': 'ධාරක නාමය', + 'hour': 'පැය', + 'includes': 'ඇතුළත් වේ', + 'insight': 'අවබෝධය', + 'insights': 'අවබෝධ', + 'insights-description': 'ඛණ්ඩ සහ පෙරහන් භාවිතා කර ඔබේ දත්ත ගැඹුරින් බලන්න.', + 'invalid-url': 'වලංගු නොවන URL', + 'is': 'වේ', + 'is-false': 'අසත්‍යයි', + 'is-not': 'නොවේ', + 'is-not-set': 'සකසා නැත', + 'is-set': 'සකසා ඇත', + 'is-true': 'සත්‍යයි', + 'join': 'සම්බන්ධ වන්න', + 'join-team': 'කණ්ඩායමට සම්බන්ධ වන්න', + 'journey': 'ගමන', + 'journey-description': 'පරිශීලකයින් ඔබේ වෙබ් අඩවිය හරහා සැරිසරන ආකාරය තේරුම් ගන්න.', + 'journeys': 'ගමන්', + 'languages': 'භාෂා', + 'laptop': 'ලැප්ටොප්', + 'last-click': 'අවසාන ක්ලික්', + 'last-months': 'අන්තිම {x} මාස', + 'last-seen': 'අවසන් දුටු', + 'leave': 'ඉවත් වන්න', + 'leave-team': 'කණ්ඩායමෙන් ඉවත් වන්න', + 'less-than': 'වඩා කුඩායි', + 'less-than-equals': 'වඩා කුඩා හෝ සමානයි', + 'link': 'සබැඳිය', + 'links': 'සබැඳි', + 'location': 'ස්ථානය', + 'manage': 'කළමනාකරණය', + 'manager': 'කළමනාකරු', + 'max': 'උපරිම', + 'medium': 'මාධ්‍යය', + 'member': 'සාමාජිකයා', + 'members': 'සාමාජිකයින්', + 'min': 'අවම', + 'minute': 'මිනිත්තුව', + 'mobile': 'ජංගම', + 'model': 'ආදර්ශය', + 'month': 'මාසය', + 'my-account': 'මගේ ගිණුම', + 'my-websites': 'මගේ වෙබ් අඩවි', + 'number-of-records': '{x} {x, plural, one {වාර්තාව} other {වාර්තා}}', + 'ok': 'OK', + 'online': 'සබැඳි', + 'organic-search': 'කාබනික සෙවීම', + 'organic-shopping': 'කාබනික සාප්පු සවාරි', + 'organic-social': 'කාබනික සමාජ', + 'organic-video': 'කාබනික වීඩියෝ', + 'os': 'OS', + 'other': 'වෙනත්', + 'overview': 'දළ විసුරුම', + 'page': 'පිටුව', + 'page-of': 'පිටුව {current} / {total}', + 'page-views': 'පිටු නැරඹීම්', + 'pageTitle': 'පිටු මාතෘකාව', + 'pages': 'පිටු', + 'paid-ads': 'ගෙවූ දැන්වීම්', + 'paid-search': 'ගෙවූ සෙවීම', + 'paid-shopping': 'ගෙවූ සාප්පු සවාරි', + 'paid-social': 'ගෙවූ සමාජ', + 'paid-video': 'ගෙවූ වීඩියෝ', + 'path': 'මාර්ගය', + 'paths': 'මාර්ග', + 'pixel': 'පික්සලය', + 'pixels': 'පික්සල', + 'powered-by': '{name} මඟින් බලගැන්වේ', + 'preferences': 'මනාප', + 'previous': 'පෙර', + 'previous-period': 'පෙර කාලය', + 'previous-year': 'පෙර වසර', + 'profiles': 'පැතිකඩ', + 'properties': 'ගුණාංග', + 'property': 'ගුණාංගය', + 'queries': 'විමසීම්', + 'query': 'විමසුම', + 'query-parameters': 'විමසුම් පරාමිති', + 'referral': 'යොමු කිරීම', + 'referrer': 'යොමු කරන්නා', + 'referrers': 'යොමු කරන්නන්', + 'regenerate': 'නැවත උත්පාදනය', + 'region': 'කලාපය', + 'regions': 'කලාප', + 'remaining': 'ඉතිරි', + 'remove': 'ඉවත් කරන්න', + 'remove-member': 'සාමාජිකයා ඉවත් කරන්න', + 'reports': 'වාර්තා', + 'retention': 'රඳවා ගැනීම', + 'retention-description': 'පරිශීලකයින් කොපමණ වාරයක් නැවත පැමිණෙනවාද යන්න නිරීක්ෂණය කර ඔබේ වෙබ් අඩවියේ ඇලෙන සුළුබව මනින්න.', + 'revenue': 'ආදායම', + 'role': 'භූමිකාව', + 'run-query': 'විමසුම ධාවනය කරන්න', + 'save-cohort': 'සමූහය සුරකින්න', + 'save-segment': 'ඛණ්ඩය සුරකින්න', + 'screen': 'තිරය', + 'screens': 'තිර', + 'search': 'සෙවීම', + 'segment': 'ඛණ්ඩය', + 'segments': 'ඛණ්ඩ', + 'select': 'තෝරන්න', + 'select-date': 'දිනය තෝරන්න', + 'select-filter': 'පෙරහන තෝරන්න', + 'select-role': 'භූමිකාව තෝරන්න', + 'select-website': 'වෙබ් අඩවිය තෝරන්න', + 'session': 'සැසිය', + 'session-data': 'සැසි දත්ත', + 'sessions': 'සැසි', + 'share': 'බෙදාගන්න', + 'sms': 'SMS', + 'source': 'මූලාශ්‍රය', + 'sources': 'මූලාශ්‍ර', + 'start-step': 'ආරම්භක පියවර', + 'steps': 'පියවර', + 'sum': 'එකතුව', + 'support': 'සහාය', + 'switch-account': 'ගිණුම මාරු කරන්න', + 'table': 'වගුව', + 'tablet': 'ටැබ්ලටය', + 'tag': 'ටැගය', + 'tags': 'ටැග්', + 'team': 'කණ්ඩායම', + 'team-id': 'කණ්ඩායම් ID', + 'team-manager': 'කණ්ඩායම් කළමනාකරු', + 'team-member': 'කණ්ඩායම් සාමාජිකයා', + 'team-name': 'කණ්ඩායම් නම', + 'team-owner': 'කණ්ඩායම් හිමිකරු', + 'team-settings': 'කණ්ඩායම් සැකසුම්', + 'team-view-only': 'කණ්ඩායම් බැලීම පමණි', + 'team-websites': 'කණ්ඩායම් වෙබ් අඩවි', + 'teams': 'කණ්ඩායම්', + 'term': 'යෙදුම', + 'terms': 'නියම', + 'title': 'මාතෘකාව', + 'toggle-charts': 'ප්‍රස්ථාර ටොගල් කරන්න', + 'total': 'මුළු', + 'total-records': 'මුළු වාර්තා', + 'traffic': 'ගමනාගමනය', + 'transactions': 'ගනුදෙනු', + 'transfer': 'මාරු කරන්න', + 'transfer-website': 'වෙබ් අඩවිය මාරු කරන්න', + 'true': 'සත්‍ය', + 'type': 'වර්ගය', + 'unique': 'අනන්‍ය', + 'unique-events': 'අනන්‍ය සිදුවීම්', + 'unique-visitors': 'අනන්‍ය නරඹන්නන්', + 'uniqueCustomers': 'අනන්‍ය ගනුදෙනුකරුවන්', + 'untitled': 'නම් නොකළ', + 'update': 'යාවත්කාලීන කරන්න', + 'url': 'URL', + 'user': 'පරිශීලකයා', + 'users': 'පරිශීලකයින්', + 'utm': 'UTM', + 'utm-campaign': 'UTM ව්‍යාපාරය', + 'utm-content': 'UTM අන්තර්ගතය', + 'utm-description': 'UTM පරාමිති හරහා ඔබේ ව්‍යාපාර නිරීක්ෂණය කරන්න.', + 'utm-medium': 'UTM මාධ්‍යය', + 'utm-source': 'UTM මූලාශ්‍රය', + 'utm-term': 'UTM යෙදුම', + 'value': 'අගය', + 'version': 'අනුවාදය', + 'view': 'බලන්න', + 'view-only': 'බැලීම පමණි', + 'views': 'නැරඹීම්', + 'views-per-visit': 'සංචාරයකට නැරඹීම්', + 'visit-duration': 'සංචාර කාලය', + 'visitors': 'නරඹන්නන්', + 'visits': 'සංචාර', + 'website': 'වෙබ් අඩවිය', + 'website-id': 'වෙබ් අඩවි ID', + 'window': 'කවුළුව', + }, + message: { + 'action-confirmation': 'තහවුරු කිරීමට පහත කොටුවේ {confirmation} ටයිප් කරන්න.', + 'bad-request': 'වලංගු නොවන ඉල්ලීමක්', + 'collected-data': 'එකතු කළ දත්ත', + 'confirm-leave': 'ඔබට {target} වෙතින් ඉවත් වීමට අවශ්‍ය බව විශ්වාසද?', + 'confirm-remove': 'ඔබට {target} ඉවත් කිරීමට අවශ්‍ය බව විශ්වාසද?', + 'delete-team-warning': 'කණ්ඩායමක් මකා දැමීමෙන් එහි සියලු වෙබ් අඩවි ද මැකෙනු ඇත.', + 'delete-website-warning': 'සියලුම වෙබ් අඩවි දත්ත මකා දැමෙනු ඇත.', + 'error': 'යමක් වැරදී ගියා.', + 'event-log': '{url} හි {event}', + 'forbidden': 'තහනම්', + 'invalid-domain': 'වලංගු නොවන ඩොමේනයකි. http/https ඇතුළත් නොකරන්න.', + 'min-password-length': 'අවම {n} අක්ෂර දිග', + 'new-version-available': 'Umami හි නව අනුවාදයක් {version} ලබා ගත හැකිය!', + 'no-event-data': 'සිදුවීම් දත්ත නොමැත.', + 'no-match-password': 'මුරපද නොගැළපේ.', + 'no-team-websites': 'මෙම කණ්ඩායමට වෙබ් අඩවි නොමැත.', + 'no-teams': 'ඔබ කිසිදු කණ්ඩායමක් සාදා නැත.', + 'no-users': 'පරිශීලකයින් නොමැත.', + 'no-websites-configured': 'ඔබ වෙබ් අඩවි කිසිවක් සකසා නැත.', + 'not-found': 'සොයා ගත නොහැක', + 'nothing-selected': 'කිසිවක් තෝරා නැත.', + 'reset-website': 'මෙම වෙබ් අඩවිය නැවත පිහිටුවීමට, පහත කොටුවේ {confirmation} ටයිප් කර තහවුරු කරන්න.', + 'reset-website-warning': 'මෙම වෙබ් අඩවියට අදාල සියලු සංඛ්‍යාලේඛන මකා දැමෙනු ඇත, නමුත් ඔබේ සැකසුම් නොවෙනස්ව පවතිනු ඇත.', + 'saved': 'සුරකින ලදි.', + 'sever-error': 'සේවාදායක දෝෂයකි', + 'team-already-member': 'ඔබ දැනටමත් මෙම කණ්ඩායමේ සාමාජිකයෙකි.', + 'team-not-found': 'කණ්ඩායම සොයා ගත නොහැක.', + 'team-websites-info': 'කණ්ඩායමේ ඕනෑම කෙනෙකුට වෙබ් අඩවි බැලිය හැකිය.', + 'tracking-code': 'මෙම වෙබ් අඩවියේ සංඛ්‍යාලේඛන නිරීක්ෂණය කිරීමට, පහත කේතය ඔබේ HTML හි ... කොටස තුළ තබන්න.', + 'transfer-team-website-to-user': 'මෙම වෙබ් අඩවිය ඔබේ ගිණුමට මාරු කරන්නද?', + 'transfer-user-website-to-team': 'මෙම වෙබ් අඩවිය මාරු කිරීමට කණ්ඩායම තෝරන්න.', + 'transfer-website': 'වෙබ් අඩවියේ හිමිකාරිත්වය ඔබේ ගිණුමට හෝ වෙනත් කණ්ඩායමකට මාරු කරන්න.', + 'triggered-event': 'අවුලුවන ලද සිදුවීම', + 'unauthorized': 'අනවසරයි', + 'user-deleted': 'පරිශීලකයා මකා දමන ලදි.', + 'viewed-page': 'නැරඹූ පිටුව', + 'visitor-log': '{country} සිට {os} {device} හි {browser} භාවිතා කරන නරඹන්නා', + } + } +}; + +for (const [locale, trans] of Object.entries(translations)) { + const filePath = path.join(dir, locale + '.json'); + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + let count = 0; + for (const [section, keys] of Object.entries(trans)) { + for (const [key, value] of Object.entries(keys)) { + if (data[section] && key in data[section]) { + data[section][key] = value; + count++; + } + } + } + const sorted = {}; + for (const section of Object.keys(enUS)) { + if (data[section]) { + sorted[section] = {}; + for (const key of Object.keys(enUS[section])) { + if (key in data[section]) sorted[section][key] = data[section][key]; + } + for (const key of Object.keys(data[section])) { + if (!(key in sorted[section])) sorted[section][key] = data[section][key]; + } + } + } + fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); + console.log('Updated ' + locale + ': ' + count + ' keys'); +} diff --git a/scripts/translate-11-urdu.cjs b/scripts/translate-11-urdu.cjs new file mode 100644 index 000000000..e3eddf7b4 --- /dev/null +++ b/scripts/translate-11-urdu.cjs @@ -0,0 +1,341 @@ +const fs = require('fs'); +const path = require('path'); + +const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); +const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); + +const translations = { + 'ur-PK': { + label: { + // A + 'access-code': 'رسائی کوڈ', + 'account': 'اکاؤنٹ', + 'action': 'عمل', + 'add': 'شامل کریں', + 'add-board': 'بورڈ شامل کریں', + 'add-description': 'تفصیل شامل کریں', + 'add-link': 'لنک شامل کریں', + 'add-member': 'رکن شامل کریں', + 'add-pixel': 'پکسل شامل کریں', + 'add-step': 'مرحلہ شامل کریں', + 'affiliate': 'ملحقہ', + 'after': 'بعد', + 'analysis': 'تجزیہ', + 'analytics': 'تجزیات', + 'application': 'ایپلیکیشن', + 'apply': 'لاگو کریں', + 'attribution': 'انتساب', + 'attribution-description': 'دیکھیں کہ صارفین آپ کی مارکیٹنگ کے ساتھ کیسے جڑتے ہیں اور تبدیلیوں کی وجہ کیا ہے۔', + 'audience': 'سامعین', + 'average': 'اوسط', + // B + 'before': 'پہلے', + 'boards': 'بورڈز', + 'breakdown': 'تفصیلی تجزیہ', + 'browser': 'براؤزر', + // C + 'campaign': 'مہم', + 'campaigns': 'مہمات', + 'channel': 'چینل', + 'channels': 'چینلز', + 'chart': 'چارٹ', + 'cities': 'شہر', + 'city': 'شہر', + 'clear-all': 'سب صاف کریں', + 'cohort': 'کوہارٹ', + 'cohorts': 'کوہارٹس', + 'compare': 'موازنہ کریں', + 'compare-dates': 'تاریخوں کا موازنہ', + 'confirm': 'تصدیق کریں', + 'contains': 'شامل ہے', + 'content': 'مواد', + 'continue': 'جاری رکھیں', + 'conversion': 'تبدیلی', + 'conversion-rate': 'تبدیلی کی شرح', + 'conversion-step': 'تبدیلی کا مرحلہ', + 'count': 'شمار', + 'country': 'ملک', + 'create': 'بنائیں', + 'create-report': 'رپورٹ بنائیں', + 'create-team': 'ٹیم بنائیں', + 'create-user': 'صارف بنائیں', + 'created': 'بنایا گیا', + 'created-by': 'بنانے والا', + 'criteria': 'معیار', + 'currency': 'کرنسی', + 'current': 'موجودہ', + // D + 'data': 'ڈیٹا', + 'date': 'تاریخ', + 'day': 'دن', + 'delete-report': 'رپورٹ حذف کریں', + 'delete-team': 'ٹیم حذف کریں', + 'delete-user': 'صارف حذف کریں', + 'description': 'تفصیل', + 'destination-url': 'منزل URL', + 'details': 'تفصیلات', + 'device': 'آلہ', + 'direct': 'براہ راست', + 'distinct-id': 'منفرد ID', + 'documentation': 'دستاویزات', + 'does-not-contain': 'شامل نہیں ہے', + 'does-not-include': 'مشتمل نہیں ہے', + 'doest-not-exist': 'موجود نہیں ہے', + 'download': 'ڈاؤن لوڈ', + 'dropoff': 'ڈراپ آف', + // E + 'edit-dashboard': 'ڈیش بورڈ میں ترمیم', + 'edit-member': 'رکن میں ترمیم', + 'email': 'ای میل', + 'end-step': 'آخری مرحلہ', + 'environment': 'ماحول', + 'event': 'واقعہ', + 'event-data': 'واقعہ ڈیٹا', + 'event-name': 'واقعہ کا نام', + 'exclude-bounce': 'اچھال خارج کریں', + 'exists': 'موجود ہے', + // F + 'false': 'غلط', + 'field': 'فیلڈ', + 'fields': 'فیلڈز', + 'filter': 'فلٹر', + 'filters': 'فلٹرز', + 'first-click': 'پہلا کلک', + 'first-seen': 'پہلی بار دیکھا گیا', + 'funnel': 'فنل', + 'funnel-description': 'صارفین کی تبدیلی اور ڈراپ آف شرح کو سمجھیں۔', + 'funnels': 'فنلز', + // G + 'goal': 'ہدف', + 'goals': 'اہداف', + 'goals-description': 'صفحہ کے نظاروں اور واقعات کے لیے اپنے اہداف کی نگرانی کریں۔', + 'greater-than': 'سے زیادہ', + 'greater-than-equals': 'سے زیادہ یا مساوی', + 'grouped': 'گروپ شدہ', + 'growth': 'نمو', + // H + 'hostname': 'ہوسٹ نام', + 'hour': 'گھنٹہ', + // I + 'includes': 'مشتمل ہے', + 'insight': 'بصیرت', + 'insights': 'بصیرتیں', + 'insights-description': 'سیگمنٹس اور فلٹرز استعمال کرکے اپنے ڈیٹا میں گہرائی سے جائیں۔', + 'invalid-url': 'غلط URL', + 'is': 'ہے', + 'is-false': 'غلط ہے', + 'is-not': 'نہیں ہے', + 'is-not-set': 'سیٹ نہیں ہے', + 'is-set': 'سیٹ ہے', + 'is-true': 'درست ہے', + // J + 'join': 'شامل ہوں', + 'join-team': 'ٹیم میں شامل ہوں', + 'journey': 'سفر', + 'journey-description': 'سمجھیں کہ صارفین آپ کی ویب سائٹ پر کیسے تشریف لے جاتے ہیں۔', + 'journeys': 'سفر', + // L + 'language': 'زبان', + 'last-click': 'آخری کلک', + 'last-months': 'پچھلے {x} مہینے', + 'last-seen': 'آخری بار دیکھا گیا', + 'leave': 'چھوڑیں', + 'leave-team': 'ٹیم چھوڑیں', + 'less-than': 'سے کم', + 'less-than-equals': 'سے کم یا مساوی', + 'link': 'لنک', + 'links': 'لنکس', + 'location': 'مقام', + // M + 'manage': 'انتظام کریں', + 'manager': 'منتظم', + 'max': 'زیادہ سے زیادہ', + 'medium': 'میڈیم', + 'member': 'رکن', + 'members': 'اراکین', + 'min': 'کم سے کم', + 'minute': 'منٹ', + 'model': 'ماڈل', + 'month': 'مہینہ', + 'my-account': 'میرا اکاؤنٹ', + 'my-websites': 'میری ویب سائٹس', + // N + 'none': 'کوئی نہیں', + 'number-of-records': '{x} {x, plural, one {ریکارڈ} other {ریکارڈز}}', + 'online': 'آن لائن', + 'organic-search': 'نامیاتی تلاش', + 'organic-shopping': 'نامیاتی خریداری', + 'organic-social': 'نامیاتی سوشل', + 'organic-video': 'نامیاتی ویڈیو', + // O + 'other': 'دیگر', + 'overview': 'جائزہ', + // P + 'page': 'صفحہ', + 'page-of': 'صفحہ {current} از {total}', + 'pageTitle': 'صفحہ کا عنوان', + 'paid-ads': 'ادا شدہ اشتہارات', + 'paid-search': 'ادا شدہ تلاش', + 'paid-shopping': 'ادا شدہ خریداری', + 'paid-social': 'ادا شدہ سوشل', + 'paid-video': 'ادا شدہ ویڈیو', + 'path': 'راستہ', + 'paths': 'راستے', + 'pixel': 'پکسل', + 'pixels': 'پکسلز', + 'preferences': 'ترجیحات', + 'previous': 'پچھلا', + 'previous-period': 'پچھلا عرصہ', + 'previous-year': 'پچھلا سال', + 'profiles': 'پروفائلز', + 'properties': 'خصوصیات', + 'property': 'خصوصیت', + // Q + 'queries': 'استفسارات', + 'query': 'استفسار', + 'query-parameters': 'استفسار پیرامیٹرز', + // R + 'referral': 'حوالہ', + 'referrer': 'حوالہ دہندہ', + 'regenerate': 'دوبارہ بنائیں', + 'region': 'علاقہ', + 'regions': 'علاقے', + 'remaining': 'باقی', + 'remove': 'ہٹائیں', + 'remove-member': 'رکن ہٹائیں', + 'reports': 'رپورٹیں', + 'retention': 'برقراری', + 'retention-description': 'یہ جانچیں کہ صارفین کتنی بار واپس آتے ہیں اور آپ کی ویب سائٹ کتنی پرکشش ہے۔', + 'revenue': 'آمدنی', + 'role': 'کردار', + 'run-query': 'استفسار چلائیں', + // S + 'save-cohort': 'کوہارٹ محفوظ کریں', + 'save-segment': 'سیگمنٹ محفوظ کریں', + 'screen': 'اسکرین', + 'screens': 'اسکرینز', + 'search': 'تلاش', + 'segment': 'سیگمنٹ', + 'segments': 'سیگمنٹس', + 'select': 'منتخب کریں', + 'select-date': 'تاریخ منتخب کریں', + 'select-filter': 'فلٹر منتخب کریں', + 'select-role': 'کردار منتخب کریں', + 'select-website': 'ویب سائٹ منتخب کریں', + 'session': 'سیشن', + 'session-data': 'سیشن ڈیٹا', + 'sessions': 'سیشنز', + 'share': 'شیئر کریں', + 'source': 'ذریعہ', + 'sources': 'ذرائع', + 'start-step': 'شروعاتی مرحلہ', + 'steps': 'مراحل', + 'sum': 'کل', + 'support': 'معاونت', + 'switch-account': 'اکاؤنٹ تبدیل کریں', + // T + 'table': 'ٹیبل', + 'tag': 'ٹیگ', + 'tags': 'ٹیگز', + 'team': 'ٹیم', + 'team-manager': 'ٹیم منتظم', + 'team-member': 'ٹیم رکن', + 'team-name': 'ٹیم کا نام', + 'team-owner': 'ٹیم مالک', + 'team-settings': 'ٹیم ترتیبات', + 'team-view-only': 'ٹیم صرف دیکھنے کے لیے', + 'team-websites': 'ٹیم ویب سائٹس', + 'teams': 'ٹیمیں', + 'term': 'اصطلاح', + 'terms': 'شرائط', + 'theme': 'تھیم', + 'title': 'عنوان', + 'total': 'کل', + 'total-records': 'کل ریکارڈز', + 'traffic': 'ٹریفک', + 'transactions': 'لین دین', + 'transfer': 'منتقلی', + 'transfer-website': 'ویب سائٹ منتقل کریں', + 'true': 'درست', + 'type': 'قسم', + // U + 'unique': 'منفرد', + 'unique-events': 'منفرد واقعات', + 'uniqueCustomers': 'منفرد گاہک', + 'untitled': 'بے عنوان', + 'update': 'اپ ڈیٹ', + 'user': 'صارف', + 'users': 'صارفین', + 'utm-description': 'UTM پیرامیٹرز کے ذریعے اپنی مہمات کی نگرانی کریں۔', + // V + 'value': 'قدر', + 'version': 'ورژن', + 'view': 'دیکھیں', + 'view-only': 'صرف دیکھیں', + 'views-per-visit': 'فی وزٹ نظارے', + 'visits': 'وزٹس', + 'website': 'ویب سائٹ', + // W + 'window': 'ونڈو', + 'yesterday': 'کل' + }, + message: { + 'action-confirmation': 'تصدیق کے لیے نیچے دیے گئے خانے میں {confirmation} ٹائپ کریں۔', + 'bad-request': 'غلط درخواست', + 'collected-data': 'جمع شدہ ڈیٹا', + 'confirm-leave': 'کیا آپ واقعی {target} چھوڑنا چاہتے ہیں؟', + 'confirm-remove': 'کیا آپ واقعی {target} کو ہٹانا چاہتے ہیں؟', + 'delete-team-warning': 'ٹیم حذف کرنے سے ٹیم کی تمام ویب سائٹس بھی حذف ہو جائیں گی۔', + 'event-log': '{url} پر {event}', + 'forbidden': 'ممنوع', + 'min-password-length': 'کم از کم {n} حروف کی لمبائی', + 'new-version-available': 'Umami کا نیا ورژن {version} دستیاب ہے!', + 'no-event-data': 'واقعہ کا کوئی ڈیٹا دستیاب نہیں ہے۔', + 'no-team-websites': 'اس ٹیم کے پاس کوئی ویب سائٹ نہیں ہے۔', + 'no-teams': 'آپ نے ابھی تک کوئی ٹیم نہیں بنائی۔', + 'no-users': 'کوئی صارف نہیں ہے۔', + 'not-found': 'نہیں ملا', + 'nothing-selected': 'کچھ بھی منتخب نہیں کیا گیا۔', + 'reset-website': 'اس ویب سائٹ کو دوبارہ ترتیب دینے کے لیے تصدیق کے خانے میں {confirmation} ٹائپ کریں۔', + 'sever-error': 'سرور کی خرابی', + 'team-already-member': 'آپ پہلے سے اس ٹیم کے رکن ہیں۔', + 'team-not-found': 'ٹیم نہیں ملی۔', + 'team-websites-info': 'ویب سائٹس ٹیم کا کوئی بھی رکن دیکھ سکتا ہے۔', + 'transfer-team-website-to-user': 'اس ویب سائٹ کو اپنے اکاؤنٹ میں منتقل کریں؟', + 'transfer-user-website-to-team': 'اس ویب سائٹ کو منتقل کرنے کے لیے ٹیم منتخب کریں۔', + 'transfer-website': 'ویب سائٹ کی ملکیت اپنے اکاؤنٹ یا کسی اور ٹیم کو منتقل کریں۔', + 'triggered-event': 'متحرک واقعہ', + 'unauthorized': 'غیر مجاز', + 'user-deleted': 'صارف حذف ہو گیا۔', + 'viewed-page': 'دیکھا گیا صفحہ' + } + } +}; + +for (const [locale, trans] of Object.entries(translations)) { + const filePath = path.join(dir, locale + '.json'); + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + let count = 0; + for (const [section, keys] of Object.entries(trans)) { + for (const [key, value] of Object.entries(keys)) { + if (data[section] && key in data[section]) { + data[section][key] = value; + count++; + } + } + } + const sorted = {}; + for (const section of Object.keys(enUS)) { + if (data[section]) { + sorted[section] = {}; + for (const key of Object.keys(enUS[section])) { + if (key in data[section]) sorted[section][key] = data[section][key]; + } + for (const key of Object.keys(data[section])) { + if (!(key in sorted[section])) sorted[section][key] = data[section][key]; + } + } + } + fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); + console.log('Updated ' + locale + ': ' + count + ' keys'); +} diff --git a/scripts/translate-12-burmese.cjs b/scripts/translate-12-burmese.cjs new file mode 100644 index 000000000..3cd3b572a --- /dev/null +++ b/scripts/translate-12-burmese.cjs @@ -0,0 +1,256 @@ +const fs = require('fs'); +const path = require('path'); + +const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); +const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); + +const translations = { + 'my-MM': { + label: { + // A + 'account': 'အကောင့်', + 'action': 'လုပ်ဆောင်ချက်', + 'add-board': 'ဘုတ်ထည့်မည်', + 'add-link': 'လင့်ခ်ထည့်မည်', + 'add-member': 'အဖွဲ့ဝင်ထည့်မည်', + 'add-pixel': 'Pixel ထည့်မည်', + 'add-step': 'အဆင့်ထည့်မည်', + 'affiliate': 'တွဲဖက်မိတ်ဖက်', + 'analysis': 'ခွဲခြမ်းစိတ်ဖြာမှု', + 'application': 'အပလီကေးရှင်း', + 'apply': 'အသုံးပြုမည်', + 'attribution': 'အရင်းအမြစ်ခွဲခြားခြင်း', + 'attribution-description': 'သင့်မားကတ်တင်းနှင့် အသုံးပြုသူများ မည်သို့ဆက်ဆံသည်နှင့် ပြောင်းလဲမှုကို မောင်းနှင်သည့်အရာများကို ကြည့်ပါ။', + 'audience': 'ပရိသတ်', + // B + 'boards': 'ဘုတ်များ', + 'browser': 'ဘရောင်ဇာ', + // C + 'campaign': 'ကမ်ပိန်း', + 'campaigns': 'ကမ်ပိန်းများ', + 'channel': 'ချန်နယ်', + 'channels': 'ချန်နယ်များ', + 'chart': 'ဇယား', + 'city': 'မြို့', + 'cohort': 'အုပ်စု', + 'cohorts': 'အုပ်စုများ', + 'compare': 'နှိုင်းယှဉ်မည်', + 'compare-dates': 'ရက်စွဲများ နှိုင်းယှဉ်မည်', + 'content': 'အကြောင်းအရာ', + 'conversion': 'ပြောင်းလဲမှု', + 'conversion-rate': 'ပြောင်းလဲမှုနှုန်း', + 'conversion-step': 'ပြောင်းလဲမှုအဆင့်', + 'count': 'အရေအတွက်', + 'country': 'နိုင်ငံ', + 'create': 'ဖန်တီးမည်', + 'created-by': 'ဖန်တီးသူ', + 'criteria': 'စံသတ်မှတ်ချက်', + 'currency': 'ငွေကြေး', + 'current': 'လက်ရှိ', + // D + 'date': 'ရက်စွဲ', + 'day': 'ရက်', + 'delete-report': 'အစီရင်ခံစာ ဖျက်မည်', + 'destination-url': 'ဦးတည်ရာ URL', + 'device': 'ကိရိယာ', + 'direct': 'တိုက်ရိုက်', + 'distinct-id': 'ထူးခြား ID', + 'documentation': 'စာရွက်စာတမ်း', + 'does-not-include': 'မပါဝင်ပါ', + 'doest-not-exist': 'မတည်ရှိပါ', + 'download': 'ဒေါင်းလုဒ်လုပ်မည်', + 'dropoff': 'ထွက်ခွာမှု', + // E + 'edit-member': 'အဖွဲ့ဝင် ပြင်ဆင်မည်', + 'email': 'အီးမေးလ်', + 'end-step': 'အဆုံးအဆင့်', + 'environment': 'ပတ်ဝန်းကျင်', + 'event-name': 'အဖြစ်အပျက်အမည်', + 'exclude-bounce': 'Bounce ဖယ်ထုတ်မည်', + 'exists': 'တည်ရှိသည်', + // F + 'filter': 'စစ်ထုတ်မည်', + 'first-click': 'ပထမဆုံးနှိပ်ချက်', + 'first-seen': 'ပထမဆုံးတွေ့ရှိချိန်', + 'funnel-description': 'အသုံးပြုသူများ၏ ပြောင်းလဲမှုနှင့် ထွက်ခွာမှုနှုန်းကို နားလည်ပါ။', + 'funnels': 'ဖန်နယ်များ', + // G + 'goal': 'ပန်းတိုင်', + 'goals': 'ပန်းတိုင်များ', + 'goals-description': 'စာမျက်နှာကြည့်ရှုမှုနှင့် အဖြစ်အပျက်များအတွက် ပန်းတိုင်များကို ခြေရာခံပါ။', + 'grouped': 'အုပ်စုဖွဲ့ထားသော', + 'growth': 'တိုးတက်မှု', + // H + 'hostname': 'လက်ခံဆာဗာအမည်', + 'hour': 'နာရီ', + // I + 'includes': 'ပါဝင်သည်', + 'insight': 'ထိုးထွင်းသိမြင်မှု', + 'insights-description': 'အပိုင်းခွဲများနှင့် စစ်ထုတ်ချက်များကို အသုံးပြု၍ သင့်ဒေတာကို ပိုမိုနက်ရှိုင်းစွာ လေ့လာပါ။', + 'invalid-url': 'မမှန်ကန်သော URL', + 'is': 'ဖြစ်သည်', + 'is-false': 'မှားသည်', + 'is-not': 'မဟုတ်ပါ', + 'is-not-set': 'သတ်မှတ်မထားပါ', + 'is-set': 'သတ်မှတ်ထားသည်', + 'is-true': 'မှန်သည်', + // J + 'journey': 'ခရီးလမ်း', + 'journey-description': 'အသုံးပြုသူများ သင့်ဝက်ဘ်ဆိုဒ်ကို မည်သို့လှည့်လည်သည်ကို နားလည်ပါ။', + 'journeys': 'ခရီးလမ်းများ', + // L + 'last-click': 'နောက်ဆုံးနှိပ်ချက်', + 'last-months': 'လွန်ခဲ့သော {x} လက', + 'last-seen': 'နောက်ဆုံးတွေ့ရှိချိန်', + 'link': 'လင့်ခ်', + 'links': 'လင့်ခ်များ', + 'location': 'တည်နေရာ', + // M + 'manage': 'စီမံမည်', + 'manager': 'မန်နေဂျာ', + 'medium': 'မီဒီယမ်', + 'member': 'အဖွဲ့ဝင်', + 'minute': 'မိနစ်', + 'model': 'မော်ဒယ်', + 'month': 'လ', + 'my-account': 'ကျွန်ုပ်၏အကောင့်', + 'my-websites': 'ကျွန်ုပ်၏ဝက်ဘ်ဆိုဒ်များ', + // N + 'number-of-records': '{x} {x, plural, one {မှတ်တမ်း} other {မှတ်တမ်းများ}}', + // O + 'ok': 'OK', + 'online': 'အွန်လိုင်း', + 'organic-search': 'သဘာဝရှာဖွေမှု', + 'organic-shopping': 'သဘာဝစျေးဝယ်မှု', + 'organic-social': 'သဘာဝဆိုရှယ်', + 'organic-video': 'သဘာဝဗီဒီယို', + 'other': 'အခြား', + // P + 'page': 'စာမျက်နှာ', + 'page-of': 'စာမျက်နှာ {current} / {total}', + 'pageTitle': 'စာမျက်နှာခေါင်းစဥ်', + 'paid-ads': 'ငွေပေးကြော်ငြာ', + 'paid-search': 'ငွေပေးရှာဖွေမှု', + 'paid-shopping': 'ငွေပေးစျေးဝယ်မှု', + 'paid-social': 'ငွေပေးဆိုရှယ်', + 'paid-video': 'ငွေပေးဗီဒီယို', + 'path': 'လမ်းကြောင်း', + 'paths': 'လမ်းကြောင်းများ', + 'pixel': 'Pixel', + 'pixels': 'Pixel များ', + 'preferences': 'စိတ်ကြိုက်ဆက်တင်များ', + 'previous': 'ယခင်', + 'previous-period': 'ယခင်ကာလ', + 'previous-year': 'ယခင်နှစ်', + 'profiles': 'ပရိုဖိုင်းများ', + 'properties': 'ဂုဏ်သတ္တိများ', + 'property': 'ဂုဏ်သတ္တိ', + // R + 'referral': 'ရည်ညွှန်းမှု', + 'referrer': 'ရည်ညွှန်းသူ', + 'region': 'ဒေသ', + 'remaining': 'ကျန်ရှိနေသော', + 'remove-member': 'အဖွဲ့ဝင်ကို ဖယ်ရှားမည်', + 'retention': 'ထိန်းသိမ်းနိုင်မှု', + 'retention-description': 'အသုံးပြုသူများ မည်မျှမကြာခဏ ပြန်လာသည်ကို ခြေရာခံ၍ သင့်ဝက်ဘ်ဆိုဒ်၏ ဆွဲဆောင်နိုင်မှုကို တိုင်းတာပါ။', + 'revenue': 'ဝင်ငွေ', + // S + 'save-cohort': 'အုပ်စုသိမ်းမည်', + 'save-segment': 'အပိုင်းခွဲသိမ်းမည်', + 'screen': 'မျက်နှာပြင်', + 'search': 'ရှာဖွေမည်', + 'segment': 'အပိုင်းခွဲ', + 'segments': 'အပိုင်းခွဲများ', + 'select': 'ရွေးချယ်မည်', + 'select-filter': 'စစ်ထုတ်ချက်ရွေးမည်', + 'select-role': 'အခန်းကဏ္ဍရွေးမည်', + 'session': 'ဆက်ရှင်', + 'session-data': 'ဆက်ရှင်ဒေတာ', + 'share': 'မျှဝေမည်', + 'sms': 'SMS', + 'source': 'အရင်းအမြစ်', + 'sources': 'အရင်းအမြစ်များ', + 'start-step': 'စတင်အဆင့်', + 'steps': 'အဆင့်များ', + 'support': 'ပံ့ပိုးကူညီမှု', + 'switch-account': 'အကောင့်ပြောင်းမည်', + // T + 'table': 'ဇယား', + 'tag': 'တဂ်', + 'tags': 'တဂ်များ', + 'team-manager': 'အသင်းမန်နေဂျာ', + 'team-name': 'အသင်းအမည်', + 'team-settings': 'အသင်းဆက်တင်များ', + 'team-view-only': 'အသင်း ကြည့်ရှုမှုသာ', + 'team-websites': 'အသင်းဝက်ဘ်ဆိုဒ်များ', + 'term': 'စည်းကမ်း', + 'terms': 'စည်းကမ်းများ', + 'traffic': 'အသွားအလာ', + 'transactions': 'ငွေလွှဲမှုများ', + 'transfer': 'လွှဲပြောင်းမည်', + 'transfer-website': 'ဝက်ဘ်ဆိုဒ်လွှဲပြောင်းမည်', + // U + 'unique': 'ထူးခြားသော', + 'unique-events': 'ထူးခြားအဖြစ်အပျက်များ', + 'uniqueCustomers': 'ထူးခြားဖောက်သည်များ', + 'update': 'အပ်ဒိတ်လုပ်မည်', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM ကမ်ပိန်း', + 'utm-content': 'UTM အကြောင်းအရာ', + 'utm-description': 'UTM ပါရာမီတာများမှတစ်ဆင့် သင့်ကမ်ပိန်းများကို ခြေရာခံပါ။', + 'utm-medium': 'UTM မီဒီယမ်', + 'utm-source': 'UTM အရင်းအမြစ်', + 'utm-term': 'UTM စည်းကမ်း', + // V + 'version': 'ဗားရှင်း', + 'views-per-visit': 'လည်ပတ်မှုတစ်ခုလျှင် ကြည့်ရှုမှု', + 'visits': 'လည်ပတ်မှုများ', + }, + message: { + 'action-confirmation': 'အတည်ပြုရန် အောက်ပါအကွက်တွင် {confirmation} ကို ရိုက်ထည့်ပါ။', + 'bad-request': 'မမှန်ကန်သောတောင်းဆိုမှု', + 'collected-data': 'စုဆောင်းထားသောဒေတာ', + 'confirm-remove': '{target} ကို ဖယ်ရှားလိုသည်မှာ သေချာပါသလား?', + 'delete-team-warning': 'အသင်းကိုဖျက်ပါက အသင်းဝက်ဘ်ဆိုဒ်များအားလုံးကိုပါ ဖျက်ပစ်မည်။', + 'forbidden': 'ခွင့်ပြုချက်မရှိပါ', + 'not-found': 'ရှာမတွေ့ပါ', + 'nothing-selected': 'ဘာမှရွေးမထားပါ။', + 'sever-error': 'ဆာဗာအမှားအယွင်း', + 'transfer-team-website-to-user': 'ဤဝက်ဘ်ဆိုဒ်ကို သင့်အကောင့်သို့ လွှဲပြောင်းမလား?', + 'transfer-user-website-to-team': 'ဤဝက်ဘ်ဆိုဒ်ကို လွှဲပြောင်းမည့် အသင်းကို ရွေးချယ်ပါ။', + 'transfer-website': 'ဝက်ဘ်ဆိုဒ်ပိုင်ဆိုင်မှုကို သင့်အကောင့် သို့မဟုတ် အခြားအသင်းသို့ လွှဲပြောင်းပါ။', + 'triggered-event': 'အစပျိုးလိုက်သော အဖြစ်အပျက်', + 'unauthorized': 'ခွင့်ပြုချက်မရှိပါ', + 'viewed-page': 'ကြည့်ရှုခဲ့သောစာမျက်နှာ', + } + } +}; + +for (const [locale, trans] of Object.entries(translations)) { + const filePath = path.join(dir, locale + '.json'); + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + let count = 0; + for (const [section, keys] of Object.entries(trans)) { + for (const [key, value] of Object.entries(keys)) { + if (data[section] && key in data[section]) { + data[section][key] = value; + count++; + } + } + } + const sorted = {}; + for (const section of Object.keys(enUS)) { + if (data[section]) { + sorted[section] = {}; + for (const key of Object.keys(enUS[section])) { + if (key in data[section]) sorted[section][key] = data[section][key]; + } + for (const key of Object.keys(data[section])) { + if (!(key in sorted[section])) sorted[section][key] = data[section][key]; + } + } + } + fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); + console.log('Updated ' + locale + ': ' + count + ' keys'); +} diff --git a/scripts/translate-2-romance.cjs b/scripts/translate-2-romance.cjs new file mode 100644 index 000000000..a0b8c5323 --- /dev/null +++ b/scripts/translate-2-romance.cjs @@ -0,0 +1,787 @@ +const fs = require('fs'); +const path = require('path'); +const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); +const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); + +const translations = { + 'es-ES': { + label: { + 'account': 'Cuenta', + 'action': 'Acción', + 'add-link': 'Añadir enlace', + 'add-pixel': 'Añadir píxel', + 'analysis': 'Análisis', + 'application': 'Aplicación', + 'audience': 'Audiencia', + 'campaign': 'Campaña', + 'channel': 'Canal', + 'chart': 'Gráfico', + 'cohorts': 'Cohortes', + 'criteria': 'Criterios', + 'destination-url': 'URL de destino', + 'documentation': 'Documentación', + 'download': 'Descargar', + 'email': 'Correo electrónico', + 'environment': 'Entorno', + 'exclude-bounce': 'Excluir rebote', + 'growth': 'Crecimiento', + 'hour': 'Hora', + 'invalid-url': 'URL no válida', + 'link': 'Enlace', + 'location': 'Ubicación', + 'minute': 'Minuto', + 'month': 'Mes', + 'ok': 'Aceptar', + 'online': 'En línea', + 'pixel': 'Píxel', + 'preferences': 'Preferencias', + 'profiles': 'Perfiles', + 'save-cohort': 'Guardar cohorte', + 'save-segment': 'Guardar segmento', + 'screen': 'Pantalla', + 'segment': 'Segmento', + 'segments': 'Segmentos', + 'sms': 'SMS', + 'source': 'Fuente', + 'support': 'Soporte', + 'switch-account': 'Cambiar cuenta', + 'table': 'Tabla', + 'term': 'Término', + 'total': 'Total', + 'traffic': 'Tráfico', + 'unique-events': 'Eventos únicos', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM Campaña', + 'utm-content': 'UTM Contenido', + 'utm-medium': 'UTM Medio', + 'utm-source': 'UTM Fuente', + 'utm-term': 'UTM Término', + 'version': 'Versión' + }, + message: { + 'bad-request': 'Solicitud incorrecta', + 'forbidden': 'Prohibido', + 'not-found': 'No encontrado', + 'nothing-selected': 'Nada seleccionado.', + 'sever-error': 'Error del servidor', + 'unauthorized': 'No autorizado' + } + }, + 'fr-FR': { + label: { + 'account': 'Compte', + 'action': 'Action', + 'actions': 'Actions', + 'add-link': 'Ajouter un lien', + 'add-pixel': 'Ajouter un pixel', + 'analysis': 'Analyse', + 'application': 'Application', + 'attribution': 'Attribution', + 'audience': 'Audience', + 'campaign': 'Campagne', + 'channel': 'Canal', + 'chart': 'Graphique', + 'cohorts': 'Cohortes', + 'conversion': 'Conversion', + 'criteria': 'Critères', + 'date': 'Date', + 'description': 'Description', + 'destination-url': 'URL de destination', + 'direct': 'Direct', + 'documentation': 'Documentation', + 'download': 'Télécharger', + 'environment': 'Environnement', + 'exclude-bounce': 'Exclure le rebond', + 'growth': 'Croissance', + 'hour': 'Heure', + 'invalid-url': 'URL invalide', + 'link': 'Lien', + 'location': 'Emplacement', + 'max': 'Max', + 'min': 'Min', + 'minute': 'Minute', + 'month': 'Mois', + 'ok': 'OK', + 'online': 'En ligne', + 'os': 'OS', + 'page': 'Page', + 'pages': 'Pages', + 'pixel': 'Pixel', + 'pixels': 'Pixels', + 'preferences': 'Préférences', + 'profiles': 'Profils', + 'save-cohort': 'Enregistrer la cohorte', + 'save-segment': 'Enregistrer le segment', + 'screen': 'Écran', + 'segment': 'Segment', + 'segments': 'Segments', + 'session': 'Session', + 'sessions': 'Sessions', + 'sms': 'SMS', + 'source': 'Source', + 'sources': 'Sources', + 'support': 'Support', + 'switch-account': 'Changer de compte', + 'table': 'Tableau', + 'team-settings': 'Paramètres de l\'équipe', + 'term': 'Terme', + 'total': 'Total', + 'transactions': 'Transactions', + 'type': 'Type', + 'unique': 'Unique', + 'unique-events': 'Événements uniques', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM Campagne', + 'utm-content': 'UTM Contenu', + 'utm-medium': 'UTM Média', + 'utm-source': 'UTM Source', + 'utm-term': 'UTM Terme', + 'version': 'Version' + }, + message: { + 'bad-request': 'Requête incorrecte', + 'forbidden': 'Interdit' + } + }, + 'pt-BR': { + label: { + 'account': 'Conta', + 'action': 'Ação', + 'add-link': 'Adicionar link', + 'add-pixel': 'Adicionar pixel', + 'analysis': 'Análise', + 'application': 'Aplicação', + 'audience': 'Audiência', + 'campaign': 'Campanha', + 'channel': 'Canal', + 'chart': 'Gráfico', + 'cohorts': 'Coortes', + 'criteria': 'Critérios', + 'destination-url': 'URL de destino', + 'documentation': 'Documentação', + 'download': 'Download', + 'email': 'E-mail', + 'end-step': 'Etapa final', + 'environment': 'Ambiente', + 'exclude-bounce': 'Excluir rejeição', + 'first-seen': 'Visto pela primeira vez', + 'growth': 'Crescimento', + 'hour': 'Hora', + 'insight': 'Insight', + 'insights': 'Insights', + 'invalid-url': 'URL inválida', + 'link': 'Link', + 'links': 'Links', + 'location': 'Localização', + 'manager': 'Gerente', + 'minute': 'Minuto', + 'month': 'Mês', + 'ok': 'OK', + 'online': 'Online', + 'pixel': 'Pixel', + 'pixels': 'Pixels', + 'preferences': 'Preferências', + 'profiles': 'Perfis', + 'save-cohort': 'Salvar coorte', + 'save-segment': 'Salvar segmento', + 'screen': 'Tela', + 'segment': 'Segmento', + 'segments': 'Segmentos', + 'sms': 'SMS', + 'source': 'Fonte', + 'start-step': 'Etapa inicial', + 'support': 'Suporte', + 'switch-account': 'Trocar conta', + 'table': 'Tabela', + 'tablet': 'Tablet', + 'tag': 'Tag', + 'tags': 'Tags', + 'term': 'Termo', + 'total': 'Total', + 'traffic': 'Tráfego', + 'transactions': 'Transações', + 'unique-events': 'Eventos únicos', + 'uniqueCustomers': 'Clientes únicos', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM Campanha', + 'utm-content': 'UTM Conteúdo', + 'utm-medium': 'UTM Mídia', + 'utm-source': 'UTM Fonte', + 'utm-term': 'UTM Termo', + 'version': 'Versão' + }, + message: { + 'bad-request': 'Requisição inválida', + 'collected-data': 'Dados coletados', + 'forbidden': 'Proibido', + 'not-found': 'Não encontrado', + 'nothing-selected': 'Nada selecionado.', + 'sever-error': 'Erro do servidor', + 'unauthorized': 'Não autorizado' + } + }, + 'pt-PT': { + label: { + 'account': 'Conta', + 'action': 'Ação', + 'add-link': 'Adicionar ligação', + 'add-pixel': 'Adicionar pixel', + 'analysis': 'Análise', + 'application': 'Aplicação', + 'audience': 'Audiência', + 'campaign': 'Campanha', + 'channel': 'Canal', + 'chart': 'Gráfico', + 'cohorts': 'Coortes', + 'contains': 'Contém', + 'continue': 'Continuar', + 'criteria': 'Critérios', + 'data': 'Dados', + 'date': 'Data', + 'destination-url': 'URL de destino', + 'documentation': 'Documentação', + 'download': 'Transferir', + 'dropoff': 'Abandono', + 'email': 'E-mail', + 'environment': 'Ambiente', + 'exclude-bounce': 'Excluir rejeição', + 'growth': 'Crescimento', + 'hour': 'Hora', + 'insight': 'Insight', + 'insights': 'Insights', + 'insights-description': 'Aprofunde os seus dados utilizando segmentos e filtros.', + 'invalid-url': 'URL inválido', + 'link': 'Ligação', + 'location': 'Localização', + 'minute': 'Minuto', + 'month': 'Mês', + 'number-of-records': '{x} {x, plural, one {registo} other {registos}}', + 'ok': 'OK', + 'online': 'Online', + 'os': 'SO', + 'overview': 'Visão geral', + 'page-of': 'Página {current} de {total}', + 'pageTitle': 'Título da página', + 'pixel': 'Pixel', + 'preferences': 'Preferências', + 'profiles': 'Perfis', + 'queries': 'Consultas', + 'query': 'Consulta', + 'query-parameters': 'Parâmetros de consulta', + 'referrer': 'Referência', + 'regenerate': 'Regenerar', + 'region': 'Região', + 'regions': 'Regiões', + 'remove': 'Remover', + 'remove-member': 'Remover membro', + 'reports': 'Relatórios', + 'retention': 'Retenção', + 'retention-description': 'Meça a fidelidade do seu site, monitorizando a frequência com que os utilizadores regressam.', + 'role': 'Função', + 'run-query': 'Executar consulta', + 'save-cohort': 'Guardar coorte', + 'save-segment': 'Guardar segmento', + 'screen': 'Ecrã', + 'screens': 'Ecrãs', + 'search': 'Pesquisar', + 'segment': 'Segmento', + 'segments': 'Segmentos', + 'select': 'Selecionar', + 'select-date': 'Selecionar data', + 'select-role': 'Selecionar função', + 'select-website': 'Selecionar website', + 'sessions': 'Sessões', + 'sms': 'SMS', + 'source': 'Fonte', + 'start-step': 'Etapa inicial', + 'steps': 'Etapas', + 'sum': 'Soma', + 'support': 'Suporte', + 'switch-account': 'Trocar de conta', + 'table': 'Tabela', + 'tablet': 'Tablet', + 'team': 'Equipa', + 'team-id': 'ID da equipa', + 'team-member': 'Membro da equipa', + 'team-name': 'Nome da equipa', + 'team-owner': 'Proprietário da equipa', + 'team-view-only': 'Visualização da equipa apenas', + 'team-websites': 'Websites da equipa', + 'teams': 'Equipas', + 'term': 'Termo', + 'title': 'Título', + 'total': 'Total', + 'total-records': 'Total de registos', + 'traffic': 'Tráfego', + 'transactions': 'Transações', + 'transfer': 'Transferir', + 'transfer-website': 'Transferir website', + 'true': 'Verdadeiro', + 'type': 'Tipo', + 'unique': 'Único', + 'unique-events': 'Eventos únicos', + 'uniqueCustomers': 'Clientes únicos', + 'untitled': 'Sem título', + 'update': 'Atualizar', + 'url': 'URL', + 'user': 'Utilizador', + 'users': 'Utilizadores', + 'utm': 'UTM', + 'utm-campaign': 'UTM Campanha', + 'utm-content': 'UTM Conteúdo', + 'utm-description': 'Monitorize as suas campanhas através de parâmetros UTM.', + 'utm-medium': 'UTM Meio', + 'utm-source': 'UTM Fonte', + 'utm-term': 'UTM Termo', + 'value': 'Valor', + 'version': 'Versão', + 'view': 'Visualizar', + 'view-only': 'Apenas visualização', + 'views-per-visit': 'Visualizações por visita', + 'visits': 'Visitas', + 'website': 'Website', + 'website-id': 'ID do website', + 'websites': 'Websites', + 'window': 'Janela', + 'yesterday': 'Ontem' + }, + message: { + 'action-confirmation': 'Escreva {confirmation} na caixa abaixo para confirmar.', + 'bad-request': 'Pedido inválido', + 'collected-data': 'Dados recolhidos', + 'confirm-leave': 'Tem a certeza de que deseja sair de {target}?', + 'confirm-remove': 'Tem a certeza de que deseja remover {target}?', + 'delete-team-warning': 'Eliminar uma equipa também elimina todos os websites da equipa.', + 'event-log': '{event} em {url}', + 'forbidden': 'Proibido', + 'min-password-length': 'Comprimento mínimo de {n} caracteres', + 'new-version-available': 'Uma nova versão do Umami {version} está disponível!', + 'no-event-data': 'Não existem dados de eventos disponíveis.', + 'no-team-websites': 'Esta equipa não tem websites.', + 'no-teams': 'Ainda não criou nenhuma equipa.', + 'no-users': 'Não existem utilizadores.', + 'not-found': 'Não encontrado', + 'nothing-selected': 'Nada selecionado.', + 'reset-website': 'Para repor este website, escreva {confirmation} na caixa abaixo para confirmar.', + 'sever-error': 'Erro do servidor', + 'team-already-member': 'Já é membro da equipa.', + 'team-not-found': 'Equipa não encontrada.', + 'team-websites-info': 'Os websites podem ser visualizados por qualquer membro da equipa.', + 'transfer-team-website-to-user': 'Transferir este website para a sua conta?', + 'transfer-user-website-to-team': 'Selecione a equipa para a qual transferir este website.', + 'transfer-website': 'Transfira a propriedade do website para a sua conta ou outra equipa.', + 'triggered-event': 'Evento acionado', + 'unauthorized': 'Não autorizado', + 'user-deleted': 'Utilizador eliminado.', + 'viewed-page': 'Página visualizada' + } + }, + 'it-IT': { + label: { + 'account': 'Account', + 'action': 'Azione', + 'add-link': 'Aggiungi link', + 'add-pixel': 'Aggiungi pixel', + 'analysis': 'Analisi', + 'application': 'Applicazione', + 'audience': 'Pubblico', + 'browser': 'Browser', + 'campaign': 'Campagna', + 'channel': 'Canale', + 'chart': 'Grafico', + 'cohorts': 'Coorti', + 'contains': 'Contiene', + 'criteria': 'Criteri', + 'desktop': 'Desktop', + 'destination-url': 'URL di destinazione', + 'documentation': 'Documentazione', + 'download': 'Scarica', + 'email': 'Email', + 'environment': 'Ambiente', + 'exclude-bounce': 'Escludi rimbalzo', + 'filter': 'Filtro', + 'filter-raw': 'Grezzo', + 'funnel': 'Funnel', + 'growth': 'Crescita', + 'hour': 'Ora', + 'invalid-url': 'URL non valido', + 'link': 'Link', + 'location': 'Posizione', + 'manager': 'Gestore', + 'minute': 'Minuto', + 'model': 'Modello', + 'month': 'Mese', + 'number-of-records': '{x} {x, plural, one {record} other {record}}', + 'ok': 'OK', + 'online': 'Online', + 'os': 'SO', + 'overview': 'Panoramica', + 'page-of': 'Pagina {current} di {total}', + 'pageTitle': 'Titolo pagina', + 'password': 'Password', + 'pixel': 'Pixel', + 'powered-by': 'Fornito da {name}', + 'preferences': 'Preferenze', + 'previous': 'Precedente', + 'previous-period': 'Periodo precedente', + 'previous-year': 'Anno precedente', + 'profiles': 'Profili', + 'query': 'Query', + 'referrer': 'Referente', + 'referrers': 'Referenti', + 'regenerate': 'Rigenera', + 'region': 'Regione', + 'regions': 'Regioni', + 'remove': 'Rimuovi', + 'remove-member': 'Rimuovi membro', + 'reports': 'Report', + 'reset': 'Reimposta', + 'retention': 'Fidelizzazione', + 'retention-description': 'Misura la fidelizzazione del tuo sito monitorando la frequenza con cui gli utenti ritornano.', + 'role': 'Ruolo', + 'run-query': 'Esegui query', + 'save-cohort': 'Salva coorte', + 'save-segment': 'Salva segmento', + 'screen': 'Schermo', + 'search': 'Cerca', + 'segment': 'Segmento', + 'segments': 'Segmenti', + 'select': 'Seleziona', + 'select-date': 'Seleziona data', + 'select-role': 'Seleziona ruolo', + 'select-website': 'Seleziona sito web', + 'session': 'Sessione', + 'sessions': 'Sessioni', + 'sms': 'SMS', + 'source': 'Fonte', + 'start-step': 'Passaggio iniziale', + 'steps': 'Passaggi', + 'sum': 'Somma', + 'support': 'Supporto', + 'switch-account': 'Cambia account', + 'table': 'Tabella', + 'tablet': 'Tablet', + 'team': 'Team', + 'team-id': 'ID Team', + 'team-manager': 'Manager del team', + 'team-member': 'Membro del team', + 'team-name': 'Nome del team', + 'team-owner': 'Proprietario del team', + 'team-view-only': 'Solo visualizzazione team', + 'team-websites': 'Siti web del team', + 'teams': 'Team', + 'term': 'Termine', + 'title': 'Titolo', + 'total': 'Totale', + 'total-records': 'Record totali', + 'traffic': 'Traffico', + 'transactions': 'Transazioni', + 'transfer': 'Trasferisci', + 'transfer-website': 'Trasferisci sito web', + 'true': 'Vero', + 'type': 'Tipo', + 'unique': 'Unico', + 'unique-events': 'Eventi unici', + 'uniqueCustomers': 'Clienti unici', + 'untitled': 'Senza titolo', + 'update': 'Aggiorna', + 'url': 'URL', + 'user': 'Utente', + 'users': 'Utenti', + 'utm': 'UTM', + 'utm-campaign': 'UTM Campagna', + 'utm-content': 'UTM Contenuto', + 'utm-description': 'Monitora le tue campagne attraverso i parametri UTM.', + 'utm-medium': 'UTM Mezzo', + 'utm-source': 'UTM Fonte', + 'utm-term': 'UTM Termine', + 'value': 'Valore', + 'version': 'Versione', + 'view': 'Visualizza', + 'view-only': 'Solo visualizzazione', + 'views-per-visit': 'Visualizzazioni per visita', + 'visits': 'Visite', + 'website': 'Sito web', + 'website-id': 'ID sito web', + 'window': 'Finestra' + }, + message: { + 'action-confirmation': 'Digita {confirmation} nella casella sottostante per confermare.', + 'bad-request': 'Richiesta non valida', + 'collected-data': 'Dati raccolti', + 'confirm-leave': 'Sei sicuro di voler lasciare {target}?', + 'confirm-remove': 'Sei sicuro di voler rimuovere {target}?', + 'delete-team-warning': 'L\'eliminazione di un team eliminerà anche tutti i siti web del team.', + 'event-log': '{event} su {url}', + 'forbidden': 'Vietato', + 'min-password-length': 'Lunghezza minima di {n} caratteri', + 'new-version-available': 'È disponibile una nuova versione di Umami {version}!', + 'no-event-data': 'Nessun dato evento disponibile.', + 'no-team-websites': 'Questo team non ha siti web.', + 'no-teams': 'Non hai creato nessun team.', + 'no-users': 'Non ci sono utenti.', + 'not-found': 'Non trovato', + 'nothing-selected': 'Nessuna selezione.', + 'reset-website': 'Per reimpostare questo sito web, digita {confirmation} nella casella sottostante per confermare.', + 'sever-error': 'Errore del server', + 'team-already-member': 'Sei già membro del team.', + 'team-not-found': 'Team non trovato.', + 'team-websites-info': 'I siti web possono essere visualizzati da chiunque nel team.', + 'transfer-team-website-to-user': 'Trasferire questo sito web al tuo account?', + 'transfer-user-website-to-team': 'Seleziona il team a cui trasferire questo sito web.', + 'transfer-website': 'Trasferisci la proprietà del sito web al tuo account o a un altro team.', + 'triggered-event': 'Evento attivato', + 'unauthorized': 'Non autorizzato', + 'user-deleted': 'Utente eliminato.', + 'viewed-page': 'Pagina visualizzata' + } + }, + 'ca-ES': { + label: { + 'account': 'Compte', + 'action': 'Acció', + 'add-link': 'Afegir enllaç', + 'add-pixel': 'Afegir píxel', + 'analysis': 'Anàlisi', + 'application': 'Aplicació', + 'audience': 'Audiència', + 'campaign': 'Campanya', + 'channel': 'Canal', + 'chart': 'Gràfic', + 'cohort': 'Cohort', + 'cohorts': 'Cohorts', + 'criteria': 'Criteris', + 'destination-url': 'URL de destinació', + 'documentation': 'Documentació', + 'download': 'Descarregar', + 'email': 'Correu electrònic', + 'environment': 'Entorn', + 'exclude-bounce': 'Excloure rebot', + 'growth': 'Creixement', + 'hour': 'Hora', + 'insights': 'Insights', + 'invalid-url': 'URL no vàlida', + 'link': 'Enllaç', + 'location': 'Ubicació', + 'minute': 'Minut', + 'model': 'Model', + 'month': 'Mes', + 'ok': "D'acord", + 'online': 'En línia', + 'pixel': 'Píxel', + 'pixels': 'Píxels', + 'preferences': 'Preferències', + 'profiles': 'Perfils', + 'regions': 'Regions', + 'save-cohort': 'Desar cohort', + 'save-segment': 'Desar segment', + 'screen': 'Pantalla', + 'segment': 'Segment', + 'segments': 'Segments', + 'sessions': 'Sessions', + 'sms': 'SMS', + 'source': 'Font', + 'support': 'Suport', + 'switch-account': 'Canviar de compte', + 'table': 'Taula', + 'term': 'Terme', + 'total': 'Total', + 'traffic': 'Trànsit', + 'unique-events': 'Esdeveniments únics', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM Campanya', + 'utm-content': 'UTM Contingut', + 'utm-medium': 'UTM Mitjà', + 'utm-source': 'UTM Font', + 'utm-term': 'UTM Terme', + 'version': 'Versió' + }, + message: { + 'bad-request': 'Sol·licitud incorrecta', + 'forbidden': 'Prohibit', + 'not-found': 'No trobat', + 'nothing-selected': 'Res seleccionat.', + 'sever-error': 'Error del servidor', + 'unauthorized': 'No autoritzat' + } + }, + 'ga-ES': { + label: { + 'account': 'Conta', + 'action': 'Acción', + 'add-link': 'Engadir ligazón', + 'add-pixel': 'Engadir píxel', + 'analysis': 'Análise', + 'application': 'Aplicación', + 'audience': 'Audiencia', + 'campaign': 'Campaña', + 'channel': 'Canle', + 'chart': 'Gráfico', + 'cohorts': 'Cohortes', + 'criteria': 'Criterios', + 'destination-url': 'URL de destino', + 'documentation': 'Documentación', + 'download': 'Descargar', + 'environment': 'Contorno', + 'exclude-bounce': 'Excluír rebote', + 'growth': 'Crecemento', + 'hour': 'Hora', + 'invalid-url': 'URL non válida', + 'link': 'Ligazón', + 'location': 'Localización', + 'max': 'Máx', + 'min': 'Mín', + 'minute': 'Minuto', + 'month': 'Mes', + 'number-of-records': '{x} {x, plural, one {rexistro} other {rexistros}}', + 'ok': 'Aceptar', + 'online': 'En liña', + 'pixel': 'Píxel', + 'preferences': 'Preferencias', + 'profiles': 'Perfís', + 'save-cohort': 'Gardar cohorte', + 'save-segment': 'Gardar segmento', + 'screen': 'Pantalla', + 'segment': 'Segmento', + 'segments': 'Segmentos', + 'sms': 'SMS', + 'source': 'Orixe', + 'start-step': 'Paso inicial', + 'support': 'Soporte', + 'switch-account': 'Cambiar de conta', + 'table': 'Táboa', + 'term': 'Termo', + 'total': 'Total', + 'traffic': 'Tráfico', + 'unique-events': 'Eventos únicos', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM Campaña', + 'utm-content': 'UTM Contido', + 'utm-medium': 'UTM Medio', + 'utm-source': 'UTM Orixe', + 'utm-term': 'UTM Termo', + 'version': 'Versión' + }, + message: { + 'bad-request': 'Solicitude incorrecta', + 'forbidden': 'Prohibido', + 'not-found': 'Non atopado', + 'nothing-selected': 'Nada seleccionado.', + 'sever-error': 'Erro do servidor', + 'unauthorized': 'Non autorizado' + } + }, + 'ro-RO': { + label: { + 'account': 'Cont', + 'action': 'Acțiune', + 'add-link': 'Adaugă link', + 'add-pixel': 'Adaugă pixel', + 'analysis': 'Analiză', + 'application': 'Aplicație', + 'audience': 'Audiență', + 'browser': 'Browser', + 'campaign': 'Campanie', + 'channel': 'Canal', + 'chart': 'Grafic', + 'cohorts': 'Cohorte', + 'confirm': 'Confirmă', + 'criteria': 'Criterii', + 'desktop': 'Desktop', + 'destination-url': 'URL destinație', + 'direct': 'Direct', + 'distinct-id': 'ID distinct', + 'documentation': 'Documentație', + 'download': 'Descarcă', + 'email': 'Email', + 'environment': 'Mediu', + 'exclude-bounce': 'Exclude respingere', + 'growth': 'Creștere', + 'hour': 'Oră', + 'invalid-url': 'URL invalid', + 'laptop': 'Laptop', + 'link': 'Link', + 'location': 'Locație', + 'manager': 'Manager', + 'max': 'Max', + 'min': 'Min', + 'minute': 'Minut', + 'model': 'Model', + 'month': 'Lună', + 'ok': 'OK', + 'online': 'Online', + 'os': 'SO', + 'pixel': 'Pixel', + 'preferences': 'Preferințe', + 'profiles': 'Profiluri', + 'referral': 'Referință', + 'save-cohort': 'Salvează cohorta', + 'save-segment': 'Salvează segmentul', + 'screen': 'Ecran', + 'segment': 'Segment', + 'segments': 'Segmente', + 'sms': 'SMS', + 'source': 'Sursă', + 'support': 'Suport', + 'switch-account': 'Schimbă contul', + 'table': 'Tabel', + 'term': 'Termen', + 'total': 'Total', + 'traffic': 'Trafic', + 'transfer': 'Transferă', + 'transfer-website': 'Transferă site-ul', + 'unique-events': 'Evenimente unice', + 'update': 'Actualizează', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM Campanie', + 'utm-content': 'UTM Conținut', + 'utm-medium': 'UTM Mediu', + 'utm-source': 'UTM Sursă', + 'utm-term': 'UTM Termen', + 'version': 'Versiune', + 'website': 'Site web' + }, + message: { + 'bad-request': 'Cerere incorectă', + 'forbidden': 'Interzis', + 'not-found': 'Negăsit', + 'nothing-selected': 'Nimic selectat.', + 'sever-error': 'Eroare de server', + 'unauthorized': 'Neautorizat' + } + } +}; + +for (const [locale, trans] of Object.entries(translations)) { + const filePath = path.join(dir, locale + '.json'); + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + let count = 0; + for (const [section, keys] of Object.entries(trans)) { + for (const [key, value] of Object.entries(keys)) { + if (data[section] && key in data[section]) { + data[section][key] = value; + count++; + } + } + } + const sorted = {}; + for (const section of Object.keys(enUS)) { + if (data[section]) { + sorted[section] = {}; + for (const key of Object.keys(enUS[section])) { + if (key in data[section]) sorted[section][key] = data[section][key]; + } + for (const key of Object.keys(data[section])) { + if (!(key in sorted[section])) sorted[section][key] = data[section][key]; + } + } + } + fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); + console.log('Updated ' + locale + ': ' + count + ' keys'); +} diff --git a/scripts/translate-3-germanic.cjs b/scripts/translate-3-germanic.cjs new file mode 100644 index 000000000..3ae691401 --- /dev/null +++ b/scripts/translate-3-germanic.cjs @@ -0,0 +1,326 @@ +const fs = require('fs'); +const path = require('path'); +const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); +const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); + +const translations = { + 'de-DE': { + label: { + 'account': 'Konto', + 'action': 'Aktion', + 'add-link': 'Link hinzufügen', + 'add-pixel': 'Pixel hinzufügen', + 'analysis': 'Analyse', + 'application': 'Anwendung', + 'audience': 'Zielgruppe', + 'boards': 'Boards', + 'browser': 'Browser', + 'campaign': 'Kampagne', + 'channel': 'Kanal', + 'chart': 'Diagramm', + 'cohorts': 'Kohorten', + 'criteria': 'Kriterien', + 'desktop': 'Desktop', + 'destination-url': 'Ziel-URL', + 'details': 'Details', + 'documentation': 'Dokumentation', + 'domain': 'Domain', + 'download': 'Herunterladen', + 'email': 'E-Mail', + 'environment': 'Umgebung', + 'exclude-bounce': 'Absprung ausschließen', + 'filter': 'Filter', + 'funnels': 'Trichter', + 'growth': 'Wachstum', + 'hostname': 'Hostname', + 'hour': 'Stunde', + 'invalid-url': 'Ungültige URL', + 'laptop': 'Laptop', + 'link': 'Link', + 'links': 'Links', + 'location': 'Standort', + 'max': 'Max', + 'medium': 'Medium', + 'min': 'Min', + 'minute': 'Minute', + 'model': 'Modell', + 'month': 'Monat', + 'name': 'Name', + 'number-of-records': '{x} {x, plural, one {Datensatz} other {Datensätze}}', + 'ok': 'OK', + 'online': 'Online', + 'os': 'OS', + 'pixel': 'Pixel', + 'preferences': 'Einstellungen', + 'profiles': 'Profile', + 'region': 'Region', + 'save-cohort': 'Kohorte speichern', + 'save-segment': 'Segment speichern', + 'screen': 'Bildschirm', + 'segment': 'Segment', + 'segments': 'Segmente', + 'sms': 'SMS', + 'source': 'Quelle', + 'support': 'Support', + 'switch-account': 'Konto wechseln', + 'table': 'Tabelle', + 'tablet': 'Tablet', + 'tag': 'Tag', + 'team': 'Team', + 'teams': 'Teams', + 'term': 'Suchbegriff', + 'traffic': 'Traffic', + 'unique-events': 'Einzigartige Ereignisse', + 'update': 'Aktualisieren', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM-Kampagne', + 'utm-content': 'UTM-Inhalt', + 'utm-medium': 'UTM-Medium', + 'utm-source': 'UTM-Quelle', + 'utm-term': 'UTM-Begriff', + 'version': 'Version', + 'website': 'Website', + 'websites': 'Websites' + }, + message: { + 'bad-request': 'Ungültige Anfrage', + 'forbidden': 'Verboten', + 'not-found': 'Nicht gefunden', + 'nothing-selected': 'Nichts ausgewählt.', + 'sever-error': 'Serverfehler', + 'unauthorized': 'Nicht autorisiert' + } + }, + 'de-CH': { + label: { + 'account': 'Konto', + 'action': 'Aktion', + 'add-link': 'Link hinzufügen', + 'add-pixel': 'Pixel hinzufügen', + 'analysis': 'Analyse', + 'application': 'Anwendung', + 'audience': 'Zielgruppe', + 'boards': 'Boards', + 'browser': 'Browser', + 'campaign': 'Kampagne', + 'channel': 'Kanal', + 'chart': 'Diagramm', + 'cohorts': 'Kohorten', + 'criteria': 'Kriterien', + 'desktop': 'Desktop', + 'destination-url': 'Ziel-URL', + 'details': 'Details', + 'documentation': 'Dokumentation', + 'domain': 'Domain', + 'download': 'Herunterladen', + 'email': 'E-Mail', + 'environment': 'Umgebung', + 'exclude-bounce': 'Absprung ausschliessen', + 'filter': 'Filter', + 'filters': 'Filter', + 'funnels': 'Trichter', + 'growth': 'Wachstum', + 'hour': 'Stunde', + 'invalid-url': 'Ungültige URL', + 'laptop': 'Laptop', + 'link': 'Link', + 'links': 'Links', + 'location': 'Standort', + 'manager': 'Verwalter', + 'max': 'Max', + 'medium': 'Medium', + 'min': 'Min', + 'minute': 'Minute', + 'model': 'Modell', + 'month': 'Monat', + 'name': 'Name', + 'number-of-records': '{x} {x, plural, one {Datensatz} other {Datensätze}}', + 'ok': 'OK', + 'online': 'Online', + 'os': 'OS', + 'pixel': 'Pixel', + 'preferences': 'Einstellungen', + 'profiles': 'Profile', + 'region': 'Region', + 'retention': 'Retention', + 'save-cohort': 'Kohorte speichern', + 'save-segment': 'Segment speichern', + 'screen': 'Bildschirm', + 'segment': 'Segment', + 'segments': 'Segmente', + 'sms': 'SMS', + 'source': 'Quelle', + 'support': 'Support', + 'switch-account': 'Konto wechseln', + 'table': 'Tabelle', + 'tablet': 'Tablet', + 'tag': 'Tag', + 'team': 'Team', + 'team-id': 'Team-ID', + 'teams': 'Teams', + 'term': 'Suchbegriff', + 'total': 'Total', + 'traffic': 'Traffic', + 'unique-events': 'Einzigartige Ereignisse', + 'update': 'Aktualisieren', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM-Kampagne', + 'utm-content': 'UTM-Inhalt', + 'utm-medium': 'UTM-Medium', + 'utm-source': 'UTM-Quelle', + 'utm-term': 'UTM-Begriff', + 'version': 'Version', + 'website': 'Website' + }, + message: { + 'bad-request': 'Ungültige Anfrage', + 'forbidden': 'Verboten', + 'not-found': 'Nicht gefunden', + 'nothing-selected': 'Nichts ausgewählt.', + 'sever-error': 'Serverfehler', + 'unauthorized': 'Nicht autorisiert' + } + }, + 'nl-NL': { + label: { + 'account': 'Account', + 'action': 'Actie', + 'add-link': 'Link toevoegen', + 'add-pixel': 'Pixel toevoegen', + 'analysis': 'Analyse', + 'application': 'Applicatie', + 'audience': 'Publiek', + 'browser': 'Browser', + 'browsers': 'Browsers', + 'campaign': 'Campagne', + 'channel': 'Kanaal', + 'chart': 'Grafiek', + 'cohort': 'Cohort', + 'cohorts': 'Cohorten', + 'criteria': 'Criteria', + 'destination-url': 'Bestemmings-URL', + 'direct': 'Direct', + 'documentation': 'Documentatie', + 'download': 'Downloaden', + 'email': 'E-mail', + 'end-step': 'Eindstap', + 'environment': 'Omgeving', + 'exclude-bounce': 'Bounce uitsluiten', + 'filter': 'Filter', + 'filters': 'Filters', + 'first-seen': 'Eerst gezien', + 'funnel': 'Trechter', + 'growth': 'Groei', + 'hour': 'Uur', + 'invalid-url': 'Ongeldige URL', + 'is': 'Is', + 'laptop': 'Laptop', + 'link': 'Link', + 'location': 'Locatie', + 'manager': 'Beheerder', + 'max': 'Max', + 'medium': 'Medium', + 'min': 'Min', + 'minute': 'Minuut', + 'model': 'Model', + 'month': 'Maand', + 'number-of-records': '{x} {x, plural, one {record} other {records}}', + 'ok': 'OK', + 'online': 'Online', + 'os': 'OS', + 'pixel': 'Pixel', + 'pixels': 'Pixels', + 'preferences': 'Voorkeuren', + 'profiles': 'Profielen', + 'query': 'Query', + 'referrer': 'Verwijzer', + 'save-cohort': 'Cohort opslaan', + 'save-segment': 'Segment opslaan', + 'screen': 'Scherm', + 'segment': 'Segment', + 'segments': 'Segmenten', + 'sms': 'SMS', + 'source': 'Bron', + 'support': 'Ondersteuning', + 'switch-account': 'Wissel van account', + 'table': 'Tabel', + 'tablet': 'Tablet', + 'team': 'Team', + 'team-id': 'Team-ID', + 'team-websites': 'Teamwebsites', + 'teams': 'Teams', + 'term': 'Zoekterm', + 'traffic': 'Verkeer', + 'transactions': 'Transacties', + 'transfer': 'Overdragen', + 'transfer-website': 'Website overdragen', + 'type': 'Type', + 'unique': 'Uniek', + 'unique-events': 'Unieke gebeurtenissen', + 'uniqueCustomers': 'Unieke klanten', + 'update': 'Bijwerken', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM-campagne', + 'utm-content': 'UTM-inhoud', + 'utm-description': 'Volg je campagnes via UTM-parameters.', + 'utm-medium': 'UTM-medium', + 'utm-source': 'UTM-bron', + 'utm-term': 'UTM-term', + 'version': 'Versie', + 'views-per-visit': 'Weergaven per bezoek', + 'visits': 'Bezoeken', + 'website': 'Website', + 'website-id': 'Website-ID', + 'websites': 'Websites', + 'window': 'Venster' + }, + message: { + 'bad-request': 'Ongeldig verzoek', + 'collected-data': 'Verzamelde gegevens', + 'forbidden': 'Verboden', + 'not-found': 'Niet gevonden', + 'nothing-selected': 'Niets geselecteerd.', + 'sever-error': 'Serverfout', + 'unauthorized': 'Niet geautoriseerd' + } + }, + 'en-GB': { + label: { + 'behavior': 'Behaviour', + 'favorite': 'Favourite', + 'color': 'Colour' + }, + message: {} + } +}; + +for (const [locale, trans] of Object.entries(translations)) { + const filePath = path.join(dir, locale + '.json'); + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + let count = 0; + for (const [section, keys] of Object.entries(trans)) { + for (const [key, value] of Object.entries(keys)) { + if (data[section] && key in data[section]) { + data[section][key] = value; + count++; + } + } + } + const sorted = {}; + for (const section of Object.keys(enUS)) { + if (data[section]) { + sorted[section] = {}; + for (const key of Object.keys(enUS[section])) { + if (key in data[section]) sorted[section][key] = data[section][key]; + } + for (const key of Object.keys(data[section])) { + if (!(key in sorted[section])) sorted[section][key] = data[section][key]; + } + } + } + fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); + console.log('Updated ' + locale + ': ' + count + ' keys'); +} diff --git a/scripts/translate-4-nordic.cjs b/scripts/translate-4-nordic.cjs new file mode 100644 index 000000000..eb520b2f6 --- /dev/null +++ b/scripts/translate-4-nordic.cjs @@ -0,0 +1,518 @@ +const fs = require('fs'); +const path = require('path'); +const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); +const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); + +const translations = { + 'da-DK': { + label: { + 'account': 'Konto', + 'action': 'Handling', + 'add-link': 'Tilføj link', + 'add-pixel': 'Tilføj pixel', + 'analysis': 'Analyse', + 'application': 'Applikation', + 'audience': 'Målgruppe', + 'browser': 'Browser', + 'campaign': 'Kampagne', + 'channel': 'Kanal', + 'chart': 'Diagram', + 'cohorts': 'Kohorter', + 'contains': 'Indeholder', + 'criteria': 'Kriterier', + 'data': 'Data', + 'destination-url': 'Destinations-URL', + 'documentation': 'Dokumentation', + 'download': 'Download', + 'environment': 'Miljø', + 'exclude-bounce': 'Ekskluder afvisning', + 'filter': 'Filter', + 'growth': 'Vækst', + 'hour': 'Time', + 'invalid-url': 'Ugyldig URL', + 'laptop': 'Laptop', + 'link': 'Link', + 'links': 'Links', + 'location': 'Placering', + 'medium': 'Medie', + 'min': 'Min', + 'minute': 'Minut', + 'model': 'Model', + 'month': 'Måned', + 'ok': 'OK', + 'online': 'Online', + 'os': 'OS', + 'pixel': 'Pixel', + 'pixels': 'Pixels', + 'preferences': 'Præferencer', + 'previous': 'Forrige', + 'previous-period': 'Forrige periode', + 'previous-year': 'Forrige år', + 'profiles': 'Profiler', + 'region': 'Region', + 'save-cohort': 'Gem kohorte', + 'save-segment': 'Gem segment', + 'screen': 'Skærm', + 'segment': 'Segment', + 'segments': 'Segmenter', + 'session': 'Session', + 'sms': 'SMS', + 'source': 'Kilde', + 'sum': 'Sum', + 'support': 'Support', + 'switch-account': 'Skift konto', + 'table': 'Tabel', + 'tablet': 'Tablet', + 'tag': 'Tag', + 'tags': 'Tags', + 'team': 'Hold', + 'team-id': 'Hold-ID', + 'teams': 'Hold', + 'term': 'Søgeord', + 'title': 'Titel', + 'total': 'Total', + 'total-records': 'Samlede poster', + 'traffic': 'Trafik', + 'transactions': 'Transaktioner', + 'transfer': 'Overfør', + 'transfer-website': 'Overfør website', + 'true': 'Sand', + 'type': 'Type', + 'unique': 'Unik', + 'unique-events': 'Unikke begivenheder', + 'uniqueCustomers': 'Unikke kunder', + 'untitled': 'Uden titel', + 'update': 'Opdater', + 'url': 'URL', + 'user': 'Bruger', + 'users': 'Brugere', + 'utm': 'UTM', + 'utm-campaign': 'UTM-kampagne', + 'utm-content': 'UTM-indhold', + 'utm-description': 'Spor dine kampagner via UTM-parametre.', + 'utm-medium': 'UTM-medie', + 'utm-source': 'UTM-kilde', + 'utm-term': 'UTM-søgeord', + 'value': 'Værdi', + 'version': 'Version', + 'view': 'Vis', + 'view-only': 'Kun visning', + 'views-per-visit': 'Visninger per besøg', + 'visits': 'Besøg', + 'website': 'Website', + 'website-id': 'Website-ID', + 'window': 'Vindue', + 'yesterday': 'I går' + }, + message: { + 'action-confirmation': 'Skriv {confirmation} i feltet herunder for at bekræfte.', + 'bad-request': 'Ugyldig forespørgsel', + 'collected-data': 'Indsamlede data', + 'confirm-leave': 'Er du sikker på, at du vil forlade {target}?', + 'confirm-remove': 'Er du sikker på, at du vil fjerne {target}?', + 'delete-team-warning': 'Sletning af et hold sletter også alle holdets websites.', + 'event-log': '{event}{url}', + 'forbidden': 'Forbudt', + 'min-password-length': 'Minimumlængde på {n} tegn', + 'new-version-available': 'En ny version af Umami {version} er tilgængelig!', + 'no-event-data': 'Ingen begivenhedsdata tilgængelig.', + 'no-team-websites': 'Dette hold har ingen websites.', + 'no-teams': 'Du har ikke oprettet nogen hold.', + 'no-users': 'Der er ingen brugere.', + 'not-found': 'Ikke fundet', + 'nothing-selected': 'Intet valgt.', + 'reset-website': 'For at nulstille denne website, skriv {confirmation} i feltet herunder for at bekræfte.', + 'sever-error': 'Serverfejl', + 'team-already-member': 'Du er allerede medlem af holdet.', + 'team-not-found': 'Hold ikke fundet.', + 'team-websites-info': 'Websites kan ses af alle på holdet.', + 'transfer-team-website-to-user': 'Overfør denne website til din konto?', + 'transfer-user-website-to-team': 'Vælg holdet, som denne website skal overføres til.', + 'transfer-website': 'Overfør websiteejerskab til din konto eller et andet hold.', + 'triggered-event': 'Udløst begivenhed', + 'unauthorized': 'Ikke autoriseret', + 'user-deleted': 'Bruger slettet.', + 'viewed-page': 'Vist side' + } + }, + 'sv-SE': { + label: { + 'account': 'Konto', + 'action': 'Åtgärd', + 'add-link': 'Lägg till länk', + 'add-pixel': 'Lägg till pixel', + 'analysis': 'Analys', + 'application': 'Applikation', + 'audience': 'Publik', + 'campaign': 'Kampanj', + 'channel': 'Kanal', + 'chart': 'Diagram', + 'cohorts': 'Kohorter', + 'criteria': 'Kriterier', + 'data': 'Data', + 'destination-url': 'Mål-URL', + 'documentation': 'Dokumentation', + 'download': 'Ladda ner', + 'email': 'E-post', + 'environment': 'Miljö', + 'exclude-bounce': 'Exkludera avvisning', + 'filter': 'Filter', + 'first-seen': 'Först sedd', + 'funnel': 'Tratt', + 'growth': 'Tillväxt', + 'hour': 'Timme', + 'invalid-url': 'Ogiltig URL', + 'link': 'Länk', + 'location': 'Plats', + 'manage': 'Hantera', + 'manager': 'Ansvarig', + 'max': 'Max', + 'medium': 'Medium', + 'min': 'Min', + 'minute': 'Minut', + 'month': 'Månad', + 'number-of-records': '{x} {x, plural, one {post} other {poster}}', + 'ok': 'OK', + 'online': 'Online', + 'pixel': 'Pixel', + 'preferences': 'Inställningar', + 'profiles': 'Profiler', + 'region': 'Region', + 'remove-member': 'Ta bort medlem', + 'retention': 'Retention', + 'save-cohort': 'Spara kohort', + 'save-segment': 'Spara segment', + 'screen': 'Skärm', + 'segment': 'Segment', + 'segments': 'Segment', + 'select': 'Välj', + 'select-role': 'Välj roll', + 'session': 'Session', + 'sms': 'SMS', + 'source': 'Källa', + 'start-step': 'Startsteg', + 'steps': 'Steg', + 'support': 'Support', + 'switch-account': 'Byt konto', + 'table': 'Tabell', + 'team': 'Team', + 'team-id': 'Team-ID', + 'team-view-only': 'Endast teamvisning', + 'term': 'Sökord', + 'traffic': 'Trafik', + 'transactions': 'Transaktioner', + 'transfer': 'Överför', + 'transfer-website': 'Överför webbplats', + 'unique-events': 'Unika händelser', + 'uniqueCustomers': 'Unika kunder', + 'update': 'Uppdatera', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM-kampanj', + 'utm-content': 'UTM-innehåll', + 'utm-description': 'Spåra dina kampanjer genom UTM-parametrar.', + 'utm-medium': 'UTM-medium', + 'utm-source': 'UTM-källa', + 'utm-term': 'UTM-sökord', + 'version': 'Version', + 'views-per-visit': 'Visningar per besök', + 'visits': 'Besök' + }, + message: { + 'action-confirmation': 'Skriv {confirmation} i rutan nedan för att bekräfta.', + 'bad-request': 'Ogiltig förfrågan', + 'collected-data': 'Insamlad data', + 'confirm-remove': 'Är du säker på att du vill ta bort {target}?', + 'delete-team-warning': 'Att radera ett team raderar även alla teamets webbplatser.', + 'forbidden': 'Förbjudet', + 'not-found': 'Hittades inte', + 'nothing-selected': 'Inget valt.', + 'sever-error': 'Serverfel', + 'transfer-team-website-to-user': 'Överför denna webbplats till ditt konto?', + 'transfer-user-website-to-team': 'Välj teamet att överföra denna webbplats till.', + 'transfer-website': 'Överför webbplatsägande till ditt konto eller ett annat team.', + 'triggered-event': 'Utlöst händelse', + 'unauthorized': 'Inte auktoriserad', + 'viewed-page': 'Visad sida' + } + }, + 'nb-NO': { + label: { + 'account': 'Konto', + 'action': 'Handling', + 'add-link': 'Legg til lenke', + 'add-pixel': 'Legg til piksel', + 'analysis': 'Analyse', + 'application': 'Applikasjon', + 'audience': 'Målgruppe', + 'campaign': 'Kampanje', + 'channel': 'Kanal', + 'chart': 'Diagram', + 'cohorts': 'Kohorter', + 'criteria': 'Kriterier', + 'data': 'Data', + 'destination-url': 'Mål-URL', + 'documentation': 'Dokumentasjon', + 'download': 'Last ned', + 'dropoff': 'Frafall', + 'email': 'E-post', + 'environment': 'Miljø', + 'exclude-bounce': 'Ekskluder avvisning', + 'filter': 'Filter', + 'growth': 'Vekst', + 'hour': 'Time', + 'invalid-url': 'Ugyldig URL', + 'last-months': 'Siste {x} måneder', + 'link': 'Lenke', + 'location': 'Plassering', + 'medium': 'Medium', + 'min': 'Min', + 'minute': 'Minutt', + 'month': 'Måned', + 'number-of-records': '{x} {x, plural, one {post} other {poster}}', + 'ok': 'OK', + 'online': 'Tilkoblet', + 'os': 'OS', + 'pixel': 'Piksel', + 'preferences': 'Innstillinger', + 'profiles': 'Profiler', + 'referral': 'Henvisning', + 'region': 'Region', + 'save-cohort': 'Lagre kohort', + 'save-segment': 'Lagre segment', + 'screen': 'Skjerm', + 'segment': 'Segment', + 'segments': 'Segmenter', + 'sms': 'SMS', + 'source': 'Kilde', + 'sum': 'Sum', + 'support': 'Støtte', + 'switch-account': 'Bytt konto', + 'table': 'Tabell', + 'team': 'Lag', + 'term': 'Søkeord', + 'traffic': 'Trafikk', + 'type': 'Type', + 'unique-events': 'Unike hendelser', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM-kampanje', + 'utm-content': 'UTM-innhold', + 'utm-medium': 'UTM-medium', + 'utm-source': 'UTM-kilde', + 'utm-term': 'UTM-søkeord', + 'version': 'Versjon' + }, + message: { + 'bad-request': 'Ugyldig forespørsel', + 'forbidden': 'Forbudt', + 'not-found': 'Ikke funnet', + 'nothing-selected': 'Ingenting valgt.', + 'sever-error': 'Serverfeil', + 'unauthorized': 'Ikke autorisert' + } + }, + 'fo-FO': { + label: { + 'account': 'Konto', + 'action': 'Handling', + 'add-link': 'Legg afturat link', + 'add-pixel': 'Legg afturat piksel', + 'analysis': 'Greining', + 'application': 'Forrit', + 'audience': 'Áhoyrarar', + 'campaign': 'Herferð', + 'channel': 'Rás', + 'chart': 'Graf', + 'cohorts': 'Kohortar', + 'criteria': 'Viðmið', + 'destination-url': 'Mál-URL', + 'documentation': 'Skjøl', + 'download': 'Tak niður', + 'dropoff': 'Fráfall', + 'environment': 'Umhvørvi', + 'exclude-bounce': 'Útiloka frástøyt', + 'growth': 'Vøkstur', + 'hour': 'Tími', + 'invalid-url': 'Ógild URL', + 'link': 'Leinkja', + 'location': 'Støða', + 'minute': 'Minuttur', + 'model': 'Fyrimynd', + 'month': 'Mánaður', + 'number-of-records': '{x} {x, plural, one {skrá} other {skrár}}', + 'ok': 'OK', + 'online': 'Online', + 'os': 'OS', + 'pixel': 'Piksel', + 'preferences': 'Stillingar', + 'profiles': 'Profilir', + 'save-cohort': 'Goym kohortu', + 'save-segment': 'Goym segment', + 'screen': 'Skíggi', + 'segment': 'Segment', + 'segments': 'Segment', + 'sms': 'SMS', + 'source': 'Kelda', + 'support': 'Stuðul', + 'switch-account': 'Skift konto', + 'table': 'Tabell', + 'term': 'Leitorð', + 'title': 'Heiti', + 'toggle-charts': 'Vísa/fjal grafir', + 'total': 'Tilsamans', + 'total-records': 'Skrár tilsamans', + 'traffic': 'Umferð', + 'transactions': 'Umsetningar', + 'transfer': 'Flyt', + 'transfer-website': 'Flyt heimasíðu', + 'true': 'Satt', + 'type': 'Slag', + 'unique': 'Einstaklingar', + 'unique-events': 'Einstakar hendingar', + 'uniqueCustomers': 'Einstakar kundar', + 'untitled': 'Einki heiti', + 'update': 'Dagfør', + 'url': 'URL', + 'user': 'Brúkari', + 'users': 'Brúkarar', + 'utm': 'UTM', + 'utm-campaign': 'UTM-herferð', + 'utm-content': 'UTM-innihald', + 'utm-description': 'Fylg herferðunum við UTM-stikum.', + 'utm-medium': 'UTM-miðil', + 'utm-source': 'UTM-kelda', + 'utm-term': 'UTM-leitorð', + 'value': 'Virði', + 'version': 'Útgáva', + 'view': 'Vís', + 'view-only': 'Bert vísing', + 'views-per-visit': 'Sýningar per vitjan', + 'visits': 'Vitjanir', + 'website': 'Heimasíða', + 'website-id': 'Heimasíðu-ID', + 'window': 'Gluggi', + 'yesterday': 'Í gjár' + }, + message: { + 'action-confirmation': 'Skriva {confirmation} í teigin niðanfyri at vátta.', + 'bad-request': 'Ógild umbøn', + 'collected-data': 'Innsamlaði dáta', + 'confirm-leave': 'Ert tú vís/ur í at fara frá {target}?', + 'confirm-remove': 'Ert tú vís/ur í at strika {target}?', + 'delete-team-warning': 'At strika eitt lið strikar eisini allar heimasíður hjá liðnum.', + 'event-log': '{event} á {url}', + 'forbidden': 'Forboðið', + 'min-password-length': 'Minsta longd er {n} tekn', + 'new-version-available': 'Nýggj útgáva av Umami {version} er tøk!', + 'no-event-data': 'Eingin hendingardata tøk.', + 'no-team-websites': 'Hetta liðið hevur eingi heimasíður.', + 'no-teams': 'Tú hevur ikki stovnað nøkur lið.', + 'no-users': 'Eingi brúkarar eru.', + 'not-found': 'Ikki funnið', + 'nothing-selected': 'Einki valt.', + 'reset-website': 'Fyri at nullstilla hesa heimasíðu, skriva {confirmation} í teigin niðanfyri at vátta.', + 'sever-error': 'Ambætaravilla', + 'team-already-member': 'Tú ert longu limur í liðnum.', + 'team-not-found': 'Lið ikki funnið.', + 'team-websites-info': 'Heimasíður kunnu síggjas av øllum á liðnum.', + 'transfer-team-website-to-user': 'Flyt hesa heimasíðu til tín konto?', + 'transfer-user-website-to-team': 'Vel liðið at flyta hesa heimasíðu til.', + 'transfer-website': 'Flyt ognarskapið av heimasíðuni til tín konto ella annað lið.', + 'triggered-event': 'Avbjóðað hending', + 'unauthorized': 'Ikki góðkent', + 'user-deleted': 'Brúkari strikaður.', + 'viewed-page': 'Síð vís' + } + }, + 'fi-FI': { + label: { + 'account': 'Tili', + 'action': 'Toiminto', + 'add-link': 'Lisää linkki', + 'add-pixel': 'Lisää pikseli', + 'analysis': 'Analyysi', + 'application': 'Sovellus', + 'audience': 'Yleisö', + 'campaign': 'Kampanja', + 'channel': 'Kanava', + 'chart': 'Kaavio', + 'cohorts': 'Kohortit', + 'criteria': 'Kriteerit', + 'data': 'Data', + 'destination-url': 'Kohde-URL', + 'documentation': 'Dokumentaatio', + 'download': 'Lataa', + 'environment': 'Ympäristö', + 'exclude-bounce': 'Sulje poishyppäys pois', + 'growth': 'Kasvu', + 'hour': 'Tunti', + 'invalid-url': 'Virheellinen URL', + 'link': 'Linkki', + 'location': 'Sijainti', + 'minute': 'Minuutti', + 'month': 'Kuukausi', + 'ok': 'OK', + 'online': 'Verkossa', + 'os': 'Käyttöjärjestelmä', + 'pixel': 'Pikseli', + 'preferences': 'Asetukset', + 'profiles': 'Profiilit', + 'retention': 'Säilyvyys', + 'retention-description': 'Mittaa verkkosivustosi sitoutumista seuraamalla, kuinka usein käyttäjät palaavat.', + 'save-cohort': 'Tallenna kohortti', + 'save-segment': 'Tallenna segmentti', + 'screen': 'Näyttö', + 'segment': 'Segmentti', + 'segments': 'Segmentit', + 'sms': 'SMS', + 'source': 'Lähde', + 'support': 'Tuki', + 'switch-account': 'Vaihda tiliä', + 'table': 'Taulukko', + 'team-view-only': 'Vain tiimin katselu', + 'term': 'Hakusana', + 'traffic': 'Liikenne', + 'unique-events': 'Uniikit tapahtumat', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM-kampanja', + 'utm-content': 'UTM-sisältö', + 'utm-medium': 'UTM-media', + 'utm-source': 'UTM-lähde', + 'utm-term': 'UTM-hakusana', + 'version': 'Versio' + }, + message: { + 'event-log': '{event} sivulla {url}' + } + } +}; + +for (const [locale, trans] of Object.entries(translations)) { + const filePath = path.join(dir, locale + '.json'); + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + let count = 0; + for (const [section, keys] of Object.entries(trans)) { + for (const [key, value] of Object.entries(keys)) { + if (data[section] && key in data[section]) { + data[section][key] = value; + count++; + } + } + } + const sorted = {}; + for (const section of Object.keys(enUS)) { + if (data[section]) { + sorted[section] = {}; + for (const key of Object.keys(enUS[section])) { + if (key in data[section]) sorted[section][key] = data[section][key]; + } + for (const key of Object.keys(data[section])) { + if (!(key in sorted[section])) sorted[section][key] = data[section][key]; + } + } + } + fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); + console.log('Updated ' + locale + ': ' + count + ' keys'); +} diff --git a/scripts/translate-5-slavic.cjs b/scripts/translate-5-slavic.cjs new file mode 100644 index 000000000..dca6a8c6f --- /dev/null +++ b/scripts/translate-5-slavic.cjs @@ -0,0 +1,1068 @@ +const fs = require('fs'); +const path = require('path'); +const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); +const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); + +const translations = { + 'ru-RU': { + label: { + 'account': 'Аккаунт', + 'action': 'Действие', + 'add-link': 'Добавить ссылку', + 'add-pixel': 'Добавить пиксель', + 'analysis': 'Анализ', + 'application': 'Приложение', + 'audience': 'Аудитория', + 'campaign': 'Кампания', + 'channel': 'Канал', + 'chart': 'Диаграмма', + 'cohorts': 'Когорты', + 'criteria': 'Критерии', + 'destination-url': 'URL назначения', + 'direct': 'Прямой', + 'distinct-id': 'Уникальный ID', + 'documentation': 'Документация', + 'download': 'Скачать', + 'email': 'Электронная почта', + 'environment': 'Окружение', + 'exclude-bounce': 'Исключить отказы', + 'growth': 'Рост', + 'hour': 'Час', + 'invalid-url': 'Недействительный URL', + 'journey': 'Путь', + 'link': 'Ссылка', + 'location': 'Местоположение', + 'minute': 'Минута', + 'month': 'Месяц', + 'ok': 'ОК', + 'online': 'Онлайн', + 'os': 'ОС', + 'pixel': 'Пиксель', + 'preferences': 'Настройки', + 'profiles': 'Профили', + 'referral': 'Реферал', + 'save-cohort': 'Сохранить когорту', + 'save-segment': 'Сохранить сегмент', + 'screen': 'Экран', + 'segment': 'Сегмент', + 'segments': 'Сегменты', + 'sms': 'СМС', + 'source': 'Источник', + 'support': 'Поддержка', + 'switch-account': 'Сменить аккаунт', + 'table': 'Таблица', + 'term': 'Поисковый запрос', + 'traffic': 'Трафик', + 'unique-events': 'Уникальные события', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM-кампания', + 'utm-content': 'UTM-контент', + 'utm-medium': 'UTM-канал', + 'utm-source': 'UTM-источник', + 'utm-term': 'UTM-запрос', + 'version': 'Версия' + }, + message: { + 'bad-request': 'Неверный запрос', + 'forbidden': 'Доступ запрещён', + 'not-found': 'Не найдено', + 'nothing-selected': 'Ничего не выбрано.', + 'sever-error': 'Ошибка сервера', + 'unauthorized': 'Не авторизован' + } + }, + 'uk-UA': { + label: { + 'account': 'Обліковий запис', + 'action': 'Дія', + 'add-link': 'Додати посилання', + 'add-pixel': 'Додати піксель', + 'analysis': 'Аналіз', + 'application': 'Додаток', + 'audience': 'Аудиторія', + 'campaign': 'Кампанія', + 'channel': 'Канал', + 'chart': 'Діаграма', + 'cohorts': 'Когорти', + 'criteria': 'Критерії', + 'destination-url': 'URL призначення', + 'documentation': 'Документація', + 'download': 'Завантажити', + 'email': 'Електронна пошта', + 'environment': 'Середовище', + 'exclude-bounce': 'Виключити відмови', + 'false': 'Хибно', + 'first-seen': 'Перший візит', + 'growth': 'Зростання', + 'hour': 'Година', + 'invalid-url': 'Недійсний URL', + 'link': 'Посилання', + 'location': 'Місцезнаходження', + 'manager': 'Менеджер', + 'minute': 'Хвилина', + 'month': 'Місяць', + 'number-of-records': '{x} {x, plural, one {запис} few {записи} other {записів}}', + 'ok': 'ОК', + 'online': 'Онлайн', + 'path': 'Шлях', + 'paths': 'Шляхи', + 'pixel': 'Піксель', + 'preferences': 'Налаштування', + 'profiles': 'Профілі', + 'save-cohort': 'Зберегти когорту', + 'save-segment': 'Зберегти сегмент', + 'screen': 'Екран', + 'segment': 'Сегмент', + 'segments': 'Сегменти', + 'sms': 'СМС', + 'source': 'Джерело', + 'start-step': 'Початковий крок', + 'support': 'Підтримка', + 'switch-account': 'Змінити обліковий запис', + 'table': 'Таблиця', + 'term': 'Пошуковий запит', + 'traffic': 'Трафік', + 'transactions': 'Транзакції', + 'true': 'Істинно', + 'unique-events': 'Унікальні події', + 'uniqueCustomers': 'Унікальні клієнти', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM-кампанія', + 'utm-content': 'UTM-контент', + 'utm-medium': 'UTM-канал', + 'utm-source': 'UTM-джерело', + 'utm-term': 'UTM-запит', + 'version': 'Версія', + 'visit-duration': 'Тривалість візиту' + }, + message: { + 'bad-request': 'Невірний запит', + 'collected-data': 'Зібрані дані', + 'forbidden': 'Доступ заборонено', + 'not-found': 'Не знайдено', + 'nothing-selected': 'Нічого не вибрано.', + 'sever-error': 'Помилка сервера', + 'unauthorized': 'Не авторизовано' + } + }, + 'be-BY': { + label: { + 'account': 'Акаўнт', + 'action': 'Дзеянне', + 'add-link': 'Дадаць спасылку', + 'add-pixel': 'Дадаць піксель', + 'analysis': 'Аналіз', + 'application': 'Прыкладанне', + 'audience': 'Аўдыторыя', + 'campaign': 'Кампанія', + 'channel': 'Канал', + 'chart': 'Дыяграма', + 'cohorts': 'Кагорты', + 'criteria': 'Крытэрыі', + 'destination-url': 'URL прызначэння', + 'documentation': 'Дакументацыя', + 'download': 'Спампаваць', + 'email': 'Электронная пошта', + 'environment': 'Асяроддзе', + 'exclude-bounce': 'Выключыць адмовы', + 'growth': 'Рост', + 'hour': 'Гадзіна', + 'invalid-url': 'Нядзейсны URL', + 'last-seen': 'Апошні візіт', + 'link': 'Спасылка', + 'location': 'Месцазнаходжанне', + 'minute': 'Хвіліна', + 'month': 'Месяц', + 'online': 'Анлайн', + 'pixel': 'Піксель', + 'preferences': 'Налады', + 'profiles': 'Профілі', + 'revenue': 'Даход', + 'save-cohort': 'Захаваць кагорту', + 'save-segment': 'Захаваць сегмент', + 'screen': 'Экран', + 'segment': 'Сегмент', + 'segments': 'Сегменты', + 'sms': 'СМС', + 'source': 'Крыніца', + 'support': 'Падтрымка', + 'switch-account': 'Змяніць акаўнт', + 'table': 'Табліца', + 'tag': 'Тэг', + 'tags': 'Тэгі', + 'term': 'Пошукавы запыт', + 'traffic': 'Трафік', + 'transactions': 'Транзакцыі', + 'unique-events': 'Унікальныя падзеі', + 'uniqueCustomers': 'Унікальныя кліенты', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM-кампанія', + 'utm-content': 'UTM-кантэнт', + 'utm-medium': 'UTM-канал', + 'utm-source': 'UTM-крыніца', + 'utm-term': 'UTM-запыт', + 'version': 'Версія' + }, + message: { + 'bad-request': 'Няправільны запыт', + 'forbidden': 'Доступ забаронены', + 'not-found': 'Не знойдзена', + 'nothing-selected': 'Нічога не абрана.', + 'sever-error': 'Памылка сервера', + 'unauthorized': 'Не аўтарызаваны' + } + }, + 'bg-BG': { + label: { + 'account': 'Акаунт', + 'action': 'Действие', + 'add-link': 'Добави линк', + 'add-pixel': 'Добави пиксел', + 'analysis': 'Анализ', + 'application': 'Приложение', + 'audience': 'Аудитория', + 'campaign': 'Кампания', + 'channel': 'Канал', + 'chart': 'Диаграма', + 'cohorts': 'Кохорти', + 'criteria': 'Критерии', + 'destination-url': 'URL на местоназначение', + 'documentation': 'Документация', + 'download': 'Изтегляне', + 'environment': 'Среда', + 'exclude-bounce': 'Изключи отпадане', + 'growth': 'Растеж', + 'hour': 'Час', + 'invalid-url': 'Невалиден URL', + 'link': 'Линк', + 'location': 'Местоположение', + 'minute': 'Минута', + 'month': 'Месец', + 'pixel': 'Пиксел', + 'preferences': 'Предпочитания', + 'profiles': 'Профили', + 'save-cohort': 'Запази кохорта', + 'save-segment': 'Запази сегмент', + 'screen': 'Екран', + 'segment': 'Сегмент', + 'segments': 'Сегменти', + 'sms': 'СМС', + 'source': 'Източник', + 'support': 'Поддръжка', + 'switch-account': 'Смяна на акаунт', + 'table': 'Таблица', + 'term': 'Търсене', + 'traffic': 'Трафик', + 'unique-events': 'Уникални събития', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM кампания', + 'utm-content': 'UTM съдържание', + 'utm-medium': 'UTM канал', + 'utm-source': 'UTM източник', + 'utm-term': 'UTM търсене', + 'version': 'Версия' + }, + message: {} + }, + 'pl-PL': { + label: { + 'account': 'Konto', + 'action': 'Akcja', + 'add-link': 'Dodaj link', + 'add-pixel': 'Dodaj piksel', + 'analysis': 'Analiza', + 'application': 'Aplikacja', + 'audience': 'Odbiorcy', + 'campaign': 'Kampania', + 'channel': 'Kanał', + 'chart': 'Wykres', + 'cohorts': 'Kohorty', + 'criteria': 'Kryteria', + 'destination-url': 'Docelowy URL', + 'documentation': 'Dokumentacja', + 'download': 'Pobierz', + 'email': 'E-mail', + 'environment': 'Środowisko', + 'exclude-bounce': 'Wyklucz odrzucenia', + 'first-seen': 'Pierwsza wizyta', + 'goals-description': 'Śledź cele dla odsłon stron i zdarzeń.', + 'growth': 'Wzrost', + 'hour': 'Godzina', + 'invalid-url': 'Nieprawidłowy URL', + 'laptop': 'Laptop', + 'link': 'Link', + 'location': 'Lokalizacja', + 'manage': 'Zarządzaj', + 'manager': 'Menedżer', + 'medium': 'Medium', + 'min': 'Min', + 'minute': 'Minuta', + 'model': 'Model', + 'month': 'Miesiąc', + 'ok': 'OK', + 'online': 'Online', + 'os': 'System', + 'pixel': 'Piksel', + 'preferences': 'Preferencje', + 'profiles': 'Profile', + 'region': 'Region', + 'save-cohort': 'Zapisz kohortę', + 'save-segment': 'Zapisz segment', + 'screen': 'Ekran', + 'segment': 'Segment', + 'segments': 'Segmenty', + 'sms': 'SMS', + 'source': 'Źródło', + 'support': 'Wsparcie', + 'switch-account': 'Przełącz konto', + 'table': 'Tabela', + 'tablet': 'Tablet', + 'tag': 'Tag', + 'term': 'Wyszukiwane hasło', + 'traffic': 'Ruch', + 'transactions': 'Transakcje', + 'transfer': 'Przenieś', + 'transfer-website': 'Przenieś stronę', + 'unique-events': 'Unikalne zdarzenia', + 'uniqueCustomers': 'Unikalni klienci', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM-kampania', + 'utm-content': 'UTM-treść', + 'utm-medium': 'UTM-medium', + 'utm-source': 'UTM-źródło', + 'utm-term': 'UTM-hasło', + 'version': 'Wersja' + }, + message: { + 'bad-request': 'Nieprawidłowe żądanie', + 'forbidden': 'Zabronione', + 'not-found': 'Nie znaleziono', + 'nothing-selected': 'Nic nie wybrano.', + 'sever-error': 'Błąd serwera', + 'unauthorized': 'Brak autoryzacji' + } + }, + 'cs-CZ': { + label: { + 'account': 'Účet', + 'action': 'Akce', + 'add-link': 'Přidat odkaz', + 'add-pixel': 'Přidat pixel', + 'analysis': 'Analýza', + 'application': 'Aplikace', + 'audience': 'Publikum', + 'campaign': 'Kampaň', + 'channel': 'Kanál', + 'chart': 'Graf', + 'cohorts': 'Kohorty', + 'created-by': 'Vytvořil', + 'criteria': 'Kritéria', + 'data': 'Data', + 'destination-url': 'Cílová URL', + 'documentation': 'Dokumentace', + 'download': 'Stáhnout', + 'environment': 'Prostředí', + 'exclude-bounce': 'Vyloučit odmítnutí', + 'funnel-description': 'Pochopte konverzní poměr a míru opuštění uživatelů.', + 'goals-description': 'Sledujte své cíle pro zobrazení stránek a události.', + 'growth': 'Růst', + 'hour': 'Hodina', + 'invalid-url': 'Neplatná URL', + 'last-seen': 'Naposledy viděn', + 'link': 'Odkaz', + 'location': 'Umístění', + 'max': 'Max', + 'min': 'Min', + 'minute': 'Minuta', + 'model': 'Model', + 'month': 'Měsíc', + 'ok': 'OK', + 'online': 'Online', + 'os': 'OS', + 'pixel': 'Pixel', + 'preferences': 'Předvolby', + 'previous': 'Předchozí', + 'previous-period': 'Předchozí období', + 'previous-year': 'Předchozí rok', + 'profiles': 'Profily', + 'region': 'Region', + 'role': 'Role', + 'save-cohort': 'Uložit kohortu', + 'save-segment': 'Uložit segment', + 'screen': 'Obrazovka', + 'segment': 'Segment', + 'segments': 'Segmenty', + 'sms': 'SMS', + 'source': 'Zdroj', + 'support': 'Podpora', + 'switch-account': 'Přepnout účet', + 'table': 'Tabulka', + 'tablet': 'Tablet', + 'term': 'Hledaný výraz', + 'title': 'Název', + 'toggle-charts': 'Přepnout grafy', + 'total': 'Celkem', + 'total-records': 'Celkem záznamů', + 'traffic': 'Provoz', + 'transactions': 'Transakce', + 'transfer': 'Přenést', + 'transfer-website': 'Přenést web', + 'true': 'Pravda', + 'type': 'Typ', + 'unique': 'Unikátní', + 'unique-events': 'Unikátní události', + 'uniqueCustomers': 'Unikátní zákazníci', + 'untitled': 'Bez názvu', + 'update': 'Aktualizovat', + 'url': 'URL', + 'user': 'Uživatel', + 'users': 'Uživatelé', + 'utm': 'UTM', + 'utm-campaign': 'UTM kampaň', + 'utm-content': 'UTM obsah', + 'utm-description': 'Sledujte své kampaně pomocí UTM parametrů.', + 'utm-medium': 'UTM médium', + 'utm-source': 'UTM zdroj', + 'utm-term': 'UTM výraz', + 'value': 'Hodnota', + 'version': 'Verze', + 'view': 'Zobrazit', + 'view-only': 'Pouze zobrazení', + 'views-per-visit': 'Zobrazení na návštěvu', + 'website': 'Web', + 'website-id': 'ID webu' + }, + message: { + 'action-confirmation': 'Zadejte {confirmation} do pole níže pro potvrzení.', + 'bad-request': 'Neplatný požadavek', + 'collected-data': 'Shromážděná data', + 'confirm-leave': 'Opravdu chcete opustit {target}?', + 'confirm-remove': 'Opravdu chcete odebrat {target}?', + 'delete-team-warning': 'Smazání týmu smaže také všechny weby týmu.', + 'event-log': '{event} na {url}', + 'forbidden': 'Zakázáno', + 'min-password-length': 'Minimální délka {n} znaků', + 'new-version-available': 'Je k dispozici nová verze Umami {version}!', + 'no-event-data': 'Nejsou k dispozici žádná data o událostech.', + 'no-team-websites': 'Tento tým nemá žádné weby.', + 'no-teams': 'Nevytvořili jste žádné týmy.', + 'no-users': 'Nejsou žádní uživatelé.', + 'not-found': 'Nenalezeno', + 'nothing-selected': 'Nic není vybráno.', + 'reset-website': 'Pro resetování tohoto webu zadejte {confirmation} do pole níže.', + 'sever-error': 'Chyba serveru', + 'team-already-member': 'Již jste členem tohoto týmu.', + 'team-not-found': 'Tým nenalezen.', + 'team-websites-info': 'Weby si může prohlédnout kdokoli z týmu.', + 'transfer-team-website-to-user': 'Přenést tento web na váš účet?', + 'transfer-user-website-to-team': 'Vyberte tým, na který chcete tento web přenést.', + 'transfer-website': 'Přeneste vlastnictví webu na svůj účet nebo jiný tým.', + 'triggered-event': 'Spuštěná událost', + 'unauthorized': 'Neautorizováno', + 'user-deleted': 'Uživatel smazán.', + 'viewed-page': 'Zobrazená stránka' + } + }, + 'sk-SK': { + label: { + 'account': 'Účet', + 'action': 'Akcia', + 'add-link': 'Pridať odkaz', + 'add-pixel': 'Pridať pixel', + 'analysis': 'Analýza', + 'application': 'Aplikácia', + 'audience': 'Publikum', + 'campaign': 'Kampaň', + 'channel': 'Kanál', + 'chart': 'Graf', + 'cohorts': 'Kohorty', + 'contains': 'Obsahuje', + 'continue': 'Pokračovať', + 'criteria': 'Kritériá', + 'data': 'Dáta', + 'date': 'Dátum', + 'destination-url': 'Cieľová URL', + 'details': 'Podrobnosti', + 'documentation': 'Dokumentácia', + 'download': 'Stiahnuť', + 'dropoff': 'Odchod', + 'email': 'E-mail', + 'environment': 'Prostredie', + 'exclude-bounce': 'Vylúčiť odmietnutia', + 'filter': 'Filter', + 'growth': 'Rast', + 'hour': 'Hodina', + 'insights': 'Prehľady', + 'insights-description': 'Ponorte sa hlbšie do vašich dát pomocou segmentov a filtrov.', + 'invalid-url': 'Neplatná URL', + 'link': 'Odkaz', + 'location': 'Umiestnenie', + 'minute': 'Minúta', + 'model': 'Model', + 'month': 'Mesiac', + 'number-of-records': '{x} {x, plural, one {záznam} few {záznamy} other {záznamov}}', + 'ok': 'OK', + 'online': 'Online', + 'os': 'OS', + 'overview': 'Prehľad', + 'owner': 'Vlastník', + 'page-of': 'Strana {current} z {total}', + 'pageTitle': 'Názov stránky', + 'pixel': 'Pixel', + 'powered-by': 'Poskytuje {name}', + 'preferences': 'Predvoľby', + 'profiles': 'Profily', + 'queries': 'Dotazy', + 'query': 'Dotaz', + 'query-parameters': 'Parametre dotazu', + 'referrer': 'Odkazovateľ', + 'regenerate': 'Regenerovať', + 'region': 'Región', + 'regions': 'Regióny', + 'remove': 'Odstrániť', + 'remove-member': 'Odstrániť člena', + 'reports': 'Správy', + 'reset': 'Resetovať', + 'retention': 'Retencia', + 'retention-description': 'Merajte angažovanosť vašej stránky sledovaním, ako často sa používatelia vracajú.', + 'role': 'Rola', + 'run-query': 'Spustiť dotaz', + 'save-cohort': 'Uložiť kohortu', + 'save-segment': 'Uložiť segment', + 'screen': 'Obrazovka', + 'screens': 'Obrazovky', + 'search': 'Hľadať', + 'segment': 'Segment', + 'segments': 'Segmenty', + 'select': 'Vybrať', + 'select-date': 'Vybrať dátum', + 'select-role': 'Vybrať rolu', + 'select-website': 'Vybrať web', + 'sessions': 'Relácie', + 'sms': 'SMS', + 'source': 'Zdroj', + 'start-step': 'Počiatočný krok', + 'steps': 'Kroky', + 'sum': 'Súčet', + 'support': 'Podpora', + 'switch-account': 'Prepnúť účet', + 'table': 'Tabuľka', + 'tablet': 'Tablet', + 'team': 'Tím', + 'team-id': 'ID tímu', + 'team-member': 'Člen tímu', + 'team-name': 'Názov tímu', + 'team-owner': 'Vlastník tímu', + 'team-view-only': 'Iba zobrazenie pre tím', + 'team-websites': 'Weby tímu', + 'teams': 'Tímy', + 'term': 'Hľadaný výraz', + 'theme': 'Téma', + 'title': 'Názov', + 'toggle-charts': 'Prepnúť grafy', + 'total': 'Celkom', + 'total-records': 'Celkom záznamov', + 'traffic': 'Návštevnosť', + 'transactions': 'Transakcie', + 'transfer': 'Preniesť', + 'transfer-website': 'Preniesť web', + 'true': 'Pravda', + 'type': 'Typ', + 'unique': 'Unikátny', + 'unique-events': 'Unikátne udalosti', + 'uniqueCustomers': 'Unikátni zákazníci', + 'untitled': 'Bez názvu', + 'update': 'Aktualizovať', + 'url': 'URL', + 'user': 'Používateľ', + 'users': 'Používatelia', + 'utm': 'UTM', + 'utm-campaign': 'UTM kampaň', + 'utm-content': 'UTM obsah', + 'utm-description': 'Sledujte svoje kampane pomocou UTM parametrov.', + 'utm-medium': 'UTM médium', + 'utm-source': 'UTM zdroj', + 'utm-term': 'UTM výraz', + 'value': 'Hodnota', + 'version': 'Verzia', + 'view': 'Zobraziť', + 'view-only': 'Iba zobrazenie', + 'views-per-visit': 'Zobrazenia na návštevu', + 'visits': 'Návštevy', + 'website': 'Web', + 'website-id': 'ID webu', + 'window': 'Okno', + 'yesterday': 'Včera' + }, + message: { + 'action-confirmation': 'Zadajte {confirmation} do poľa nižšie na potvrdenie.', + 'bad-request': 'Neplatná požiadavka', + 'collected-data': 'Zozbierané dáta', + 'confirm-leave': 'Naozaj chcete opustiť {target}?', + 'confirm-remove': 'Naozaj chcete odstrániť {target}?', + 'delete-team-warning': 'Vymazanie tímu vymaže aj všetky weby tímu.', + 'event-log': '{event} na {url}', + 'forbidden': 'Zakázané', + 'min-password-length': 'Minimálna dĺžka {n} znakov', + 'new-version-available': 'K dispozícii je nová verzia Umami {version}!', + 'no-event-data': 'Nie sú dostupné žiadne údaje o udalostiach.', + 'no-team-websites': 'Tento tím nemá žiadne weby.', + 'no-teams': 'Nevytvorili ste žiadne tímy.', + 'no-users': 'Nie sú žiadni používatelia.', + 'not-found': 'Nenájdené', + 'nothing-selected': 'Nič nie je vybrané.', + 'reset-website': 'Na resetovanie tohto webu zadajte {confirmation} do poľa nižšie.', + 'sever-error': 'Chyba servera', + 'team-already-member': 'Už ste členom tohto tímu.', + 'team-not-found': 'Tím nenájdený.', + 'team-websites-info': 'Weby si môže zobraziť ktokoľvek z tímu.', + 'transfer-team-website-to-user': 'Preniesť tento web na váš účet?', + 'transfer-user-website-to-team': 'Vyberte tím, na ktorý chcete tento web preniesť.', + 'transfer-website': 'Preneste vlastníctvo webu na svoj účet alebo iný tím.', + 'triggered-event': 'Spustená udalosť', + 'unauthorized': 'Neautorizované', + 'user-deleted': 'Používateľ vymazaný.', + 'viewed-page': 'Zobrazená stránka' + } + }, + 'sl-SI': { + label: { + 'account': 'Račun', + 'action': 'Dejanje', + 'add-link': 'Dodaj povezavo', + 'add-pixel': 'Dodaj piksel', + 'analysis': 'Analiza', + 'application': 'Aplikacija', + 'audience': 'Občinstvo', + 'campaign': 'Kampanja', + 'channel': 'Kanal', + 'chart': 'Grafikon', + 'cohorts': 'Kohorte', + 'criteria': 'Merila', + 'destination-url': 'Ciljni URL', + 'documentation': 'Dokumentacija', + 'download': 'Prenesi', + 'environment': 'Okolje', + 'exclude-bounce': 'Izključi odbite', + 'filter': 'Filter', + 'growth': 'Rast', + 'hour': 'Ura', + 'invalid-url': 'Neveljaven URL', + 'link': 'Povezava', + 'location': 'Lokacija', + 'minute': 'Minuta', + 'model': 'Model', + 'month': 'Mesec', + 'number-of-records': '{x} {x, plural, one {zapis} two {zapisa} few {zapisi} other {zapisov}}', + 'ok': 'V redu', + 'online': 'Na spletu', + 'os': 'OS', + 'pixel': 'Piksel', + 'preferences': 'Nastavitve', + 'profiles': 'Profili', + 'save-cohort': 'Shrani kohorto', + 'save-segment': 'Shrani segment', + 'screen': 'Zaslon', + 'segment': 'Segment', + 'segments': 'Segmenti', + 'sms': 'SMS', + 'source': 'Vir', + 'support': 'Podpora', + 'switch-account': 'Zamenjaj račun', + 'table': 'Tabela', + 'term': 'Iskalni izraz', + 'traffic': 'Promet', + 'transactions': 'Transakcije', + 'transfer': 'Prenesi', + 'transfer-website': 'Prenesi spletno stran', + 'unique-events': 'Edinstveni dogodki', + 'uniqueCustomers': 'Edinstvene stranke', + 'update': 'Posodobi', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM kampanja', + 'utm-content': 'UTM vsebina', + 'utm-description': 'Sledite svojim kampanjam s pomočjo UTM parametrov.', + 'utm-medium': 'UTM medij', + 'utm-source': 'UTM vir', + 'utm-term': 'UTM izraz', + 'version': 'Različica', + 'views-per-visit': 'Ogledov na obisk', + 'visits': 'Obiski' + }, + message: { + 'forbidden': 'Prepovedano', + 'not-found': 'Ni najdeno', + 'nothing-selected': 'Nič ni izbrano.', + 'sever-error': 'Napaka strežnika' + } + }, + 'hr-HR': { + label: { + 'account': 'Račun', + 'action': 'Radnja', + 'add-link': 'Dodaj poveznicu', + 'add-pixel': 'Dodaj piksel', + 'analysis': 'Analiza', + 'application': 'Aplikacija', + 'audience': 'Publika', + 'campaign': 'Kampanja', + 'channel': 'Kanal', + 'chart': 'Grafikon', + 'cohorts': 'Kohorte', + 'contains': 'Sadrži', + 'countries': 'Države', + 'criteria': 'Kriteriji', + 'destination-url': 'Odredišni URL', + 'documentation': 'Dokumentacija', + 'download': 'Preuzmi', + 'environment': 'Okruženje', + 'events': 'Događaji', + 'exclude-bounce': 'Isključi odbijanja', + 'filter': 'Filter', + 'filter-combined': 'Kombinirano', + 'filter-raw': 'Neobrađeno', + 'growth': 'Rast', + 'hour': 'Sat', + 'invalid-url': 'Nevaljani URL', + 'languages': 'Jezici', + 'laptop': 'Laptop', + 'link': 'Poveznica', + 'location': 'Lokacija', + 'minute': 'Minuta', + 'mobile': 'Mobilni', + 'model': 'Model', + 'month': 'Mjesec', + 'ok': 'U redu', + 'online': 'Na mreži', + 'os': 'OS', + 'page-views': 'Pregledi stranica', + 'pageTitle': 'Naslov stranice', + 'pages': 'Stranice', + 'pixel': 'Piksel', + 'powered-by': 'Pokreće {name}', + 'preferences': 'Postavke', + 'previous': 'Prethodno', + 'previous-period': 'Prethodno razdoblje', + 'previous-year': 'Prethodna godina', + 'profiles': 'Profili', + 'referrer': 'Izvor preporuke', + 'referrers': 'Izvori preporuke', + 'regenerate': 'Regeneriraj', + 'region': 'Regija', + 'regions': 'Regije', + 'remove': 'Ukloni', + 'remove-member': 'Ukloni člana', + 'reports': 'Izvješća', + 'retention': 'Zadržavanje', + 'retention-description': 'Izmjerite koliko je vaša stranica privlačna praćenjem koliko se često korisnici vraćaju.', + 'role': 'Uloga', + 'run-query': 'Pokreni upit', + 'save-cohort': 'Spremi kohortu', + 'save-segment': 'Spremi segment', + 'screen': 'Zaslon', + 'search': 'Pretraži', + 'segment': 'Segment', + 'segments': 'Segmenti', + 'select': 'Odaberi', + 'select-date': 'Odaberi datum', + 'select-role': 'Odaberi ulogu', + 'select-website': 'Odaberi web stranicu', + 'sessions': 'Sesije', + 'sms': 'SMS', + 'source': 'Izvor', + 'sum': 'Zbroj', + 'support': 'Podrška', + 'switch-account': 'Promijeni račun', + 'table': 'Tablica', + 'tablet': 'Tablet', + 'team': 'Tim', + 'team-id': 'ID tima', + 'team-manager': 'Upravitelj tima', + 'team-member': 'Član tima', + 'team-name': 'Naziv tima', + 'team-owner': 'Vlasnik tima', + 'team-view-only': 'Samo pregled za tim', + 'team-websites': 'Web stranice tima', + 'teams': 'Timovi', + 'term': 'Pojam pretrage', + 'title': 'Naslov', + 'toggle-charts': 'Prikaži/sakrij grafikone', + 'total': 'Ukupno', + 'total-records': 'Ukupno zapisa', + 'traffic': 'Promet', + 'transactions': 'Transakcije', + 'transfer': 'Prenesi', + 'transfer-website': 'Prenesi web stranicu', + 'true': 'Istina', + 'type': 'Vrsta', + 'unique': 'Jedinstveni', + 'unique-events': 'Jedinstveni događaji', + 'unique-visitors': 'Jedinstveni posjetitelji', + 'uniqueCustomers': 'Jedinstveni kupci', + 'untitled': 'Bez naslova', + 'update': 'Ažuriraj', + 'url': 'URL', + 'user': 'Korisnik', + 'users': 'Korisnici', + 'utm': 'UTM', + 'utm-campaign': 'UTM kampanja', + 'utm-content': 'UTM sadržaj', + 'utm-description': 'Pratite svoje kampanje pomoću UTM parametara.', + 'utm-medium': 'UTM medij', + 'utm-source': 'UTM izvor', + 'utm-term': 'UTM pojam', + 'value': 'Vrijednost', + 'version': 'Verzija', + 'view': 'Pregledaj', + 'view-only': 'Samo pregled', + 'views': 'Pregledi', + 'views-per-visit': 'Pregledi po posjetu', + 'visit-duration': 'Trajanje posjeta', + 'visitors': 'Posjetitelji', + 'visits': 'Posjeti', + 'website': 'Web stranica', + 'website-id': 'ID web stranice', + 'window': 'Prozor' + }, + message: { + 'action-confirmation': 'Upišite {confirmation} u polje ispod za potvrdu.', + 'bad-request': 'Neispravan zahtjev', + 'collected-data': 'Prikupljeni podaci', + 'confirm-leave': 'Jeste li sigurni da želite napustiti {target}?', + 'confirm-remove': 'Jeste li sigurni da želite ukloniti {target}?', + 'delete-team-warning': 'Brisanje tima će izbrisati i sve web stranice tima.', + 'delete-website-warning': 'Svi podaci web stranice bit će izbrisani.', + 'error': 'Nešto je pošlo po krivu.', + 'event-log': '{event} na {url}', + 'forbidden': 'Zabranjeno', + 'invalid-domain': 'Nevaljana domena. Ne uključujte http/https.', + 'min-password-length': 'Minimalna duljina od {n} znakova', + 'new-version-available': 'Dostupna je nova verzija Umami {version}!', + 'no-event-data': 'Nema dostupnih podataka o događajima.', + 'no-match-password': 'Lozinke se ne podudaraju.', + 'no-team-websites': 'Ovaj tim nema web stranica.', + 'no-teams': 'Niste stvorili nijedan tim.', + 'no-users': 'Nema korisnika.', + 'no-websites-configured': 'Nemate konfigurirane web stranice.', + 'not-found': 'Nije pronađeno', + 'nothing-selected': 'Ništa nije odabrano.', + 'reset-website': 'Za resetiranje ove web stranice upišite {confirmation} u polje ispod.', + 'reset-website-warning': 'Svi statistički podaci za ovu web stranicu bit će izbrisani, ali vaše postavke ostaju netaknute.', + 'saved': 'Spremljeno.', + 'sever-error': 'Greška poslužitelja', + 'team-already-member': 'Već ste član tima.', + 'team-not-found': 'Tim nije pronađen.', + 'team-websites-info': 'Web stranice može pregledati svatko u timu.', + 'tracking-code': 'Za praćenje statistike ove web stranice, postavite sljedeći kod u ... odjeljak vašeg HTML-a.', + 'transfer-team-website-to-user': 'Prenijeti ovu web stranicu na vaš račun?', + 'transfer-user-website-to-team': 'Odaberite tim na koji želite prenijeti ovu web stranicu.', + 'transfer-website': 'Prenesite vlasništvo web stranice na svoj račun ili drugi tim.', + 'triggered-event': 'Pokrenuti događaj', + 'unauthorized': 'Neautorizirano', + 'user-deleted': 'Korisnik izbrisan.', + 'viewed-page': 'Pregledana stranica', + 'visitor-log': 'Posjetitelj iz {country} koristi {browser} na {os} {device}' + } + }, + 'bs-BA': { + label: { + 'account': 'Račun', + 'action': 'Radnja', + 'add-link': 'Dodaj link', + 'add-pixel': 'Dodaj piksel', + 'analysis': 'Analiza', + 'application': 'Aplikacija', + 'audience': 'Publika', + 'browser': 'Preglednik', + 'campaign': 'Kampanja', + 'channel': 'Kanal', + 'chart': 'Grafikon', + 'cohorts': 'Kohorte', + 'criteria': 'Kriteriji', + 'dashboard': 'Nadzorna ploča', + 'desktop': 'Desktop', + 'destination-url': 'Odredišni URL', + 'documentation': 'Dokumentacija', + 'download': 'Preuzmi', + 'environment': 'Okruženje', + 'exclude-bounce': 'Isključi odbijanja', + 'filter': 'Filter', + 'growth': 'Rast', + 'hour': 'Sat', + 'invalid-url': 'Nevažeći URL', + 'laptop': 'Laptop', + 'last-seen': 'Zadnji put viđen', + 'link': 'Link', + 'location': 'Lokacija', + 'login': 'Prijava', + 'logout': 'Odjava', + 'manage': 'Upravljaj', + 'max': 'Maks', + 'min': 'Min', + 'minute': 'Minuta', + 'mobile': 'Mobilni', + 'model': 'Model', + 'month': 'Mjesec', + 'ok': 'U redu', + 'online': 'Na mreži', + 'os': 'OS', + 'pixel': 'Piksel', + 'preferences': 'Postavke', + 'previous': 'Prethodno', + 'previous-period': 'Prethodni period', + 'previous-year': 'Prethodna godina', + 'profiles': 'Profili', + 'region': 'Regija', + 'save-cohort': 'Spremi kohortu', + 'save-segment': 'Spremi segment', + 'screen': 'Ekran', + 'segment': 'Segment', + 'segments': 'Segmenti', + 'sms': 'SMS', + 'source': 'Izvor', + 'support': 'Podrška', + 'switch-account': 'Promijeni račun', + 'table': 'Tabela', + 'tablet': 'Tablet', + 'term': 'Pojam pretrage', + 'traffic': 'Promet', + 'transactions': 'Transakcije', + 'transfer': 'Prenesi', + 'unique-events': 'Jedinstveni događaji', + 'uniqueCustomers': 'Jedinstveni kupci', + 'update': 'Ažuriraj', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM kampanja', + 'utm-content': 'UTM sadržaj', + 'utm-medium': 'UTM medij', + 'utm-source': 'UTM izvor', + 'utm-term': 'UTM pojam', + 'version': 'Verzija' + }, + message: { + 'bad-request': 'Neispravan zahtjev', + 'collected-data': 'Prikupljeni podaci', + 'forbidden': 'Zabranjeno', + 'not-found': 'Nije pronađeno', + 'nothing-selected': 'Ništa nije odabrano.', + 'sever-error': 'Greška servera', + 'unauthorized': 'Neautorizirano' + } + }, + 'lt-LT': { + label: { + 'account': 'Paskyra', + 'action': 'Veiksmas', + 'add-link': 'Pridėti nuorodą', + 'add-pixel': 'Pridėti pikselį', + 'analysis': 'Analizė', + 'application': 'Programėlė', + 'audience': 'Auditorija', + 'campaign': 'Kampanija', + 'channel': 'Kanalas', + 'chart': 'Diagrama', + 'cohorts': 'Kohortos', + 'criteria': 'Kriterijai', + 'destination-url': 'Paskirties URL', + 'documentation': 'Dokumentacija', + 'download': 'Atsisiųsti', + 'environment': 'Aplinka', + 'exclude-bounce': 'Neįtraukti atmetimų', + 'growth': 'Augimas', + 'hour': 'Valanda', + 'invalid-url': 'Netinkamas URL', + 'link': 'Nuoroda', + 'location': 'Vieta', + 'minute': 'Minutė', + 'month': 'Mėnuo', + 'number-of-records': '{x} {x, plural, one {įrašas} few {įrašai} other {įrašų}}', + 'ok': 'Gerai', + 'online': 'Prisijungęs', + 'pixel': 'Pikselis', + 'powered-by': 'Teikia {name}', + 'preferences': 'Nuostatos', + 'profiles': 'Profiliai', + 'save-cohort': 'Išsaugoti kohortą', + 'save-segment': 'Išsaugoti segmentą', + 'screen': 'Ekranas', + 'segment': 'Segmentas', + 'segments': 'Segmentai', + 'sms': 'SMS', + 'source': 'Šaltinis', + 'support': 'Palaikymas', + 'switch-account': 'Perjungti paskyrą', + 'table': 'Lentelė', + 'term': 'Paieškos terminas', + 'total': 'Iš viso', + 'total-records': 'Iš viso įrašų', + 'traffic': 'Srautas', + 'transactions': 'Sandoriai', + 'true': 'Tiesa', + 'type': 'Tipas', + 'unique': 'Unikalūs', + 'unique-events': 'Unikalūs įvykiai', + 'uniqueCustomers': 'Unikalūs klientai', + 'update': 'Atnaujinti', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM kampanija', + 'utm-content': 'UTM turinys', + 'utm-description': 'Stebėkite savo kampanijas per UTM parametrus.', + 'utm-medium': 'UTM kanalas', + 'utm-source': 'UTM šaltinis', + 'utm-term': 'UTM terminas', + 'value': 'Reikšmė', + 'version': 'Versija', + 'views-per-visit': 'Peržiūros per apsilankymą', + 'visits': 'Apsilankymai', + 'window': 'Langas' + }, + message: { + 'bad-request': 'Netinkama užklausa', + 'collected-data': 'Surinkti duomenys', + 'event-log': '{event} puslapyje {url}', + 'forbidden': 'Draudžiama', + 'not-found': 'Nerasta', + 'nothing-selected': 'Nieko nepasirinkta.', + 'sever-error': 'Serverio klaida', + 'triggered-event': 'Suaktyvintas įvykis', + 'unauthorized': 'Neautorizuota', + 'viewed-page': 'Peržiūrėtas puslapis' + } + } +}; + +for (const [locale, trans] of Object.entries(translations)) { + const filePath = path.join(dir, locale + '.json'); + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + let count = 0; + for (const [section, keys] of Object.entries(trans)) { + for (const [key, value] of Object.entries(keys)) { + if (data[section] && key in data[section]) { + data[section][key] = value; + count++; + } + } + } + const sorted = {}; + for (const section of Object.keys(enUS)) { + if (data[section]) { + sorted[section] = {}; + for (const key of Object.keys(enUS[section])) { + if (key in data[section]) sorted[section][key] = data[section][key]; + } + for (const key of Object.keys(data[section])) { + if (!(key in sorted[section])) sorted[section][key] = data[section][key]; + } + } + } + fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); + console.log('Updated ' + locale + ': ' + count + ' keys'); +} diff --git a/scripts/translate-6-other-euro.cjs b/scripts/translate-6-other-euro.cjs new file mode 100644 index 000000000..084648f79 --- /dev/null +++ b/scripts/translate-6-other-euro.cjs @@ -0,0 +1,842 @@ +const fs = require('fs'); +const path = require('path'); +const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); +const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); + +const translations = { + 'hu-HU': { + label: { + 'account': 'Fiók', + 'action': 'Művelet', + 'add-link': 'Link hozzáadása', + 'add-pixel': 'Pixel hozzáadása', + 'analysis': 'Elemzés', + 'application': 'Alkalmazás', + 'audience': 'Közönség', + 'campaign': 'Kampány', + 'channel': 'Csatorna', + 'chart': 'Diagram', + 'cohorts': 'Kohorszok', + 'contains': 'Tartalmazza', + 'criteria': 'Feltételek', + 'destination-url': 'Cél URL', + 'documentation': 'Dokumentáció', + 'domain': 'Domain', + 'download': 'Letöltés', + 'environment': 'Környezet', + 'exclude-bounce': 'Visszafordulás kizárása', + 'filter': 'Szűrő', + 'growth': 'Növekedés', + 'hour': 'Óra', + 'invalid-url': 'Érvénytelen URL', + 'language': 'Nyelv', + 'languages': 'Nyelvek', + 'laptop': 'Laptop', + 'link': 'Link', + 'location': 'Helyszín', + 'minute': 'Perc', + 'model': 'Modell', + 'month': 'Hónap', + 'ok': 'OK', + 'online': 'Online', + 'os': 'Operációs rendszer', + 'pageTitle': 'Oldal címe', + 'pixel': 'Pixel', + 'preferences': 'Beállítások', + 'previous': 'Előző', + 'previous-period': 'Előző időszak', + 'previous-year': 'Előző év', + 'profiles': 'Profilok', + 'referrer': 'Hivatkozó', + 'regenerate': 'Újragenerálás', + 'region': 'Régió', + 'regions': 'Régiók', + 'remove': 'Eltávolítás', + 'remove-member': 'Tag eltávolítása', + 'reports': 'Jelentések', + 'retention': 'Megtartás', + 'retention-description': 'Mérje weboldalának megtartó erejét annak nyomon követésével, hogy milyen gyakran térnek vissza a felhasználók.', + 'role': 'Szerep', + 'run-query': 'Lekérdezés futtatása', + 'save-cohort': 'Kohorsz mentése', + 'save-segment': 'Szegmens mentése', + 'screen': 'Képernyő', + 'search': 'Keresés', + 'segment': 'Szegmens', + 'segments': 'Szegmensek', + 'select': 'Kiválasztás', + 'select-date': 'Dátum kiválasztása', + 'select-role': 'Szerep kiválasztása', + 'select-website': 'Weboldal kiválasztása', + 'sessions': 'Munkamenetek', + 'sms': 'SMS', + 'source': 'Forrás', + 'sum': 'Összeg', + 'support': 'Támogatás', + 'switch-account': 'Fiók váltása', + 'table': 'Táblázat', + 'team': 'Csapat', + 'team-id': 'Csapat-ID', + 'team-manager': 'Csapatmenedzser', + 'team-member': 'Csapattag', + 'team-name': 'Csapat neve', + 'team-owner': 'Csapat tulajdonosa', + 'team-view-only': 'Csak csapat megtekintés', + 'team-websites': 'Csapat weboldalai', + 'teams': 'Csapatok', + 'term': 'Keresőkifejezés', + 'theme': 'Téma', + 'title': 'Cím', + 'toggle-charts': 'Diagramok megjelenítése', + 'total': 'Összesen', + 'total-records': 'Összes rekord', + 'traffic': 'Forgalom', + 'transactions': 'Tranzakciók', + 'transfer': 'Átvitel', + 'transfer-website': 'Weboldal átvitele', + 'true': 'Igaz', + 'type': 'Típus', + 'unique': 'Egyedi', + 'unique-events': 'Egyedi események', + 'uniqueCustomers': 'Egyedi ügyfelek', + 'untitled': 'Névtelen', + 'update': 'Frissítés', + 'url': 'URL', + 'user': 'Felhasználó', + 'users': 'Felhasználók', + 'utm': 'UTM', + 'utm-campaign': 'UTM-kampány', + 'utm-content': 'UTM-tartalom', + 'utm-description': 'Kövesse nyomon kampányait UTM-paraméterekkel.', + 'utm-medium': 'UTM-médium', + 'utm-source': 'UTM-forrás', + 'utm-term': 'UTM-kifejezés', + 'value': 'Érték', + 'version': 'Verzió', + 'view': 'Megtekintés', + 'view-only': 'Csak megtekintés', + 'views-per-visit': 'Megtekintés/látogatás', + 'visits': 'Látogatások', + 'website': 'Weboldal', + 'website-id': 'Weboldal-ID', + 'window': 'Ablak', + 'yesterday': 'Tegnap' + }, + message: { + 'action-confirmation': 'Írja be a(z) {confirmation} szót az alábbi mezőbe a megerősítéshez.', + 'bad-request': 'Hibás kérés', + 'collected-data': 'Gyűjtött adatok', + 'confirm-leave': 'Biztosan el szeretné hagyni a(z) {target} csapatot?', + 'confirm-remove': 'Biztosan el szeretné távolítani a(z) {target} elemet?', + 'delete-team-warning': 'A csapat törlése az összes csapat weboldalt is törli.', + 'event-log': '{event} itt: {url}', + 'forbidden': 'Tiltott', + 'min-password-length': 'Minimum {n} karakter hosszúság', + 'new-version-available': 'Elérhető az Umami {version} új verziója!', + 'no-event-data': 'Nincs elérhető eseményadat.', + 'no-team-websites': 'Ennek a csapatnak nincsenek weboldalai.', + 'no-teams': 'Még nem hozott létre csapatot.', + 'no-users': 'Nincsenek felhasználók.', + 'not-found': 'Nem található', + 'nothing-selected': 'Semmi nincs kijelölve.', + 'reset-website': 'A weboldal visszaállításához írja be a(z) {confirmation} szót az alábbi mezőbe.', + 'sever-error': 'Szerverhiba', + 'team-already-member': 'Ön már tagja a csapatnak.', + 'team-not-found': 'Csapat nem található.', + 'team-websites-info': 'A weboldalakat a csapat bármely tagja megtekintheti.', + 'transfer-team-website-to-user': 'Átvinni ezt a weboldalt a fiókjába?', + 'transfer-user-website-to-team': 'Válassza ki a csapatot, amelyre át kívánja vinni a weboldalt.', + 'transfer-website': 'Vigye át a weboldal tulajdonjogát a fiókjába vagy egy másik csapatba.', + 'triggered-event': 'Kiváltott esemény', + 'unauthorized': 'Nincs jogosultság', + 'user-deleted': 'Felhasználó törölve.', + 'viewed-page': 'Megtekintett oldal' + } + }, + 'el-GR': { + label: { + 'access-code': 'Κωδικός πρόσβασης', + 'account': 'Λογαριασμός', + 'action': 'Ενέργεια', + 'add': 'Προσθήκη', + 'add-board': 'Προσθήκη πίνακα', + 'add-description': 'Προσθήκη περιγραφής', + 'add-link': 'Προσθήκη συνδέσμου', + 'add-member': 'Προσθήκη μέλους', + 'add-pixel': 'Προσθήκη pixel', + 'add-step': 'Προσθήκη βήματος', + 'affiliate': 'Συνεργάτης', + 'after': 'Μετά', + 'all': 'Όλα', + 'all-time': 'Από πάντα', + 'analysis': 'Ανάλυση', + 'analytics': 'Αναλυτικά', + 'application': 'Εφαρμογή', + 'apply': 'Εφαρμογή', + 'attribution': 'Απόδοση', + 'attribution-description': 'Δείτε πώς αλληλεπιδρούν οι χρήστες με το μάρκετινγκ και τι οδηγεί σε μετατροπές.', + 'audience': 'Κοινό', + 'average': 'Μέσος όρος', + 'before': 'Πριν', + 'boards': 'Πίνακες', + 'breakdown': 'Ανάλυση', + 'browser': 'Πρόγραμμα περιήγησης', + 'campaign': 'Καμπάνια', + 'campaigns': 'Καμπάνιες', + 'channel': 'Κανάλι', + 'channels': 'Κανάλια', + 'chart': 'Γράφημα', + 'cities': 'Πόλεις', + 'city': 'Πόλη', + 'clear-all': 'Εκκαθάριση όλων', + 'cohort': 'Κοόρτη', + 'cohorts': 'Κοόρτες', + 'compare': 'Σύγκριση', + 'compare-dates': 'Σύγκριση ημερομηνιών', + 'confirm': 'Επιβεβαίωση', + 'contains': 'Περιέχει', + 'content': 'Περιεχόμενο', + 'continue': 'Συνέχεια', + 'conversion': 'Μετατροπή', + 'conversion-rate': 'Ποσοστό μετατροπής', + 'conversion-step': 'Βήμα μετατροπής', + 'count': 'Πλήθος', + 'country': 'Χώρα', + 'create': 'Δημιουργία', + 'create-report': 'Δημιουργία αναφοράς', + 'create-team': 'Δημιουργία ομάδας', + 'create-user': 'Δημιουργία χρήστη', + 'created': 'Δημιουργήθηκε', + 'created-by': 'Δημιουργήθηκε από', + 'criteria': 'Κριτήρια', + 'currency': 'Νόμισμα', + 'current': 'Τρέχων', + 'data': 'Δεδομένα', + 'date': 'Ημερομηνία', + 'day': 'Ημέρα', + 'delete-report': 'Διαγραφή αναφοράς', + 'delete-team': 'Διαγραφή ομάδας', + 'delete-user': 'Διαγραφή χρήστη', + 'description': 'Περιγραφή', + 'destination-url': 'URL προορισμού', + 'details': 'Λεπτομέρειες', + 'device': 'Συσκευή', + 'direct': 'Άμεσο', + 'dismiss': 'Απόρριψη', + 'distinct-id': 'Μοναδικό ID', + 'documentation': 'Τεκμηρίωση', + 'does-not-contain': 'Δεν περιέχει', + 'does-not-include': 'Δεν περιλαμβάνει', + 'doest-not-exist': 'Δεν υπάρχει', + 'download': 'Λήψη', + 'dropoff': 'Εγκατάλειψη', + 'edit-dashboard': 'Επεξεργασία πίνακα ελέγχου', + 'edit-member': 'Επεξεργασία μέλους', + 'email': 'Email', + 'end-step': 'Τελικό βήμα', + 'environment': 'Περιβάλλον', + 'event': 'Συμβάν', + 'event-data': 'Δεδομένα συμβάντος', + 'event-name': 'Όνομα συμβάντος', + 'exclude-bounce': 'Εξαίρεση αναπήδησης', + 'exists': 'Υπάρχει', + 'false': 'Ψευδές', + 'field': 'Πεδίο', + 'fields': 'Πεδία', + 'filter': 'Φίλτρο', + 'filters': 'Φίλτρα', + 'first-click': 'Πρώτο κλικ', + 'first-seen': 'Πρώτη εμφάνιση', + 'funnel': 'Χωνί', + 'funnel-description': 'Κατανοήστε το ποσοστό μετατροπής και εγκατάλειψης χρηστών.', + 'funnels': 'Χωνιά', + 'goal': 'Στόχος', + 'goals': 'Στόχοι', + 'goals-description': 'Παρακολουθήστε τους στόχους σας για προβολές σελίδων και συμβάντα.', + 'greater-than': 'Μεγαλύτερο από', + 'greater-than-equals': 'Μεγαλύτερο ή ίσο', + 'grouped': 'Ομαδοποιημένα', + 'growth': 'Ανάπτυξη', + 'hostname': 'Όνομα κεντρικού υπολογιστή', + 'hour': 'Ώρα', + 'includes': 'Περιλαμβάνει', + 'insight': 'Πληροφορία', + 'insights': 'Πληροφορίες', + 'insights-description': 'Εμβαθύνετε στα δεδομένα σας χρησιμοποιώντας τμήματα και φίλτρα.', + 'invalid-url': 'Μη έγκυρο URL', + 'is': 'Είναι', + 'is-false': 'Είναι ψευδές', + 'is-not': 'Δεν είναι', + 'is-not-set': 'Δεν έχει οριστεί', + 'is-set': 'Έχει οριστεί', + 'is-true': 'Είναι αληθές', + 'join': 'Συμμετοχή', + 'join-team': 'Συμμετοχή σε ομάδα', + 'journey': 'Διαδρομή', + 'journey-description': 'Κατανοήστε πώς πλοηγούνται οι χρήστες στον ιστότοπό σας.', + 'journeys': 'Διαδρομές', + 'language': 'Γλώσσα', + 'languages': 'Γλώσσες', + 'last-click': 'Τελευταίο κλικ', + 'last-months': 'Τελευταίοι {x} μήνες', + 'last-seen': 'Τελευταία εμφάνιση', + 'leave': 'Αποχώρηση', + 'leave-team': 'Αποχώρηση από ομάδα', + 'less-than': 'Μικρότερο από', + 'less-than-equals': 'Μικρότερο ή ίσο', + 'link': 'Σύνδεσμος', + 'links': 'Σύνδεσμοι', + 'location': 'Τοποθεσία', + 'manage': 'Διαχείριση', + 'manager': 'Διαχειριστής', + 'max': 'Μέγ', + 'medium': 'Μέσο', + 'member': 'Μέλος', + 'members': 'Μέλη', + 'min': 'Ελάχ', + 'minute': 'Λεπτό', + 'model': 'Μοντέλο', + 'month': 'Μήνας', + 'my-account': 'Ο λογαριασμός μου', + 'my-websites': 'Οι ιστότοποί μου', + 'none': 'Κανένα', + 'number-of-records': '{x} {x, plural, one {εγγραφή} other {εγγραφές}}', + 'ok': 'OK', + 'online': 'Σε σύνδεση', + 'organic-search': 'Οργανική αναζήτηση', + 'organic-shopping': 'Οργανικές αγορές', + 'organic-social': 'Οργανικά κοινωνικά', + 'organic-video': 'Οργανικό βίντεο', + 'os': 'ΛΣ', + 'other': 'Άλλο', + 'overview': 'Επισκόπηση', + 'owner': 'Ιδιοκτήτης', + 'page': 'Σελίδα', + 'page-of': 'Σελίδα {current} από {total}', + 'pageTitle': 'Τίτλος σελίδας', + 'paid-ads': 'Πληρωμένες διαφημίσεις', + 'paid-search': 'Πληρωμένη αναζήτηση', + 'paid-shopping': 'Πληρωμένες αγορές', + 'paid-social': 'Πληρωμένα κοινωνικά', + 'paid-video': 'Πληρωμένο βίντεο', + 'path': 'Διαδρομή', + 'paths': 'Διαδρομές', + 'pixel': 'Pixel', + 'pixels': 'Pixels', + 'preferences': 'Προτιμήσεις', + 'previous': 'Προηγούμενο', + 'previous-period': 'Προηγούμενη περίοδος', + 'previous-year': 'Προηγούμενο έτος', + 'profiles': 'Προφίλ', + 'properties': 'Ιδιότητες', + 'property': 'Ιδιότητα', + 'queries': 'Ερωτήματα', + 'query': 'Ερώτημα', + 'query-parameters': 'Παράμετροι ερωτήματος', + 'realtime': 'Πραγματικός χρόνος', + 'referral': 'Παραπομπή', + 'referrer': 'Παραπέμπων', + 'regenerate': 'Αναδημιουργία', + 'region': 'Περιφέρεια', + 'regions': 'Περιφέρειες', + 'remaining': 'Υπολειπόμενα', + 'remove': 'Αφαίρεση', + 'remove-member': 'Αφαίρεση μέλους', + 'reports': 'Αναφορές', + 'retention': 'Διατήρηση', + 'retention-description': 'Μετρήστε την ικανότητα διατήρησης χρηστών του ιστότοπού σας.', + 'revenue': 'Έσοδα', + 'role': 'Ρόλος', + 'run-query': 'Εκτέλεση ερωτήματος', + 'save-cohort': 'Αποθήκευση κοόρτης', + 'save-segment': 'Αποθήκευση τμήματος', + 'screen': 'Οθόνη', + 'screens': 'Οθόνες', + 'search': 'Αναζήτηση', + 'segment': 'Τμήμα', + 'segments': 'Τμήματα', + 'select': 'Επιλογή', + 'select-date': 'Επιλογή ημερομηνίας', + 'select-filter': 'Επιλογή φίλτρου', + 'select-role': 'Επιλογή ρόλου', + 'select-website': 'Επιλογή ιστότοπου', + 'session': 'Συνεδρία', + 'session-data': 'Δεδομένα συνεδρίας', + 'sessions': 'Συνεδρίες', + 'share': 'Κοινοποίηση', + 'sms': 'SMS', + 'source': 'Πηγή', + 'sources': 'Πηγές', + 'start-step': 'Αρχικό βήμα', + 'steps': 'Βήματα', + 'sum': 'Άθροισμα', + 'support': 'Υποστήριξη', + 'switch-account': 'Αλλαγή λογαριασμού', + 'table': 'Πίνακας', + 'tag': 'Ετικέτα', + 'tags': 'Ετικέτες', + 'team': 'Ομάδα', + 'team-id': 'ID ομάδας', + 'team-manager': 'Υπεύθυνος ομάδας', + 'team-member': 'Μέλος ομάδας', + 'team-name': 'Όνομα ομάδας', + 'team-owner': 'Ιδιοκτήτης ομάδας', + 'team-settings': 'Ρυθμίσεις ομάδας', + 'team-view-only': 'Μόνο προβολή ομάδας', + 'team-websites': 'Ιστότοποι ομάδας', + 'teams': 'Ομάδες', + 'term': 'Όρος αναζήτησης', + 'terms': 'Όροι', + 'theme': 'Θέμα', + 'title': 'Τίτλος', + 'toggle-charts': 'Εναλλαγή γραφημάτων', + 'total': 'Σύνολο', + 'total-records': 'Σύνολο εγγραφών', + 'traffic': 'Κίνηση', + 'transactions': 'Συναλλαγές', + 'transfer': 'Μεταφορά', + 'transfer-website': 'Μεταφορά ιστότοπου', + 'true': 'Αληθές', + 'type': 'Τύπος', + 'unique': 'Μοναδικό', + 'unique-events': 'Μοναδικά συμβάντα', + 'uniqueCustomers': 'Μοναδικοί πελάτες', + 'untitled': 'Χωρίς τίτλο', + 'update': 'Ενημέρωση', + 'url': 'URL', + 'user': 'Χρήστης', + 'users': 'Χρήστες', + 'utm': 'UTM', + 'utm-campaign': 'UTM Καμπάνια', + 'utm-content': 'UTM Περιεχόμενο', + 'utm-description': 'Παρακολουθήστε τις καμπάνιες σας μέσω παραμέτρων UTM.', + 'utm-medium': 'UTM Μέσο', + 'utm-source': 'UTM Πηγή', + 'utm-term': 'UTM Όρος', + 'value': 'Τιμή', + 'version': 'Έκδοση', + 'view': 'Προβολή', + 'view-only': 'Μόνο προβολή', + 'views-per-visit': 'Προβολές ανά επίσκεψη', + 'visits': 'Επισκέψεις', + 'website': 'Ιστότοπος', + 'website-id': 'ID ιστότοπου', + 'window': 'Παράθυρο', + 'yesterday': 'Χθες' + }, + message: { + 'action-confirmation': 'Πληκτρολογήστε {confirmation} στο παρακάτω πεδίο για επιβεβαίωση.', + 'bad-request': 'Μη έγκυρο αίτημα', + 'collected-data': 'Συλλεχθέντα δεδομένα', + 'confirm-leave': 'Είστε σίγουροι ότι θέλετε να αποχωρήσετε από {target};', + 'confirm-remove': 'Είστε σίγουροι ότι θέλετε να αφαιρέσετε {target};', + 'delete-team-warning': 'Η διαγραφή μιας ομάδας θα διαγράψει επίσης όλους τους ιστότοπους της ομάδας.', + 'event-log': '{event} στο {url}', + 'forbidden': 'Απαγορευμένο', + 'min-password-length': 'Ελάχιστο μήκος {n} χαρακτήρων', + 'new-version-available': 'Μια νέα έκδοση του Umami {version} είναι διαθέσιμη!', + 'no-event-data': 'Δεν υπάρχουν διαθέσιμα δεδομένα συμβάντων.', + 'no-team-websites': 'Αυτή η ομάδα δεν έχει ιστότοπους.', + 'no-teams': 'Δεν έχετε δημιουργήσει ομάδες.', + 'no-users': 'Δεν υπάρχουν χρήστες.', + 'not-found': 'Δεν βρέθηκε', + 'nothing-selected': 'Τίποτα δεν έχει επιλεγεί.', + 'reset-website': 'Για να επαναφέρετε αυτόν τον ιστότοπο, πληκτρολογήστε {confirmation} στο παρακάτω πεδίο.', + 'sever-error': 'Σφάλμα διακομιστή', + 'team-already-member': 'Είστε ήδη μέλος της ομάδας.', + 'team-not-found': 'Η ομάδα δεν βρέθηκε.', + 'team-websites-info': 'Οι ιστότοποι μπορούν να προβληθούν από οποιονδήποτε στην ομάδα.', + 'transfer-team-website-to-user': 'Μεταφορά αυτού του ιστότοπου στον λογαριασμό σας;', + 'transfer-user-website-to-team': 'Επιλέξτε την ομάδα για μεταφορά αυτού του ιστότοπου.', + 'transfer-website': 'Μεταφέρετε την ιδιοκτησία του ιστότοπου στον λογαριασμό σας ή σε άλλη ομάδα.', + 'triggered-event': 'Ενεργοποιημένο συμβάν', + 'unauthorized': 'Μη εξουσιοδοτημένο', + 'user-deleted': 'Ο χρήστης διαγράφηκε.', + 'viewed-page': 'Προβολή σελίδας', + 'visitor-log': 'Επισκέπτης από {country} χρησιμοποιώντας {browser} σε {os} {device}' + } + }, + 'tr-TR': { + label: { + 'account': 'Hesap', + 'action': 'Eylem', + 'add-link': 'Bağlantı ekle', + 'add-pixel': 'Piksel ekle', + 'analysis': 'Analiz', + 'application': 'Uygulama', + 'audience': 'Kitle', + 'campaign': 'Kampanya', + 'channel': 'Kanal', + 'chart': 'Grafik', + 'cohorts': 'Kohortlar', + 'criteria': 'Kriterler', + 'destination-url': 'Hedef URL', + 'documentation': 'Dokümantasyon', + 'download': 'İndir', + 'email': 'E-posta', + 'end-step': 'Son adım', + 'environment': 'Ortam', + 'exclude-bounce': 'Hemen çıkışı hariç tut', + 'first-seen': 'İlk görülme', + 'growth': 'Büyüme', + 'hour': 'Saat', + 'insights': 'İçgörüler', + 'invalid-url': 'Geçersiz URL', + 'is': 'Eşittir', + 'link': 'Bağlantı', + 'location': 'Konum', + 'manager': 'Yönetici', + 'max': 'Maks', + 'min': 'Min', + 'minute': 'Dakika', + 'model': 'Model', + 'month': 'Ay', + 'number-of-records': '{x} {x, plural, one {kayıt} other {kayıt}}', + 'online': 'Çevrimiçi', + 'os': 'İşletim Sistemi', + 'pixel': 'Piksel', + 'preferences': 'Tercihler', + 'profiles': 'Profiller', + 'referrer': 'Yönlendiren', + 'save-cohort': 'Kohortu kaydet', + 'save-segment': 'Segmenti kaydet', + 'screen': 'Ekran', + 'segment': 'Segment', + 'segments': 'Segmentler', + 'sessions': 'Oturumlar', + 'sms': 'SMS', + 'source': 'Kaynak', + 'start-step': 'Başlangıç adımı', + 'support': 'Destek', + 'switch-account': 'Hesap değiştir', + 'table': 'Tablo', + 'tablet': 'Tablet', + 'term': 'Arama terimi', + 'traffic': 'Trafik', + 'transactions': 'İşlemler', + 'transfer': 'Transfer', + 'unique-events': 'Benzersiz etkinlikler', + 'uniqueCustomers': 'Benzersiz müşteriler', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM Kampanya', + 'utm-content': 'UTM İçerik', + 'utm-medium': 'UTM Ortam', + 'utm-source': 'UTM Kaynak', + 'utm-term': 'UTM Terim', + 'version': 'Sürüm', + 'website-id': 'Web sitesi ID' + }, + message: { + 'bad-request': 'Geçersiz istek', + 'collected-data': 'Toplanan veriler', + 'event-log': '{event} sayfasında {url}', + 'forbidden': 'Yasaklandı', + 'not-found': 'Bulunamadı', + 'nothing-selected': 'Hiçbir şey seçilmedi.', + 'sever-error': 'Sunucu hatası', + 'unauthorized': 'Yetkisiz' + } + }, + 'ar-SA': { + label: { + 'account': 'حساب', + 'action': 'إجراء', + 'add-link': 'إضافة رابط', + 'add-pixel': 'إضافة بكسل', + 'affiliate': 'شريك تسويقي', + 'analysis': 'تحليل', + 'application': 'تطبيق', + 'audience': 'جمهور', + 'campaign': 'حملة', + 'channel': 'قناة', + 'chart': 'مخطط', + 'cohorts': 'مجموعات', + 'criteria': 'معايير', + 'destination-url': 'رابط الوجهة', + 'documentation': 'التوثيق', + 'download': 'تحميل', + 'email': 'بريد إلكتروني', + 'environment': 'بيئة', + 'exclude-bounce': 'استبعاد الارتداد', + 'growth': 'نمو', + 'hour': 'ساعة', + 'invalid-url': 'رابط غير صالح', + 'link': 'رابط', + 'location': 'موقع', + 'minute': 'دقيقة', + 'month': 'شهر', + 'online': 'متصل', + 'pixel': 'بكسل', + 'preferences': 'التفضيلات', + 'profiles': 'الملفات الشخصية', + 'save-cohort': 'حفظ المجموعة', + 'save-segment': 'حفظ الشريحة', + 'screen': 'شاشة', + 'segment': 'شريحة', + 'segments': 'شرائح', + 'sms': 'رسالة نصية', + 'source': 'مصدر', + 'support': 'دعم', + 'switch-account': 'تبديل الحساب', + 'table': 'جدول', + 'term': 'مصطلح البحث', + 'traffic': 'حركة المرور', + 'unique-events': 'أحداث فريدة', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM حملة', + 'utm-content': 'UTM محتوى', + 'utm-medium': 'UTM وسيط', + 'utm-source': 'UTM مصدر', + 'utm-term': 'UTM مصطلح', + 'version': 'إصدار' + }, + message: { + 'bad-request': 'طلب غير صالح', + 'forbidden': 'محظور', + 'not-found': 'غير موجود', + 'nothing-selected': 'لم يتم تحديد شيء.', + 'sever-error': 'خطأ في الخادم', + 'unauthorized': 'غير مصرح' + } + }, + 'fa-IR': { + label: { + 'account': 'حساب کاربری', + 'action': 'عملیات', + 'add-link': 'افزودن لینک', + 'add-pixel': 'افزودن پیکسل', + 'analysis': 'تحلیل', + 'application': 'برنامه', + 'audience': 'مخاطبان', + 'campaign': 'کمپین', + 'channel': 'کانال', + 'chart': 'نمودار', + 'cohorts': 'گروه‌ها', + 'criteria': 'معیارها', + 'destination-url': 'URL مقصد', + 'documentation': 'مستندات', + 'download': 'دانلود', + 'environment': 'محیط', + 'exclude-bounce': 'حذف نرخ پرش', + 'growth': 'رشد', + 'hour': 'ساعت', + 'invalid-url': 'URL نامعتبر', + 'link': 'لینک', + 'location': 'موقعیت', + 'minute': 'دقیقه', + 'month': 'ماه', + 'number-of-records': '{x} {x, plural, one {رکورد} other {رکورد}}', + 'online': 'آنلاین', + 'pixel': 'پیکسل', + 'preferences': 'تنظیمات', + 'profiles': 'پروفایل‌ها', + 'save-cohort': 'ذخیره گروه', + 'save-segment': 'ذخیره بخش', + 'screen': 'صفحه نمایش', + 'segment': 'بخش', + 'segments': 'بخش‌ها', + 'sms': 'پیامک', + 'source': 'منبع', + 'support': 'پشتیبانی', + 'switch-account': 'تغییر حساب', + 'table': 'جدول', + 'term': 'عبارت جستجو', + 'traffic': 'ترافیک', + 'unique-events': 'رویدادهای یکتا', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM کمپین', + 'utm-content': 'UTM محتوا', + 'utm-medium': 'UTM رسانه', + 'utm-source': 'UTM منبع', + 'utm-term': 'UTM عبارت', + 'version': 'نسخه' + }, + message: { + 'bad-request': 'درخواست نامعتبر', + 'forbidden': 'ممنوع', + 'not-found': 'یافت نشد', + 'nothing-selected': 'چیزی انتخاب نشده است.', + 'sever-error': 'خطای سرور', + 'unauthorized': 'غیرمجاز' + } + }, + 'he-IL': { + label: { + 'account': 'חשבון', + 'action': 'פעולה', + 'add-link': 'הוספת קישור', + 'add-pixel': 'הוספת פיקסל', + 'analysis': 'ניתוח', + 'application': 'יישום', + 'audience': 'קהל', + 'campaign': 'מסע פרסום', + 'channel': 'ערוץ', + 'chart': 'תרשים', + 'cohorts': 'קוהורטות', + 'contains': 'מכיל', + 'criteria': 'קריטריונים', + 'destination-url': 'כתובת יעד', + 'documentation': 'תיעוד', + 'download': 'הורדה', + 'environment': 'סביבה', + 'exclude-bounce': 'החרג נטישה', + 'filter': 'סינון', + 'growth': 'צמיחה', + 'hour': 'שעה', + 'invalid-url': 'כתובת לא תקינה', + 'language': 'שפה', + 'languages': 'שפות', + 'link': 'קישור', + 'location': 'מיקום', + 'minute': 'דקה', + 'model': 'דגם', + 'month': 'חודש', + 'ok': 'אישור', + 'online': 'מחובר', + 'os': 'מערכת הפעלה', + 'pageTitle': 'כותרת עמוד', + 'pixel': 'פיקסל', + 'powered-by': 'מופעל על ידי {name}', + 'preferences': 'העדפות', + 'previous': 'הקודם', + 'previous-period': 'תקופה קודמת', + 'previous-year': 'שנה קודמת', + 'profiles': 'פרופילים', + 'referrer': 'מפנה', + 'regenerate': 'ייצור מחדש', + 'region': 'אזור', + 'regions': 'אזורים', + 'remove': 'הסרה', + 'remove-member': 'הסרת חבר', + 'reports': 'דוחות', + 'retention': 'שימור', + 'retention-description': 'מדדו את מידת ההיצמדות לאתר שלכם על ידי מעקב אחר תדירות חזרת המשתמשים.', + 'role': 'תפקיד', + 'run-query': 'הרץ שאילתה', + 'save-cohort': 'שמור קוהורטה', + 'save-segment': 'שמור מקטע', + 'screen': 'מסך', + 'search': 'חיפוש', + 'segment': 'מקטע', + 'segments': 'מקטעים', + 'select': 'בחירה', + 'select-date': 'בחר תאריך', + 'select-role': 'בחר תפקיד', + 'select-website': 'בחר אתר', + 'sessions': 'הפעלות', + 'sms': 'SMS', + 'source': 'מקור', + 'sum': 'סכום', + 'support': 'תמיכה', + 'switch-account': 'החלף חשבון', + 'table': 'טבלה', + 'team': 'צוות', + 'team-id': 'מזהה צוות', + 'team-manager': 'מנהל צוות', + 'team-member': 'חבר צוות', + 'team-name': 'שם צוות', + 'team-owner': 'בעלי צוות', + 'team-view-only': 'צפייה בלבד בצוות', + 'team-websites': 'אתרי צוות', + 'teams': 'צוותות', + 'term': 'מונח חיפוש', + 'theme': 'ערכת נושא', + 'title': 'כותרת', + 'toggle-charts': 'הצג/הסתר תרשימים', + 'total': 'סה"כ', + 'total-records': 'סה"כ רשומות', + 'traffic': 'תעבורה', + 'transactions': 'עסקאות', + 'transfer': 'העברה', + 'transfer-website': 'העברת אתר', + 'true': 'אמת', + 'type': 'סוג', + 'unique': 'ייחודי', + 'unique-events': 'אירועים ייחודיים', + 'uniqueCustomers': 'לקוחות ייחודיים', + 'untitled': 'ללא כותרת', + 'update': 'עדכון', + 'url': 'URL', + 'user': 'משתמש', + 'users': 'משתמשים', + 'utm': 'UTM', + 'utm-campaign': 'UTM מסע פרסום', + 'utm-content': 'UTM תוכן', + 'utm-description': 'עקבו אחר מסעות הפרסום שלכם באמצעות פרמטרי UTM.', + 'utm-medium': 'UTM מדיה', + 'utm-source': 'UTM מקור', + 'utm-term': 'UTM מונח', + 'value': 'ערך', + 'version': 'גרסה', + 'view': 'צפייה', + 'view-only': 'צפייה בלבד', + 'views-per-visit': 'צפיות לביקור', + 'visits': 'ביקורים', + 'website': 'אתר', + 'website-id': 'מזהה אתר', + 'window': 'חלון', + 'yesterday': 'אתמול' + }, + message: { + 'action-confirmation': 'הקלידו {confirmation} בתיבה למטה לאישור.', + 'bad-request': 'בקשה שגויה', + 'collected-data': 'נתונים שנאספו', + 'confirm-leave': 'האם אתם בטוחים שברצונכם לעזוב את {target}?', + 'confirm-remove': 'האם אתם בטוחים שברצונכם להסיר את {target}?', + 'delete-team-warning': 'מחיקת צוות תמחק גם את כל אתרי הצוות.', + 'event-log': '{event} ב-{url}', + 'forbidden': 'אסור', + 'min-password-length': 'אורך מינימלי של {n} תווים', + 'new-version-available': 'גרסה חדשה של Umami {version} זמינה!', + 'no-event-data': 'אין נתוני אירועים זמינים.', + 'no-team-websites': 'לצוות זה אין אתרים.', + 'no-teams': 'לא יצרתם צוותות.', + 'no-users': 'אין משתמשים.', + 'not-found': 'לא נמצא', + 'nothing-selected': 'לא נבחר דבר.', + 'reset-website': 'לאיפוס אתר זה, הקלידו {confirmation} בתיבה למטה לאישור.', + 'sever-error': 'שגיאת שרת', + 'team-already-member': 'אתם כבר חברים בצוות.', + 'team-not-found': 'צוות לא נמצא.', + 'team-websites-info': 'האתרים ניתנים לצפייה על ידי כל חברי הצוות.', + 'transfer-team-website-to-user': 'להעביר אתר זה לחשבון שלכם?', + 'transfer-user-website-to-team': 'בחרו את הצוות אליו להעביר אתר זה.', + 'transfer-website': 'העבירו את בעלות האתר לחשבון שלכם או לצוות אחר.', + 'triggered-event': 'אירוע שהופעל', + 'unauthorized': 'לא מורשה', + 'user-deleted': 'משתמש נמחק.', + 'viewed-page': 'עמוד שנצפה' + } + } +}; + +for (const [locale, trans] of Object.entries(translations)) { + const filePath = path.join(dir, locale + '.json'); + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + let count = 0; + for (const [section, keys] of Object.entries(trans)) { + for (const [key, value] of Object.entries(keys)) { + if (data[section] && key in data[section]) { + data[section][key] = value; + count++; + } + } + } + const sorted = {}; + for (const section of Object.keys(enUS)) { + if (data[section]) { + sorted[section] = {}; + for (const key of Object.keys(enUS[section])) { + if (key in data[section]) sorted[section][key] = data[section][key]; + } + for (const key of Object.keys(data[section])) { + if (!(key in sorted[section])) sorted[section][key] = data[section][key]; + } + } + } + fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); + console.log('Updated ' + locale + ': ' + count + ' keys'); +} diff --git a/scripts/translate-7-asian.cjs b/scripts/translate-7-asian.cjs new file mode 100644 index 000000000..9fe2bf1af --- /dev/null +++ b/scripts/translate-7-asian.cjs @@ -0,0 +1,663 @@ +const fs = require('fs'); +const path = require('path'); +const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); +const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); + +const translations = { + 'hi-IN': { + label: { + 'account': 'खाता', + 'action': 'कार्रवाई', + 'add-link': 'लिंक जोड़ें', + 'add-pixel': 'पिक्सेल जोड़ें', + 'analysis': 'विश्लेषण', + 'application': 'एप्लिकेशन', + 'audience': 'दर्शक', + 'campaign': 'अभियान', + 'channel': 'चैनल', + 'chart': 'चार्ट', + 'cohorts': 'कोहॉर्ट', + 'criteria': 'मानदंड', + 'destination-url': 'गंतव्य URL', + 'documentation': 'प्रलेखन', + 'download': 'डाउनलोड', + 'dropoff': 'ड्रॉपऑफ', + 'environment': 'वातावरण', + 'exclude-bounce': 'बाउंस को बाहर करें', + 'growth': 'वृद्धि', + 'hour': 'घंटा', + 'invalid-url': 'अमान्य URL', + 'link': 'लिंक', + 'location': 'स्थान', + 'minute': 'मिनट', + 'month': 'महीना', + 'number-of-records': '{x} {x, plural, one {रिकॉर्ड} other {रिकॉर्ड}}', + 'ok': 'ठीक है', + 'online': 'ऑनलाइन', + 'os': 'OS', + 'pixel': 'पिक्सेल', + 'preferences': 'प्राथमिकताएँ', + 'previous': 'पिछला', + 'previous-period': 'पिछली अवधि', + 'previous-year': 'पिछला वर्ष', + 'profiles': 'प्रोफ़ाइल', + 'save-cohort': 'कोहॉर्ट सहेजें', + 'save-segment': 'सेगमेंट सहेजें', + 'screen': 'स्क्रीन', + 'segment': 'सेगमेंट', + 'segments': 'सेगमेंट', + 'sms': 'SMS', + 'source': 'स्रोत', + 'support': 'सहायता', + 'switch-account': 'खाता बदलें', + 'table': 'तालिका', + 'term': 'खोज शब्द', + 'title': 'शीर्षक', + 'toggle-charts': 'चार्ट दिखाएँ/छिपाएँ', + 'total': 'कुल', + 'total-records': 'कुल रिकॉर्ड', + 'traffic': 'ट्रैफ़िक', + 'transactions': 'लेनदेन', + 'transfer': 'स्थानांतरण', + 'transfer-website': 'वेबसाइट स्थानांतरित करें', + 'true': 'सत्य', + 'type': 'प्रकार', + 'unique': 'अद्वितीय', + 'unique-events': 'अद्वितीय ईवेंट', + 'uniqueCustomers': 'अद्वितीय ग्राहक', + 'untitled': 'बिना शीर्षक', + 'update': 'अपडेट', + 'url': 'URL', + 'user': 'उपयोगकर्ता', + 'users': 'उपयोगकर्ता', + 'utm': 'UTM', + 'utm-campaign': 'UTM अभियान', + 'utm-content': 'UTM सामग्री', + 'utm-description': 'UTM पैरामीटर के माध्यम से अपने अभियानों को ट्रैक करें।', + 'utm-medium': 'UTM माध्यम', + 'utm-source': 'UTM स्रोत', + 'utm-term': 'UTM शब्द', + 'value': 'मान', + 'version': 'संस्करण', + 'view': 'देखें', + 'view-only': 'केवल देखें', + 'views-per-visit': 'प्रति विज़िट दृश्य', + 'visits': 'विज़िट', + 'website': 'वेबसाइट', + 'website-id': 'वेबसाइट ID', + 'window': 'विंडो', + 'yesterday': 'कल' + }, + message: { + 'action-confirmation': 'पुष्टि करने के लिए नीचे बॉक्स में {confirmation} टाइप करें।', + 'bad-request': 'अमान्य अनुरोध', + 'collected-data': 'एकत्रित डेटा', + 'confirm-leave': 'क्या आप वाकई {target} छोड़ना चाहते हैं?', + 'confirm-remove': 'क्या आप वाकई {target} को हटाना चाहते हैं?', + 'delete-team-warning': 'टीम हटाने से टीम की सभी वेबसाइटें भी हट जाएँगी।', + 'event-log': '{url} पर {event}', + 'forbidden': 'प्रतिबंधित', + 'min-password-length': 'न्यूनतम {n} वर्ण', + 'new-version-available': 'Umami {version} का नया संस्करण उपलब्ध है!', + 'no-event-data': 'कोई ईवेंट डेटा उपलब्ध नहीं है।', + 'no-team-websites': 'इस टीम के पास कोई वेबसाइट नहीं है।', + 'no-teams': 'आपने कोई टीम नहीं बनाई है।', + 'no-users': 'कोई उपयोगकर्ता नहीं हैं।', + 'not-found': 'नहीं मिला', + 'nothing-selected': 'कुछ भी चयनित नहीं है।', + 'reset-website': 'इस वेबसाइट को रीसेट करने के लिए, नीचे बॉक्स में {confirmation} टाइप करें।', + 'sever-error': 'सर्वर त्रुटि', + 'team-already-member': 'आप पहले से ही टीम के सदस्य हैं।', + 'team-not-found': 'टीम नहीं मिली।', + 'team-websites-info': 'वेबसाइटें टीम के किसी भी सदस्य द्वारा देखी जा सकती हैं।', + 'transfer-team-website-to-user': 'इस वेबसाइट को अपने खाते में स्थानांतरित करें?', + 'transfer-user-website-to-team': 'इस वेबसाइट को स्थानांतरित करने के लिए टीम चुनें।', + 'transfer-website': 'वेबसाइट का स्वामित्व अपने खाते या किसी अन्य टीम में स्थानांतरित करें।', + 'triggered-event': 'ट्रिगर किया गया ईवेंट', + 'unauthorized': 'अनधिकृत', + 'user-deleted': 'उपयोगकर्ता हटाया गया।', + 'viewed-page': 'देखा गया पेज' + } + }, + 'id-ID': { + label: { + 'account': 'Akun', + 'action': 'Tindakan', + 'add-link': 'Tambah tautan', + 'add-pixel': 'Tambah piksel', + 'analysis': 'Analisis', + 'application': 'Aplikasi', + 'audience': 'Audiens', + 'campaign': 'Kampanye', + 'channel': 'Saluran', + 'chart': 'Grafik', + 'cohorts': 'Kohort', + 'criteria': 'Kriteria', + 'data': 'Data', + 'desktop': 'Desktop', + 'destination-url': 'URL tujuan', + 'documentation': 'Dokumentasi', + 'domain': 'Domain', + 'download': 'Unduh', + 'email': 'Email', + 'environment': 'Lingkungan', + 'exclude-bounce': 'Kecualikan pantulan', + 'filter': 'Filter', + 'filters': 'Filter', + 'funnel': 'Corong', + 'growth': 'Pertumbuhan', + 'hour': 'Jam', + 'invalid-url': 'URL tidak valid', + 'laptop': 'Laptop', + 'link': 'Tautan', + 'location': 'Lokasi', + 'minute': 'Menit', + 'model': 'Model', + 'month': 'Bulan', + 'ok': 'OK', + 'online': 'Daring', + 'os': 'OS', + 'pixel': 'Piksel', + 'preferences': 'Preferensi', + 'profiles': 'Profil', + 'role': 'Peran', + 'run-query': 'Jalankan kueri', + 'save-cohort': 'Simpan kohort', + 'save-segment': 'Simpan segmen', + 'screen': 'Layar', + 'segment': 'Segmen', + 'segments': 'Segmen', + 'sms': 'SMS', + 'source': 'Sumber', + 'sum': 'Jumlah', + 'support': 'Dukungan', + 'switch-account': 'Ganti akun', + 'table': 'Tabel', + 'tablet': 'Tablet', + 'tag': 'Tag', + 'team-view-only': 'Hanya lihat tim', + 'term': 'Kata kunci', + 'total': 'Total', + 'traffic': 'Lalu lintas', + 'transfer': 'Transfer', + 'unique-events': 'Event unik', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM Kampanye', + 'utm-content': 'UTM Konten', + 'utm-medium': 'UTM Media', + 'utm-source': 'UTM Sumber', + 'utm-term': 'UTM Kata Kunci', + 'version': 'Versi', + 'window': 'Jendela' + }, + message: { + 'bad-request': 'Permintaan tidak valid', + 'event-log': '{event} di {url}', + 'forbidden': 'Dilarang', + 'not-found': 'Tidak ditemukan', + 'nothing-selected': 'Tidak ada yang dipilih.', + 'sever-error': 'Kesalahan server', + 'unauthorized': 'Tidak diotorisasi' + } + }, + 'ms-MY': { + label: { + 'access-code': 'Kod akses', + 'account': 'Akaun', + 'action': 'Tindakan', + 'add': 'Tambah', + 'add-board': 'Tambah papan', + 'add-description': 'Tambah penerangan', + 'add-link': 'Tambah pautan', + 'add-member': 'Tambah ahli', + 'add-pixel': 'Tambah piksel', + 'add-step': 'Tambah langkah', + 'affiliate': 'Gabungan', + 'after': 'Selepas', + 'all-time': 'Sepanjang masa', + 'analysis': 'Analisis', + 'analytics': 'Analitik', + 'application': 'Aplikasi', + 'apply': 'Terapkan', + 'attribution': 'Atribusi', + 'attribution-description': 'Lihat bagaimana pengguna berinteraksi dengan pemasaran anda dan apa yang mendorong penukaran.', + 'audience': 'Khalayak', + 'average': 'Purata', + 'before': 'Sebelum', + 'behavior': 'Tingkah laku', + 'boards': 'Papan', + 'breakdown': 'Pecahan', + 'browser': 'Pelayar', + 'campaign': 'Kempen', + 'campaigns': 'Kempen', + 'channel': 'Saluran', + 'channels': 'Saluran', + 'chart': 'Carta', + 'cities': 'Bandar', + 'city': 'Bandar', + 'clear-all': 'Kosongkan semua', + 'cohort': 'Kohort', + 'cohorts': 'Kohort', + 'compare': 'Bandingkan', + 'compare-dates': 'Bandingkan tarikh', + 'confirm': 'Sahkan', + 'contains': 'Mengandungi', + 'content': 'Kandungan', + 'continue': 'Teruskan', + 'conversion': 'Penukaran', + 'conversion-rate': 'Kadar penukaran', + 'conversion-step': 'Langkah penukaran', + 'count': 'Bilangan', + 'country': 'Negara', + 'create': 'Cipta', + 'create-report': 'Cipta laporan', + 'create-team': 'Cipta pasukan', + 'create-user': 'Cipta pengguna', + 'created': 'Dicipta', + 'created-by': 'Dicipta oleh', + 'criteria': 'Kriteria', + 'currency': 'Mata wang', + 'current': 'Semasa', + 'data': 'Data', + 'date': 'Tarikh', + 'day': 'Hari', + 'delete-report': 'Padam laporan', + 'delete-team': 'Padam pasukan', + 'delete-user': 'Padam pengguna', + 'description': 'Penerangan', + 'desktop': 'Desktop', + 'destination-url': 'URL destinasi', + 'details': 'Butiran', + 'device': 'Peranti', + 'direct': 'Terus', + 'distinct-id': 'ID unik', + 'documentation': 'Dokumentasi', + 'does-not-contain': 'Tidak mengandungi', + 'does-not-include': 'Tidak termasuk', + 'doest-not-exist': 'Tidak wujud', + 'domain': 'Domain', + 'download': 'Muat turun', + 'dropoff': 'Tercicir', + 'edit': 'Sunting', + 'edit-dashboard': 'Sunting papan pemuka', + 'edit-member': 'Sunting ahli', + 'email': 'E-mel', + 'end-step': 'Langkah akhir', + 'environment': 'Persekitaran', + 'event': 'Peristiwa', + 'event-data': 'Data peristiwa', + 'event-name': 'Nama peristiwa', + 'exclude-bounce': 'Kecualikan lantunan', + 'exists': 'Wujud', + 'false': 'Palsu', + 'field': 'Medan', + 'fields': 'Medan', + 'filter': 'Tapis', + 'filters': 'Tapis', + 'first-click': 'Klik pertama', + 'first-seen': 'Pertama dilihat', + 'funnel': 'Corong', + 'funnel-description': 'Fahami kadar penukaran dan tercicir pengguna.', + 'funnels': 'Corong', + 'goal': 'Matlamat', + 'goals': 'Matlamat', + 'goals-description': 'Jejaki matlamat anda untuk paparan halaman dan peristiwa.', + 'greater-than': 'Lebih besar dari', + 'greater-than-equals': 'Lebih besar atau sama', + 'grouped': 'Dikumpulkan', + 'growth': 'Pertumbuhan', + 'hostname': 'Nama hos', + 'hour': 'Jam', + 'includes': 'Termasuk', + 'insight': 'Wawasan', + 'insights': 'Wawasan', + 'insights-description': 'Terokai data anda dengan lebih mendalam menggunakan segmen dan tapis.', + 'invalid-url': 'URL tidak sah', + 'is': 'Adalah', + 'is-false': 'Adalah palsu', + 'is-not': 'Bukan', + 'is-not-set': 'Tidak ditetapkan', + 'is-set': 'Ditetapkan', + 'is-true': 'Adalah benar', + 'join': 'Sertai', + 'join-team': 'Sertai pasukan', + 'journey': 'Perjalanan', + 'journey-description': 'Fahami bagaimana pengguna menavigasi laman web anda.', + 'journeys': 'Perjalanan', + 'language': 'Bahasa', + 'languages': 'Bahasa', + 'laptop': 'Komputer riba', + 'last-click': 'Klik terakhir', + 'last-months': '{x} bulan lepas', + 'last-seen': 'Terakhir dilihat', + 'leave': 'Keluar', + 'leave-team': 'Keluar pasukan', + 'less-than': 'Kurang dari', + 'less-than-equals': 'Kurang atau sama', + 'link': 'Pautan', + 'links': 'Pautan', + 'location': 'Lokasi', + 'manage': 'Urus', + 'manager': 'Pengurus', + 'max': 'Maks', + 'medium': 'Medium', + 'member': 'Ahli', + 'members': 'Ahli', + 'min': 'Min', + 'minute': 'Minit', + 'model': 'Model', + 'month': 'Bulan', + 'my-account': 'Akaun saya', + 'my-websites': 'Laman web saya', + 'none': 'Tiada', + 'number-of-records': '{x} {x, plural, one {rekod} other {rekod}}', + 'ok': 'OK', + 'online': 'Dalam talian', + 'organic-search': 'Carian organik', + 'organic-shopping': 'Beli-belah organik', + 'organic-social': 'Sosial organik', + 'organic-video': 'Video organik', + 'os': 'OS', + 'other': 'Lain-lain', + 'overview': 'Gambaran keseluruhan', + 'owner': 'Pemilik', + 'page': 'Halaman', + 'page-of': 'Halaman {current} daripada {total}', + 'pageTitle': 'Tajuk halaman', + 'paid-ads': 'Iklan berbayar', + 'paid-search': 'Carian berbayar', + 'paid-shopping': 'Beli-belah berbayar', + 'paid-social': 'Sosial berbayar', + 'paid-video': 'Video berbayar', + 'path': 'Laluan', + 'paths': 'Laluan', + 'pixel': 'Piksel', + 'pixels': 'Piksel', + 'preferences': 'Keutamaan', + 'previous': 'Sebelumnya', + 'previous-period': 'Tempoh sebelumnya', + 'previous-year': 'Tahun sebelumnya', + 'profiles': 'Profil', + 'properties': 'Sifat', + 'property': 'Sifat', + 'queries': 'Pertanyaan', + 'query': 'Pertanyaan', + 'query-parameters': 'Parameter pertanyaan', + 'referral': 'Rujukan', + 'referrer': 'Perujuk', + 'regenerate': 'Jana semula', + 'region': 'Wilayah', + 'regions': 'Wilayah', + 'remaining': 'Baki', + 'remove': 'Buang', + 'remove-member': 'Buang ahli', + 'reports': 'Laporan', + 'retention': 'Pengekalan', + 'retention-description': 'Ukur kelekatan laman web anda dengan menjejaki kekerapan pengguna kembali.', + 'revenue': 'Hasil', + 'role': 'Peranan', + 'run-query': 'Jalankan pertanyaan', + 'save-cohort': 'Simpan kohort', + 'save-segment': 'Simpan segmen', + 'screen': 'Skrin', + 'screens': 'Skrin', + 'search': 'Cari', + 'segment': 'Segmen', + 'segments': 'Segmen', + 'select': 'Pilih', + 'select-date': 'Pilih tarikh', + 'select-filter': 'Pilih tapis', + 'select-role': 'Pilih peranan', + 'select-website': 'Pilih laman web', + 'session': 'Sesi', + 'session-data': 'Data sesi', + 'sessions': 'Sesi', + 'share': 'Kongsi', + 'sms': 'SMS', + 'source': 'Sumber', + 'sources': 'Sumber', + 'start-step': 'Langkah mula', + 'steps': 'Langkah', + 'sum': 'Jumlah', + 'support': 'Sokongan', + 'switch-account': 'Tukar akaun', + 'table': 'Jadual', + 'tablet': 'Tablet', + 'tag': 'Tag', + 'tags': 'Tag', + 'team': 'Pasukan', + 'team-id': 'ID pasukan', + 'team-manager': 'Pengurus pasukan', + 'team-member': 'Ahli pasukan', + 'team-name': 'Nama pasukan', + 'team-owner': 'Pemilik pasukan', + 'team-settings': 'Tetapan pasukan', + 'team-view-only': 'Lihat sahaja pasukan', + 'team-websites': 'Laman web pasukan', + 'teams': 'Pasukan', + 'term': 'Kata kunci', + 'terms': 'Syarat', + 'theme': 'Tema', + 'title': 'Tajuk', + 'toggle-charts': 'Togol carta', + 'total': 'Jumlah', + 'total-records': 'Jumlah rekod', + 'traffic': 'Trafik', + 'transactions': 'Transaksi', + 'transfer': 'Pindahkan', + 'transfer-website': 'Pindahkan laman web', + 'true': 'Benar', + 'type': 'Jenis', + 'unique': 'Unik', + 'unique-events': 'Peristiwa unik', + 'uniqueCustomers': 'Pelanggan unik', + 'untitled': 'Tanpa tajuk', + 'update': 'Kemas kini', + 'url': 'URL', + 'user': 'Pengguna', + 'users': 'Pengguna', + 'utm': 'UTM', + 'utm-campaign': 'UTM Kempen', + 'utm-content': 'UTM Kandungan', + 'utm-description': 'Jejaki kempen anda melalui parameter UTM.', + 'utm-medium': 'UTM Medium', + 'utm-source': 'UTM Sumber', + 'utm-term': 'UTM Kata Kunci', + 'value': 'Nilai', + 'version': 'Versi', + 'view': 'Lihat', + 'view-only': 'Lihat sahaja', + 'views-per-visit': 'Paparan per lawatan', + 'visits': 'Lawatan', + 'website': 'Laman web', + 'website-id': 'ID laman web', + 'window': 'Tetingkap', + 'yesterday': 'Semalam' + }, + message: { + 'action-confirmation': 'Taip {confirmation} dalam kotak di bawah untuk mengesahkan.', + 'bad-request': 'Permintaan tidak sah', + 'collected-data': 'Data yang dikumpul', + 'confirm-leave': 'Adakah anda pasti mahu meninggalkan {target}?', + 'confirm-remove': 'Adakah anda pasti mahu membuang {target}?', + 'delete-team-warning': 'Memadamkan pasukan juga akan memadamkan semua laman web pasukan.', + 'event-log': '{event} di {url}', + 'forbidden': 'Dilarang', + 'min-password-length': 'Panjang minimum {n} aksara', + 'new-version-available': 'Versi baharu Umami {version} tersedia!', + 'no-event-data': 'Tiada data peristiwa tersedia.', + 'no-team-websites': 'Pasukan ini tidak mempunyai laman web.', + 'no-teams': 'Anda belum mencipta sebarang pasukan.', + 'no-users': 'Tiada pengguna.', + 'not-found': 'Tidak dijumpai', + 'nothing-selected': 'Tiada yang dipilih.', + 'reset-website': 'Untuk menetapkan semula laman web ini, taip {confirmation} dalam kotak di bawah.', + 'sever-error': 'Ralat pelayan', + 'team-already-member': 'Anda sudah menjadi ahli pasukan.', + 'team-not-found': 'Pasukan tidak dijumpai.', + 'team-websites-info': 'Laman web boleh dilihat oleh sesiapa dalam pasukan.', + 'transfer-team-website-to-user': 'Pindahkan laman web ini ke akaun anda?', + 'transfer-user-website-to-team': 'Pilih pasukan untuk memindahkan laman web ini.', + 'transfer-website': 'Pindahkan pemilikan laman web ke akaun anda atau pasukan lain.', + 'triggered-event': 'Peristiwa yang dicetuskan', + 'unauthorized': 'Tidak dibenarkan', + 'user-deleted': 'Pengguna dipadamkan.', + 'viewed-page': 'Halaman dilihat' + } + }, + 'uz-UZ': { + label: { + 'account': 'Hisob', + 'action': 'Harakat', + 'add-link': 'Havola qo\'shish', + 'add-pixel': 'Piksel qo\'shish', + 'analysis': 'Tahlil', + 'application': 'Ilova', + 'audience': 'Auditoriya', + 'campaign': 'Kampaniya', + 'channel': 'Kanal', + 'chart': 'Grafik', + 'cohorts': 'Kogortalar', + 'criteria': 'Mezonlar', + 'destination-url': 'Maqsad URL', + 'documentation': 'Hujjatlar', + 'download': 'Yuklab olish', + 'environment': 'Muhit', + 'exclude-bounce': 'Chiqib ketishni istisno qilish', + 'growth': 'O\'sish', + 'hour': 'Soat', + 'invalid-url': 'Noto\'g\'ri URL', + 'link': 'Havola', + 'location': 'Joylashuv', + 'minute': 'Daqiqa', + 'model': 'Model', + 'month': 'Oy', + 'ok': 'OK', + 'pixel': 'Piksel', + 'preferences': 'Sozlamalar', + 'profiles': 'Profillar', + 'save-cohort': 'Kogortani saqlash', + 'save-segment': 'Segmentni saqlash', + 'screen': 'Ekran', + 'segment': 'Segment', + 'segments': 'Segmentlar', + 'sms': 'SMS', + 'source': 'Manba', + 'support': 'Qo\'llab-quvvatlash', + 'switch-account': 'Hisobni almashtirish', + 'table': 'Jadval', + 'term': 'Qidiruv iborasi', + 'traffic': 'Trafik', + 'unique-events': 'Noyob hodisalar', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM Kampaniya', + 'utm-content': 'UTM Kontent', + 'utm-medium': 'UTM Vosita', + 'utm-source': 'UTM Manba', + 'utm-term': 'UTM Ibora', + 'version': 'Versiya' + }, + message: {} + }, + 'mn-MN': { + label: { + 'account': 'Бүртгэл', + 'action': 'Үйлдэл', + 'add-link': 'Холбоос нэмэх', + 'add-pixel': 'Пиксел нэмэх', + 'analysis': 'Шинжилгээ', + 'application': 'Программ', + 'audience': 'Үзэгчид', + 'campaign': 'Кампанит ажил', + 'channel': 'Суваг', + 'chart': 'График', + 'cohorts': 'Когортууд', + 'criteria': 'Шалгуур', + 'destination-url': 'Очих URL', + 'documentation': 'Баримт бичиг', + 'download': 'Татах', + 'environment': 'Орчин', + 'exclude-bounce': 'Буцалтыг хасах', + 'growth': 'Өсөлт', + 'hour': 'Цаг', + 'invalid-url': 'Буруу URL', + 'link': 'Холбоос', + 'location': 'Байршил', + 'max': 'Дээд', + 'min': 'Доод', + 'minute': 'Минут', + 'month': 'Сар', + 'online': 'Онлайн', + 'os': 'ҮС', + 'pixel': 'Пиксел', + 'preferences': 'Тохиргоо', + 'profiles': 'Профайлууд', + 'query': 'Асуулга', + 'referral': 'Лавлагаа', + 'save-cohort': 'Когорт хадгалах', + 'save-segment': 'Сегмент хадгалах', + 'screen': 'Дэлгэц', + 'segment': 'Сегмент', + 'segments': 'Сегментүүд', + 'select-role': 'Үүрэг сонгох', + 'session': 'Сессия', + 'sessions': 'Сессиүд', + 'sms': 'SMS', + 'source': 'Эх сурвалж', + 'support': 'Дэмжлэг', + 'switch-account': 'Бүртгэл солих', + 'table': 'Хүснэгт', + 'team-view-only': 'Зөвхөн багийн харагдац', + 'term': 'Хайлтын нөхцөл', + 'traffic': 'Урсгал', + 'transactions': 'Гүйлгээнүүд', + 'unique-events': 'Өвөрмөц үйл явдлууд', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM Кампанит ажил', + 'utm-content': 'UTM Агуулга', + 'utm-medium': 'UTM Хэрэгсэл', + 'utm-source': 'UTM Эх сурвалж', + 'utm-term': 'UTM Нөхцөл', + 'version': 'Хувилбар' + }, + message: { + 'bad-request': 'Буруу хүсэлт', + 'forbidden': 'Хориотой', + 'not-found': 'Олдсонгүй', + 'nothing-selected': 'Юу ч сонгоогүй байна.', + 'sever-error': 'Серверийн алдаа', + 'unauthorized': 'Зөвшөөрөлгүй' + } + } +}; + +for (const [locale, trans] of Object.entries(translations)) { + const filePath = path.join(dir, locale + '.json'); + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + let count = 0; + for (const [section, keys] of Object.entries(trans)) { + for (const [key, value] of Object.entries(keys)) { + if (data[section] && key in data[section]) { + data[section][key] = value; + count++; + } + } + } + const sorted = {}; + for (const section of Object.keys(enUS)) { + if (data[section]) { + sorted[section] = {}; + for (const key of Object.keys(enUS[section])) { + if (key in data[section]) sorted[section][key] = data[section][key]; + } + for (const key of Object.keys(data[section])) { + if (!(key in sorted[section])) sorted[section][key] = data[section][key]; + } + } + } + fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); + console.log('Updated ' + locale + ': ' + count + ' keys'); +} diff --git a/scripts/translate-8-thai-khmer.cjs b/scripts/translate-8-thai-khmer.cjs new file mode 100644 index 000000000..e504a5ee6 --- /dev/null +++ b/scripts/translate-8-thai-khmer.cjs @@ -0,0 +1,569 @@ +const fs = require('fs'); +const path = require('path'); +const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); +const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); + +const translations = { + 'th-TH': { + label: { + 'access-code': 'รหัสเข้าถึง', + 'account': 'บัญชี', + 'action': 'การกระทำ', + 'add': 'เพิ่ม', + 'add-board': 'เพิ่มบอร์ด', + 'add-description': 'เพิ่มคำอธิบาย', + 'add-link': 'เพิ่มลิงก์', + 'add-member': 'เพิ่มสมาชิก', + 'add-pixel': 'เพิ่มพิกเซล', + 'add-step': 'เพิ่มขั้นตอน', + 'affiliate': 'พันธมิตร', + 'after': 'หลัง', + 'analysis': 'การวิเคราะห์', + 'analytics': 'การวิเคราะห์ข้อมูล', + 'application': 'แอปพลิเคชัน', + 'apply': 'นำไปใช้', + 'attribution': 'การระบุแหล่งที่มา', + 'attribution-description': 'ดูว่าผู้ใช้มีปฏิสัมพันธ์กับการตลาดอย่างไรและอะไรกระตุ้นการแปลง', + 'audience': 'กลุ่มเป้าหมาย', + 'average': 'ค่าเฉลี่ย', + 'before': 'ก่อน', + 'boards': 'บอร์ด', + 'breakdown': 'การแยกย่อย', + 'browser': 'เบราว์เซอร์', + 'campaign': 'แคมเปญ', + 'campaigns': 'แคมเปญ', + 'channel': 'ช่องทาง', + 'channels': 'ช่องทาง', + 'chart': 'แผนภูมิ', + 'cities': 'เมือง', + 'city': 'เมือง', + 'clear-all': 'ล้างทั้งหมด', + 'cohort': 'กลุ่มตัวอย่าง', + 'cohorts': 'กลุ่มตัวอย่าง', + 'compare': 'เปรียบเทียบ', + 'compare-dates': 'เปรียบเทียบวันที่', + 'confirm': 'ยืนยัน', + 'contains': 'มี', + 'content': 'เนื้อหา', + 'continue': 'ดำเนินต่อ', + 'conversion': 'การแปลง', + 'conversion-rate': 'อัตราการแปลง', + 'conversion-step': 'ขั้นตอนการแปลง', + 'count': 'จำนวน', + 'country': 'ประเทศ', + 'create': 'สร้าง', + 'create-report': 'สร้างรายงาน', + 'create-team': 'สร้างทีม', + 'create-user': 'สร้างผู้ใช้', + 'created': 'สร้างเมื่อ', + 'created-by': 'สร้างโดย', + 'criteria': 'เกณฑ์', + 'currency': 'สกุลเงิน', + 'current': 'ปัจจุบัน', + 'data': 'ข้อมูล', + 'date': 'วันที่', + 'day': 'วัน', + 'delete-report': 'ลบรายงาน', + 'delete-team': 'ลบทีม', + 'delete-user': 'ลบผู้ใช้', + 'description': 'คำอธิบาย', + 'destination-url': 'URL ปลายทาง', + 'details': 'รายละเอียด', + 'device': 'อุปกรณ์', + 'direct': 'ตรง', + 'distinct-id': 'ID เฉพาะ', + 'documentation': 'เอกสาร', + 'does-not-contain': 'ไม่มี', + 'does-not-include': 'ไม่รวม', + 'doest-not-exist': 'ไม่มีอยู่', + 'download': 'ดาวน์โหลด', + 'dropoff': 'การออกจากระบบ', + 'edit-dashboard': 'แก้ไขแดชบอร์ด', + 'edit-member': 'แก้ไขสมาชิก', + 'email': 'อีเมล', + 'end-step': 'ขั้นตอนสุดท้าย', + 'environment': 'สภาพแวดล้อม', + 'event': 'เหตุการณ์', + 'event-data': 'ข้อมูลเหตุการณ์', + 'event-name': 'ชื่อเหตุการณ์', + 'exclude-bounce': 'ยกเว้นการตีกลับ', + 'exists': 'มีอยู่', + 'false': 'เท็จ', + 'field': 'ฟิลด์', + 'fields': 'ฟิลด์', + 'filter': 'ตัวกรอง', + 'filters': 'ตัวกรอง', + 'first-click': 'คลิกแรก', + 'first-seen': 'เห็นครั้งแรก', + 'funnel': 'ช่องทางขาย', + 'funnel-description': 'ทำความเข้าใจอัตราการแปลงและการออกจากระบบของผู้ใช้', + 'funnels': 'ช่องทางขาย', + 'goal': 'เป้าหมาย', + 'goals': 'เป้าหมาย', + 'goals-description': 'ติดตามเป้าหมายสำหรับการดูหน้าเว็บและเหตุการณ์', + 'greater-than': 'มากกว่า', + 'greater-than-equals': 'มากกว่าหรือเท่ากับ', + 'grouped': 'จัดกลุ่ม', + 'growth': 'การเติบโต', + 'hostname': 'ชื่อโฮสต์', + 'hour': 'ชั่วโมง', + 'includes': 'รวม', + 'insight': 'ข้อมูลเชิงลึก', + 'insights': 'ข้อมูลเชิงลึก', + 'insights-description': 'เจาะลึกข้อมูลของคุณโดยใช้กลุ่มและตัวกรอง', + 'invalid-url': 'URL ไม่ถูกต้อง', + 'is': 'คือ', + 'is-false': 'เป็นเท็จ', + 'is-not': 'ไม่ใช่', + 'is-not-set': 'ไม่ได้ตั้งค่า', + 'is-set': 'ตั้งค่าแล้ว', + 'is-true': 'เป็นจริง', + 'join': 'เข้าร่วม', + 'join-team': 'เข้าร่วมทีม', + 'journey': 'เส้นทาง', + 'journey-description': 'ทำความเข้าใจว่าผู้ใช้เดินทางผ่านเว็บไซต์ของคุณอย่างไร', + 'journeys': 'เส้นทาง', + 'last-click': 'คลิกสุดท้าย', + 'last-months': '{x} เดือนล่าสุด', + 'last-seen': 'เห็นล่าสุด', + 'leave': 'ออก', + 'leave-team': 'ออกจากทีม', + 'less-than': 'น้อยกว่า', + 'less-than-equals': 'น้อยกว่าหรือเท่ากับ', + 'link': 'ลิงก์', + 'links': 'ลิงก์', + 'location': 'ตำแหน่ง', + 'manage': 'จัดการ', + 'manager': 'ผู้จัดการ', + 'max': 'สูงสุด', + 'medium': 'สื่อ', + 'member': 'สมาชิก', + 'members': 'สมาชิก', + 'min': 'ต่ำสุด', + 'minute': 'นาที', + 'model': 'รุ่น', + 'month': 'เดือน', + 'my-account': 'บัญชีของฉัน', + 'my-websites': 'เว็บไซต์ของฉัน', + 'number-of-records': '{x} {x, plural, one {รายการ} other {รายการ}}', + 'ok': 'ตกลง', + 'online': 'ออนไลน์', + 'organic-search': 'ค้นหาแบบออร์แกนิก', + 'organic-shopping': 'ชอปปิ้งแบบออร์แกนิก', + 'organic-social': 'โซเชียลแบบออร์แกนิก', + 'organic-video': 'วิดีโอแบบออร์แกนิก', + 'os': 'ระบบปฏิบัติการ', + 'other': 'อื่นๆ', + 'overview': 'ภาพรวม', + 'page': 'หน้า', + 'page-of': 'หน้า {current} จาก {total}', + 'pageTitle': 'ชื่อหน้า', + 'paid-ads': 'โฆษณาแบบจ่ายเงิน', + 'paid-search': 'ค้นหาแบบจ่ายเงิน', + 'paid-shopping': 'ชอปปิ้งแบบจ่ายเงิน', + 'paid-social': 'โซเชียลแบบจ่ายเงิน', + 'paid-video': 'วิดีโอแบบจ่ายเงิน', + 'path': 'เส้นทาง', + 'paths': 'เส้นทาง', + 'pixel': 'พิกเซล', + 'pixels': 'พิกเซล', + 'preferences': 'การตั้งค่า', + 'previous': 'ก่อนหน้า', + 'previous-period': 'ช่วงก่อนหน้า', + 'previous-year': 'ปีก่อนหน้า', + 'profiles': 'โปรไฟล์', + 'properties': 'คุณสมบัติ', + 'property': 'คุณสมบัติ', + 'queries': 'คิวรี', + 'query': 'คิวรี', + 'query-parameters': 'พารามิเตอร์คิวรี', + 'referral': 'การอ้างอิง', + 'referrer': 'ผู้อ้างอิง', + 'regenerate': 'สร้างใหม่', + 'region': 'ภูมิภาค', + 'regions': 'ภูมิภาค', + 'remaining': 'ที่เหลือ', + 'remove': 'ลบ', + 'remove-member': 'ลบสมาชิก', + 'reports': 'รายงาน', + 'retention': 'การรักษาผู้ใช้', + 'retention-description': 'วัดความเหนียวแน่นของเว็บไซต์โดยติดตามว่าผู้ใช้กลับมาบ่อยแค่ไหน', + 'revenue': 'รายได้', + 'role': 'บทบาท', + 'run-query': 'เรียกใช้คิวรี', + 'save-cohort': 'บันทึกกลุ่มตัวอย่าง', + 'save-segment': 'บันทึกเซ็กเมนต์', + 'screen': 'หน้าจอ', + 'search': 'ค้นหา', + 'segment': 'เซ็กเมนต์', + 'segments': 'เซ็กเมนต์', + 'select': 'เลือก', + 'select-date': 'เลือกวันที่', + 'select-filter': 'เลือกตัวกรอง', + 'select-role': 'เลือกบทบาท', + 'select-website': 'เลือกเว็บไซต์', + 'session': 'เซสชัน', + 'session-data': 'ข้อมูลเซสชัน', + 'sessions': 'เซสชัน', + 'share': 'แชร์', + 'sms': 'SMS', + 'source': 'แหล่งที่มา', + 'sources': 'แหล่งที่มา', + 'start-step': 'ขั้นตอนเริ่มต้น', + 'steps': 'ขั้นตอน', + 'sum': 'ผลรวม', + 'support': 'การสนับสนุน', + 'switch-account': 'สลับบัญชี', + 'table': 'ตาราง', + 'tag': 'แท็ก', + 'tags': 'แท็ก', + 'team': 'ทีม', + 'team-id': 'ID ทีม', + 'team-manager': 'ผู้จัดการทีม', + 'team-member': 'สมาชิกทีม', + 'team-name': 'ชื่อทีม', + 'team-owner': 'เจ้าของทีม', + 'team-settings': 'การตั้งค่าทีม', + 'team-view-only': 'ดูเฉพาะทีม', + 'team-websites': 'เว็บไซต์ทีม', + 'teams': 'ทีม', + 'term': 'คำค้นหา', + 'terms': 'เงื่อนไข', + 'title': 'ชื่อ', + 'total': 'รวม', + 'total-records': 'จำนวนรายการทั้งหมด', + 'traffic': 'ทราฟฟิก', + 'transactions': 'ธุรกรรม', + 'transfer': 'โอน', + 'transfer-website': 'โอนเว็บไซต์', + 'true': 'จริง', + 'type': 'ประเภท', + 'unique': 'ไม่ซ้ำ', + 'unique-events': 'เหตุการณ์ไม่ซ้ำ', + 'uniqueCustomers': 'ลูกค้าไม่ซ้ำ', + 'untitled': 'ไม่มีชื่อ', + 'update': 'อัปเดต', + 'url': 'URL', + 'user': 'ผู้ใช้', + 'users': 'ผู้ใช้', + 'utm': 'UTM', + 'utm-campaign': 'UTM แคมเปญ', + 'utm-content': 'UTM เนื้อหา', + 'utm-description': 'ติดตามแคมเปญของคุณผ่านพารามิเตอร์ UTM', + 'utm-medium': 'UTM สื่อ', + 'utm-source': 'UTM แหล่งที่มา', + 'utm-term': 'UTM คำค้นหา', + 'value': 'ค่า', + 'version': 'เวอร์ชัน', + 'view': 'ดู', + 'view-only': 'ดูอย่างเดียว', + 'views-per-visit': 'การดูต่อการเยี่ยมชม', + 'visits': 'การเยี่ยมชม', + 'website': 'เว็บไซต์', + 'website-id': 'ID เว็บไซต์', + 'window': 'หน้าต่าง', + 'yesterday': 'เมื่อวาน' + }, + message: { + 'action-confirmation': 'พิมพ์ {confirmation} ในช่องด้านล่างเพื่อยืนยัน', + 'bad-request': 'คำขอไม่ถูกต้อง', + 'collected-data': 'ข้อมูลที่เก็บรวบรวม', + 'confirm-leave': 'คุณแน่ใจหรือไม่ว่าต้องการออกจาก {target}?', + 'confirm-remove': 'คุณแน่ใจหรือไม่ว่าต้องการลบ {target}?', + 'delete-team-warning': 'การลบทีมจะลบเว็บไซต์ทั้งหมดของทีมด้วย', + 'event-log': '{event} บน {url}', + 'forbidden': 'ไม่ได้รับอนุญาต', + 'min-password-length': 'ความยาวขั้นต่ำ {n} ตัวอักษร', + 'new-version-available': 'Umami เวอร์ชันใหม่ {version} พร้อมใช้งานแล้ว!', + 'no-event-data': 'ไม่มีข้อมูลเหตุการณ์', + 'no-team-websites': 'ทีมนี้ไม่มีเว็บไซต์', + 'no-teams': 'คุณยังไม่ได้สร้างทีม', + 'no-users': 'ไม่มีผู้ใช้', + 'not-found': 'ไม่พบ', + 'nothing-selected': 'ไม่ได้เลือกอะไร', + 'reset-website': 'เพื่อรีเซ็ตเว็บไซต์นี้ พิมพ์ {confirmation} ในช่องด้านล่าง', + 'sever-error': 'เกิดข้อผิดพลาดของเซิร์ฟเวอร์', + 'team-already-member': 'คุณเป็นสมาชิกของทีมอยู่แล้ว', + 'team-not-found': 'ไม่พบทีม', + 'team-websites-info': 'เว็บไซต์สามารถดูได้โดยทุกคนในทีม', + 'transfer-team-website-to-user': 'โอนเว็บไซต์นี้ไปยังบัญชีของคุณ?', + 'transfer-user-website-to-team': 'เลือกทีมเพื่อโอนเว็บไซต์นี้', + 'transfer-website': 'โอนความเป็นเจ้าของเว็บไซต์ไปยังบัญชีหรือทีมอื่น', + 'triggered-event': 'เหตุการณ์ที่ถูกเรียก', + 'unauthorized': 'ไม่ได้รับอนุญาต', + 'user-deleted': 'ผู้ใช้ถูกลบแล้ว', + 'viewed-page': 'หน้าที่ดู' + } + }, + 'km-KH': { + label: { + 'account': 'គណនី', + 'action': 'សកម្មភាព', + 'add-link': 'បន្ថែមតំណ', + 'add-pixel': 'បន្ថែមភីកសែល', + 'analysis': 'ការវិភាគ', + 'application': 'កម្មវិធី', + 'audience': 'ទស្សនិកជន', + 'campaign': 'យុទ្ធនាការ', + 'channel': 'ឆានែល', + 'chart': 'តារាង', + 'cohorts': 'ក្រុមកូហ៊ត', + 'criteria': 'លក្ខណវិនិច្ឆ័យ', + 'destination-url': 'URL គោលដៅ', + 'documentation': 'ឯកសារ', + 'domain': 'ដូមែន', + 'download': 'ទាញយក', + 'dropoff': 'ការចាកចេញ', + 'email': 'អ៊ីមែល', + 'environment': 'បរិស្ថាន', + 'exclude-bounce': 'មិនរាប់បញ្ចូលការលោតចេញ', + 'field': 'វាល', + 'fields': 'វាល', + 'first-seen': 'ឃើញដំបូង', + 'funnel-description': 'យល់ពីអត្រាបំលែងនិងការចាកចេញរបស់អ្នកប្រើ។', + 'growth': 'កំណើន', + 'hour': 'ម៉ោង', + 'insights': 'ការយល់ដឹង', + 'insights-description': 'ស្វែងរកឱ្យកាន់តែស៊ីជម្រៅក្នុងទិន្នន័យរបស់អ្នកដោយប្រើផ្នែកនិងតម្រង។', + 'invalid-url': 'URL មិនត្រឹមត្រូវ', + 'last-seen': 'ឃើញចុងក្រោយ', + 'link': 'តំណ', + 'location': 'ទីតាំង', + 'login': 'ចូល', + 'logout': 'ចេញ', + 'max': 'អតិបរមា', + 'min': 'អប្បបរមា', + 'minute': 'នាទី', + 'month': 'ខែ', + 'number-of-records': '{x} {x, plural, one {កំណត់ត្រា} other {កំណត់ត្រា}}', + 'ok': 'យល់ព្រម', + 'online': 'អនឡាញ', + 'os': 'ប្រព័ន្ធប្រតិបត្តិការ', + 'path': 'ផ្លូវ', + 'paths': 'ផ្លូវ', + 'pixel': 'ភីកសែល', + 'preferences': 'ចំណង់ចំណូលចិត្ត', + 'profiles': 'ប្រវត្តិរូប', + 'queries': 'សំណួរ', + 'query': 'សំណួរ', + 'regenerate': 'បង្កើតឡើងវិញ', + 'retention-description': 'វាស់ស្ទង់ភាពស្អិតនៃគេហទំព័រដោយតាមដានថាអ្នកប្រើត្រលប់មកវិញញឹកញាប់ប៉ុណ្ណា។', + 'revenue': 'ចំណូល', + 'run-query': 'ដំណើរការសំណួរ', + 'save-cohort': 'រក្សាទុកក្រុមកូហ៊ត', + 'save-segment': 'រក្សាទុកផ្នែក', + 'screen': 'អេក្រង់', + 'segment': 'ផ្នែក', + 'segments': 'ផ្នែក', + 'session': 'វគ្គ', + 'sessions': 'វគ្គ', + 'sms': 'SMS', + 'source': 'ប្រភព', + 'sum': 'ផលបូក', + 'support': 'ជំនួយ', + 'switch-account': 'ប្ដូរគណនី', + 'table': 'តារាង', + 'team-view-only': 'មើលក្រុមតែប៉ុណ្ណោះ', + 'term': 'ពាក្យស្វែងរក', + 'traffic': 'ចរាចរណ៍', + 'transactions': 'ប្រតិបត្តិការ', + 'type': 'ប្រភេទ', + 'unique': 'តែមួយ', + 'unique-events': 'ព្រឹត្តិការណ៍តែមួយ', + 'uniqueCustomers': 'អតិថិជនតែមួយ', + 'update': 'ធ្វើបច្ចុប្បន្នភាព', + 'url': 'URL', + 'utm': 'UTM', + 'utm-campaign': 'UTM យុទ្ធនាការ', + 'utm-content': 'UTM មាតិកា', + 'utm-medium': 'UTM មធ្យម', + 'utm-source': 'UTM ប្រភព', + 'utm-term': 'UTM ពាក្យ', + 'value': 'តម្លៃ', + 'version': 'កំណែ', + 'view': 'មើល', + 'views-per-visit': 'ការមើលក្នុងមួយដង', + 'window': 'បង្អួច' + }, + message: { + 'bad-request': 'សំណើមិនត្រឹមត្រូវ', + 'event-log': '{event} នៅ {url}', + 'forbidden': 'ហាមឃាត់', + 'not-found': 'រកមិនឃើញ', + 'nothing-selected': 'មិនបានជ្រើសអ្វីទេ។', + 'sever-error': 'កំហុសម៉ាស៊ីនមេ', + 'triggered-event': 'ព្រឹត្តិការណ៍ដែលបានដំណើរការ', + 'unauthorized': 'មិនមានសិទ្ធិ' + } + }, + 'bn-BD': { + label: { + 'account': 'অ্যাকাউন্ট', + 'action': 'কার্যক্রম', + 'add-link': 'লিংক যোগ করুন', + 'add-pixel': 'পিক্সেল যোগ করুন', + 'analysis': 'বিশ্লেষণ', + 'application': 'অ্যাপ্লিকেশন', + 'audience': 'দর্শক', + 'campaign': 'প্রচারণা', + 'channel': 'চ্যানেল', + 'chart': 'চার্ট', + 'cohorts': 'কোহর্ট', + 'criteria': 'মানদণ্ড', + 'destination-url': 'গন্তব্য URL', + 'documentation': 'ডকুমেন্টেশন', + 'download': 'ডাউনলোড', + 'email': 'ইমেইল', + 'environment': 'পরিবেশ', + 'exclude-bounce': 'বাউন্স বাদ দিন', + 'growth': 'বৃদ্ধি', + 'hour': 'ঘণ্টা', + 'insights': 'অন্তর্দৃষ্টি', + 'insights-description': 'সেগমেন্ট এবং ফিল্টার ব্যবহার করে আপনার ডেটায় আরও গভীরে যান।', + 'invalid-url': 'অবৈধ URL', + 'link': 'লিংক', + 'location': 'অবস্থান', + 'minute': 'মিনিট', + 'month': 'মাস', + 'number-of-records': '{x} {x, plural, one {রেকর্ড} other {রেকর্ড}}', + 'ok': 'ঠিক আছে', + 'online': 'অনলাইন', + 'os': 'ওএস', + 'overview': 'সংক্ষিপ্ত বিবরণ', + 'page-of': 'পৃষ্ঠা {current} / {total}', + 'pageTitle': 'পৃষ্ঠার শিরোনাম', + 'pixel': 'পিক্সেল', + 'preferences': 'পছন্দসমূহ', + 'profiles': 'প্রোফাইল', + 'queries': 'কোয়েরি', + 'query': 'কোয়েরি', + 'query-parameters': 'কোয়েরি প্যারামিটার', + 'referrer': 'রেফারার', + 'regenerate': 'পুনরায় তৈরি', + 'region': 'অঞ্চল', + 'regions': 'অঞ্চলসমূহ', + 'remove': 'সরান', + 'remove-member': 'সদস্য সরান', + 'reports': 'রিপোর্ট', + 'retention': 'ধরে রাখা', + 'retention-description': 'ব্যবহারকারীরা কতবার ফিরে আসে তা ট্র্যাক করে আপনার ওয়েবসাইটের আঠালোতা পরিমাপ করুন।', + 'role': 'ভূমিকা', + 'run-query': 'কোয়েরি চালান', + 'save-cohort': 'কোহর্ট সংরক্ষণ করুন', + 'save-segment': 'সেগমেন্ট সংরক্ষণ করুন', + 'screen': 'স্ক্রিন', + 'search': 'অনুসন্ধান', + 'segment': 'সেগমেন্ট', + 'segments': 'সেগমেন্ট', + 'select': 'নির্বাচন করুন', + 'select-date': 'তারিখ নির্বাচন করুন', + 'select-role': 'ভূমিকা নির্বাচন করুন', + 'select-website': 'ওয়েবসাইট নির্বাচন করুন', + 'sessions': 'সেশন', + 'sms': 'SMS', + 'source': 'উৎস', + 'start-step': 'প্রারম্ভিক ধাপ', + 'steps': 'ধাপসমূহ', + 'sum': 'যোগফল', + 'support': 'সহায়তা', + 'switch-account': 'অ্যাকাউন্ট পরিবর্তন', + 'table': 'টেবিল', + 'team-view-only': 'শুধু টিম দেখুন', + 'team-websites': 'টিম ওয়েবসাইট', + 'teams': 'টিম', + 'term': 'অনুসন্ধান শব্দ', + 'title': 'শিরোনাম', + 'total': 'মোট', + 'total-records': 'মোট রেকর্ড', + 'traffic': 'ট্রাফিক', + 'transactions': 'লেনদেন', + 'transfer': 'স্থানান্তর', + 'transfer-website': 'ওয়েবসাইট স্থানান্তর', + 'true': 'সত্য', + 'type': 'ধরন', + 'unique': 'অনন্য', + 'unique-events': 'অনন্য ইভেন্ট', + 'uniqueCustomers': 'অনন্য গ্রাহক', + 'untitled': 'শিরোনামহীন', + 'update': 'আপডেট', + 'url': 'URL', + 'user': 'ব্যবহারকারী', + 'users': 'ব্যবহারকারীগণ', + 'utm': 'UTM', + 'utm-campaign': 'UTM প্রচারণা', + 'utm-content': 'UTM বিষয়বস্তু', + 'utm-description': 'UTM প্যারামিটারের মাধ্যমে আপনার প্রচারণা ট্র্যাক করুন।', + 'utm-medium': 'UTM মাধ্যম', + 'utm-source': 'UTM উৎস', + 'utm-term': 'UTM শব্দ', + 'value': 'মান', + 'version': 'সংস্করণ', + 'view': 'দেখুন', + 'view-only': 'শুধু দেখুন', + 'views-per-visit': 'প্রতি ভিজিটে দেখা', + 'visits': 'ভিজিট', + 'website': 'ওয়েবসাইট', + 'website-id': 'ওয়েবসাইট ID', + 'window': 'উইন্ডো', + 'yesterday': 'গতকাল' + }, + message: { + 'action-confirmation': 'নিশ্চিত করতে নিচের বক্সে {confirmation} টাইপ করুন।', + 'bad-request': 'অবৈধ অনুরোধ', + 'collected-data': 'সংগৃহীত ডেটা', + 'confirm-leave': 'আপনি কি নিশ্চিত যে আপনি {target} ত্যাগ করতে চান?', + 'confirm-remove': 'আপনি কি নিশ্চিত যে আপনি {target} সরাতে চান?', + 'delete-team-warning': 'একটি টিম মুছে ফেললে টিমের সব ওয়েবসাইটও মুছে যাবে।', + 'event-log': '{url}-এ {event}', + 'forbidden': 'নিষিদ্ধ', + 'min-password-length': 'সর্বনিম্ন {n} অক্ষর', + 'new-version-available': 'Umami {version}-এর নতুন সংস্করণ পাওয়া যাচ্ছে!', + 'no-event-data': 'কোনো ইভেন্ট ডেটা পাওয়া যায়নি।', + 'no-team-websites': 'এই টিমের কোনো ওয়েবসাইট নেই।', + 'no-teams': 'আপনি কোনো টিম তৈরি করেননি।', + 'no-users': 'কোনো ব্যবহারকারী নেই।', + 'not-found': 'পাওয়া যায়নি', + 'nothing-selected': 'কিছু নির্বাচন করা হয়নি।', + 'reset-website': 'এই ওয়েবসাইট রিসেট করতে, নিচের বক্সে {confirmation} টাইপ করুন।', + 'sever-error': 'সার্ভার ত্রুটি', + 'team-already-member': 'আপনি ইতিমধ্যে টিমের সদস্য।', + 'team-not-found': 'টিম পাওয়া যায়নি।', + 'team-websites-info': 'ওয়েবসাইটগুলি টিমের যে কেউ দেখতে পারেন।', + 'transfer-team-website-to-user': 'এই ওয়েবসাইটটি আপনার অ্যাকাউন্টে স্থানান্তর করবেন?', + 'transfer-user-website-to-team': 'এই ওয়েবসাইটটি স্থানান্তর করার জন্য টিম নির্বাচন করুন।', + 'transfer-website': 'ওয়েবসাইটের মালিকানা আপনার অ্যাকাউন্টে বা অন্য টিমে স্থানান্তর করুন।', + 'triggered-event': 'ট্রিগার করা ইভেন্ট', + 'unauthorized': 'অননুমোদিত', + 'user-deleted': 'ব্যবহারকারী মুছে ফেলা হয়েছে।', + 'viewed-page': 'দেখা পৃষ্ঠা' + } + } +}; + +for (const [locale, trans] of Object.entries(translations)) { + const filePath = path.join(dir, locale + '.json'); + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + let count = 0; + for (const [section, keys] of Object.entries(trans)) { + for (const [key, value] of Object.entries(keys)) { + if (data[section] && key in data[section]) { + data[section][key] = value; + count++; + } + } + } + const sorted = {}; + for (const section of Object.keys(enUS)) { + if (data[section]) { + sorted[section] = {}; + for (const key of Object.keys(enUS[section])) { + if (key in data[section]) sorted[section][key] = data[section][key]; + } + for (const key of Object.keys(data[section])) { + if (!(key in sorted[section])) sorted[section][key] = data[section][key]; + } + } + } + fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); + console.log('Updated ' + locale + ': ' + count + ' keys'); +} diff --git a/scripts/translate-9-tamil.cjs b/scripts/translate-9-tamil.cjs new file mode 100644 index 000000000..a0deadf56 --- /dev/null +++ b/scripts/translate-9-tamil.cjs @@ -0,0 +1,332 @@ +const fs = require('fs'); +const path = require('path'); + +const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); +const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); + +const translations = { + 'ta-IN': { + label: { + // Keys where ta-IN value === en-US value (untranslated) + 'access-code': 'அணுகல் குறியீடு', + 'account': 'கணக்கு', + 'action': 'செயல்', + 'activity': 'செயல்பாடு', + 'add': 'சேர்', + 'add-board': 'பலகையைச் சேர்', + 'add-description': 'விளக்கத்தைச் சேர்', + 'add-link': 'இணைப்பைச் சேர்', + 'add-member': 'உறுப்பினரைச் சேர்', + 'add-pixel': 'பிக்சலைச் சேர்', + 'add-step': 'படியைச் சேர்', + 'affiliate': 'இணைத்திட்டம்', + 'after': 'பிறகு', + 'all-time': 'எல்லா நேரமும்', + 'analysis': 'பகுப்பாய்வு', + 'analytics': 'பகுப்பாய்வு', + 'application': 'பயன்பாடு', + 'apply': 'பயன்படுத்து', + 'attribution': 'காரணிப்பு', + 'attribution-description': 'பயனர்கள் உங்கள் சந்தைப்படுத்தலுடன் எவ்வாறு ஈடுபடுகிறார்கள் மற்றும் மாற்றங்களை எது ஊக்குவிக்கிறது என்பதைப் பாருங்கள்.', + 'audience': 'பார்வையாளர்', + 'average': 'சராசரி', + 'before': 'முன்', + 'boards': 'பலகைகள்', + 'breakdown': 'விரிவாக்கம்', + 'browser': 'உலாவி', + 'campaign': 'பிரச்சாரம்', + 'campaigns': 'பிரச்சாரங்கள்', + 'channel': 'சேனல்', + 'channels': 'சேனல்கள்', + 'chart': 'வரைபடம்', + 'cities': 'நகரங்கள்', + 'city': 'நகரம்', + 'clear-all': 'அனைத்தையும் அழி', + 'cohort': 'குழு', + 'cohorts': 'குழுக்கள்', + 'compare': 'ஒப்பிடு', + 'compare-dates': 'தேதிகளை ஒப்பிடு', + 'confirm': 'உறுதிப்படுத்து', + 'contains': 'உள்ளடக்கியது', + 'content': 'உள்ளடக்கம்', + 'continue': 'தொடர்', + 'conversion': 'மாற்றம்', + 'conversion-rate': 'மாற்ற விகிதம்', + 'conversion-step': 'மாற்றப் படி', + 'count': 'எண்ணிக்கை', + 'country': 'நாடு', + 'create': 'உருவாக்கு', + 'create-report': 'அறிக்கையை உருவாக்கு', + 'create-team': 'குழுவை உருவாக்கு', + 'create-user': 'பயனரை உருவாக்கு', + 'created': 'உருவாக்கப்பட்டது', + 'created-by': 'உருவாக்கியவர்', + 'criteria': 'அளவுகோல்', + 'currency': 'நாணயம்', + 'current': 'தற்போதைய', + 'data': 'தரவு', + 'date': 'தேதி', + 'day': 'நாள்', + 'delete-report': 'அறிக்கையை நீக்கு', + 'delete-team': 'குழுவை நீக்கு', + 'delete-user': 'பயனரை நீக்கு', + 'description': 'விளக்கம்', + 'destination-url': 'இலக்கு URL', + 'details': 'விவரங்கள்', + 'device': 'சாதனம்', + 'direct': 'நேரடி', + 'distinct-id': 'தனித்துவ ID', + 'documentation': 'ஆவணங்கள்', + 'does-not-contain': 'உள்ளடக்கவில்லை', + 'does-not-include': 'சேர்க்கவில்லை', + 'doest-not-exist': 'இல்லை', + 'download': 'பதிவிறக்கு', + 'dropoff': 'விலகல்', + 'edit-dashboard': 'முகப்பைத் திருத்து', + 'edit-member': 'உறுப்பினரைத் திருத்து', + 'email': 'மின்னஞ்சல்', + 'end-step': 'இறுதிப் படி', + 'environment': 'சூழல்', + 'event': 'நிகழ்வு', + 'event-data': 'நிகழ்வுத் தரவு', + 'event-name': 'நிகழ்வு பெயர்', + 'exclude-bounce': 'துள்ளலை விலக்கு', + 'exists': 'உள்ளது', + 'false': 'தவறு', + 'field': 'புலம்', + 'fields': 'புலங்கள்', + 'filter': 'வடிகட்டி', + 'filters': 'வடிகட்டிகள்', + 'first-click': 'முதல் கிளிக்', + 'first-seen': 'முதலில் பார்த்தது', + 'funnel': 'புனல்', + 'funnel-description': 'பயனர்களின் மாற்ற மற்றும் விலகல் விகிதத்தைப் புரிந்துகொள்ளுங்கள்.', + 'funnels': 'புனல்கள்', + 'goal': 'இலக்கு', + 'goals': 'இலக்குகள்', + 'goals-description': 'பக்க காட்சிகள் மற்றும் நிகழ்வுகளுக்கான உங்கள் இலக்குகளைக் கண்காணிக்கவும்.', + 'greater-than': 'பெரியது', + 'greater-than-equals': 'பெரியது அல்லது சமம்', + 'grouped': 'தொகுக்கப்பட்டது', + 'growth': 'வளர்ச்சி', + 'hostname': 'புரவலன் பெயர்', + 'hour': 'மணி', + 'includes': 'சேர்க்கிறது', + 'insight': 'நுண்ணறிவு', + 'insights': 'நுண்ணறிவுகள்', + 'insights-description': 'பிரிவுகள் மற்றும் வடிகட்டிகளைப் பயன்படுத்தி உங்கள் தரவில் ஆழமாக முழுகுங்கள்.', + 'invalid-url': 'தவறான URL', + 'is': 'ஆகும்', + 'is-false': 'தவறு', + 'is-not': 'அல்ல', + 'is-not-set': 'அமைக்கப்படவில்லை', + 'is-set': 'அமைக்கப்பட்டுள்ளது', + 'is-true': 'உண்மை', + 'join': 'சேர்', + 'join-team': 'குழுவில் சேர்', + 'journey': 'பயணம்', + 'journey-description': 'பயனர்கள் உங்கள் வலைத்தளத்தில் எவ்வாறு வழிசெல்கிறார்கள் என்பதைப் புரிந்துகொள்ளுங்கள்.', + 'journeys': 'பயணங்கள்', + 'language': 'மொழி', + 'languages': 'மொழிகள்', + 'last-click': 'கடைசி கிளிக்', + 'last-months': 'முந்தைய {x} மாதங்கள்', + 'last-seen': 'கடைசியாகப் பார்த்தது', + 'leave': 'வெளியேறு', + 'leave-team': 'குழுவை விட்டு வெளியேறு', + 'less-than': 'சிறியது', + 'less-than-equals': 'சிறியது அல்லது சமம்', + 'link': 'இணைப்பு', + 'links': 'இணைப்புகள்', + 'location': 'இடம்', + 'manage': 'நிர்வகி', + 'manager': 'மேலாளர்', + 'max': 'அதிகபட்சம்', + 'medium': 'ஊடகம்', + 'member': 'உறுப்பினர்', + 'members': 'உறுப்பினர்கள்', + 'min': 'குறைந்தபட்சம்', + 'minute': 'நிமிடம்', + 'model': 'மாதிரி', + 'month': 'மாதம்', + 'my-account': 'எனது கணக்கு', + 'my-websites': 'எனது வலைத்தளங்கள்', + 'none': 'எதுவுமில்லை', + 'number-of-records': '{x} {x, plural, one {பதிவு} other {பதிவுகள்}}', + 'online': 'நிகழ்நிலை', + 'organic-search': 'இயற்கையான தேடல்', + 'organic-shopping': 'இயற்கையான ஷாப்பிங்', + 'organic-social': 'இயற்கையான சமூக ஊடகம்', + 'organic-video': 'இயற்கையான வீடியோ', + 'other': 'பிற', + 'overview': 'மேலோட்டம்', + 'owner': 'உரிமையாளர்', + 'page': 'பக்கம்', + 'page-of': 'பக்கம் {current} / {total}', + 'pageTitle': 'பக்கத் தலைப்பு', + 'paid-ads': 'கட்டண விளம்பரங்கள்', + 'paid-search': 'கட்டணத் தேடல்', + 'paid-shopping': 'கட்டண ஷாப்பிங்', + 'paid-social': 'கட்டண சமூக ஊடகம்', + 'paid-video': 'கட்டண வீடியோ', + 'path': 'பாதை', + 'paths': 'பாதைகள்', + 'pixel': 'பிக்சல்', + 'pixels': 'பிக்சல்கள்', + 'preferences': 'விருப்பத்தேர்வுகள்', + 'previous': 'முந்தைய', + 'previous-period': 'முந்தைய காலம்', + 'previous-year': 'முந்தைய ஆண்டு', + 'profiles': 'சுயவிவரங்கள்', + 'properties': 'பண்புகள்', + 'property': 'பண்பு', + 'queries': 'வினவல்கள்', + 'query': 'வினவல்', + 'query-parameters': 'வினவல் அளவுருக்கள்', + 'referral': 'பரிந்துரை', + 'referrer': 'பரிந்துரையாளர்', + 'regenerate': 'மீண்டும் உருவாக்கு', + 'region': 'பிராந்தியம்', + 'regions': 'பிராந்தியங்கள்', + 'remaining': 'மீதம்', + 'remove': 'நீக்கு', + 'remove-member': 'உறுப்பினரை நீக்கு', + 'reports': 'அறிக்கைகள்', + 'retention': 'தக்கவைப்பு', + 'retention-description': 'பயனர்கள் எவ்வளவு அடிக்கடி திரும்பி வருகிறார்கள் என்பதைக் கண்காணித்து உங்கள் வலைத்தளத்தின் ஒட்டுதலை அளவிடுங்கள்.', + 'revenue': 'வருவாய்', + 'revenue-description': 'உங்கள் வருவாய் தரவையும் பயனர்கள் எவ்வாறு செலவிடுகிறார்கள் என்பதையும் ஆராயுங்கள்.', + 'role': 'பங்கு', + 'run-query': 'வினவலை இயக்கு', + 'save-cohort': 'குழுவைச் சேமி', + 'save-segment': 'பிரிவைச் சேமி', + 'screen': 'திரை', + 'screens': 'திரைகள்', + 'search': 'தேடு', + 'segment': 'பிரிவு', + 'segments': 'பிரிவுகள்', + 'select': 'தேர்ந்தெடு', + 'select-date': 'தேதியைத் தேர்ந்தெடு', + 'select-filter': 'வடிகட்டியைத் தேர்ந்தெடு', + 'select-role': 'பங்கைத் தேர்ந்தெடு', + 'select-website': 'வலைத்தளத்தைத் தேர்ந்தெடு', + 'session': 'அமர்வு', + 'session-data': 'அமர்வுத் தரவு', + 'sessions': 'அமர்வுகள்', + 'share': 'பகிர்', + 'source': 'மூலம்', + 'sources': 'மூலங்கள்', + 'start-step': 'தொடக்கப் படி', + 'steps': 'படிகள்', + 'sum': 'கூட்டுத்தொகை', + 'support': 'ஆதரவு', + 'switch-account': 'கணக்கை மாற்று', + 'table': 'அட்டவணை', + 'tag': 'குறிச்சொல்', + 'tags': 'குறிச்சொற்கள்', + 'team': 'குழு', + 'team-id': 'குழு ID', + 'team-manager': 'குழு மேலாளர்', + 'team-member': 'குழு உறுப்பினர்', + 'team-name': 'குழுவின் பெயர்', + 'team-owner': 'குழு உரிமையாளர்', + 'team-settings': 'குழு அமைப்புகள்', + 'team-view-only': 'குழு பார்வை மட்டும்', + 'team-websites': 'குழு வலைத்தளங்கள்', + 'teams': 'குழுக்கள்', + 'term': 'சொல்', + 'terms': 'விதிமுறைகள்', + 'theme': 'தீம்', + 'title': 'தலைப்பு', + 'toggle-charts': 'வரைபடங்களை மாற்று', + 'total': 'மொத்தம்', + 'total-records': 'மொத்தப் பதிவுகள்', + 'traffic': 'பார்வையாளர் போக்குவரத்து', + 'transactions': 'பரிவர்த்தனைகள்', + 'transfer': 'மாற்றம்', + 'transfer-website': 'வலைத்தளத்தை மாற்று', + 'true': 'உண்மை', + 'type': 'வகை', + 'unique': 'தனித்துவ', + 'unique-events': 'தனித்துவ நிகழ்வுகள்', + 'uniqueCustomers': 'தனித்துவ வாடிக்கையாளர்கள்', + 'untitled': 'தலைப்பில்லாத', + 'update': 'புதுப்பி', + 'user': 'பயனர்', + 'users': 'பயனர்கள்', + 'utm-description': 'UTM அளவுருக்கள் மூலம் உங்கள் பிரச்சாரங்களைக் கண்காணிக்கவும்.', + 'value': 'மதிப்பு', + 'version': 'பதிப்பு', + 'view': 'பார்', + 'view-only': 'பார்வை மட்டும்', + 'views-per-visit': 'ஒரு வருகைக்கான பார்வைகள்', + 'visits': 'வருகைகள்', + 'website': 'வலைத்தளம்', + 'website-id': 'வலைத்தள ID', + 'window': 'சாளரம்', + 'yesterday': 'நேற்று' + }, + message: { + 'action-confirmation': 'உறுதிப்படுத்த கீழே உள்ள பெட்டியில் {confirmation} என்று தட்டச்சு செய்யவும்.', + 'bad-request': 'தவறான கோரிக்கை', + 'collected-data': 'சேகரிக்கப்பட்ட தரவு', + 'confirm-leave': '{target} விட்டு வெளியேற விரும்புகிறீர்களா?', + 'confirm-remove': '{target} நீக்க விரும்புகிறீர்களா?', + 'delete-team-warning': 'ஒரு குழுவை நீக்கினால் அனைத்து குழு வலைத்தளங்களும் நீக்கப்படும்.', + 'event-log': '{event} {url} இல்', + 'forbidden': 'தடைசெய்யப்பட்டது', + 'min-password-length': 'குறைந்தபட்சம் {n} எழுத்துகள் தேவை', + 'new-version-available': 'Umami {version} புதிய பதிப்பு கிடைக்கிறது!', + 'no-event-data': 'நிகழ்வுத் தரவு எதுவும் கிடைக்கவில்லை.', + 'no-results-found': 'முடிவுகள் எதுவும் கிடைக்கவில்லை.', + 'no-team-websites': 'இந்தக் குழுவில் வலைத்தளங்கள் எதுவும் இல்லை.', + 'no-teams': 'நீங்கள் எந்தக் குழுவையும் உருவாக்கவில்லை.', + 'no-users': 'பயனர்கள் யாரும் இல்லை.', + 'not-found': 'கிடைக்கவில்லை', + 'nothing-selected': 'எதுவும் தேர்ந்தெடுக்கப்படவில்லை.', + 'reset-website': 'இந்த வலைத்தளத்தை மீட்டமைக்க, கீழே உள்ள பெட்டியில் {confirmation} என்று தட்டச்சு செய்து உறுதிப்படுத்தவும்.', + 'reset-website-warning': 'இந்த வலைத்தளத்தின் அனைத்து புள்ளிவிவரங்களும் நீக்கப்படும், ஆனால் உங்கள் அமைப்புகள் அப்படியே இருக்கும்.', + 'sever-error': 'சேவையக பிழை', + 'share-url': 'உங்கள் வலைத்தள புள்ளிவிவரங்கள் பின்வரும் URL இல் பொதுவாகக் கிடைக்கும்:', + 'team-already-member': 'நீங்கள் ஏற்கனவே இந்தக் குழுவின் உறுப்பினர்.', + 'team-not-found': 'குழு கிடைக்கவில்லை.', + 'team-websites-info': 'குழுவில் உள்ள எவரும் வலைத்தளங்களைப் பார்க்கலாம்.', + 'tracking-code': 'இந்த வலைத்தளத்தின் புள்ளிவிவரங்களைக் கண்காணிக்க, பின்வரும் குறியீட்டை உங்கள் HTML இன் ... பகுதியில் வைக்கவும்.', + 'transfer-team-website-to-user': 'இந்த வலைத்தளத்தை உங்கள் கணக்கிற்கு மாற்ற விரும்புகிறீர்களா?', + 'transfer-user-website-to-team': 'இந்த வலைத்தளத்தை மாற்ற குழுவைத் தேர்ந்தெடுக்கவும்.', + 'transfer-website': 'வலைத்தள உரிமையை உங்கள் கணக்கிற்கு அல்லது மற்றொரு குழுவிற்கு மாற்றவும்.', + 'triggered-event': 'தூண்டப்பட்ட நிகழ்வு', + 'unauthorized': 'அங்கீகரிக்கப்படவில்லை', + 'user-deleted': 'பயனர் நீக்கப்பட்டார்.', + 'viewed-page': 'பார்வையிட்ட பக்கம்' + } + } +}; + +for (const [locale, trans] of Object.entries(translations)) { + const filePath = path.join(dir, locale + '.json'); + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + let count = 0; + for (const [section, keys] of Object.entries(trans)) { + for (const [key, value] of Object.entries(keys)) { + if (data[section] && key in data[section]) { + data[section][key] = value; + count++; + } + } + } + const sorted = {}; + for (const section of Object.keys(enUS)) { + if (data[section]) { + sorted[section] = {}; + for (const key of Object.keys(enUS[section])) { + if (key in data[section]) sorted[section][key] = data[section][key]; + } + for (const key of Object.keys(data[section])) { + if (!(key in sorted[section])) sorted[section][key] = data[section][key]; + } + } + } + fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); + console.log('Updated ' + locale + ': ' + count + ' keys'); +} From cee391f024a611ffdf14ed09a5c534348d381489 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 7 Feb 2026 19:36:08 -0800 Subject: [PATCH 15/55] Removed translations scripts. --- next-env.d.ts | 2 +- scripts/translate-1-eastasian.cjs | 349 --------- scripts/translate-10-sinhala.cjs | 358 ---------- scripts/translate-11-urdu.cjs | 341 --------- scripts/translate-12-burmese.cjs | 256 ------- scripts/translate-2-romance.cjs | 787 -------------------- scripts/translate-3-germanic.cjs | 326 --------- scripts/translate-4-nordic.cjs | 518 -------------- scripts/translate-5-slavic.cjs | 1068 ---------------------------- scripts/translate-6-other-euro.cjs | 842 ---------------------- scripts/translate-7-asian.cjs | 663 ----------------- scripts/translate-8-thai-khmer.cjs | 569 --------------- scripts/translate-9-tamil.cjs | 332 --------- 13 files changed, 1 insertion(+), 6410 deletions(-) delete mode 100644 scripts/translate-1-eastasian.cjs delete mode 100644 scripts/translate-10-sinhala.cjs delete mode 100644 scripts/translate-11-urdu.cjs delete mode 100644 scripts/translate-12-burmese.cjs delete mode 100644 scripts/translate-2-romance.cjs delete mode 100644 scripts/translate-3-germanic.cjs delete mode 100644 scripts/translate-4-nordic.cjs delete mode 100644 scripts/translate-5-slavic.cjs delete mode 100644 scripts/translate-6-other-euro.cjs delete mode 100644 scripts/translate-7-asian.cjs delete mode 100644 scripts/translate-8-thai-khmer.cjs delete mode 100644 scripts/translate-9-tamil.cjs diff --git a/next-env.d.ts b/next-env.d.ts index 20e7bcfb0..1511519d3 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import './.next/dev/types/routes.d.ts'; +import './.next/types/routes.d.ts'; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/scripts/translate-1-eastasian.cjs b/scripts/translate-1-eastasian.cjs deleted file mode 100644 index c3530bf99..000000000 --- a/scripts/translate-1-eastasian.cjs +++ /dev/null @@ -1,349 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); -const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); - -const translations = { - 'zh-CN': { - label: { - 'campaign': '推广活动', - 'exclude-bounce': '排除跳出', - 'hour': '小时', - 'minute': '分钟', - 'month': '月', - 'number-of-records': '{x} {x, plural, one {条记录} other {条记录}}', - 'sms': '短信', - 'source': '来源', - 'term': '搜索词', - 'unique-events': '独立事件', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM 推广活动', - 'utm-content': 'UTM 内容', - 'utm-medium': 'UTM 媒介', - 'utm-source': 'UTM 来源', - 'utm-term': 'UTM 关键词', - 'version': '版本' - }, - message: {} - }, - 'zh-TW': { - label: { - 'account': '帳號', - 'action': '動作', - 'add-link': '新增連結', - 'add-pixel': '新增像素', - 'analysis': '分析', - 'application': '應用程式', - 'audience': '受眾', - 'campaign': '活動', - 'channel': '頻道', - 'channels': '頻道', - 'chart': '圖表', - 'cohorts': '群組', - 'criteria': '條件', - 'currency': '貨幣', - 'destination-url': '目標網址', - 'direct': '直接', - 'distinct-id': '唯一識別碼', - 'documentation': '說明文件', - 'does-not-include': '不包含', - 'doest-not-exist': '不存在', - 'download': '下載', - 'email': '電子郵件', - 'environment': '環境', - 'event-name': '事件名稱', - 'exclude-bounce': '排除跳出', - 'exists': '存在', - 'first-click': '首次點擊', - 'funnels': '漏斗', - 'grouped': '已分組', - 'growth': '成長', - 'hostname': '主機名稱', - 'hour': '小時', - 'includes': '包含', - 'insight': '洞察', - 'invalid-url': '無效的網址', - 'is-false': '為否', - 'is-true': '為是', - 'journeys': '使用者旅程', - 'last-click': '最後點擊', - 'link': '連結', - 'links': '連結', - 'location': '位置', - 'medium': '媒介', - 'minute': '分鐘', - 'model': '型號', - 'month': '月', - 'ok': '確定', - 'online': '線上', - 'organic-search': '自然搜尋', - 'organic-shopping': '自然購物', - 'organic-social': '自然社群', - 'organic-video': '自然影片', - 'other': '其他', - 'page': '頁面', - 'paid-ads': '付費廣告', - 'paid-search': '付費搜尋', - 'paid-shopping': '付費購物', - 'paid-social': '付費社群', - 'paid-video': '付費影片', - 'pixel': '像素', - 'pixels': '像素', - 'preferences': '偏好設定', - 'profiles': '個人檔案', - 'referral': '推薦', - 'remaining': '剩餘', - 'save-cohort': '儲存群組', - 'save-segment': '儲存區段', - 'screen': '螢幕', - 'segment': '區段', - 'segments': '區段', - 'select-filter': '選取篩選條件', - 'session-data': '工作階段資料', - 'share': '分享', - 'sms': '簡訊', - 'source': '來源', - 'sources': '來源', - 'support': '支援', - 'switch-account': '切換帳號', - 'table': '表格', - 'tag': '標籤', - 'tags': '標籤', - 'team-settings': '團隊設定', - 'term': '搜尋詞', - 'terms': '條款', - 'traffic': '流量', - 'unique-events': '不重複事件', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM 活動', - 'utm-content': 'UTM 內容', - 'utm-medium': 'UTM 媒介', - 'utm-source': 'UTM 來源', - 'utm-term': 'UTM 關鍵字', - 'version': '版本' - }, - message: { - 'bad-request': '錯誤的請求', - 'forbidden': '禁止存取', - 'not-found': '找不到', - 'nothing-selected': '尚未選取任何項目。', - 'sever-error': '伺服器錯誤', - 'unauthorized': '未經授權' - } - }, - 'ja-JP': { - label: { - 'account': 'アカウント', - 'action': 'アクション', - 'add-link': 'リンクを追加', - 'add-pixel': 'ピクセルを追加', - 'analysis': '分析', - 'application': 'アプリケーション', - 'audience': 'オーディエンス', - 'campaign': 'キャンペーン', - 'channel': 'チャネル', - 'chart': 'チャート', - 'cohorts': 'コホート', - 'criteria': '条件', - 'destination-url': '遷移先URL', - 'documentation': 'ドキュメント', - 'download': 'ダウンロード', - 'environment': '環境', - 'exclude-bounce': '直帰を除外', - 'growth': '成長', - 'hour': '時間', - 'invalid-url': '無効なURL', - 'link': 'リンク', - 'location': '場所', - 'minute': '分', - 'month': '月', - 'number-of-records': '{x} {x, plural, one {件} other {件}}', - 'ok': 'OK', - 'online': 'オンライン', - 'os': 'OS', - 'pixel': 'ピクセル', - 'powered-by': '{name} 提供', - 'preferences': '環境設定', - 'profiles': 'プロフィール', - 'referral': 'リファラル', - 'save-cohort': 'コホートを保存', - 'save-segment': 'セグメントを保存', - 'screen': 'スクリーン', - 'segment': 'セグメント', - 'segments': 'セグメント', - 'sms': 'SMS', - 'source': 'ソース', - 'support': 'サポート', - 'switch-account': 'アカウントを切り替え', - 'table': 'テーブル', - 'term': '検索語句', - 'traffic': 'トラフィック', - 'unique-events': 'ユニークイベント', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM キャンペーン', - 'utm-content': 'UTM コンテンツ', - 'utm-medium': 'UTM メディア', - 'utm-source': 'UTM ソース', - 'utm-term': 'UTM ターム', - 'version': 'バージョン' - }, - message: { - 'bad-request': '不正なリクエスト', - 'forbidden': 'アクセス禁止', - 'not-found': '見つかりません', - 'nothing-selected': '何も選択されていません。', - 'sever-error': 'サーバーエラー', - 'unauthorized': '認証が必要です' - } - }, - 'ko-KR': { - label: { - 'account': '계정', - 'action': '작업', - 'add-link': '링크 추가', - 'add-pixel': '픽셀 추가', - 'analysis': '분석', - 'application': '애플리케이션', - 'audience': '잠재고객', - 'campaign': '캠페인', - 'channel': '채널', - 'chart': '차트', - 'cohorts': '코호트', - 'criteria': '기준', - 'destination-url': '도착 URL', - 'documentation': '문서', - 'download': '다운로드', - 'environment': '환경', - 'exclude-bounce': '이탈 제외', - 'growth': '성장', - 'hour': '시간', - 'invalid-url': '잘못된 URL', - 'link': '링크', - 'location': '위치', - 'minute': '분', - 'month': '월', - 'online': '온라인', - 'pixel': '픽셀', - 'powered-by': '{name} 제공', - 'preferences': '환경설정', - 'profiles': '프로필', - 'referral': '추천', - 'save-cohort': '코호트 저장', - 'save-segment': '세그먼트 저장', - 'screen': '화면', - 'segment': '세그먼트', - 'segments': '세그먼트', - 'sms': 'SMS', - 'source': '소스', - 'support': '지원', - 'switch-account': '계정 전환', - 'table': '표', - 'term': '검색어', - 'traffic': '트래픽', - 'unique-events': '고유 이벤트', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM 캠페인', - 'utm-content': 'UTM 콘텐츠', - 'utm-medium': 'UTM 매체', - 'utm-source': 'UTM 소스', - 'utm-term': 'UTM 검색어', - 'version': '버전' - }, - message: { - 'bad-request': '잘못된 요청', - 'forbidden': '접근 금지', - 'not-found': '찾을 수 없음', - 'nothing-selected': '선택된 항목이 없습니다.', - 'sever-error': '서버 오류', - 'unauthorized': '인증되지 않음' - } - }, - 'vi-VN': { - label: { - 'account': 'Tài khoản', - 'action': 'Hành động', - 'add-link': 'Thêm liên kết', - 'add-pixel': 'Thêm pixel', - 'analysis': 'Phân tích', - 'application': 'Ứng dụng', - 'audience': 'Đối tượng', - 'campaign': 'Chiến dịch', - 'channel': 'Kênh', - 'chart': 'Biểu đồ', - 'cohorts': 'Nhóm thuần tập', - 'criteria': 'Tiêu chí', - 'destination-url': 'URL đích', - 'documentation': 'Tài liệu', - 'download': 'Tải xuống', - 'email': 'Email', - 'environment': 'Môi trường', - 'exclude-bounce': 'Loại trừ thoát trang', - 'growth': 'Tăng trưởng', - 'hour': 'Giờ', - 'invalid-url': 'URL không hợp lệ', - 'link': 'Liên kết', - 'location': 'Vị trí', - 'minute': 'Phút', - 'month': 'Tháng', - 'ok': 'OK', - 'pixel': 'Pixel', - 'preferences': 'Tùy chọn', - 'profiles': 'Hồ sơ', - 'save-cohort': 'Lưu nhóm thuần tập', - 'save-segment': 'Lưu phân đoạn', - 'screen': 'Màn hình', - 'segment': 'Phân đoạn', - 'segments': 'Phân đoạn', - 'sms': 'SMS', - 'source': 'Nguồn', - 'support': 'Hỗ trợ', - 'switch-account': 'Chuyển tài khoản', - 'table': 'Bảng', - 'term': 'Từ khóa', - 'traffic': 'Lưu lượng truy cập', - 'unique-events': 'Sự kiện duy nhất', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM Chiến dịch', - 'utm-content': 'UTM Nội dung', - 'utm-medium': 'UTM Phương tiện', - 'utm-source': 'UTM Nguồn', - 'utm-term': 'UTM Từ khóa', - 'version': 'Phiên bản', - 'website': 'Trang web' - }, - message: {} - } -}; - -for (const [locale, trans] of Object.entries(translations)) { - const filePath = path.join(dir, locale + '.json'); - const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); - let count = 0; - for (const [section, keys] of Object.entries(trans)) { - for (const [key, value] of Object.entries(keys)) { - if (data[section] && key in data[section]) { - data[section][key] = value; - count++; - } - } - } - const sorted = {}; - for (const section of Object.keys(enUS)) { - if (data[section]) { - sorted[section] = {}; - for (const key of Object.keys(enUS[section])) { - if (key in data[section]) sorted[section][key] = data[section][key]; - } - for (const key of Object.keys(data[section])) { - if (!(key in sorted[section])) sorted[section][key] = data[section][key]; - } - } - } - fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); - console.log('Updated ' + locale + ': ' + count + ' keys'); -} diff --git a/scripts/translate-10-sinhala.cjs b/scripts/translate-10-sinhala.cjs deleted file mode 100644 index 653109308..000000000 --- a/scripts/translate-10-sinhala.cjs +++ /dev/null @@ -1,358 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); -const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); - -const translations = { - 'si-LK': { - label: { - // A - 'access-code': 'ප්‍රවේශ කේතය', - 'account': 'ගිණුම', - 'action': 'ක්‍රියාව', - 'actions': 'ක්‍රියා', - 'add': 'එකතු කරන්න', - 'add-board': 'පුවරුව එකතු කරන්න', - 'add-description': 'විස්තරය එකතු කරන්න', - 'add-link': 'සබැඳිය එකතු කරන්න', - 'add-member': 'සාමාජිකයා එකතු කරන්න', - 'add-pixel': 'පික්සලය එකතු කරන්න', - 'add-step': 'පියවර එකතු කරන්න', - 'affiliate': 'අනුබද්ධ', - 'after': 'පසුව', - 'analysis': 'විශ්ලේෂණය', - 'analytics': 'විශ්ලේෂණ', - 'application': 'යෙදුම', - 'apply': 'යොදන්න', - 'attribution': 'ආරෝපණය', - 'attribution-description': 'පරිශීලකයින් ඔබේ අලෙවිකරණය සමඟ කටයුතු කරන ආකාරය සහ පරිවර්තන මෙහෙයවන දේ බලන්න.', - 'audience': 'ප්‍රේක්ෂකයින්', - 'average': 'සාමාන්‍ය', - 'before': 'පෙර', - 'boards': 'පුවරු', - 'bounce-rate': 'ප්‍රතිචිප්ත අනුපාතය', - 'breakdown': 'බිඳීම', - 'browser': 'බ්‍රවුසරය', - 'browsers': 'බ්‍රවුසර', - 'campaign': 'ව්‍යාපාරය', - 'campaigns': 'ව්‍යාපාර', - 'channel': 'නාලිකාව', - 'channels': 'නාලිකා', - 'chart': 'ප්‍රස්ථාරය', - 'cities': 'නගර', - 'city': 'නගරය', - 'clear-all': 'සියල්ල හිස් කරන්න', - 'cohort': 'සමූහය', - 'cohorts': 'සමූහ', - 'compare': 'සංසන්දනය', - 'compare-dates': 'දින සංසන්දනය', - 'confirm': 'තහවුරු කරන්න', - 'contains': 'අඩංගු වේ', - 'content': 'අන්තර්ගතය', - 'continue': 'ඉදිරියට', - 'conversion': 'පරිවර්තනය', - 'conversion-rate': 'පරිවර්තන අනුපාතය', - 'conversion-step': 'පරිවර්තන පියවර', - 'count': 'ගණන', - 'countries': 'රටවල්', - 'country': 'රට', - 'create': 'සාදන්න', - 'create-report': 'වාර්තාව සාදන්න', - 'create-team': 'කණ්ඩායම සාදන්න', - 'create-user': 'පරිශීලකයා සාදන්න', - 'created': 'සාදන ලදි', - 'created-by': 'සාදන ලද්දේ', - 'criteria': 'නිර්ණායක', - 'currency': 'මුදල් ඒකකය', - 'current': 'වත්මන්', - 'data': 'දත්ත', - 'date': 'දිනය', - 'day': 'දිනය', - 'delete-report': 'වාර්තාව මකන්න', - 'delete-team': 'කණ්ඩායම මකන්න', - 'delete-user': 'පරිශීලකයා මකන්න', - 'description': 'විස්තරය', - 'desktop': 'ඩෙස්ක්ටොප්', - 'destination-url': 'ගමනාන්ත URL', - 'details': 'විස්තර', - 'device': 'උපාංගය', - 'devices': 'උපාංග', - 'direct': 'සෘජු', - 'distinct-id': 'විශේෂිත ID', - 'documentation': 'ලේඛනගත කිරීම', - 'does-not-contain': 'අඩංගු නොවේ', - 'does-not-include': 'ඇතුළත් නොවේ', - 'doest-not-exist': 'පවතින්නේ නැත', - 'download': 'බාගන්න', - 'dropoff': 'අතහැර යෑම', - 'edit-dashboard': 'උපකරණ පුවරුව සංස්කරණය', - 'edit-member': 'සාමාජිකයා සංස්කරණය', - 'email': 'විද්‍යුත් තැපෑල', - 'end-step': 'අවසාන පියවර', - 'environment': 'පරිසරය', - 'event': 'සිදුවීම', - 'event-name': 'සිදුවීම් නාමය', - 'events': 'සිදුවීම්', - 'exclude-bounce': 'ප්‍රතිචිප්ත බැහැර කරන්න', - 'exists': 'පවතී', - 'false': 'අසත්‍ය', - 'field': 'ක්ෂේත්‍රය', - 'fields': 'ක්ෂේත්‍ර', - 'filter': 'පෙරහන', - 'filter-combined': 'ඒකාබද්ධ', - 'filter-raw': 'අමු', - 'filters': 'පෙරහන්', - 'first-click': 'පළමු ක්ලික්', - 'first-seen': 'මුලින් දුටු', - 'funnel': 'පුනීලය', - 'funnel-description': 'පරිශීලකයින්ගේ පරිවර්තන සහ අතහැර යෑමේ අනුපාතය තේරුම් ගන්න.', - 'funnels': 'පුනීල', - 'goal': 'ඉලක්කය', - 'goals': 'ඉලක්ක', - 'goals-description': 'පිටු නැරඹීම් සහ සිදුවීම් සඳහා ඔබේ ඉලක්ක නිරීක්ෂණය කරන්න.', - 'greater-than': 'වඩා විශාලයි', - 'greater-than-equals': 'වඩා විශාල හෝ සමානයි', - 'grouped': 'කාණ්ඩගත', - 'growth': 'වර්ධනය', - 'hostname': 'ධාරක නාමය', - 'hour': 'පැය', - 'includes': 'ඇතුළත් වේ', - 'insight': 'අවබෝධය', - 'insights': 'අවබෝධ', - 'insights-description': 'ඛණ්ඩ සහ පෙරහන් භාවිතා කර ඔබේ දත්ත ගැඹුරින් බලන්න.', - 'invalid-url': 'වලංගු නොවන URL', - 'is': 'වේ', - 'is-false': 'අසත්‍යයි', - 'is-not': 'නොවේ', - 'is-not-set': 'සකසා නැත', - 'is-set': 'සකසා ඇත', - 'is-true': 'සත්‍යයි', - 'join': 'සම්බන්ධ වන්න', - 'join-team': 'කණ්ඩායමට සම්බන්ධ වන්න', - 'journey': 'ගමන', - 'journey-description': 'පරිශීලකයින් ඔබේ වෙබ් අඩවිය හරහා සැරිසරන ආකාරය තේරුම් ගන්න.', - 'journeys': 'ගමන්', - 'languages': 'භාෂා', - 'laptop': 'ලැප්ටොප්', - 'last-click': 'අවසාන ක්ලික්', - 'last-months': 'අන්තිම {x} මාස', - 'last-seen': 'අවසන් දුටු', - 'leave': 'ඉවත් වන්න', - 'leave-team': 'කණ්ඩායමෙන් ඉවත් වන්න', - 'less-than': 'වඩා කුඩායි', - 'less-than-equals': 'වඩා කුඩා හෝ සමානයි', - 'link': 'සබැඳිය', - 'links': 'සබැඳි', - 'location': 'ස්ථානය', - 'manage': 'කළමනාකරණය', - 'manager': 'කළමනාකරු', - 'max': 'උපරිම', - 'medium': 'මාධ්‍යය', - 'member': 'සාමාජිකයා', - 'members': 'සාමාජිකයින්', - 'min': 'අවම', - 'minute': 'මිනිත්තුව', - 'mobile': 'ජංගම', - 'model': 'ආදර්ශය', - 'month': 'මාසය', - 'my-account': 'මගේ ගිණුම', - 'my-websites': 'මගේ වෙබ් අඩවි', - 'number-of-records': '{x} {x, plural, one {වාර්තාව} other {වාර්තා}}', - 'ok': 'OK', - 'online': 'සබැඳි', - 'organic-search': 'කාබනික සෙවීම', - 'organic-shopping': 'කාබනික සාප්පු සවාරි', - 'organic-social': 'කාබනික සමාජ', - 'organic-video': 'කාබනික වීඩියෝ', - 'os': 'OS', - 'other': 'වෙනත්', - 'overview': 'දළ විసුරුම', - 'page': 'පිටුව', - 'page-of': 'පිටුව {current} / {total}', - 'page-views': 'පිටු නැරඹීම්', - 'pageTitle': 'පිටු මාතෘකාව', - 'pages': 'පිටු', - 'paid-ads': 'ගෙවූ දැන්වීම්', - 'paid-search': 'ගෙවූ සෙවීම', - 'paid-shopping': 'ගෙවූ සාප්පු සවාරි', - 'paid-social': 'ගෙවූ සමාජ', - 'paid-video': 'ගෙවූ වීඩියෝ', - 'path': 'මාර්ගය', - 'paths': 'මාර්ග', - 'pixel': 'පික්සලය', - 'pixels': 'පික්සල', - 'powered-by': '{name} මඟින් බලගැන්වේ', - 'preferences': 'මනාප', - 'previous': 'පෙර', - 'previous-period': 'පෙර කාලය', - 'previous-year': 'පෙර වසර', - 'profiles': 'පැතිකඩ', - 'properties': 'ගුණාංග', - 'property': 'ගුණාංගය', - 'queries': 'විමසීම්', - 'query': 'විමසුම', - 'query-parameters': 'විමසුම් පරාමිති', - 'referral': 'යොමු කිරීම', - 'referrer': 'යොමු කරන්නා', - 'referrers': 'යොමු කරන්නන්', - 'regenerate': 'නැවත උත්පාදනය', - 'region': 'කලාපය', - 'regions': 'කලාප', - 'remaining': 'ඉතිරි', - 'remove': 'ඉවත් කරන්න', - 'remove-member': 'සාමාජිකයා ඉවත් කරන්න', - 'reports': 'වාර්තා', - 'retention': 'රඳවා ගැනීම', - 'retention-description': 'පරිශීලකයින් කොපමණ වාරයක් නැවත පැමිණෙනවාද යන්න නිරීක්ෂණය කර ඔබේ වෙබ් අඩවියේ ඇලෙන සුළුබව මනින්න.', - 'revenue': 'ආදායම', - 'role': 'භූමිකාව', - 'run-query': 'විමසුම ධාවනය කරන්න', - 'save-cohort': 'සමූහය සුරකින්න', - 'save-segment': 'ඛණ්ඩය සුරකින්න', - 'screen': 'තිරය', - 'screens': 'තිර', - 'search': 'සෙවීම', - 'segment': 'ඛණ්ඩය', - 'segments': 'ඛණ්ඩ', - 'select': 'තෝරන්න', - 'select-date': 'දිනය තෝරන්න', - 'select-filter': 'පෙරහන තෝරන්න', - 'select-role': 'භූමිකාව තෝරන්න', - 'select-website': 'වෙබ් අඩවිය තෝරන්න', - 'session': 'සැසිය', - 'session-data': 'සැසි දත්ත', - 'sessions': 'සැසි', - 'share': 'බෙදාගන්න', - 'sms': 'SMS', - 'source': 'මූලාශ්‍රය', - 'sources': 'මූලාශ්‍ර', - 'start-step': 'ආරම්භක පියවර', - 'steps': 'පියවර', - 'sum': 'එකතුව', - 'support': 'සහාය', - 'switch-account': 'ගිණුම මාරු කරන්න', - 'table': 'වගුව', - 'tablet': 'ටැබ්ලටය', - 'tag': 'ටැගය', - 'tags': 'ටැග්', - 'team': 'කණ්ඩායම', - 'team-id': 'කණ්ඩායම් ID', - 'team-manager': 'කණ්ඩායම් කළමනාකරු', - 'team-member': 'කණ්ඩායම් සාමාජිකයා', - 'team-name': 'කණ්ඩායම් නම', - 'team-owner': 'කණ්ඩායම් හිමිකරු', - 'team-settings': 'කණ්ඩායම් සැකසුම්', - 'team-view-only': 'කණ්ඩායම් බැලීම පමණි', - 'team-websites': 'කණ්ඩායම් වෙබ් අඩවි', - 'teams': 'කණ්ඩායම්', - 'term': 'යෙදුම', - 'terms': 'නියම', - 'title': 'මාතෘකාව', - 'toggle-charts': 'ප්‍රස්ථාර ටොගල් කරන්න', - 'total': 'මුළු', - 'total-records': 'මුළු වාර්තා', - 'traffic': 'ගමනාගමනය', - 'transactions': 'ගනුදෙනු', - 'transfer': 'මාරු කරන්න', - 'transfer-website': 'වෙබ් අඩවිය මාරු කරන්න', - 'true': 'සත්‍ය', - 'type': 'වර්ගය', - 'unique': 'අනන්‍ය', - 'unique-events': 'අනන්‍ය සිදුවීම්', - 'unique-visitors': 'අනන්‍ය නරඹන්නන්', - 'uniqueCustomers': 'අනන්‍ය ගනුදෙනුකරුවන්', - 'untitled': 'නම් නොකළ', - 'update': 'යාවත්කාලීන කරන්න', - 'url': 'URL', - 'user': 'පරිශීලකයා', - 'users': 'පරිශීලකයින්', - 'utm': 'UTM', - 'utm-campaign': 'UTM ව්‍යාපාරය', - 'utm-content': 'UTM අන්තර්ගතය', - 'utm-description': 'UTM පරාමිති හරහා ඔබේ ව්‍යාපාර නිරීක්ෂණය කරන්න.', - 'utm-medium': 'UTM මාධ්‍යය', - 'utm-source': 'UTM මූලාශ්‍රය', - 'utm-term': 'UTM යෙදුම', - 'value': 'අගය', - 'version': 'අනුවාදය', - 'view': 'බලන්න', - 'view-only': 'බැලීම පමණි', - 'views': 'නැරඹීම්', - 'views-per-visit': 'සංචාරයකට නැරඹීම්', - 'visit-duration': 'සංචාර කාලය', - 'visitors': 'නරඹන්නන්', - 'visits': 'සංචාර', - 'website': 'වෙබ් අඩවිය', - 'website-id': 'වෙබ් අඩවි ID', - 'window': 'කවුළුව', - }, - message: { - 'action-confirmation': 'තහවුරු කිරීමට පහත කොටුවේ {confirmation} ටයිප් කරන්න.', - 'bad-request': 'වලංගු නොවන ඉල්ලීමක්', - 'collected-data': 'එකතු කළ දත්ත', - 'confirm-leave': 'ඔබට {target} වෙතින් ඉවත් වීමට අවශ්‍ය බව විශ්වාසද?', - 'confirm-remove': 'ඔබට {target} ඉවත් කිරීමට අවශ්‍ය බව විශ්වාසද?', - 'delete-team-warning': 'කණ්ඩායමක් මකා දැමීමෙන් එහි සියලු වෙබ් අඩවි ද මැකෙනු ඇත.', - 'delete-website-warning': 'සියලුම වෙබ් අඩවි දත්ත මකා දැමෙනු ඇත.', - 'error': 'යමක් වැරදී ගියා.', - 'event-log': '{url} හි {event}', - 'forbidden': 'තහනම්', - 'invalid-domain': 'වලංගු නොවන ඩොමේනයකි. http/https ඇතුළත් නොකරන්න.', - 'min-password-length': 'අවම {n} අක්ෂර දිග', - 'new-version-available': 'Umami හි නව අනුවාදයක් {version} ලබා ගත හැකිය!', - 'no-event-data': 'සිදුවීම් දත්ත නොමැත.', - 'no-match-password': 'මුරපද නොගැළපේ.', - 'no-team-websites': 'මෙම කණ්ඩායමට වෙබ් අඩවි නොමැත.', - 'no-teams': 'ඔබ කිසිදු කණ්ඩායමක් සාදා නැත.', - 'no-users': 'පරිශීලකයින් නොමැත.', - 'no-websites-configured': 'ඔබ වෙබ් අඩවි කිසිවක් සකසා නැත.', - 'not-found': 'සොයා ගත නොහැක', - 'nothing-selected': 'කිසිවක් තෝරා නැත.', - 'reset-website': 'මෙම වෙබ් අඩවිය නැවත පිහිටුවීමට, පහත කොටුවේ {confirmation} ටයිප් කර තහවුරු කරන්න.', - 'reset-website-warning': 'මෙම වෙබ් අඩවියට අදාල සියලු සංඛ්‍යාලේඛන මකා දැමෙනු ඇත, නමුත් ඔබේ සැකසුම් නොවෙනස්ව පවතිනු ඇත.', - 'saved': 'සුරකින ලදි.', - 'sever-error': 'සේවාදායක දෝෂයකි', - 'team-already-member': 'ඔබ දැනටමත් මෙම කණ්ඩායමේ සාමාජිකයෙකි.', - 'team-not-found': 'කණ්ඩායම සොයා ගත නොහැක.', - 'team-websites-info': 'කණ්ඩායමේ ඕනෑම කෙනෙකුට වෙබ් අඩවි බැලිය හැකිය.', - 'tracking-code': 'මෙම වෙබ් අඩවියේ සංඛ්‍යාලේඛන නිරීක්ෂණය කිරීමට, පහත කේතය ඔබේ HTML හි ... කොටස තුළ තබන්න.', - 'transfer-team-website-to-user': 'මෙම වෙබ් අඩවිය ඔබේ ගිණුමට මාරු කරන්නද?', - 'transfer-user-website-to-team': 'මෙම වෙබ් අඩවිය මාරු කිරීමට කණ්ඩායම තෝරන්න.', - 'transfer-website': 'වෙබ් අඩවියේ හිමිකාරිත්වය ඔබේ ගිණුමට හෝ වෙනත් කණ්ඩායමකට මාරු කරන්න.', - 'triggered-event': 'අවුලුවන ලද සිදුවීම', - 'unauthorized': 'අනවසරයි', - 'user-deleted': 'පරිශීලකයා මකා දමන ලදි.', - 'viewed-page': 'නැරඹූ පිටුව', - 'visitor-log': '{country} සිට {os} {device} හි {browser} භාවිතා කරන නරඹන්නා', - } - } -}; - -for (const [locale, trans] of Object.entries(translations)) { - const filePath = path.join(dir, locale + '.json'); - const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); - let count = 0; - for (const [section, keys] of Object.entries(trans)) { - for (const [key, value] of Object.entries(keys)) { - if (data[section] && key in data[section]) { - data[section][key] = value; - count++; - } - } - } - const sorted = {}; - for (const section of Object.keys(enUS)) { - if (data[section]) { - sorted[section] = {}; - for (const key of Object.keys(enUS[section])) { - if (key in data[section]) sorted[section][key] = data[section][key]; - } - for (const key of Object.keys(data[section])) { - if (!(key in sorted[section])) sorted[section][key] = data[section][key]; - } - } - } - fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); - console.log('Updated ' + locale + ': ' + count + ' keys'); -} diff --git a/scripts/translate-11-urdu.cjs b/scripts/translate-11-urdu.cjs deleted file mode 100644 index e3eddf7b4..000000000 --- a/scripts/translate-11-urdu.cjs +++ /dev/null @@ -1,341 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); -const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); - -const translations = { - 'ur-PK': { - label: { - // A - 'access-code': 'رسائی کوڈ', - 'account': 'اکاؤنٹ', - 'action': 'عمل', - 'add': 'شامل کریں', - 'add-board': 'بورڈ شامل کریں', - 'add-description': 'تفصیل شامل کریں', - 'add-link': 'لنک شامل کریں', - 'add-member': 'رکن شامل کریں', - 'add-pixel': 'پکسل شامل کریں', - 'add-step': 'مرحلہ شامل کریں', - 'affiliate': 'ملحقہ', - 'after': 'بعد', - 'analysis': 'تجزیہ', - 'analytics': 'تجزیات', - 'application': 'ایپلیکیشن', - 'apply': 'لاگو کریں', - 'attribution': 'انتساب', - 'attribution-description': 'دیکھیں کہ صارفین آپ کی مارکیٹنگ کے ساتھ کیسے جڑتے ہیں اور تبدیلیوں کی وجہ کیا ہے۔', - 'audience': 'سامعین', - 'average': 'اوسط', - // B - 'before': 'پہلے', - 'boards': 'بورڈز', - 'breakdown': 'تفصیلی تجزیہ', - 'browser': 'براؤزر', - // C - 'campaign': 'مہم', - 'campaigns': 'مہمات', - 'channel': 'چینل', - 'channels': 'چینلز', - 'chart': 'چارٹ', - 'cities': 'شہر', - 'city': 'شہر', - 'clear-all': 'سب صاف کریں', - 'cohort': 'کوہارٹ', - 'cohorts': 'کوہارٹس', - 'compare': 'موازنہ کریں', - 'compare-dates': 'تاریخوں کا موازنہ', - 'confirm': 'تصدیق کریں', - 'contains': 'شامل ہے', - 'content': 'مواد', - 'continue': 'جاری رکھیں', - 'conversion': 'تبدیلی', - 'conversion-rate': 'تبدیلی کی شرح', - 'conversion-step': 'تبدیلی کا مرحلہ', - 'count': 'شمار', - 'country': 'ملک', - 'create': 'بنائیں', - 'create-report': 'رپورٹ بنائیں', - 'create-team': 'ٹیم بنائیں', - 'create-user': 'صارف بنائیں', - 'created': 'بنایا گیا', - 'created-by': 'بنانے والا', - 'criteria': 'معیار', - 'currency': 'کرنسی', - 'current': 'موجودہ', - // D - 'data': 'ڈیٹا', - 'date': 'تاریخ', - 'day': 'دن', - 'delete-report': 'رپورٹ حذف کریں', - 'delete-team': 'ٹیم حذف کریں', - 'delete-user': 'صارف حذف کریں', - 'description': 'تفصیل', - 'destination-url': 'منزل URL', - 'details': 'تفصیلات', - 'device': 'آلہ', - 'direct': 'براہ راست', - 'distinct-id': 'منفرد ID', - 'documentation': 'دستاویزات', - 'does-not-contain': 'شامل نہیں ہے', - 'does-not-include': 'مشتمل نہیں ہے', - 'doest-not-exist': 'موجود نہیں ہے', - 'download': 'ڈاؤن لوڈ', - 'dropoff': 'ڈراپ آف', - // E - 'edit-dashboard': 'ڈیش بورڈ میں ترمیم', - 'edit-member': 'رکن میں ترمیم', - 'email': 'ای میل', - 'end-step': 'آخری مرحلہ', - 'environment': 'ماحول', - 'event': 'واقعہ', - 'event-data': 'واقعہ ڈیٹا', - 'event-name': 'واقعہ کا نام', - 'exclude-bounce': 'اچھال خارج کریں', - 'exists': 'موجود ہے', - // F - 'false': 'غلط', - 'field': 'فیلڈ', - 'fields': 'فیلڈز', - 'filter': 'فلٹر', - 'filters': 'فلٹرز', - 'first-click': 'پہلا کلک', - 'first-seen': 'پہلی بار دیکھا گیا', - 'funnel': 'فنل', - 'funnel-description': 'صارفین کی تبدیلی اور ڈراپ آف شرح کو سمجھیں۔', - 'funnels': 'فنلز', - // G - 'goal': 'ہدف', - 'goals': 'اہداف', - 'goals-description': 'صفحہ کے نظاروں اور واقعات کے لیے اپنے اہداف کی نگرانی کریں۔', - 'greater-than': 'سے زیادہ', - 'greater-than-equals': 'سے زیادہ یا مساوی', - 'grouped': 'گروپ شدہ', - 'growth': 'نمو', - // H - 'hostname': 'ہوسٹ نام', - 'hour': 'گھنٹہ', - // I - 'includes': 'مشتمل ہے', - 'insight': 'بصیرت', - 'insights': 'بصیرتیں', - 'insights-description': 'سیگمنٹس اور فلٹرز استعمال کرکے اپنے ڈیٹا میں گہرائی سے جائیں۔', - 'invalid-url': 'غلط URL', - 'is': 'ہے', - 'is-false': 'غلط ہے', - 'is-not': 'نہیں ہے', - 'is-not-set': 'سیٹ نہیں ہے', - 'is-set': 'سیٹ ہے', - 'is-true': 'درست ہے', - // J - 'join': 'شامل ہوں', - 'join-team': 'ٹیم میں شامل ہوں', - 'journey': 'سفر', - 'journey-description': 'سمجھیں کہ صارفین آپ کی ویب سائٹ پر کیسے تشریف لے جاتے ہیں۔', - 'journeys': 'سفر', - // L - 'language': 'زبان', - 'last-click': 'آخری کلک', - 'last-months': 'پچھلے {x} مہینے', - 'last-seen': 'آخری بار دیکھا گیا', - 'leave': 'چھوڑیں', - 'leave-team': 'ٹیم چھوڑیں', - 'less-than': 'سے کم', - 'less-than-equals': 'سے کم یا مساوی', - 'link': 'لنک', - 'links': 'لنکس', - 'location': 'مقام', - // M - 'manage': 'انتظام کریں', - 'manager': 'منتظم', - 'max': 'زیادہ سے زیادہ', - 'medium': 'میڈیم', - 'member': 'رکن', - 'members': 'اراکین', - 'min': 'کم سے کم', - 'minute': 'منٹ', - 'model': 'ماڈل', - 'month': 'مہینہ', - 'my-account': 'میرا اکاؤنٹ', - 'my-websites': 'میری ویب سائٹس', - // N - 'none': 'کوئی نہیں', - 'number-of-records': '{x} {x, plural, one {ریکارڈ} other {ریکارڈز}}', - 'online': 'آن لائن', - 'organic-search': 'نامیاتی تلاش', - 'organic-shopping': 'نامیاتی خریداری', - 'organic-social': 'نامیاتی سوشل', - 'organic-video': 'نامیاتی ویڈیو', - // O - 'other': 'دیگر', - 'overview': 'جائزہ', - // P - 'page': 'صفحہ', - 'page-of': 'صفحہ {current} از {total}', - 'pageTitle': 'صفحہ کا عنوان', - 'paid-ads': 'ادا شدہ اشتہارات', - 'paid-search': 'ادا شدہ تلاش', - 'paid-shopping': 'ادا شدہ خریداری', - 'paid-social': 'ادا شدہ سوشل', - 'paid-video': 'ادا شدہ ویڈیو', - 'path': 'راستہ', - 'paths': 'راستے', - 'pixel': 'پکسل', - 'pixels': 'پکسلز', - 'preferences': 'ترجیحات', - 'previous': 'پچھلا', - 'previous-period': 'پچھلا عرصہ', - 'previous-year': 'پچھلا سال', - 'profiles': 'پروفائلز', - 'properties': 'خصوصیات', - 'property': 'خصوصیت', - // Q - 'queries': 'استفسارات', - 'query': 'استفسار', - 'query-parameters': 'استفسار پیرامیٹرز', - // R - 'referral': 'حوالہ', - 'referrer': 'حوالہ دہندہ', - 'regenerate': 'دوبارہ بنائیں', - 'region': 'علاقہ', - 'regions': 'علاقے', - 'remaining': 'باقی', - 'remove': 'ہٹائیں', - 'remove-member': 'رکن ہٹائیں', - 'reports': 'رپورٹیں', - 'retention': 'برقراری', - 'retention-description': 'یہ جانچیں کہ صارفین کتنی بار واپس آتے ہیں اور آپ کی ویب سائٹ کتنی پرکشش ہے۔', - 'revenue': 'آمدنی', - 'role': 'کردار', - 'run-query': 'استفسار چلائیں', - // S - 'save-cohort': 'کوہارٹ محفوظ کریں', - 'save-segment': 'سیگمنٹ محفوظ کریں', - 'screen': 'اسکرین', - 'screens': 'اسکرینز', - 'search': 'تلاش', - 'segment': 'سیگمنٹ', - 'segments': 'سیگمنٹس', - 'select': 'منتخب کریں', - 'select-date': 'تاریخ منتخب کریں', - 'select-filter': 'فلٹر منتخب کریں', - 'select-role': 'کردار منتخب کریں', - 'select-website': 'ویب سائٹ منتخب کریں', - 'session': 'سیشن', - 'session-data': 'سیشن ڈیٹا', - 'sessions': 'سیشنز', - 'share': 'شیئر کریں', - 'source': 'ذریعہ', - 'sources': 'ذرائع', - 'start-step': 'شروعاتی مرحلہ', - 'steps': 'مراحل', - 'sum': 'کل', - 'support': 'معاونت', - 'switch-account': 'اکاؤنٹ تبدیل کریں', - // T - 'table': 'ٹیبل', - 'tag': 'ٹیگ', - 'tags': 'ٹیگز', - 'team': 'ٹیم', - 'team-manager': 'ٹیم منتظم', - 'team-member': 'ٹیم رکن', - 'team-name': 'ٹیم کا نام', - 'team-owner': 'ٹیم مالک', - 'team-settings': 'ٹیم ترتیبات', - 'team-view-only': 'ٹیم صرف دیکھنے کے لیے', - 'team-websites': 'ٹیم ویب سائٹس', - 'teams': 'ٹیمیں', - 'term': 'اصطلاح', - 'terms': 'شرائط', - 'theme': 'تھیم', - 'title': 'عنوان', - 'total': 'کل', - 'total-records': 'کل ریکارڈز', - 'traffic': 'ٹریفک', - 'transactions': 'لین دین', - 'transfer': 'منتقلی', - 'transfer-website': 'ویب سائٹ منتقل کریں', - 'true': 'درست', - 'type': 'قسم', - // U - 'unique': 'منفرد', - 'unique-events': 'منفرد واقعات', - 'uniqueCustomers': 'منفرد گاہک', - 'untitled': 'بے عنوان', - 'update': 'اپ ڈیٹ', - 'user': 'صارف', - 'users': 'صارفین', - 'utm-description': 'UTM پیرامیٹرز کے ذریعے اپنی مہمات کی نگرانی کریں۔', - // V - 'value': 'قدر', - 'version': 'ورژن', - 'view': 'دیکھیں', - 'view-only': 'صرف دیکھیں', - 'views-per-visit': 'فی وزٹ نظارے', - 'visits': 'وزٹس', - 'website': 'ویب سائٹ', - // W - 'window': 'ونڈو', - 'yesterday': 'کل' - }, - message: { - 'action-confirmation': 'تصدیق کے لیے نیچے دیے گئے خانے میں {confirmation} ٹائپ کریں۔', - 'bad-request': 'غلط درخواست', - 'collected-data': 'جمع شدہ ڈیٹا', - 'confirm-leave': 'کیا آپ واقعی {target} چھوڑنا چاہتے ہیں؟', - 'confirm-remove': 'کیا آپ واقعی {target} کو ہٹانا چاہتے ہیں؟', - 'delete-team-warning': 'ٹیم حذف کرنے سے ٹیم کی تمام ویب سائٹس بھی حذف ہو جائیں گی۔', - 'event-log': '{url} پر {event}', - 'forbidden': 'ممنوع', - 'min-password-length': 'کم از کم {n} حروف کی لمبائی', - 'new-version-available': 'Umami کا نیا ورژن {version} دستیاب ہے!', - 'no-event-data': 'واقعہ کا کوئی ڈیٹا دستیاب نہیں ہے۔', - 'no-team-websites': 'اس ٹیم کے پاس کوئی ویب سائٹ نہیں ہے۔', - 'no-teams': 'آپ نے ابھی تک کوئی ٹیم نہیں بنائی۔', - 'no-users': 'کوئی صارف نہیں ہے۔', - 'not-found': 'نہیں ملا', - 'nothing-selected': 'کچھ بھی منتخب نہیں کیا گیا۔', - 'reset-website': 'اس ویب سائٹ کو دوبارہ ترتیب دینے کے لیے تصدیق کے خانے میں {confirmation} ٹائپ کریں۔', - 'sever-error': 'سرور کی خرابی', - 'team-already-member': 'آپ پہلے سے اس ٹیم کے رکن ہیں۔', - 'team-not-found': 'ٹیم نہیں ملی۔', - 'team-websites-info': 'ویب سائٹس ٹیم کا کوئی بھی رکن دیکھ سکتا ہے۔', - 'transfer-team-website-to-user': 'اس ویب سائٹ کو اپنے اکاؤنٹ میں منتقل کریں؟', - 'transfer-user-website-to-team': 'اس ویب سائٹ کو منتقل کرنے کے لیے ٹیم منتخب کریں۔', - 'transfer-website': 'ویب سائٹ کی ملکیت اپنے اکاؤنٹ یا کسی اور ٹیم کو منتقل کریں۔', - 'triggered-event': 'متحرک واقعہ', - 'unauthorized': 'غیر مجاز', - 'user-deleted': 'صارف حذف ہو گیا۔', - 'viewed-page': 'دیکھا گیا صفحہ' - } - } -}; - -for (const [locale, trans] of Object.entries(translations)) { - const filePath = path.join(dir, locale + '.json'); - const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); - let count = 0; - for (const [section, keys] of Object.entries(trans)) { - for (const [key, value] of Object.entries(keys)) { - if (data[section] && key in data[section]) { - data[section][key] = value; - count++; - } - } - } - const sorted = {}; - for (const section of Object.keys(enUS)) { - if (data[section]) { - sorted[section] = {}; - for (const key of Object.keys(enUS[section])) { - if (key in data[section]) sorted[section][key] = data[section][key]; - } - for (const key of Object.keys(data[section])) { - if (!(key in sorted[section])) sorted[section][key] = data[section][key]; - } - } - } - fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); - console.log('Updated ' + locale + ': ' + count + ' keys'); -} diff --git a/scripts/translate-12-burmese.cjs b/scripts/translate-12-burmese.cjs deleted file mode 100644 index 3cd3b572a..000000000 --- a/scripts/translate-12-burmese.cjs +++ /dev/null @@ -1,256 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); -const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); - -const translations = { - 'my-MM': { - label: { - // A - 'account': 'အကောင့်', - 'action': 'လုပ်ဆောင်ချက်', - 'add-board': 'ဘုတ်ထည့်မည်', - 'add-link': 'လင့်ခ်ထည့်မည်', - 'add-member': 'အဖွဲ့ဝင်ထည့်မည်', - 'add-pixel': 'Pixel ထည့်မည်', - 'add-step': 'အဆင့်ထည့်မည်', - 'affiliate': 'တွဲဖက်မိတ်ဖက်', - 'analysis': 'ခွဲခြမ်းစိတ်ဖြာမှု', - 'application': 'အပလီကေးရှင်း', - 'apply': 'အသုံးပြုမည်', - 'attribution': 'အရင်းအမြစ်ခွဲခြားခြင်း', - 'attribution-description': 'သင့်မားကတ်တင်းနှင့် အသုံးပြုသူများ မည်သို့ဆက်ဆံသည်နှင့် ပြောင်းလဲမှုကို မောင်းနှင်သည့်အရာများကို ကြည့်ပါ။', - 'audience': 'ပရိသတ်', - // B - 'boards': 'ဘုတ်များ', - 'browser': 'ဘရောင်ဇာ', - // C - 'campaign': 'ကမ်ပိန်း', - 'campaigns': 'ကမ်ပိန်းများ', - 'channel': 'ချန်နယ်', - 'channels': 'ချန်နယ်များ', - 'chart': 'ဇယား', - 'city': 'မြို့', - 'cohort': 'အုပ်စု', - 'cohorts': 'အုပ်စုများ', - 'compare': 'နှိုင်းယှဉ်မည်', - 'compare-dates': 'ရက်စွဲများ နှိုင်းယှဉ်မည်', - 'content': 'အကြောင်းအရာ', - 'conversion': 'ပြောင်းလဲမှု', - 'conversion-rate': 'ပြောင်းလဲမှုနှုန်း', - 'conversion-step': 'ပြောင်းလဲမှုအဆင့်', - 'count': 'အရေအတွက်', - 'country': 'နိုင်ငံ', - 'create': 'ဖန်တီးမည်', - 'created-by': 'ဖန်တီးသူ', - 'criteria': 'စံသတ်မှတ်ချက်', - 'currency': 'ငွေကြေး', - 'current': 'လက်ရှိ', - // D - 'date': 'ရက်စွဲ', - 'day': 'ရက်', - 'delete-report': 'အစီရင်ခံစာ ဖျက်မည်', - 'destination-url': 'ဦးတည်ရာ URL', - 'device': 'ကိရိယာ', - 'direct': 'တိုက်ရိုက်', - 'distinct-id': 'ထူးခြား ID', - 'documentation': 'စာရွက်စာတမ်း', - 'does-not-include': 'မပါဝင်ပါ', - 'doest-not-exist': 'မတည်ရှိပါ', - 'download': 'ဒေါင်းလုဒ်လုပ်မည်', - 'dropoff': 'ထွက်ခွာမှု', - // E - 'edit-member': 'အဖွဲ့ဝင် ပြင်ဆင်မည်', - 'email': 'အီးမေးလ်', - 'end-step': 'အဆုံးအဆင့်', - 'environment': 'ပတ်ဝန်းကျင်', - 'event-name': 'အဖြစ်အပျက်အမည်', - 'exclude-bounce': 'Bounce ဖယ်ထုတ်မည်', - 'exists': 'တည်ရှိသည်', - // F - 'filter': 'စစ်ထုတ်မည်', - 'first-click': 'ပထမဆုံးနှိပ်ချက်', - 'first-seen': 'ပထမဆုံးတွေ့ရှိချိန်', - 'funnel-description': 'အသုံးပြုသူများ၏ ပြောင်းလဲမှုနှင့် ထွက်ခွာမှုနှုန်းကို နားလည်ပါ။', - 'funnels': 'ဖန်နယ်များ', - // G - 'goal': 'ပန်းတိုင်', - 'goals': 'ပန်းတိုင်များ', - 'goals-description': 'စာမျက်နှာကြည့်ရှုမှုနှင့် အဖြစ်အပျက်များအတွက် ပန်းတိုင်များကို ခြေရာခံပါ။', - 'grouped': 'အုပ်စုဖွဲ့ထားသော', - 'growth': 'တိုးတက်မှု', - // H - 'hostname': 'လက်ခံဆာဗာအမည်', - 'hour': 'နာရီ', - // I - 'includes': 'ပါဝင်သည်', - 'insight': 'ထိုးထွင်းသိမြင်မှု', - 'insights-description': 'အပိုင်းခွဲများနှင့် စစ်ထုတ်ချက်များကို အသုံးပြု၍ သင့်ဒေတာကို ပိုမိုနက်ရှိုင်းစွာ လေ့လာပါ။', - 'invalid-url': 'မမှန်ကန်သော URL', - 'is': 'ဖြစ်သည်', - 'is-false': 'မှားသည်', - 'is-not': 'မဟုတ်ပါ', - 'is-not-set': 'သတ်မှတ်မထားပါ', - 'is-set': 'သတ်မှတ်ထားသည်', - 'is-true': 'မှန်သည်', - // J - 'journey': 'ခရီးလမ်း', - 'journey-description': 'အသုံးပြုသူများ သင့်ဝက်ဘ်ဆိုဒ်ကို မည်သို့လှည့်လည်သည်ကို နားလည်ပါ။', - 'journeys': 'ခရီးလမ်းများ', - // L - 'last-click': 'နောက်ဆုံးနှိပ်ချက်', - 'last-months': 'လွန်ခဲ့သော {x} လက', - 'last-seen': 'နောက်ဆုံးတွေ့ရှိချိန်', - 'link': 'လင့်ခ်', - 'links': 'လင့်ခ်များ', - 'location': 'တည်နေရာ', - // M - 'manage': 'စီမံမည်', - 'manager': 'မန်နေဂျာ', - 'medium': 'မီဒီယမ်', - 'member': 'အဖွဲ့ဝင်', - 'minute': 'မိနစ်', - 'model': 'မော်ဒယ်', - 'month': 'လ', - 'my-account': 'ကျွန်ုပ်၏အကောင့်', - 'my-websites': 'ကျွန်ုပ်၏ဝက်ဘ်ဆိုဒ်များ', - // N - 'number-of-records': '{x} {x, plural, one {မှတ်တမ်း} other {မှတ်တမ်းများ}}', - // O - 'ok': 'OK', - 'online': 'အွန်လိုင်း', - 'organic-search': 'သဘာဝရှာဖွေမှု', - 'organic-shopping': 'သဘာဝစျေးဝယ်မှု', - 'organic-social': 'သဘာဝဆိုရှယ်', - 'organic-video': 'သဘာဝဗီဒီယို', - 'other': 'အခြား', - // P - 'page': 'စာမျက်နှာ', - 'page-of': 'စာမျက်နှာ {current} / {total}', - 'pageTitle': 'စာမျက်နှာခေါင်းစဥ်', - 'paid-ads': 'ငွေပေးကြော်ငြာ', - 'paid-search': 'ငွေပေးရှာဖွေမှု', - 'paid-shopping': 'ငွေပေးစျေးဝယ်မှု', - 'paid-social': 'ငွေပေးဆိုရှယ်', - 'paid-video': 'ငွေပေးဗီဒီယို', - 'path': 'လမ်းကြောင်း', - 'paths': 'လမ်းကြောင်းများ', - 'pixel': 'Pixel', - 'pixels': 'Pixel များ', - 'preferences': 'စိတ်ကြိုက်ဆက်တင်များ', - 'previous': 'ယခင်', - 'previous-period': 'ယခင်ကာလ', - 'previous-year': 'ယခင်နှစ်', - 'profiles': 'ပရိုဖိုင်းများ', - 'properties': 'ဂုဏ်သတ္တိများ', - 'property': 'ဂုဏ်သတ္တိ', - // R - 'referral': 'ရည်ညွှန်းမှု', - 'referrer': 'ရည်ညွှန်းသူ', - 'region': 'ဒေသ', - 'remaining': 'ကျန်ရှိနေသော', - 'remove-member': 'အဖွဲ့ဝင်ကို ဖယ်ရှားမည်', - 'retention': 'ထိန်းသိမ်းနိုင်မှု', - 'retention-description': 'အသုံးပြုသူများ မည်မျှမကြာခဏ ပြန်လာသည်ကို ခြေရာခံ၍ သင့်ဝက်ဘ်ဆိုဒ်၏ ဆွဲဆောင်နိုင်မှုကို တိုင်းတာပါ။', - 'revenue': 'ဝင်ငွေ', - // S - 'save-cohort': 'အုပ်စုသိမ်းမည်', - 'save-segment': 'အပိုင်းခွဲသိမ်းမည်', - 'screen': 'မျက်နှာပြင်', - 'search': 'ရှာဖွေမည်', - 'segment': 'အပိုင်းခွဲ', - 'segments': 'အပိုင်းခွဲများ', - 'select': 'ရွေးချယ်မည်', - 'select-filter': 'စစ်ထုတ်ချက်ရွေးမည်', - 'select-role': 'အခန်းကဏ္ဍရွေးမည်', - 'session': 'ဆက်ရှင်', - 'session-data': 'ဆက်ရှင်ဒေတာ', - 'share': 'မျှဝေမည်', - 'sms': 'SMS', - 'source': 'အရင်းအမြစ်', - 'sources': 'အရင်းအမြစ်များ', - 'start-step': 'စတင်အဆင့်', - 'steps': 'အဆင့်များ', - 'support': 'ပံ့ပိုးကူညီမှု', - 'switch-account': 'အကောင့်ပြောင်းမည်', - // T - 'table': 'ဇယား', - 'tag': 'တဂ်', - 'tags': 'တဂ်များ', - 'team-manager': 'အသင်းမန်နေဂျာ', - 'team-name': 'အသင်းအမည်', - 'team-settings': 'အသင်းဆက်တင်များ', - 'team-view-only': 'အသင်း ကြည့်ရှုမှုသာ', - 'team-websites': 'အသင်းဝက်ဘ်ဆိုဒ်များ', - 'term': 'စည်းကမ်း', - 'terms': 'စည်းကမ်းများ', - 'traffic': 'အသွားအလာ', - 'transactions': 'ငွေလွှဲမှုများ', - 'transfer': 'လွှဲပြောင်းမည်', - 'transfer-website': 'ဝက်ဘ်ဆိုဒ်လွှဲပြောင်းမည်', - // U - 'unique': 'ထူးခြားသော', - 'unique-events': 'ထူးခြားအဖြစ်အပျက်များ', - 'uniqueCustomers': 'ထူးခြားဖောက်သည်များ', - 'update': 'အပ်ဒိတ်လုပ်မည်', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM ကမ်ပိန်း', - 'utm-content': 'UTM အကြောင်းအရာ', - 'utm-description': 'UTM ပါရာမီတာများမှတစ်ဆင့် သင့်ကမ်ပိန်းများကို ခြေရာခံပါ။', - 'utm-medium': 'UTM မီဒီယမ်', - 'utm-source': 'UTM အရင်းအမြစ်', - 'utm-term': 'UTM စည်းကမ်း', - // V - 'version': 'ဗားရှင်း', - 'views-per-visit': 'လည်ပတ်မှုတစ်ခုလျှင် ကြည့်ရှုမှု', - 'visits': 'လည်ပတ်မှုများ', - }, - message: { - 'action-confirmation': 'အတည်ပြုရန် အောက်ပါအကွက်တွင် {confirmation} ကို ရိုက်ထည့်ပါ။', - 'bad-request': 'မမှန်ကန်သောတောင်းဆိုမှု', - 'collected-data': 'စုဆောင်းထားသောဒေတာ', - 'confirm-remove': '{target} ကို ဖယ်ရှားလိုသည်မှာ သေချာပါသလား?', - 'delete-team-warning': 'အသင်းကိုဖျက်ပါက အသင်းဝက်ဘ်ဆိုဒ်များအားလုံးကိုပါ ဖျက်ပစ်မည်။', - 'forbidden': 'ခွင့်ပြုချက်မရှိပါ', - 'not-found': 'ရှာမတွေ့ပါ', - 'nothing-selected': 'ဘာမှရွေးမထားပါ။', - 'sever-error': 'ဆာဗာအမှားအယွင်း', - 'transfer-team-website-to-user': 'ဤဝက်ဘ်ဆိုဒ်ကို သင့်အကောင့်သို့ လွှဲပြောင်းမလား?', - 'transfer-user-website-to-team': 'ဤဝက်ဘ်ဆိုဒ်ကို လွှဲပြောင်းမည့် အသင်းကို ရွေးချယ်ပါ။', - 'transfer-website': 'ဝက်ဘ်ဆိုဒ်ပိုင်ဆိုင်မှုကို သင့်အကောင့် သို့မဟုတ် အခြားအသင်းသို့ လွှဲပြောင်းပါ။', - 'triggered-event': 'အစပျိုးလိုက်သော အဖြစ်အပျက်', - 'unauthorized': 'ခွင့်ပြုချက်မရှိပါ', - 'viewed-page': 'ကြည့်ရှုခဲ့သောစာမျက်နှာ', - } - } -}; - -for (const [locale, trans] of Object.entries(translations)) { - const filePath = path.join(dir, locale + '.json'); - const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); - let count = 0; - for (const [section, keys] of Object.entries(trans)) { - for (const [key, value] of Object.entries(keys)) { - if (data[section] && key in data[section]) { - data[section][key] = value; - count++; - } - } - } - const sorted = {}; - for (const section of Object.keys(enUS)) { - if (data[section]) { - sorted[section] = {}; - for (const key of Object.keys(enUS[section])) { - if (key in data[section]) sorted[section][key] = data[section][key]; - } - for (const key of Object.keys(data[section])) { - if (!(key in sorted[section])) sorted[section][key] = data[section][key]; - } - } - } - fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); - console.log('Updated ' + locale + ': ' + count + ' keys'); -} diff --git a/scripts/translate-2-romance.cjs b/scripts/translate-2-romance.cjs deleted file mode 100644 index a0b8c5323..000000000 --- a/scripts/translate-2-romance.cjs +++ /dev/null @@ -1,787 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); -const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); - -const translations = { - 'es-ES': { - label: { - 'account': 'Cuenta', - 'action': 'Acción', - 'add-link': 'Añadir enlace', - 'add-pixel': 'Añadir píxel', - 'analysis': 'Análisis', - 'application': 'Aplicación', - 'audience': 'Audiencia', - 'campaign': 'Campaña', - 'channel': 'Canal', - 'chart': 'Gráfico', - 'cohorts': 'Cohortes', - 'criteria': 'Criterios', - 'destination-url': 'URL de destino', - 'documentation': 'Documentación', - 'download': 'Descargar', - 'email': 'Correo electrónico', - 'environment': 'Entorno', - 'exclude-bounce': 'Excluir rebote', - 'growth': 'Crecimiento', - 'hour': 'Hora', - 'invalid-url': 'URL no válida', - 'link': 'Enlace', - 'location': 'Ubicación', - 'minute': 'Minuto', - 'month': 'Mes', - 'ok': 'Aceptar', - 'online': 'En línea', - 'pixel': 'Píxel', - 'preferences': 'Preferencias', - 'profiles': 'Perfiles', - 'save-cohort': 'Guardar cohorte', - 'save-segment': 'Guardar segmento', - 'screen': 'Pantalla', - 'segment': 'Segmento', - 'segments': 'Segmentos', - 'sms': 'SMS', - 'source': 'Fuente', - 'support': 'Soporte', - 'switch-account': 'Cambiar cuenta', - 'table': 'Tabla', - 'term': 'Término', - 'total': 'Total', - 'traffic': 'Tráfico', - 'unique-events': 'Eventos únicos', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM Campaña', - 'utm-content': 'UTM Contenido', - 'utm-medium': 'UTM Medio', - 'utm-source': 'UTM Fuente', - 'utm-term': 'UTM Término', - 'version': 'Versión' - }, - message: { - 'bad-request': 'Solicitud incorrecta', - 'forbidden': 'Prohibido', - 'not-found': 'No encontrado', - 'nothing-selected': 'Nada seleccionado.', - 'sever-error': 'Error del servidor', - 'unauthorized': 'No autorizado' - } - }, - 'fr-FR': { - label: { - 'account': 'Compte', - 'action': 'Action', - 'actions': 'Actions', - 'add-link': 'Ajouter un lien', - 'add-pixel': 'Ajouter un pixel', - 'analysis': 'Analyse', - 'application': 'Application', - 'attribution': 'Attribution', - 'audience': 'Audience', - 'campaign': 'Campagne', - 'channel': 'Canal', - 'chart': 'Graphique', - 'cohorts': 'Cohortes', - 'conversion': 'Conversion', - 'criteria': 'Critères', - 'date': 'Date', - 'description': 'Description', - 'destination-url': 'URL de destination', - 'direct': 'Direct', - 'documentation': 'Documentation', - 'download': 'Télécharger', - 'environment': 'Environnement', - 'exclude-bounce': 'Exclure le rebond', - 'growth': 'Croissance', - 'hour': 'Heure', - 'invalid-url': 'URL invalide', - 'link': 'Lien', - 'location': 'Emplacement', - 'max': 'Max', - 'min': 'Min', - 'minute': 'Minute', - 'month': 'Mois', - 'ok': 'OK', - 'online': 'En ligne', - 'os': 'OS', - 'page': 'Page', - 'pages': 'Pages', - 'pixel': 'Pixel', - 'pixels': 'Pixels', - 'preferences': 'Préférences', - 'profiles': 'Profils', - 'save-cohort': 'Enregistrer la cohorte', - 'save-segment': 'Enregistrer le segment', - 'screen': 'Écran', - 'segment': 'Segment', - 'segments': 'Segments', - 'session': 'Session', - 'sessions': 'Sessions', - 'sms': 'SMS', - 'source': 'Source', - 'sources': 'Sources', - 'support': 'Support', - 'switch-account': 'Changer de compte', - 'table': 'Tableau', - 'team-settings': 'Paramètres de l\'équipe', - 'term': 'Terme', - 'total': 'Total', - 'transactions': 'Transactions', - 'type': 'Type', - 'unique': 'Unique', - 'unique-events': 'Événements uniques', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM Campagne', - 'utm-content': 'UTM Contenu', - 'utm-medium': 'UTM Média', - 'utm-source': 'UTM Source', - 'utm-term': 'UTM Terme', - 'version': 'Version' - }, - message: { - 'bad-request': 'Requête incorrecte', - 'forbidden': 'Interdit' - } - }, - 'pt-BR': { - label: { - 'account': 'Conta', - 'action': 'Ação', - 'add-link': 'Adicionar link', - 'add-pixel': 'Adicionar pixel', - 'analysis': 'Análise', - 'application': 'Aplicação', - 'audience': 'Audiência', - 'campaign': 'Campanha', - 'channel': 'Canal', - 'chart': 'Gráfico', - 'cohorts': 'Coortes', - 'criteria': 'Critérios', - 'destination-url': 'URL de destino', - 'documentation': 'Documentação', - 'download': 'Download', - 'email': 'E-mail', - 'end-step': 'Etapa final', - 'environment': 'Ambiente', - 'exclude-bounce': 'Excluir rejeição', - 'first-seen': 'Visto pela primeira vez', - 'growth': 'Crescimento', - 'hour': 'Hora', - 'insight': 'Insight', - 'insights': 'Insights', - 'invalid-url': 'URL inválida', - 'link': 'Link', - 'links': 'Links', - 'location': 'Localização', - 'manager': 'Gerente', - 'minute': 'Minuto', - 'month': 'Mês', - 'ok': 'OK', - 'online': 'Online', - 'pixel': 'Pixel', - 'pixels': 'Pixels', - 'preferences': 'Preferências', - 'profiles': 'Perfis', - 'save-cohort': 'Salvar coorte', - 'save-segment': 'Salvar segmento', - 'screen': 'Tela', - 'segment': 'Segmento', - 'segments': 'Segmentos', - 'sms': 'SMS', - 'source': 'Fonte', - 'start-step': 'Etapa inicial', - 'support': 'Suporte', - 'switch-account': 'Trocar conta', - 'table': 'Tabela', - 'tablet': 'Tablet', - 'tag': 'Tag', - 'tags': 'Tags', - 'term': 'Termo', - 'total': 'Total', - 'traffic': 'Tráfego', - 'transactions': 'Transações', - 'unique-events': 'Eventos únicos', - 'uniqueCustomers': 'Clientes únicos', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM Campanha', - 'utm-content': 'UTM Conteúdo', - 'utm-medium': 'UTM Mídia', - 'utm-source': 'UTM Fonte', - 'utm-term': 'UTM Termo', - 'version': 'Versão' - }, - message: { - 'bad-request': 'Requisição inválida', - 'collected-data': 'Dados coletados', - 'forbidden': 'Proibido', - 'not-found': 'Não encontrado', - 'nothing-selected': 'Nada selecionado.', - 'sever-error': 'Erro do servidor', - 'unauthorized': 'Não autorizado' - } - }, - 'pt-PT': { - label: { - 'account': 'Conta', - 'action': 'Ação', - 'add-link': 'Adicionar ligação', - 'add-pixel': 'Adicionar pixel', - 'analysis': 'Análise', - 'application': 'Aplicação', - 'audience': 'Audiência', - 'campaign': 'Campanha', - 'channel': 'Canal', - 'chart': 'Gráfico', - 'cohorts': 'Coortes', - 'contains': 'Contém', - 'continue': 'Continuar', - 'criteria': 'Critérios', - 'data': 'Dados', - 'date': 'Data', - 'destination-url': 'URL de destino', - 'documentation': 'Documentação', - 'download': 'Transferir', - 'dropoff': 'Abandono', - 'email': 'E-mail', - 'environment': 'Ambiente', - 'exclude-bounce': 'Excluir rejeição', - 'growth': 'Crescimento', - 'hour': 'Hora', - 'insight': 'Insight', - 'insights': 'Insights', - 'insights-description': 'Aprofunde os seus dados utilizando segmentos e filtros.', - 'invalid-url': 'URL inválido', - 'link': 'Ligação', - 'location': 'Localização', - 'minute': 'Minuto', - 'month': 'Mês', - 'number-of-records': '{x} {x, plural, one {registo} other {registos}}', - 'ok': 'OK', - 'online': 'Online', - 'os': 'SO', - 'overview': 'Visão geral', - 'page-of': 'Página {current} de {total}', - 'pageTitle': 'Título da página', - 'pixel': 'Pixel', - 'preferences': 'Preferências', - 'profiles': 'Perfis', - 'queries': 'Consultas', - 'query': 'Consulta', - 'query-parameters': 'Parâmetros de consulta', - 'referrer': 'Referência', - 'regenerate': 'Regenerar', - 'region': 'Região', - 'regions': 'Regiões', - 'remove': 'Remover', - 'remove-member': 'Remover membro', - 'reports': 'Relatórios', - 'retention': 'Retenção', - 'retention-description': 'Meça a fidelidade do seu site, monitorizando a frequência com que os utilizadores regressam.', - 'role': 'Função', - 'run-query': 'Executar consulta', - 'save-cohort': 'Guardar coorte', - 'save-segment': 'Guardar segmento', - 'screen': 'Ecrã', - 'screens': 'Ecrãs', - 'search': 'Pesquisar', - 'segment': 'Segmento', - 'segments': 'Segmentos', - 'select': 'Selecionar', - 'select-date': 'Selecionar data', - 'select-role': 'Selecionar função', - 'select-website': 'Selecionar website', - 'sessions': 'Sessões', - 'sms': 'SMS', - 'source': 'Fonte', - 'start-step': 'Etapa inicial', - 'steps': 'Etapas', - 'sum': 'Soma', - 'support': 'Suporte', - 'switch-account': 'Trocar de conta', - 'table': 'Tabela', - 'tablet': 'Tablet', - 'team': 'Equipa', - 'team-id': 'ID da equipa', - 'team-member': 'Membro da equipa', - 'team-name': 'Nome da equipa', - 'team-owner': 'Proprietário da equipa', - 'team-view-only': 'Visualização da equipa apenas', - 'team-websites': 'Websites da equipa', - 'teams': 'Equipas', - 'term': 'Termo', - 'title': 'Título', - 'total': 'Total', - 'total-records': 'Total de registos', - 'traffic': 'Tráfego', - 'transactions': 'Transações', - 'transfer': 'Transferir', - 'transfer-website': 'Transferir website', - 'true': 'Verdadeiro', - 'type': 'Tipo', - 'unique': 'Único', - 'unique-events': 'Eventos únicos', - 'uniqueCustomers': 'Clientes únicos', - 'untitled': 'Sem título', - 'update': 'Atualizar', - 'url': 'URL', - 'user': 'Utilizador', - 'users': 'Utilizadores', - 'utm': 'UTM', - 'utm-campaign': 'UTM Campanha', - 'utm-content': 'UTM Conteúdo', - 'utm-description': 'Monitorize as suas campanhas através de parâmetros UTM.', - 'utm-medium': 'UTM Meio', - 'utm-source': 'UTM Fonte', - 'utm-term': 'UTM Termo', - 'value': 'Valor', - 'version': 'Versão', - 'view': 'Visualizar', - 'view-only': 'Apenas visualização', - 'views-per-visit': 'Visualizações por visita', - 'visits': 'Visitas', - 'website': 'Website', - 'website-id': 'ID do website', - 'websites': 'Websites', - 'window': 'Janela', - 'yesterday': 'Ontem' - }, - message: { - 'action-confirmation': 'Escreva {confirmation} na caixa abaixo para confirmar.', - 'bad-request': 'Pedido inválido', - 'collected-data': 'Dados recolhidos', - 'confirm-leave': 'Tem a certeza de que deseja sair de {target}?', - 'confirm-remove': 'Tem a certeza de que deseja remover {target}?', - 'delete-team-warning': 'Eliminar uma equipa também elimina todos os websites da equipa.', - 'event-log': '{event} em {url}', - 'forbidden': 'Proibido', - 'min-password-length': 'Comprimento mínimo de {n} caracteres', - 'new-version-available': 'Uma nova versão do Umami {version} está disponível!', - 'no-event-data': 'Não existem dados de eventos disponíveis.', - 'no-team-websites': 'Esta equipa não tem websites.', - 'no-teams': 'Ainda não criou nenhuma equipa.', - 'no-users': 'Não existem utilizadores.', - 'not-found': 'Não encontrado', - 'nothing-selected': 'Nada selecionado.', - 'reset-website': 'Para repor este website, escreva {confirmation} na caixa abaixo para confirmar.', - 'sever-error': 'Erro do servidor', - 'team-already-member': 'Já é membro da equipa.', - 'team-not-found': 'Equipa não encontrada.', - 'team-websites-info': 'Os websites podem ser visualizados por qualquer membro da equipa.', - 'transfer-team-website-to-user': 'Transferir este website para a sua conta?', - 'transfer-user-website-to-team': 'Selecione a equipa para a qual transferir este website.', - 'transfer-website': 'Transfira a propriedade do website para a sua conta ou outra equipa.', - 'triggered-event': 'Evento acionado', - 'unauthorized': 'Não autorizado', - 'user-deleted': 'Utilizador eliminado.', - 'viewed-page': 'Página visualizada' - } - }, - 'it-IT': { - label: { - 'account': 'Account', - 'action': 'Azione', - 'add-link': 'Aggiungi link', - 'add-pixel': 'Aggiungi pixel', - 'analysis': 'Analisi', - 'application': 'Applicazione', - 'audience': 'Pubblico', - 'browser': 'Browser', - 'campaign': 'Campagna', - 'channel': 'Canale', - 'chart': 'Grafico', - 'cohorts': 'Coorti', - 'contains': 'Contiene', - 'criteria': 'Criteri', - 'desktop': 'Desktop', - 'destination-url': 'URL di destinazione', - 'documentation': 'Documentazione', - 'download': 'Scarica', - 'email': 'Email', - 'environment': 'Ambiente', - 'exclude-bounce': 'Escludi rimbalzo', - 'filter': 'Filtro', - 'filter-raw': 'Grezzo', - 'funnel': 'Funnel', - 'growth': 'Crescita', - 'hour': 'Ora', - 'invalid-url': 'URL non valido', - 'link': 'Link', - 'location': 'Posizione', - 'manager': 'Gestore', - 'minute': 'Minuto', - 'model': 'Modello', - 'month': 'Mese', - 'number-of-records': '{x} {x, plural, one {record} other {record}}', - 'ok': 'OK', - 'online': 'Online', - 'os': 'SO', - 'overview': 'Panoramica', - 'page-of': 'Pagina {current} di {total}', - 'pageTitle': 'Titolo pagina', - 'password': 'Password', - 'pixel': 'Pixel', - 'powered-by': 'Fornito da {name}', - 'preferences': 'Preferenze', - 'previous': 'Precedente', - 'previous-period': 'Periodo precedente', - 'previous-year': 'Anno precedente', - 'profiles': 'Profili', - 'query': 'Query', - 'referrer': 'Referente', - 'referrers': 'Referenti', - 'regenerate': 'Rigenera', - 'region': 'Regione', - 'regions': 'Regioni', - 'remove': 'Rimuovi', - 'remove-member': 'Rimuovi membro', - 'reports': 'Report', - 'reset': 'Reimposta', - 'retention': 'Fidelizzazione', - 'retention-description': 'Misura la fidelizzazione del tuo sito monitorando la frequenza con cui gli utenti ritornano.', - 'role': 'Ruolo', - 'run-query': 'Esegui query', - 'save-cohort': 'Salva coorte', - 'save-segment': 'Salva segmento', - 'screen': 'Schermo', - 'search': 'Cerca', - 'segment': 'Segmento', - 'segments': 'Segmenti', - 'select': 'Seleziona', - 'select-date': 'Seleziona data', - 'select-role': 'Seleziona ruolo', - 'select-website': 'Seleziona sito web', - 'session': 'Sessione', - 'sessions': 'Sessioni', - 'sms': 'SMS', - 'source': 'Fonte', - 'start-step': 'Passaggio iniziale', - 'steps': 'Passaggi', - 'sum': 'Somma', - 'support': 'Supporto', - 'switch-account': 'Cambia account', - 'table': 'Tabella', - 'tablet': 'Tablet', - 'team': 'Team', - 'team-id': 'ID Team', - 'team-manager': 'Manager del team', - 'team-member': 'Membro del team', - 'team-name': 'Nome del team', - 'team-owner': 'Proprietario del team', - 'team-view-only': 'Solo visualizzazione team', - 'team-websites': 'Siti web del team', - 'teams': 'Team', - 'term': 'Termine', - 'title': 'Titolo', - 'total': 'Totale', - 'total-records': 'Record totali', - 'traffic': 'Traffico', - 'transactions': 'Transazioni', - 'transfer': 'Trasferisci', - 'transfer-website': 'Trasferisci sito web', - 'true': 'Vero', - 'type': 'Tipo', - 'unique': 'Unico', - 'unique-events': 'Eventi unici', - 'uniqueCustomers': 'Clienti unici', - 'untitled': 'Senza titolo', - 'update': 'Aggiorna', - 'url': 'URL', - 'user': 'Utente', - 'users': 'Utenti', - 'utm': 'UTM', - 'utm-campaign': 'UTM Campagna', - 'utm-content': 'UTM Contenuto', - 'utm-description': 'Monitora le tue campagne attraverso i parametri UTM.', - 'utm-medium': 'UTM Mezzo', - 'utm-source': 'UTM Fonte', - 'utm-term': 'UTM Termine', - 'value': 'Valore', - 'version': 'Versione', - 'view': 'Visualizza', - 'view-only': 'Solo visualizzazione', - 'views-per-visit': 'Visualizzazioni per visita', - 'visits': 'Visite', - 'website': 'Sito web', - 'website-id': 'ID sito web', - 'window': 'Finestra' - }, - message: { - 'action-confirmation': 'Digita {confirmation} nella casella sottostante per confermare.', - 'bad-request': 'Richiesta non valida', - 'collected-data': 'Dati raccolti', - 'confirm-leave': 'Sei sicuro di voler lasciare {target}?', - 'confirm-remove': 'Sei sicuro di voler rimuovere {target}?', - 'delete-team-warning': 'L\'eliminazione di un team eliminerà anche tutti i siti web del team.', - 'event-log': '{event} su {url}', - 'forbidden': 'Vietato', - 'min-password-length': 'Lunghezza minima di {n} caratteri', - 'new-version-available': 'È disponibile una nuova versione di Umami {version}!', - 'no-event-data': 'Nessun dato evento disponibile.', - 'no-team-websites': 'Questo team non ha siti web.', - 'no-teams': 'Non hai creato nessun team.', - 'no-users': 'Non ci sono utenti.', - 'not-found': 'Non trovato', - 'nothing-selected': 'Nessuna selezione.', - 'reset-website': 'Per reimpostare questo sito web, digita {confirmation} nella casella sottostante per confermare.', - 'sever-error': 'Errore del server', - 'team-already-member': 'Sei già membro del team.', - 'team-not-found': 'Team non trovato.', - 'team-websites-info': 'I siti web possono essere visualizzati da chiunque nel team.', - 'transfer-team-website-to-user': 'Trasferire questo sito web al tuo account?', - 'transfer-user-website-to-team': 'Seleziona il team a cui trasferire questo sito web.', - 'transfer-website': 'Trasferisci la proprietà del sito web al tuo account o a un altro team.', - 'triggered-event': 'Evento attivato', - 'unauthorized': 'Non autorizzato', - 'user-deleted': 'Utente eliminato.', - 'viewed-page': 'Pagina visualizzata' - } - }, - 'ca-ES': { - label: { - 'account': 'Compte', - 'action': 'Acció', - 'add-link': 'Afegir enllaç', - 'add-pixel': 'Afegir píxel', - 'analysis': 'Anàlisi', - 'application': 'Aplicació', - 'audience': 'Audiència', - 'campaign': 'Campanya', - 'channel': 'Canal', - 'chart': 'Gràfic', - 'cohort': 'Cohort', - 'cohorts': 'Cohorts', - 'criteria': 'Criteris', - 'destination-url': 'URL de destinació', - 'documentation': 'Documentació', - 'download': 'Descarregar', - 'email': 'Correu electrònic', - 'environment': 'Entorn', - 'exclude-bounce': 'Excloure rebot', - 'growth': 'Creixement', - 'hour': 'Hora', - 'insights': 'Insights', - 'invalid-url': 'URL no vàlida', - 'link': 'Enllaç', - 'location': 'Ubicació', - 'minute': 'Minut', - 'model': 'Model', - 'month': 'Mes', - 'ok': "D'acord", - 'online': 'En línia', - 'pixel': 'Píxel', - 'pixels': 'Píxels', - 'preferences': 'Preferències', - 'profiles': 'Perfils', - 'regions': 'Regions', - 'save-cohort': 'Desar cohort', - 'save-segment': 'Desar segment', - 'screen': 'Pantalla', - 'segment': 'Segment', - 'segments': 'Segments', - 'sessions': 'Sessions', - 'sms': 'SMS', - 'source': 'Font', - 'support': 'Suport', - 'switch-account': 'Canviar de compte', - 'table': 'Taula', - 'term': 'Terme', - 'total': 'Total', - 'traffic': 'Trànsit', - 'unique-events': 'Esdeveniments únics', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM Campanya', - 'utm-content': 'UTM Contingut', - 'utm-medium': 'UTM Mitjà', - 'utm-source': 'UTM Font', - 'utm-term': 'UTM Terme', - 'version': 'Versió' - }, - message: { - 'bad-request': 'Sol·licitud incorrecta', - 'forbidden': 'Prohibit', - 'not-found': 'No trobat', - 'nothing-selected': 'Res seleccionat.', - 'sever-error': 'Error del servidor', - 'unauthorized': 'No autoritzat' - } - }, - 'ga-ES': { - label: { - 'account': 'Conta', - 'action': 'Acción', - 'add-link': 'Engadir ligazón', - 'add-pixel': 'Engadir píxel', - 'analysis': 'Análise', - 'application': 'Aplicación', - 'audience': 'Audiencia', - 'campaign': 'Campaña', - 'channel': 'Canle', - 'chart': 'Gráfico', - 'cohorts': 'Cohortes', - 'criteria': 'Criterios', - 'destination-url': 'URL de destino', - 'documentation': 'Documentación', - 'download': 'Descargar', - 'environment': 'Contorno', - 'exclude-bounce': 'Excluír rebote', - 'growth': 'Crecemento', - 'hour': 'Hora', - 'invalid-url': 'URL non válida', - 'link': 'Ligazón', - 'location': 'Localización', - 'max': 'Máx', - 'min': 'Mín', - 'minute': 'Minuto', - 'month': 'Mes', - 'number-of-records': '{x} {x, plural, one {rexistro} other {rexistros}}', - 'ok': 'Aceptar', - 'online': 'En liña', - 'pixel': 'Píxel', - 'preferences': 'Preferencias', - 'profiles': 'Perfís', - 'save-cohort': 'Gardar cohorte', - 'save-segment': 'Gardar segmento', - 'screen': 'Pantalla', - 'segment': 'Segmento', - 'segments': 'Segmentos', - 'sms': 'SMS', - 'source': 'Orixe', - 'start-step': 'Paso inicial', - 'support': 'Soporte', - 'switch-account': 'Cambiar de conta', - 'table': 'Táboa', - 'term': 'Termo', - 'total': 'Total', - 'traffic': 'Tráfico', - 'unique-events': 'Eventos únicos', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM Campaña', - 'utm-content': 'UTM Contido', - 'utm-medium': 'UTM Medio', - 'utm-source': 'UTM Orixe', - 'utm-term': 'UTM Termo', - 'version': 'Versión' - }, - message: { - 'bad-request': 'Solicitude incorrecta', - 'forbidden': 'Prohibido', - 'not-found': 'Non atopado', - 'nothing-selected': 'Nada seleccionado.', - 'sever-error': 'Erro do servidor', - 'unauthorized': 'Non autorizado' - } - }, - 'ro-RO': { - label: { - 'account': 'Cont', - 'action': 'Acțiune', - 'add-link': 'Adaugă link', - 'add-pixel': 'Adaugă pixel', - 'analysis': 'Analiză', - 'application': 'Aplicație', - 'audience': 'Audiență', - 'browser': 'Browser', - 'campaign': 'Campanie', - 'channel': 'Canal', - 'chart': 'Grafic', - 'cohorts': 'Cohorte', - 'confirm': 'Confirmă', - 'criteria': 'Criterii', - 'desktop': 'Desktop', - 'destination-url': 'URL destinație', - 'direct': 'Direct', - 'distinct-id': 'ID distinct', - 'documentation': 'Documentație', - 'download': 'Descarcă', - 'email': 'Email', - 'environment': 'Mediu', - 'exclude-bounce': 'Exclude respingere', - 'growth': 'Creștere', - 'hour': 'Oră', - 'invalid-url': 'URL invalid', - 'laptop': 'Laptop', - 'link': 'Link', - 'location': 'Locație', - 'manager': 'Manager', - 'max': 'Max', - 'min': 'Min', - 'minute': 'Minut', - 'model': 'Model', - 'month': 'Lună', - 'ok': 'OK', - 'online': 'Online', - 'os': 'SO', - 'pixel': 'Pixel', - 'preferences': 'Preferințe', - 'profiles': 'Profiluri', - 'referral': 'Referință', - 'save-cohort': 'Salvează cohorta', - 'save-segment': 'Salvează segmentul', - 'screen': 'Ecran', - 'segment': 'Segment', - 'segments': 'Segmente', - 'sms': 'SMS', - 'source': 'Sursă', - 'support': 'Suport', - 'switch-account': 'Schimbă contul', - 'table': 'Tabel', - 'term': 'Termen', - 'total': 'Total', - 'traffic': 'Trafic', - 'transfer': 'Transferă', - 'transfer-website': 'Transferă site-ul', - 'unique-events': 'Evenimente unice', - 'update': 'Actualizează', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM Campanie', - 'utm-content': 'UTM Conținut', - 'utm-medium': 'UTM Mediu', - 'utm-source': 'UTM Sursă', - 'utm-term': 'UTM Termen', - 'version': 'Versiune', - 'website': 'Site web' - }, - message: { - 'bad-request': 'Cerere incorectă', - 'forbidden': 'Interzis', - 'not-found': 'Negăsit', - 'nothing-selected': 'Nimic selectat.', - 'sever-error': 'Eroare de server', - 'unauthorized': 'Neautorizat' - } - } -}; - -for (const [locale, trans] of Object.entries(translations)) { - const filePath = path.join(dir, locale + '.json'); - const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); - let count = 0; - for (const [section, keys] of Object.entries(trans)) { - for (const [key, value] of Object.entries(keys)) { - if (data[section] && key in data[section]) { - data[section][key] = value; - count++; - } - } - } - const sorted = {}; - for (const section of Object.keys(enUS)) { - if (data[section]) { - sorted[section] = {}; - for (const key of Object.keys(enUS[section])) { - if (key in data[section]) sorted[section][key] = data[section][key]; - } - for (const key of Object.keys(data[section])) { - if (!(key in sorted[section])) sorted[section][key] = data[section][key]; - } - } - } - fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); - console.log('Updated ' + locale + ': ' + count + ' keys'); -} diff --git a/scripts/translate-3-germanic.cjs b/scripts/translate-3-germanic.cjs deleted file mode 100644 index 3ae691401..000000000 --- a/scripts/translate-3-germanic.cjs +++ /dev/null @@ -1,326 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); -const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); - -const translations = { - 'de-DE': { - label: { - 'account': 'Konto', - 'action': 'Aktion', - 'add-link': 'Link hinzufügen', - 'add-pixel': 'Pixel hinzufügen', - 'analysis': 'Analyse', - 'application': 'Anwendung', - 'audience': 'Zielgruppe', - 'boards': 'Boards', - 'browser': 'Browser', - 'campaign': 'Kampagne', - 'channel': 'Kanal', - 'chart': 'Diagramm', - 'cohorts': 'Kohorten', - 'criteria': 'Kriterien', - 'desktop': 'Desktop', - 'destination-url': 'Ziel-URL', - 'details': 'Details', - 'documentation': 'Dokumentation', - 'domain': 'Domain', - 'download': 'Herunterladen', - 'email': 'E-Mail', - 'environment': 'Umgebung', - 'exclude-bounce': 'Absprung ausschließen', - 'filter': 'Filter', - 'funnels': 'Trichter', - 'growth': 'Wachstum', - 'hostname': 'Hostname', - 'hour': 'Stunde', - 'invalid-url': 'Ungültige URL', - 'laptop': 'Laptop', - 'link': 'Link', - 'links': 'Links', - 'location': 'Standort', - 'max': 'Max', - 'medium': 'Medium', - 'min': 'Min', - 'minute': 'Minute', - 'model': 'Modell', - 'month': 'Monat', - 'name': 'Name', - 'number-of-records': '{x} {x, plural, one {Datensatz} other {Datensätze}}', - 'ok': 'OK', - 'online': 'Online', - 'os': 'OS', - 'pixel': 'Pixel', - 'preferences': 'Einstellungen', - 'profiles': 'Profile', - 'region': 'Region', - 'save-cohort': 'Kohorte speichern', - 'save-segment': 'Segment speichern', - 'screen': 'Bildschirm', - 'segment': 'Segment', - 'segments': 'Segmente', - 'sms': 'SMS', - 'source': 'Quelle', - 'support': 'Support', - 'switch-account': 'Konto wechseln', - 'table': 'Tabelle', - 'tablet': 'Tablet', - 'tag': 'Tag', - 'team': 'Team', - 'teams': 'Teams', - 'term': 'Suchbegriff', - 'traffic': 'Traffic', - 'unique-events': 'Einzigartige Ereignisse', - 'update': 'Aktualisieren', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM-Kampagne', - 'utm-content': 'UTM-Inhalt', - 'utm-medium': 'UTM-Medium', - 'utm-source': 'UTM-Quelle', - 'utm-term': 'UTM-Begriff', - 'version': 'Version', - 'website': 'Website', - 'websites': 'Websites' - }, - message: { - 'bad-request': 'Ungültige Anfrage', - 'forbidden': 'Verboten', - 'not-found': 'Nicht gefunden', - 'nothing-selected': 'Nichts ausgewählt.', - 'sever-error': 'Serverfehler', - 'unauthorized': 'Nicht autorisiert' - } - }, - 'de-CH': { - label: { - 'account': 'Konto', - 'action': 'Aktion', - 'add-link': 'Link hinzufügen', - 'add-pixel': 'Pixel hinzufügen', - 'analysis': 'Analyse', - 'application': 'Anwendung', - 'audience': 'Zielgruppe', - 'boards': 'Boards', - 'browser': 'Browser', - 'campaign': 'Kampagne', - 'channel': 'Kanal', - 'chart': 'Diagramm', - 'cohorts': 'Kohorten', - 'criteria': 'Kriterien', - 'desktop': 'Desktop', - 'destination-url': 'Ziel-URL', - 'details': 'Details', - 'documentation': 'Dokumentation', - 'domain': 'Domain', - 'download': 'Herunterladen', - 'email': 'E-Mail', - 'environment': 'Umgebung', - 'exclude-bounce': 'Absprung ausschliessen', - 'filter': 'Filter', - 'filters': 'Filter', - 'funnels': 'Trichter', - 'growth': 'Wachstum', - 'hour': 'Stunde', - 'invalid-url': 'Ungültige URL', - 'laptop': 'Laptop', - 'link': 'Link', - 'links': 'Links', - 'location': 'Standort', - 'manager': 'Verwalter', - 'max': 'Max', - 'medium': 'Medium', - 'min': 'Min', - 'minute': 'Minute', - 'model': 'Modell', - 'month': 'Monat', - 'name': 'Name', - 'number-of-records': '{x} {x, plural, one {Datensatz} other {Datensätze}}', - 'ok': 'OK', - 'online': 'Online', - 'os': 'OS', - 'pixel': 'Pixel', - 'preferences': 'Einstellungen', - 'profiles': 'Profile', - 'region': 'Region', - 'retention': 'Retention', - 'save-cohort': 'Kohorte speichern', - 'save-segment': 'Segment speichern', - 'screen': 'Bildschirm', - 'segment': 'Segment', - 'segments': 'Segmente', - 'sms': 'SMS', - 'source': 'Quelle', - 'support': 'Support', - 'switch-account': 'Konto wechseln', - 'table': 'Tabelle', - 'tablet': 'Tablet', - 'tag': 'Tag', - 'team': 'Team', - 'team-id': 'Team-ID', - 'teams': 'Teams', - 'term': 'Suchbegriff', - 'total': 'Total', - 'traffic': 'Traffic', - 'unique-events': 'Einzigartige Ereignisse', - 'update': 'Aktualisieren', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM-Kampagne', - 'utm-content': 'UTM-Inhalt', - 'utm-medium': 'UTM-Medium', - 'utm-source': 'UTM-Quelle', - 'utm-term': 'UTM-Begriff', - 'version': 'Version', - 'website': 'Website' - }, - message: { - 'bad-request': 'Ungültige Anfrage', - 'forbidden': 'Verboten', - 'not-found': 'Nicht gefunden', - 'nothing-selected': 'Nichts ausgewählt.', - 'sever-error': 'Serverfehler', - 'unauthorized': 'Nicht autorisiert' - } - }, - 'nl-NL': { - label: { - 'account': 'Account', - 'action': 'Actie', - 'add-link': 'Link toevoegen', - 'add-pixel': 'Pixel toevoegen', - 'analysis': 'Analyse', - 'application': 'Applicatie', - 'audience': 'Publiek', - 'browser': 'Browser', - 'browsers': 'Browsers', - 'campaign': 'Campagne', - 'channel': 'Kanaal', - 'chart': 'Grafiek', - 'cohort': 'Cohort', - 'cohorts': 'Cohorten', - 'criteria': 'Criteria', - 'destination-url': 'Bestemmings-URL', - 'direct': 'Direct', - 'documentation': 'Documentatie', - 'download': 'Downloaden', - 'email': 'E-mail', - 'end-step': 'Eindstap', - 'environment': 'Omgeving', - 'exclude-bounce': 'Bounce uitsluiten', - 'filter': 'Filter', - 'filters': 'Filters', - 'first-seen': 'Eerst gezien', - 'funnel': 'Trechter', - 'growth': 'Groei', - 'hour': 'Uur', - 'invalid-url': 'Ongeldige URL', - 'is': 'Is', - 'laptop': 'Laptop', - 'link': 'Link', - 'location': 'Locatie', - 'manager': 'Beheerder', - 'max': 'Max', - 'medium': 'Medium', - 'min': 'Min', - 'minute': 'Minuut', - 'model': 'Model', - 'month': 'Maand', - 'number-of-records': '{x} {x, plural, one {record} other {records}}', - 'ok': 'OK', - 'online': 'Online', - 'os': 'OS', - 'pixel': 'Pixel', - 'pixels': 'Pixels', - 'preferences': 'Voorkeuren', - 'profiles': 'Profielen', - 'query': 'Query', - 'referrer': 'Verwijzer', - 'save-cohort': 'Cohort opslaan', - 'save-segment': 'Segment opslaan', - 'screen': 'Scherm', - 'segment': 'Segment', - 'segments': 'Segmenten', - 'sms': 'SMS', - 'source': 'Bron', - 'support': 'Ondersteuning', - 'switch-account': 'Wissel van account', - 'table': 'Tabel', - 'tablet': 'Tablet', - 'team': 'Team', - 'team-id': 'Team-ID', - 'team-websites': 'Teamwebsites', - 'teams': 'Teams', - 'term': 'Zoekterm', - 'traffic': 'Verkeer', - 'transactions': 'Transacties', - 'transfer': 'Overdragen', - 'transfer-website': 'Website overdragen', - 'type': 'Type', - 'unique': 'Uniek', - 'unique-events': 'Unieke gebeurtenissen', - 'uniqueCustomers': 'Unieke klanten', - 'update': 'Bijwerken', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM-campagne', - 'utm-content': 'UTM-inhoud', - 'utm-description': 'Volg je campagnes via UTM-parameters.', - 'utm-medium': 'UTM-medium', - 'utm-source': 'UTM-bron', - 'utm-term': 'UTM-term', - 'version': 'Versie', - 'views-per-visit': 'Weergaven per bezoek', - 'visits': 'Bezoeken', - 'website': 'Website', - 'website-id': 'Website-ID', - 'websites': 'Websites', - 'window': 'Venster' - }, - message: { - 'bad-request': 'Ongeldig verzoek', - 'collected-data': 'Verzamelde gegevens', - 'forbidden': 'Verboden', - 'not-found': 'Niet gevonden', - 'nothing-selected': 'Niets geselecteerd.', - 'sever-error': 'Serverfout', - 'unauthorized': 'Niet geautoriseerd' - } - }, - 'en-GB': { - label: { - 'behavior': 'Behaviour', - 'favorite': 'Favourite', - 'color': 'Colour' - }, - message: {} - } -}; - -for (const [locale, trans] of Object.entries(translations)) { - const filePath = path.join(dir, locale + '.json'); - const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); - let count = 0; - for (const [section, keys] of Object.entries(trans)) { - for (const [key, value] of Object.entries(keys)) { - if (data[section] && key in data[section]) { - data[section][key] = value; - count++; - } - } - } - const sorted = {}; - for (const section of Object.keys(enUS)) { - if (data[section]) { - sorted[section] = {}; - for (const key of Object.keys(enUS[section])) { - if (key in data[section]) sorted[section][key] = data[section][key]; - } - for (const key of Object.keys(data[section])) { - if (!(key in sorted[section])) sorted[section][key] = data[section][key]; - } - } - } - fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); - console.log('Updated ' + locale + ': ' + count + ' keys'); -} diff --git a/scripts/translate-4-nordic.cjs b/scripts/translate-4-nordic.cjs deleted file mode 100644 index eb520b2f6..000000000 --- a/scripts/translate-4-nordic.cjs +++ /dev/null @@ -1,518 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); -const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); - -const translations = { - 'da-DK': { - label: { - 'account': 'Konto', - 'action': 'Handling', - 'add-link': 'Tilføj link', - 'add-pixel': 'Tilføj pixel', - 'analysis': 'Analyse', - 'application': 'Applikation', - 'audience': 'Målgruppe', - 'browser': 'Browser', - 'campaign': 'Kampagne', - 'channel': 'Kanal', - 'chart': 'Diagram', - 'cohorts': 'Kohorter', - 'contains': 'Indeholder', - 'criteria': 'Kriterier', - 'data': 'Data', - 'destination-url': 'Destinations-URL', - 'documentation': 'Dokumentation', - 'download': 'Download', - 'environment': 'Miljø', - 'exclude-bounce': 'Ekskluder afvisning', - 'filter': 'Filter', - 'growth': 'Vækst', - 'hour': 'Time', - 'invalid-url': 'Ugyldig URL', - 'laptop': 'Laptop', - 'link': 'Link', - 'links': 'Links', - 'location': 'Placering', - 'medium': 'Medie', - 'min': 'Min', - 'minute': 'Minut', - 'model': 'Model', - 'month': 'Måned', - 'ok': 'OK', - 'online': 'Online', - 'os': 'OS', - 'pixel': 'Pixel', - 'pixels': 'Pixels', - 'preferences': 'Præferencer', - 'previous': 'Forrige', - 'previous-period': 'Forrige periode', - 'previous-year': 'Forrige år', - 'profiles': 'Profiler', - 'region': 'Region', - 'save-cohort': 'Gem kohorte', - 'save-segment': 'Gem segment', - 'screen': 'Skærm', - 'segment': 'Segment', - 'segments': 'Segmenter', - 'session': 'Session', - 'sms': 'SMS', - 'source': 'Kilde', - 'sum': 'Sum', - 'support': 'Support', - 'switch-account': 'Skift konto', - 'table': 'Tabel', - 'tablet': 'Tablet', - 'tag': 'Tag', - 'tags': 'Tags', - 'team': 'Hold', - 'team-id': 'Hold-ID', - 'teams': 'Hold', - 'term': 'Søgeord', - 'title': 'Titel', - 'total': 'Total', - 'total-records': 'Samlede poster', - 'traffic': 'Trafik', - 'transactions': 'Transaktioner', - 'transfer': 'Overfør', - 'transfer-website': 'Overfør website', - 'true': 'Sand', - 'type': 'Type', - 'unique': 'Unik', - 'unique-events': 'Unikke begivenheder', - 'uniqueCustomers': 'Unikke kunder', - 'untitled': 'Uden titel', - 'update': 'Opdater', - 'url': 'URL', - 'user': 'Bruger', - 'users': 'Brugere', - 'utm': 'UTM', - 'utm-campaign': 'UTM-kampagne', - 'utm-content': 'UTM-indhold', - 'utm-description': 'Spor dine kampagner via UTM-parametre.', - 'utm-medium': 'UTM-medie', - 'utm-source': 'UTM-kilde', - 'utm-term': 'UTM-søgeord', - 'value': 'Værdi', - 'version': 'Version', - 'view': 'Vis', - 'view-only': 'Kun visning', - 'views-per-visit': 'Visninger per besøg', - 'visits': 'Besøg', - 'website': 'Website', - 'website-id': 'Website-ID', - 'window': 'Vindue', - 'yesterday': 'I går' - }, - message: { - 'action-confirmation': 'Skriv {confirmation} i feltet herunder for at bekræfte.', - 'bad-request': 'Ugyldig forespørgsel', - 'collected-data': 'Indsamlede data', - 'confirm-leave': 'Er du sikker på, at du vil forlade {target}?', - 'confirm-remove': 'Er du sikker på, at du vil fjerne {target}?', - 'delete-team-warning': 'Sletning af et hold sletter også alle holdets websites.', - 'event-log': '{event}{url}', - 'forbidden': 'Forbudt', - 'min-password-length': 'Minimumlængde på {n} tegn', - 'new-version-available': 'En ny version af Umami {version} er tilgængelig!', - 'no-event-data': 'Ingen begivenhedsdata tilgængelig.', - 'no-team-websites': 'Dette hold har ingen websites.', - 'no-teams': 'Du har ikke oprettet nogen hold.', - 'no-users': 'Der er ingen brugere.', - 'not-found': 'Ikke fundet', - 'nothing-selected': 'Intet valgt.', - 'reset-website': 'For at nulstille denne website, skriv {confirmation} i feltet herunder for at bekræfte.', - 'sever-error': 'Serverfejl', - 'team-already-member': 'Du er allerede medlem af holdet.', - 'team-not-found': 'Hold ikke fundet.', - 'team-websites-info': 'Websites kan ses af alle på holdet.', - 'transfer-team-website-to-user': 'Overfør denne website til din konto?', - 'transfer-user-website-to-team': 'Vælg holdet, som denne website skal overføres til.', - 'transfer-website': 'Overfør websiteejerskab til din konto eller et andet hold.', - 'triggered-event': 'Udløst begivenhed', - 'unauthorized': 'Ikke autoriseret', - 'user-deleted': 'Bruger slettet.', - 'viewed-page': 'Vist side' - } - }, - 'sv-SE': { - label: { - 'account': 'Konto', - 'action': 'Åtgärd', - 'add-link': 'Lägg till länk', - 'add-pixel': 'Lägg till pixel', - 'analysis': 'Analys', - 'application': 'Applikation', - 'audience': 'Publik', - 'campaign': 'Kampanj', - 'channel': 'Kanal', - 'chart': 'Diagram', - 'cohorts': 'Kohorter', - 'criteria': 'Kriterier', - 'data': 'Data', - 'destination-url': 'Mål-URL', - 'documentation': 'Dokumentation', - 'download': 'Ladda ner', - 'email': 'E-post', - 'environment': 'Miljö', - 'exclude-bounce': 'Exkludera avvisning', - 'filter': 'Filter', - 'first-seen': 'Först sedd', - 'funnel': 'Tratt', - 'growth': 'Tillväxt', - 'hour': 'Timme', - 'invalid-url': 'Ogiltig URL', - 'link': 'Länk', - 'location': 'Plats', - 'manage': 'Hantera', - 'manager': 'Ansvarig', - 'max': 'Max', - 'medium': 'Medium', - 'min': 'Min', - 'minute': 'Minut', - 'month': 'Månad', - 'number-of-records': '{x} {x, plural, one {post} other {poster}}', - 'ok': 'OK', - 'online': 'Online', - 'pixel': 'Pixel', - 'preferences': 'Inställningar', - 'profiles': 'Profiler', - 'region': 'Region', - 'remove-member': 'Ta bort medlem', - 'retention': 'Retention', - 'save-cohort': 'Spara kohort', - 'save-segment': 'Spara segment', - 'screen': 'Skärm', - 'segment': 'Segment', - 'segments': 'Segment', - 'select': 'Välj', - 'select-role': 'Välj roll', - 'session': 'Session', - 'sms': 'SMS', - 'source': 'Källa', - 'start-step': 'Startsteg', - 'steps': 'Steg', - 'support': 'Support', - 'switch-account': 'Byt konto', - 'table': 'Tabell', - 'team': 'Team', - 'team-id': 'Team-ID', - 'team-view-only': 'Endast teamvisning', - 'term': 'Sökord', - 'traffic': 'Trafik', - 'transactions': 'Transaktioner', - 'transfer': 'Överför', - 'transfer-website': 'Överför webbplats', - 'unique-events': 'Unika händelser', - 'uniqueCustomers': 'Unika kunder', - 'update': 'Uppdatera', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM-kampanj', - 'utm-content': 'UTM-innehåll', - 'utm-description': 'Spåra dina kampanjer genom UTM-parametrar.', - 'utm-medium': 'UTM-medium', - 'utm-source': 'UTM-källa', - 'utm-term': 'UTM-sökord', - 'version': 'Version', - 'views-per-visit': 'Visningar per besök', - 'visits': 'Besök' - }, - message: { - 'action-confirmation': 'Skriv {confirmation} i rutan nedan för att bekräfta.', - 'bad-request': 'Ogiltig förfrågan', - 'collected-data': 'Insamlad data', - 'confirm-remove': 'Är du säker på att du vill ta bort {target}?', - 'delete-team-warning': 'Att radera ett team raderar även alla teamets webbplatser.', - 'forbidden': 'Förbjudet', - 'not-found': 'Hittades inte', - 'nothing-selected': 'Inget valt.', - 'sever-error': 'Serverfel', - 'transfer-team-website-to-user': 'Överför denna webbplats till ditt konto?', - 'transfer-user-website-to-team': 'Välj teamet att överföra denna webbplats till.', - 'transfer-website': 'Överför webbplatsägande till ditt konto eller ett annat team.', - 'triggered-event': 'Utlöst händelse', - 'unauthorized': 'Inte auktoriserad', - 'viewed-page': 'Visad sida' - } - }, - 'nb-NO': { - label: { - 'account': 'Konto', - 'action': 'Handling', - 'add-link': 'Legg til lenke', - 'add-pixel': 'Legg til piksel', - 'analysis': 'Analyse', - 'application': 'Applikasjon', - 'audience': 'Målgruppe', - 'campaign': 'Kampanje', - 'channel': 'Kanal', - 'chart': 'Diagram', - 'cohorts': 'Kohorter', - 'criteria': 'Kriterier', - 'data': 'Data', - 'destination-url': 'Mål-URL', - 'documentation': 'Dokumentasjon', - 'download': 'Last ned', - 'dropoff': 'Frafall', - 'email': 'E-post', - 'environment': 'Miljø', - 'exclude-bounce': 'Ekskluder avvisning', - 'filter': 'Filter', - 'growth': 'Vekst', - 'hour': 'Time', - 'invalid-url': 'Ugyldig URL', - 'last-months': 'Siste {x} måneder', - 'link': 'Lenke', - 'location': 'Plassering', - 'medium': 'Medium', - 'min': 'Min', - 'minute': 'Minutt', - 'month': 'Måned', - 'number-of-records': '{x} {x, plural, one {post} other {poster}}', - 'ok': 'OK', - 'online': 'Tilkoblet', - 'os': 'OS', - 'pixel': 'Piksel', - 'preferences': 'Innstillinger', - 'profiles': 'Profiler', - 'referral': 'Henvisning', - 'region': 'Region', - 'save-cohort': 'Lagre kohort', - 'save-segment': 'Lagre segment', - 'screen': 'Skjerm', - 'segment': 'Segment', - 'segments': 'Segmenter', - 'sms': 'SMS', - 'source': 'Kilde', - 'sum': 'Sum', - 'support': 'Støtte', - 'switch-account': 'Bytt konto', - 'table': 'Tabell', - 'team': 'Lag', - 'term': 'Søkeord', - 'traffic': 'Trafikk', - 'type': 'Type', - 'unique-events': 'Unike hendelser', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM-kampanje', - 'utm-content': 'UTM-innhold', - 'utm-medium': 'UTM-medium', - 'utm-source': 'UTM-kilde', - 'utm-term': 'UTM-søkeord', - 'version': 'Versjon' - }, - message: { - 'bad-request': 'Ugyldig forespørsel', - 'forbidden': 'Forbudt', - 'not-found': 'Ikke funnet', - 'nothing-selected': 'Ingenting valgt.', - 'sever-error': 'Serverfeil', - 'unauthorized': 'Ikke autorisert' - } - }, - 'fo-FO': { - label: { - 'account': 'Konto', - 'action': 'Handling', - 'add-link': 'Legg afturat link', - 'add-pixel': 'Legg afturat piksel', - 'analysis': 'Greining', - 'application': 'Forrit', - 'audience': 'Áhoyrarar', - 'campaign': 'Herferð', - 'channel': 'Rás', - 'chart': 'Graf', - 'cohorts': 'Kohortar', - 'criteria': 'Viðmið', - 'destination-url': 'Mál-URL', - 'documentation': 'Skjøl', - 'download': 'Tak niður', - 'dropoff': 'Fráfall', - 'environment': 'Umhvørvi', - 'exclude-bounce': 'Útiloka frástøyt', - 'growth': 'Vøkstur', - 'hour': 'Tími', - 'invalid-url': 'Ógild URL', - 'link': 'Leinkja', - 'location': 'Støða', - 'minute': 'Minuttur', - 'model': 'Fyrimynd', - 'month': 'Mánaður', - 'number-of-records': '{x} {x, plural, one {skrá} other {skrár}}', - 'ok': 'OK', - 'online': 'Online', - 'os': 'OS', - 'pixel': 'Piksel', - 'preferences': 'Stillingar', - 'profiles': 'Profilir', - 'save-cohort': 'Goym kohortu', - 'save-segment': 'Goym segment', - 'screen': 'Skíggi', - 'segment': 'Segment', - 'segments': 'Segment', - 'sms': 'SMS', - 'source': 'Kelda', - 'support': 'Stuðul', - 'switch-account': 'Skift konto', - 'table': 'Tabell', - 'term': 'Leitorð', - 'title': 'Heiti', - 'toggle-charts': 'Vísa/fjal grafir', - 'total': 'Tilsamans', - 'total-records': 'Skrár tilsamans', - 'traffic': 'Umferð', - 'transactions': 'Umsetningar', - 'transfer': 'Flyt', - 'transfer-website': 'Flyt heimasíðu', - 'true': 'Satt', - 'type': 'Slag', - 'unique': 'Einstaklingar', - 'unique-events': 'Einstakar hendingar', - 'uniqueCustomers': 'Einstakar kundar', - 'untitled': 'Einki heiti', - 'update': 'Dagfør', - 'url': 'URL', - 'user': 'Brúkari', - 'users': 'Brúkarar', - 'utm': 'UTM', - 'utm-campaign': 'UTM-herferð', - 'utm-content': 'UTM-innihald', - 'utm-description': 'Fylg herferðunum við UTM-stikum.', - 'utm-medium': 'UTM-miðil', - 'utm-source': 'UTM-kelda', - 'utm-term': 'UTM-leitorð', - 'value': 'Virði', - 'version': 'Útgáva', - 'view': 'Vís', - 'view-only': 'Bert vísing', - 'views-per-visit': 'Sýningar per vitjan', - 'visits': 'Vitjanir', - 'website': 'Heimasíða', - 'website-id': 'Heimasíðu-ID', - 'window': 'Gluggi', - 'yesterday': 'Í gjár' - }, - message: { - 'action-confirmation': 'Skriva {confirmation} í teigin niðanfyri at vátta.', - 'bad-request': 'Ógild umbøn', - 'collected-data': 'Innsamlaði dáta', - 'confirm-leave': 'Ert tú vís/ur í at fara frá {target}?', - 'confirm-remove': 'Ert tú vís/ur í at strika {target}?', - 'delete-team-warning': 'At strika eitt lið strikar eisini allar heimasíður hjá liðnum.', - 'event-log': '{event} á {url}', - 'forbidden': 'Forboðið', - 'min-password-length': 'Minsta longd er {n} tekn', - 'new-version-available': 'Nýggj útgáva av Umami {version} er tøk!', - 'no-event-data': 'Eingin hendingardata tøk.', - 'no-team-websites': 'Hetta liðið hevur eingi heimasíður.', - 'no-teams': 'Tú hevur ikki stovnað nøkur lið.', - 'no-users': 'Eingi brúkarar eru.', - 'not-found': 'Ikki funnið', - 'nothing-selected': 'Einki valt.', - 'reset-website': 'Fyri at nullstilla hesa heimasíðu, skriva {confirmation} í teigin niðanfyri at vátta.', - 'sever-error': 'Ambætaravilla', - 'team-already-member': 'Tú ert longu limur í liðnum.', - 'team-not-found': 'Lið ikki funnið.', - 'team-websites-info': 'Heimasíður kunnu síggjas av øllum á liðnum.', - 'transfer-team-website-to-user': 'Flyt hesa heimasíðu til tín konto?', - 'transfer-user-website-to-team': 'Vel liðið at flyta hesa heimasíðu til.', - 'transfer-website': 'Flyt ognarskapið av heimasíðuni til tín konto ella annað lið.', - 'triggered-event': 'Avbjóðað hending', - 'unauthorized': 'Ikki góðkent', - 'user-deleted': 'Brúkari strikaður.', - 'viewed-page': 'Síð vís' - } - }, - 'fi-FI': { - label: { - 'account': 'Tili', - 'action': 'Toiminto', - 'add-link': 'Lisää linkki', - 'add-pixel': 'Lisää pikseli', - 'analysis': 'Analyysi', - 'application': 'Sovellus', - 'audience': 'Yleisö', - 'campaign': 'Kampanja', - 'channel': 'Kanava', - 'chart': 'Kaavio', - 'cohorts': 'Kohortit', - 'criteria': 'Kriteerit', - 'data': 'Data', - 'destination-url': 'Kohde-URL', - 'documentation': 'Dokumentaatio', - 'download': 'Lataa', - 'environment': 'Ympäristö', - 'exclude-bounce': 'Sulje poishyppäys pois', - 'growth': 'Kasvu', - 'hour': 'Tunti', - 'invalid-url': 'Virheellinen URL', - 'link': 'Linkki', - 'location': 'Sijainti', - 'minute': 'Minuutti', - 'month': 'Kuukausi', - 'ok': 'OK', - 'online': 'Verkossa', - 'os': 'Käyttöjärjestelmä', - 'pixel': 'Pikseli', - 'preferences': 'Asetukset', - 'profiles': 'Profiilit', - 'retention': 'Säilyvyys', - 'retention-description': 'Mittaa verkkosivustosi sitoutumista seuraamalla, kuinka usein käyttäjät palaavat.', - 'save-cohort': 'Tallenna kohortti', - 'save-segment': 'Tallenna segmentti', - 'screen': 'Näyttö', - 'segment': 'Segmentti', - 'segments': 'Segmentit', - 'sms': 'SMS', - 'source': 'Lähde', - 'support': 'Tuki', - 'switch-account': 'Vaihda tiliä', - 'table': 'Taulukko', - 'team-view-only': 'Vain tiimin katselu', - 'term': 'Hakusana', - 'traffic': 'Liikenne', - 'unique-events': 'Uniikit tapahtumat', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM-kampanja', - 'utm-content': 'UTM-sisältö', - 'utm-medium': 'UTM-media', - 'utm-source': 'UTM-lähde', - 'utm-term': 'UTM-hakusana', - 'version': 'Versio' - }, - message: { - 'event-log': '{event} sivulla {url}' - } - } -}; - -for (const [locale, trans] of Object.entries(translations)) { - const filePath = path.join(dir, locale + '.json'); - const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); - let count = 0; - for (const [section, keys] of Object.entries(trans)) { - for (const [key, value] of Object.entries(keys)) { - if (data[section] && key in data[section]) { - data[section][key] = value; - count++; - } - } - } - const sorted = {}; - for (const section of Object.keys(enUS)) { - if (data[section]) { - sorted[section] = {}; - for (const key of Object.keys(enUS[section])) { - if (key in data[section]) sorted[section][key] = data[section][key]; - } - for (const key of Object.keys(data[section])) { - if (!(key in sorted[section])) sorted[section][key] = data[section][key]; - } - } - } - fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); - console.log('Updated ' + locale + ': ' + count + ' keys'); -} diff --git a/scripts/translate-5-slavic.cjs b/scripts/translate-5-slavic.cjs deleted file mode 100644 index dca6a8c6f..000000000 --- a/scripts/translate-5-slavic.cjs +++ /dev/null @@ -1,1068 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); -const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); - -const translations = { - 'ru-RU': { - label: { - 'account': 'Аккаунт', - 'action': 'Действие', - 'add-link': 'Добавить ссылку', - 'add-pixel': 'Добавить пиксель', - 'analysis': 'Анализ', - 'application': 'Приложение', - 'audience': 'Аудитория', - 'campaign': 'Кампания', - 'channel': 'Канал', - 'chart': 'Диаграмма', - 'cohorts': 'Когорты', - 'criteria': 'Критерии', - 'destination-url': 'URL назначения', - 'direct': 'Прямой', - 'distinct-id': 'Уникальный ID', - 'documentation': 'Документация', - 'download': 'Скачать', - 'email': 'Электронная почта', - 'environment': 'Окружение', - 'exclude-bounce': 'Исключить отказы', - 'growth': 'Рост', - 'hour': 'Час', - 'invalid-url': 'Недействительный URL', - 'journey': 'Путь', - 'link': 'Ссылка', - 'location': 'Местоположение', - 'minute': 'Минута', - 'month': 'Месяц', - 'ok': 'ОК', - 'online': 'Онлайн', - 'os': 'ОС', - 'pixel': 'Пиксель', - 'preferences': 'Настройки', - 'profiles': 'Профили', - 'referral': 'Реферал', - 'save-cohort': 'Сохранить когорту', - 'save-segment': 'Сохранить сегмент', - 'screen': 'Экран', - 'segment': 'Сегмент', - 'segments': 'Сегменты', - 'sms': 'СМС', - 'source': 'Источник', - 'support': 'Поддержка', - 'switch-account': 'Сменить аккаунт', - 'table': 'Таблица', - 'term': 'Поисковый запрос', - 'traffic': 'Трафик', - 'unique-events': 'Уникальные события', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM-кампания', - 'utm-content': 'UTM-контент', - 'utm-medium': 'UTM-канал', - 'utm-source': 'UTM-источник', - 'utm-term': 'UTM-запрос', - 'version': 'Версия' - }, - message: { - 'bad-request': 'Неверный запрос', - 'forbidden': 'Доступ запрещён', - 'not-found': 'Не найдено', - 'nothing-selected': 'Ничего не выбрано.', - 'sever-error': 'Ошибка сервера', - 'unauthorized': 'Не авторизован' - } - }, - 'uk-UA': { - label: { - 'account': 'Обліковий запис', - 'action': 'Дія', - 'add-link': 'Додати посилання', - 'add-pixel': 'Додати піксель', - 'analysis': 'Аналіз', - 'application': 'Додаток', - 'audience': 'Аудиторія', - 'campaign': 'Кампанія', - 'channel': 'Канал', - 'chart': 'Діаграма', - 'cohorts': 'Когорти', - 'criteria': 'Критерії', - 'destination-url': 'URL призначення', - 'documentation': 'Документація', - 'download': 'Завантажити', - 'email': 'Електронна пошта', - 'environment': 'Середовище', - 'exclude-bounce': 'Виключити відмови', - 'false': 'Хибно', - 'first-seen': 'Перший візит', - 'growth': 'Зростання', - 'hour': 'Година', - 'invalid-url': 'Недійсний URL', - 'link': 'Посилання', - 'location': 'Місцезнаходження', - 'manager': 'Менеджер', - 'minute': 'Хвилина', - 'month': 'Місяць', - 'number-of-records': '{x} {x, plural, one {запис} few {записи} other {записів}}', - 'ok': 'ОК', - 'online': 'Онлайн', - 'path': 'Шлях', - 'paths': 'Шляхи', - 'pixel': 'Піксель', - 'preferences': 'Налаштування', - 'profiles': 'Профілі', - 'save-cohort': 'Зберегти когорту', - 'save-segment': 'Зберегти сегмент', - 'screen': 'Екран', - 'segment': 'Сегмент', - 'segments': 'Сегменти', - 'sms': 'СМС', - 'source': 'Джерело', - 'start-step': 'Початковий крок', - 'support': 'Підтримка', - 'switch-account': 'Змінити обліковий запис', - 'table': 'Таблиця', - 'term': 'Пошуковий запит', - 'traffic': 'Трафік', - 'transactions': 'Транзакції', - 'true': 'Істинно', - 'unique-events': 'Унікальні події', - 'uniqueCustomers': 'Унікальні клієнти', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM-кампанія', - 'utm-content': 'UTM-контент', - 'utm-medium': 'UTM-канал', - 'utm-source': 'UTM-джерело', - 'utm-term': 'UTM-запит', - 'version': 'Версія', - 'visit-duration': 'Тривалість візиту' - }, - message: { - 'bad-request': 'Невірний запит', - 'collected-data': 'Зібрані дані', - 'forbidden': 'Доступ заборонено', - 'not-found': 'Не знайдено', - 'nothing-selected': 'Нічого не вибрано.', - 'sever-error': 'Помилка сервера', - 'unauthorized': 'Не авторизовано' - } - }, - 'be-BY': { - label: { - 'account': 'Акаўнт', - 'action': 'Дзеянне', - 'add-link': 'Дадаць спасылку', - 'add-pixel': 'Дадаць піксель', - 'analysis': 'Аналіз', - 'application': 'Прыкладанне', - 'audience': 'Аўдыторыя', - 'campaign': 'Кампанія', - 'channel': 'Канал', - 'chart': 'Дыяграма', - 'cohorts': 'Кагорты', - 'criteria': 'Крытэрыі', - 'destination-url': 'URL прызначэння', - 'documentation': 'Дакументацыя', - 'download': 'Спампаваць', - 'email': 'Электронная пошта', - 'environment': 'Асяроддзе', - 'exclude-bounce': 'Выключыць адмовы', - 'growth': 'Рост', - 'hour': 'Гадзіна', - 'invalid-url': 'Нядзейсны URL', - 'last-seen': 'Апошні візіт', - 'link': 'Спасылка', - 'location': 'Месцазнаходжанне', - 'minute': 'Хвіліна', - 'month': 'Месяц', - 'online': 'Анлайн', - 'pixel': 'Піксель', - 'preferences': 'Налады', - 'profiles': 'Профілі', - 'revenue': 'Даход', - 'save-cohort': 'Захаваць кагорту', - 'save-segment': 'Захаваць сегмент', - 'screen': 'Экран', - 'segment': 'Сегмент', - 'segments': 'Сегменты', - 'sms': 'СМС', - 'source': 'Крыніца', - 'support': 'Падтрымка', - 'switch-account': 'Змяніць акаўнт', - 'table': 'Табліца', - 'tag': 'Тэг', - 'tags': 'Тэгі', - 'term': 'Пошукавы запыт', - 'traffic': 'Трафік', - 'transactions': 'Транзакцыі', - 'unique-events': 'Унікальныя падзеі', - 'uniqueCustomers': 'Унікальныя кліенты', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM-кампанія', - 'utm-content': 'UTM-кантэнт', - 'utm-medium': 'UTM-канал', - 'utm-source': 'UTM-крыніца', - 'utm-term': 'UTM-запыт', - 'version': 'Версія' - }, - message: { - 'bad-request': 'Няправільны запыт', - 'forbidden': 'Доступ забаронены', - 'not-found': 'Не знойдзена', - 'nothing-selected': 'Нічога не абрана.', - 'sever-error': 'Памылка сервера', - 'unauthorized': 'Не аўтарызаваны' - } - }, - 'bg-BG': { - label: { - 'account': 'Акаунт', - 'action': 'Действие', - 'add-link': 'Добави линк', - 'add-pixel': 'Добави пиксел', - 'analysis': 'Анализ', - 'application': 'Приложение', - 'audience': 'Аудитория', - 'campaign': 'Кампания', - 'channel': 'Канал', - 'chart': 'Диаграма', - 'cohorts': 'Кохорти', - 'criteria': 'Критерии', - 'destination-url': 'URL на местоназначение', - 'documentation': 'Документация', - 'download': 'Изтегляне', - 'environment': 'Среда', - 'exclude-bounce': 'Изключи отпадане', - 'growth': 'Растеж', - 'hour': 'Час', - 'invalid-url': 'Невалиден URL', - 'link': 'Линк', - 'location': 'Местоположение', - 'minute': 'Минута', - 'month': 'Месец', - 'pixel': 'Пиксел', - 'preferences': 'Предпочитания', - 'profiles': 'Профили', - 'save-cohort': 'Запази кохорта', - 'save-segment': 'Запази сегмент', - 'screen': 'Екран', - 'segment': 'Сегмент', - 'segments': 'Сегменти', - 'sms': 'СМС', - 'source': 'Източник', - 'support': 'Поддръжка', - 'switch-account': 'Смяна на акаунт', - 'table': 'Таблица', - 'term': 'Търсене', - 'traffic': 'Трафик', - 'unique-events': 'Уникални събития', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM кампания', - 'utm-content': 'UTM съдържание', - 'utm-medium': 'UTM канал', - 'utm-source': 'UTM източник', - 'utm-term': 'UTM търсене', - 'version': 'Версия' - }, - message: {} - }, - 'pl-PL': { - label: { - 'account': 'Konto', - 'action': 'Akcja', - 'add-link': 'Dodaj link', - 'add-pixel': 'Dodaj piksel', - 'analysis': 'Analiza', - 'application': 'Aplikacja', - 'audience': 'Odbiorcy', - 'campaign': 'Kampania', - 'channel': 'Kanał', - 'chart': 'Wykres', - 'cohorts': 'Kohorty', - 'criteria': 'Kryteria', - 'destination-url': 'Docelowy URL', - 'documentation': 'Dokumentacja', - 'download': 'Pobierz', - 'email': 'E-mail', - 'environment': 'Środowisko', - 'exclude-bounce': 'Wyklucz odrzucenia', - 'first-seen': 'Pierwsza wizyta', - 'goals-description': 'Śledź cele dla odsłon stron i zdarzeń.', - 'growth': 'Wzrost', - 'hour': 'Godzina', - 'invalid-url': 'Nieprawidłowy URL', - 'laptop': 'Laptop', - 'link': 'Link', - 'location': 'Lokalizacja', - 'manage': 'Zarządzaj', - 'manager': 'Menedżer', - 'medium': 'Medium', - 'min': 'Min', - 'minute': 'Minuta', - 'model': 'Model', - 'month': 'Miesiąc', - 'ok': 'OK', - 'online': 'Online', - 'os': 'System', - 'pixel': 'Piksel', - 'preferences': 'Preferencje', - 'profiles': 'Profile', - 'region': 'Region', - 'save-cohort': 'Zapisz kohortę', - 'save-segment': 'Zapisz segment', - 'screen': 'Ekran', - 'segment': 'Segment', - 'segments': 'Segmenty', - 'sms': 'SMS', - 'source': 'Źródło', - 'support': 'Wsparcie', - 'switch-account': 'Przełącz konto', - 'table': 'Tabela', - 'tablet': 'Tablet', - 'tag': 'Tag', - 'term': 'Wyszukiwane hasło', - 'traffic': 'Ruch', - 'transactions': 'Transakcje', - 'transfer': 'Przenieś', - 'transfer-website': 'Przenieś stronę', - 'unique-events': 'Unikalne zdarzenia', - 'uniqueCustomers': 'Unikalni klienci', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM-kampania', - 'utm-content': 'UTM-treść', - 'utm-medium': 'UTM-medium', - 'utm-source': 'UTM-źródło', - 'utm-term': 'UTM-hasło', - 'version': 'Wersja' - }, - message: { - 'bad-request': 'Nieprawidłowe żądanie', - 'forbidden': 'Zabronione', - 'not-found': 'Nie znaleziono', - 'nothing-selected': 'Nic nie wybrano.', - 'sever-error': 'Błąd serwera', - 'unauthorized': 'Brak autoryzacji' - } - }, - 'cs-CZ': { - label: { - 'account': 'Účet', - 'action': 'Akce', - 'add-link': 'Přidat odkaz', - 'add-pixel': 'Přidat pixel', - 'analysis': 'Analýza', - 'application': 'Aplikace', - 'audience': 'Publikum', - 'campaign': 'Kampaň', - 'channel': 'Kanál', - 'chart': 'Graf', - 'cohorts': 'Kohorty', - 'created-by': 'Vytvořil', - 'criteria': 'Kritéria', - 'data': 'Data', - 'destination-url': 'Cílová URL', - 'documentation': 'Dokumentace', - 'download': 'Stáhnout', - 'environment': 'Prostředí', - 'exclude-bounce': 'Vyloučit odmítnutí', - 'funnel-description': 'Pochopte konverzní poměr a míru opuštění uživatelů.', - 'goals-description': 'Sledujte své cíle pro zobrazení stránek a události.', - 'growth': 'Růst', - 'hour': 'Hodina', - 'invalid-url': 'Neplatná URL', - 'last-seen': 'Naposledy viděn', - 'link': 'Odkaz', - 'location': 'Umístění', - 'max': 'Max', - 'min': 'Min', - 'minute': 'Minuta', - 'model': 'Model', - 'month': 'Měsíc', - 'ok': 'OK', - 'online': 'Online', - 'os': 'OS', - 'pixel': 'Pixel', - 'preferences': 'Předvolby', - 'previous': 'Předchozí', - 'previous-period': 'Předchozí období', - 'previous-year': 'Předchozí rok', - 'profiles': 'Profily', - 'region': 'Region', - 'role': 'Role', - 'save-cohort': 'Uložit kohortu', - 'save-segment': 'Uložit segment', - 'screen': 'Obrazovka', - 'segment': 'Segment', - 'segments': 'Segmenty', - 'sms': 'SMS', - 'source': 'Zdroj', - 'support': 'Podpora', - 'switch-account': 'Přepnout účet', - 'table': 'Tabulka', - 'tablet': 'Tablet', - 'term': 'Hledaný výraz', - 'title': 'Název', - 'toggle-charts': 'Přepnout grafy', - 'total': 'Celkem', - 'total-records': 'Celkem záznamů', - 'traffic': 'Provoz', - 'transactions': 'Transakce', - 'transfer': 'Přenést', - 'transfer-website': 'Přenést web', - 'true': 'Pravda', - 'type': 'Typ', - 'unique': 'Unikátní', - 'unique-events': 'Unikátní události', - 'uniqueCustomers': 'Unikátní zákazníci', - 'untitled': 'Bez názvu', - 'update': 'Aktualizovat', - 'url': 'URL', - 'user': 'Uživatel', - 'users': 'Uživatelé', - 'utm': 'UTM', - 'utm-campaign': 'UTM kampaň', - 'utm-content': 'UTM obsah', - 'utm-description': 'Sledujte své kampaně pomocí UTM parametrů.', - 'utm-medium': 'UTM médium', - 'utm-source': 'UTM zdroj', - 'utm-term': 'UTM výraz', - 'value': 'Hodnota', - 'version': 'Verze', - 'view': 'Zobrazit', - 'view-only': 'Pouze zobrazení', - 'views-per-visit': 'Zobrazení na návštěvu', - 'website': 'Web', - 'website-id': 'ID webu' - }, - message: { - 'action-confirmation': 'Zadejte {confirmation} do pole níže pro potvrzení.', - 'bad-request': 'Neplatný požadavek', - 'collected-data': 'Shromážděná data', - 'confirm-leave': 'Opravdu chcete opustit {target}?', - 'confirm-remove': 'Opravdu chcete odebrat {target}?', - 'delete-team-warning': 'Smazání týmu smaže také všechny weby týmu.', - 'event-log': '{event} na {url}', - 'forbidden': 'Zakázáno', - 'min-password-length': 'Minimální délka {n} znaků', - 'new-version-available': 'Je k dispozici nová verze Umami {version}!', - 'no-event-data': 'Nejsou k dispozici žádná data o událostech.', - 'no-team-websites': 'Tento tým nemá žádné weby.', - 'no-teams': 'Nevytvořili jste žádné týmy.', - 'no-users': 'Nejsou žádní uživatelé.', - 'not-found': 'Nenalezeno', - 'nothing-selected': 'Nic není vybráno.', - 'reset-website': 'Pro resetování tohoto webu zadejte {confirmation} do pole níže.', - 'sever-error': 'Chyba serveru', - 'team-already-member': 'Již jste členem tohoto týmu.', - 'team-not-found': 'Tým nenalezen.', - 'team-websites-info': 'Weby si může prohlédnout kdokoli z týmu.', - 'transfer-team-website-to-user': 'Přenést tento web na váš účet?', - 'transfer-user-website-to-team': 'Vyberte tým, na který chcete tento web přenést.', - 'transfer-website': 'Přeneste vlastnictví webu na svůj účet nebo jiný tým.', - 'triggered-event': 'Spuštěná událost', - 'unauthorized': 'Neautorizováno', - 'user-deleted': 'Uživatel smazán.', - 'viewed-page': 'Zobrazená stránka' - } - }, - 'sk-SK': { - label: { - 'account': 'Účet', - 'action': 'Akcia', - 'add-link': 'Pridať odkaz', - 'add-pixel': 'Pridať pixel', - 'analysis': 'Analýza', - 'application': 'Aplikácia', - 'audience': 'Publikum', - 'campaign': 'Kampaň', - 'channel': 'Kanál', - 'chart': 'Graf', - 'cohorts': 'Kohorty', - 'contains': 'Obsahuje', - 'continue': 'Pokračovať', - 'criteria': 'Kritériá', - 'data': 'Dáta', - 'date': 'Dátum', - 'destination-url': 'Cieľová URL', - 'details': 'Podrobnosti', - 'documentation': 'Dokumentácia', - 'download': 'Stiahnuť', - 'dropoff': 'Odchod', - 'email': 'E-mail', - 'environment': 'Prostredie', - 'exclude-bounce': 'Vylúčiť odmietnutia', - 'filter': 'Filter', - 'growth': 'Rast', - 'hour': 'Hodina', - 'insights': 'Prehľady', - 'insights-description': 'Ponorte sa hlbšie do vašich dát pomocou segmentov a filtrov.', - 'invalid-url': 'Neplatná URL', - 'link': 'Odkaz', - 'location': 'Umiestnenie', - 'minute': 'Minúta', - 'model': 'Model', - 'month': 'Mesiac', - 'number-of-records': '{x} {x, plural, one {záznam} few {záznamy} other {záznamov}}', - 'ok': 'OK', - 'online': 'Online', - 'os': 'OS', - 'overview': 'Prehľad', - 'owner': 'Vlastník', - 'page-of': 'Strana {current} z {total}', - 'pageTitle': 'Názov stránky', - 'pixel': 'Pixel', - 'powered-by': 'Poskytuje {name}', - 'preferences': 'Predvoľby', - 'profiles': 'Profily', - 'queries': 'Dotazy', - 'query': 'Dotaz', - 'query-parameters': 'Parametre dotazu', - 'referrer': 'Odkazovateľ', - 'regenerate': 'Regenerovať', - 'region': 'Región', - 'regions': 'Regióny', - 'remove': 'Odstrániť', - 'remove-member': 'Odstrániť člena', - 'reports': 'Správy', - 'reset': 'Resetovať', - 'retention': 'Retencia', - 'retention-description': 'Merajte angažovanosť vašej stránky sledovaním, ako často sa používatelia vracajú.', - 'role': 'Rola', - 'run-query': 'Spustiť dotaz', - 'save-cohort': 'Uložiť kohortu', - 'save-segment': 'Uložiť segment', - 'screen': 'Obrazovka', - 'screens': 'Obrazovky', - 'search': 'Hľadať', - 'segment': 'Segment', - 'segments': 'Segmenty', - 'select': 'Vybrať', - 'select-date': 'Vybrať dátum', - 'select-role': 'Vybrať rolu', - 'select-website': 'Vybrať web', - 'sessions': 'Relácie', - 'sms': 'SMS', - 'source': 'Zdroj', - 'start-step': 'Počiatočný krok', - 'steps': 'Kroky', - 'sum': 'Súčet', - 'support': 'Podpora', - 'switch-account': 'Prepnúť účet', - 'table': 'Tabuľka', - 'tablet': 'Tablet', - 'team': 'Tím', - 'team-id': 'ID tímu', - 'team-member': 'Člen tímu', - 'team-name': 'Názov tímu', - 'team-owner': 'Vlastník tímu', - 'team-view-only': 'Iba zobrazenie pre tím', - 'team-websites': 'Weby tímu', - 'teams': 'Tímy', - 'term': 'Hľadaný výraz', - 'theme': 'Téma', - 'title': 'Názov', - 'toggle-charts': 'Prepnúť grafy', - 'total': 'Celkom', - 'total-records': 'Celkom záznamov', - 'traffic': 'Návštevnosť', - 'transactions': 'Transakcie', - 'transfer': 'Preniesť', - 'transfer-website': 'Preniesť web', - 'true': 'Pravda', - 'type': 'Typ', - 'unique': 'Unikátny', - 'unique-events': 'Unikátne udalosti', - 'uniqueCustomers': 'Unikátni zákazníci', - 'untitled': 'Bez názvu', - 'update': 'Aktualizovať', - 'url': 'URL', - 'user': 'Používateľ', - 'users': 'Používatelia', - 'utm': 'UTM', - 'utm-campaign': 'UTM kampaň', - 'utm-content': 'UTM obsah', - 'utm-description': 'Sledujte svoje kampane pomocou UTM parametrov.', - 'utm-medium': 'UTM médium', - 'utm-source': 'UTM zdroj', - 'utm-term': 'UTM výraz', - 'value': 'Hodnota', - 'version': 'Verzia', - 'view': 'Zobraziť', - 'view-only': 'Iba zobrazenie', - 'views-per-visit': 'Zobrazenia na návštevu', - 'visits': 'Návštevy', - 'website': 'Web', - 'website-id': 'ID webu', - 'window': 'Okno', - 'yesterday': 'Včera' - }, - message: { - 'action-confirmation': 'Zadajte {confirmation} do poľa nižšie na potvrdenie.', - 'bad-request': 'Neplatná požiadavka', - 'collected-data': 'Zozbierané dáta', - 'confirm-leave': 'Naozaj chcete opustiť {target}?', - 'confirm-remove': 'Naozaj chcete odstrániť {target}?', - 'delete-team-warning': 'Vymazanie tímu vymaže aj všetky weby tímu.', - 'event-log': '{event} na {url}', - 'forbidden': 'Zakázané', - 'min-password-length': 'Minimálna dĺžka {n} znakov', - 'new-version-available': 'K dispozícii je nová verzia Umami {version}!', - 'no-event-data': 'Nie sú dostupné žiadne údaje o udalostiach.', - 'no-team-websites': 'Tento tím nemá žiadne weby.', - 'no-teams': 'Nevytvorili ste žiadne tímy.', - 'no-users': 'Nie sú žiadni používatelia.', - 'not-found': 'Nenájdené', - 'nothing-selected': 'Nič nie je vybrané.', - 'reset-website': 'Na resetovanie tohto webu zadajte {confirmation} do poľa nižšie.', - 'sever-error': 'Chyba servera', - 'team-already-member': 'Už ste členom tohto tímu.', - 'team-not-found': 'Tím nenájdený.', - 'team-websites-info': 'Weby si môže zobraziť ktokoľvek z tímu.', - 'transfer-team-website-to-user': 'Preniesť tento web na váš účet?', - 'transfer-user-website-to-team': 'Vyberte tím, na ktorý chcete tento web preniesť.', - 'transfer-website': 'Preneste vlastníctvo webu na svoj účet alebo iný tím.', - 'triggered-event': 'Spustená udalosť', - 'unauthorized': 'Neautorizované', - 'user-deleted': 'Používateľ vymazaný.', - 'viewed-page': 'Zobrazená stránka' - } - }, - 'sl-SI': { - label: { - 'account': 'Račun', - 'action': 'Dejanje', - 'add-link': 'Dodaj povezavo', - 'add-pixel': 'Dodaj piksel', - 'analysis': 'Analiza', - 'application': 'Aplikacija', - 'audience': 'Občinstvo', - 'campaign': 'Kampanja', - 'channel': 'Kanal', - 'chart': 'Grafikon', - 'cohorts': 'Kohorte', - 'criteria': 'Merila', - 'destination-url': 'Ciljni URL', - 'documentation': 'Dokumentacija', - 'download': 'Prenesi', - 'environment': 'Okolje', - 'exclude-bounce': 'Izključi odbite', - 'filter': 'Filter', - 'growth': 'Rast', - 'hour': 'Ura', - 'invalid-url': 'Neveljaven URL', - 'link': 'Povezava', - 'location': 'Lokacija', - 'minute': 'Minuta', - 'model': 'Model', - 'month': 'Mesec', - 'number-of-records': '{x} {x, plural, one {zapis} two {zapisa} few {zapisi} other {zapisov}}', - 'ok': 'V redu', - 'online': 'Na spletu', - 'os': 'OS', - 'pixel': 'Piksel', - 'preferences': 'Nastavitve', - 'profiles': 'Profili', - 'save-cohort': 'Shrani kohorto', - 'save-segment': 'Shrani segment', - 'screen': 'Zaslon', - 'segment': 'Segment', - 'segments': 'Segmenti', - 'sms': 'SMS', - 'source': 'Vir', - 'support': 'Podpora', - 'switch-account': 'Zamenjaj račun', - 'table': 'Tabela', - 'term': 'Iskalni izraz', - 'traffic': 'Promet', - 'transactions': 'Transakcije', - 'transfer': 'Prenesi', - 'transfer-website': 'Prenesi spletno stran', - 'unique-events': 'Edinstveni dogodki', - 'uniqueCustomers': 'Edinstvene stranke', - 'update': 'Posodobi', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM kampanja', - 'utm-content': 'UTM vsebina', - 'utm-description': 'Sledite svojim kampanjam s pomočjo UTM parametrov.', - 'utm-medium': 'UTM medij', - 'utm-source': 'UTM vir', - 'utm-term': 'UTM izraz', - 'version': 'Različica', - 'views-per-visit': 'Ogledov na obisk', - 'visits': 'Obiski' - }, - message: { - 'forbidden': 'Prepovedano', - 'not-found': 'Ni najdeno', - 'nothing-selected': 'Nič ni izbrano.', - 'sever-error': 'Napaka strežnika' - } - }, - 'hr-HR': { - label: { - 'account': 'Račun', - 'action': 'Radnja', - 'add-link': 'Dodaj poveznicu', - 'add-pixel': 'Dodaj piksel', - 'analysis': 'Analiza', - 'application': 'Aplikacija', - 'audience': 'Publika', - 'campaign': 'Kampanja', - 'channel': 'Kanal', - 'chart': 'Grafikon', - 'cohorts': 'Kohorte', - 'contains': 'Sadrži', - 'countries': 'Države', - 'criteria': 'Kriteriji', - 'destination-url': 'Odredišni URL', - 'documentation': 'Dokumentacija', - 'download': 'Preuzmi', - 'environment': 'Okruženje', - 'events': 'Događaji', - 'exclude-bounce': 'Isključi odbijanja', - 'filter': 'Filter', - 'filter-combined': 'Kombinirano', - 'filter-raw': 'Neobrađeno', - 'growth': 'Rast', - 'hour': 'Sat', - 'invalid-url': 'Nevaljani URL', - 'languages': 'Jezici', - 'laptop': 'Laptop', - 'link': 'Poveznica', - 'location': 'Lokacija', - 'minute': 'Minuta', - 'mobile': 'Mobilni', - 'model': 'Model', - 'month': 'Mjesec', - 'ok': 'U redu', - 'online': 'Na mreži', - 'os': 'OS', - 'page-views': 'Pregledi stranica', - 'pageTitle': 'Naslov stranice', - 'pages': 'Stranice', - 'pixel': 'Piksel', - 'powered-by': 'Pokreće {name}', - 'preferences': 'Postavke', - 'previous': 'Prethodno', - 'previous-period': 'Prethodno razdoblje', - 'previous-year': 'Prethodna godina', - 'profiles': 'Profili', - 'referrer': 'Izvor preporuke', - 'referrers': 'Izvori preporuke', - 'regenerate': 'Regeneriraj', - 'region': 'Regija', - 'regions': 'Regije', - 'remove': 'Ukloni', - 'remove-member': 'Ukloni člana', - 'reports': 'Izvješća', - 'retention': 'Zadržavanje', - 'retention-description': 'Izmjerite koliko je vaša stranica privlačna praćenjem koliko se često korisnici vraćaju.', - 'role': 'Uloga', - 'run-query': 'Pokreni upit', - 'save-cohort': 'Spremi kohortu', - 'save-segment': 'Spremi segment', - 'screen': 'Zaslon', - 'search': 'Pretraži', - 'segment': 'Segment', - 'segments': 'Segmenti', - 'select': 'Odaberi', - 'select-date': 'Odaberi datum', - 'select-role': 'Odaberi ulogu', - 'select-website': 'Odaberi web stranicu', - 'sessions': 'Sesije', - 'sms': 'SMS', - 'source': 'Izvor', - 'sum': 'Zbroj', - 'support': 'Podrška', - 'switch-account': 'Promijeni račun', - 'table': 'Tablica', - 'tablet': 'Tablet', - 'team': 'Tim', - 'team-id': 'ID tima', - 'team-manager': 'Upravitelj tima', - 'team-member': 'Član tima', - 'team-name': 'Naziv tima', - 'team-owner': 'Vlasnik tima', - 'team-view-only': 'Samo pregled za tim', - 'team-websites': 'Web stranice tima', - 'teams': 'Timovi', - 'term': 'Pojam pretrage', - 'title': 'Naslov', - 'toggle-charts': 'Prikaži/sakrij grafikone', - 'total': 'Ukupno', - 'total-records': 'Ukupno zapisa', - 'traffic': 'Promet', - 'transactions': 'Transakcije', - 'transfer': 'Prenesi', - 'transfer-website': 'Prenesi web stranicu', - 'true': 'Istina', - 'type': 'Vrsta', - 'unique': 'Jedinstveni', - 'unique-events': 'Jedinstveni događaji', - 'unique-visitors': 'Jedinstveni posjetitelji', - 'uniqueCustomers': 'Jedinstveni kupci', - 'untitled': 'Bez naslova', - 'update': 'Ažuriraj', - 'url': 'URL', - 'user': 'Korisnik', - 'users': 'Korisnici', - 'utm': 'UTM', - 'utm-campaign': 'UTM kampanja', - 'utm-content': 'UTM sadržaj', - 'utm-description': 'Pratite svoje kampanje pomoću UTM parametara.', - 'utm-medium': 'UTM medij', - 'utm-source': 'UTM izvor', - 'utm-term': 'UTM pojam', - 'value': 'Vrijednost', - 'version': 'Verzija', - 'view': 'Pregledaj', - 'view-only': 'Samo pregled', - 'views': 'Pregledi', - 'views-per-visit': 'Pregledi po posjetu', - 'visit-duration': 'Trajanje posjeta', - 'visitors': 'Posjetitelji', - 'visits': 'Posjeti', - 'website': 'Web stranica', - 'website-id': 'ID web stranice', - 'window': 'Prozor' - }, - message: { - 'action-confirmation': 'Upišite {confirmation} u polje ispod za potvrdu.', - 'bad-request': 'Neispravan zahtjev', - 'collected-data': 'Prikupljeni podaci', - 'confirm-leave': 'Jeste li sigurni da želite napustiti {target}?', - 'confirm-remove': 'Jeste li sigurni da želite ukloniti {target}?', - 'delete-team-warning': 'Brisanje tima će izbrisati i sve web stranice tima.', - 'delete-website-warning': 'Svi podaci web stranice bit će izbrisani.', - 'error': 'Nešto je pošlo po krivu.', - 'event-log': '{event} na {url}', - 'forbidden': 'Zabranjeno', - 'invalid-domain': 'Nevaljana domena. Ne uključujte http/https.', - 'min-password-length': 'Minimalna duljina od {n} znakova', - 'new-version-available': 'Dostupna je nova verzija Umami {version}!', - 'no-event-data': 'Nema dostupnih podataka o događajima.', - 'no-match-password': 'Lozinke se ne podudaraju.', - 'no-team-websites': 'Ovaj tim nema web stranica.', - 'no-teams': 'Niste stvorili nijedan tim.', - 'no-users': 'Nema korisnika.', - 'no-websites-configured': 'Nemate konfigurirane web stranice.', - 'not-found': 'Nije pronađeno', - 'nothing-selected': 'Ništa nije odabrano.', - 'reset-website': 'Za resetiranje ove web stranice upišite {confirmation} u polje ispod.', - 'reset-website-warning': 'Svi statistički podaci za ovu web stranicu bit će izbrisani, ali vaše postavke ostaju netaknute.', - 'saved': 'Spremljeno.', - 'sever-error': 'Greška poslužitelja', - 'team-already-member': 'Već ste član tima.', - 'team-not-found': 'Tim nije pronađen.', - 'team-websites-info': 'Web stranice može pregledati svatko u timu.', - 'tracking-code': 'Za praćenje statistike ove web stranice, postavite sljedeći kod u ... odjeljak vašeg HTML-a.', - 'transfer-team-website-to-user': 'Prenijeti ovu web stranicu na vaš račun?', - 'transfer-user-website-to-team': 'Odaberite tim na koji želite prenijeti ovu web stranicu.', - 'transfer-website': 'Prenesite vlasništvo web stranice na svoj račun ili drugi tim.', - 'triggered-event': 'Pokrenuti događaj', - 'unauthorized': 'Neautorizirano', - 'user-deleted': 'Korisnik izbrisan.', - 'viewed-page': 'Pregledana stranica', - 'visitor-log': 'Posjetitelj iz {country} koristi {browser} na {os} {device}' - } - }, - 'bs-BA': { - label: { - 'account': 'Račun', - 'action': 'Radnja', - 'add-link': 'Dodaj link', - 'add-pixel': 'Dodaj piksel', - 'analysis': 'Analiza', - 'application': 'Aplikacija', - 'audience': 'Publika', - 'browser': 'Preglednik', - 'campaign': 'Kampanja', - 'channel': 'Kanal', - 'chart': 'Grafikon', - 'cohorts': 'Kohorte', - 'criteria': 'Kriteriji', - 'dashboard': 'Nadzorna ploča', - 'desktop': 'Desktop', - 'destination-url': 'Odredišni URL', - 'documentation': 'Dokumentacija', - 'download': 'Preuzmi', - 'environment': 'Okruženje', - 'exclude-bounce': 'Isključi odbijanja', - 'filter': 'Filter', - 'growth': 'Rast', - 'hour': 'Sat', - 'invalid-url': 'Nevažeći URL', - 'laptop': 'Laptop', - 'last-seen': 'Zadnji put viđen', - 'link': 'Link', - 'location': 'Lokacija', - 'login': 'Prijava', - 'logout': 'Odjava', - 'manage': 'Upravljaj', - 'max': 'Maks', - 'min': 'Min', - 'minute': 'Minuta', - 'mobile': 'Mobilni', - 'model': 'Model', - 'month': 'Mjesec', - 'ok': 'U redu', - 'online': 'Na mreži', - 'os': 'OS', - 'pixel': 'Piksel', - 'preferences': 'Postavke', - 'previous': 'Prethodno', - 'previous-period': 'Prethodni period', - 'previous-year': 'Prethodna godina', - 'profiles': 'Profili', - 'region': 'Regija', - 'save-cohort': 'Spremi kohortu', - 'save-segment': 'Spremi segment', - 'screen': 'Ekran', - 'segment': 'Segment', - 'segments': 'Segmenti', - 'sms': 'SMS', - 'source': 'Izvor', - 'support': 'Podrška', - 'switch-account': 'Promijeni račun', - 'table': 'Tabela', - 'tablet': 'Tablet', - 'term': 'Pojam pretrage', - 'traffic': 'Promet', - 'transactions': 'Transakcije', - 'transfer': 'Prenesi', - 'unique-events': 'Jedinstveni događaji', - 'uniqueCustomers': 'Jedinstveni kupci', - 'update': 'Ažuriraj', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM kampanja', - 'utm-content': 'UTM sadržaj', - 'utm-medium': 'UTM medij', - 'utm-source': 'UTM izvor', - 'utm-term': 'UTM pojam', - 'version': 'Verzija' - }, - message: { - 'bad-request': 'Neispravan zahtjev', - 'collected-data': 'Prikupljeni podaci', - 'forbidden': 'Zabranjeno', - 'not-found': 'Nije pronađeno', - 'nothing-selected': 'Ništa nije odabrano.', - 'sever-error': 'Greška servera', - 'unauthorized': 'Neautorizirano' - } - }, - 'lt-LT': { - label: { - 'account': 'Paskyra', - 'action': 'Veiksmas', - 'add-link': 'Pridėti nuorodą', - 'add-pixel': 'Pridėti pikselį', - 'analysis': 'Analizė', - 'application': 'Programėlė', - 'audience': 'Auditorija', - 'campaign': 'Kampanija', - 'channel': 'Kanalas', - 'chart': 'Diagrama', - 'cohorts': 'Kohortos', - 'criteria': 'Kriterijai', - 'destination-url': 'Paskirties URL', - 'documentation': 'Dokumentacija', - 'download': 'Atsisiųsti', - 'environment': 'Aplinka', - 'exclude-bounce': 'Neįtraukti atmetimų', - 'growth': 'Augimas', - 'hour': 'Valanda', - 'invalid-url': 'Netinkamas URL', - 'link': 'Nuoroda', - 'location': 'Vieta', - 'minute': 'Minutė', - 'month': 'Mėnuo', - 'number-of-records': '{x} {x, plural, one {įrašas} few {įrašai} other {įrašų}}', - 'ok': 'Gerai', - 'online': 'Prisijungęs', - 'pixel': 'Pikselis', - 'powered-by': 'Teikia {name}', - 'preferences': 'Nuostatos', - 'profiles': 'Profiliai', - 'save-cohort': 'Išsaugoti kohortą', - 'save-segment': 'Išsaugoti segmentą', - 'screen': 'Ekranas', - 'segment': 'Segmentas', - 'segments': 'Segmentai', - 'sms': 'SMS', - 'source': 'Šaltinis', - 'support': 'Palaikymas', - 'switch-account': 'Perjungti paskyrą', - 'table': 'Lentelė', - 'term': 'Paieškos terminas', - 'total': 'Iš viso', - 'total-records': 'Iš viso įrašų', - 'traffic': 'Srautas', - 'transactions': 'Sandoriai', - 'true': 'Tiesa', - 'type': 'Tipas', - 'unique': 'Unikalūs', - 'unique-events': 'Unikalūs įvykiai', - 'uniqueCustomers': 'Unikalūs klientai', - 'update': 'Atnaujinti', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM kampanija', - 'utm-content': 'UTM turinys', - 'utm-description': 'Stebėkite savo kampanijas per UTM parametrus.', - 'utm-medium': 'UTM kanalas', - 'utm-source': 'UTM šaltinis', - 'utm-term': 'UTM terminas', - 'value': 'Reikšmė', - 'version': 'Versija', - 'views-per-visit': 'Peržiūros per apsilankymą', - 'visits': 'Apsilankymai', - 'window': 'Langas' - }, - message: { - 'bad-request': 'Netinkama užklausa', - 'collected-data': 'Surinkti duomenys', - 'event-log': '{event} puslapyje {url}', - 'forbidden': 'Draudžiama', - 'not-found': 'Nerasta', - 'nothing-selected': 'Nieko nepasirinkta.', - 'sever-error': 'Serverio klaida', - 'triggered-event': 'Suaktyvintas įvykis', - 'unauthorized': 'Neautorizuota', - 'viewed-page': 'Peržiūrėtas puslapis' - } - } -}; - -for (const [locale, trans] of Object.entries(translations)) { - const filePath = path.join(dir, locale + '.json'); - const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); - let count = 0; - for (const [section, keys] of Object.entries(trans)) { - for (const [key, value] of Object.entries(keys)) { - if (data[section] && key in data[section]) { - data[section][key] = value; - count++; - } - } - } - const sorted = {}; - for (const section of Object.keys(enUS)) { - if (data[section]) { - sorted[section] = {}; - for (const key of Object.keys(enUS[section])) { - if (key in data[section]) sorted[section][key] = data[section][key]; - } - for (const key of Object.keys(data[section])) { - if (!(key in sorted[section])) sorted[section][key] = data[section][key]; - } - } - } - fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); - console.log('Updated ' + locale + ': ' + count + ' keys'); -} diff --git a/scripts/translate-6-other-euro.cjs b/scripts/translate-6-other-euro.cjs deleted file mode 100644 index 084648f79..000000000 --- a/scripts/translate-6-other-euro.cjs +++ /dev/null @@ -1,842 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); -const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); - -const translations = { - 'hu-HU': { - label: { - 'account': 'Fiók', - 'action': 'Művelet', - 'add-link': 'Link hozzáadása', - 'add-pixel': 'Pixel hozzáadása', - 'analysis': 'Elemzés', - 'application': 'Alkalmazás', - 'audience': 'Közönség', - 'campaign': 'Kampány', - 'channel': 'Csatorna', - 'chart': 'Diagram', - 'cohorts': 'Kohorszok', - 'contains': 'Tartalmazza', - 'criteria': 'Feltételek', - 'destination-url': 'Cél URL', - 'documentation': 'Dokumentáció', - 'domain': 'Domain', - 'download': 'Letöltés', - 'environment': 'Környezet', - 'exclude-bounce': 'Visszafordulás kizárása', - 'filter': 'Szűrő', - 'growth': 'Növekedés', - 'hour': 'Óra', - 'invalid-url': 'Érvénytelen URL', - 'language': 'Nyelv', - 'languages': 'Nyelvek', - 'laptop': 'Laptop', - 'link': 'Link', - 'location': 'Helyszín', - 'minute': 'Perc', - 'model': 'Modell', - 'month': 'Hónap', - 'ok': 'OK', - 'online': 'Online', - 'os': 'Operációs rendszer', - 'pageTitle': 'Oldal címe', - 'pixel': 'Pixel', - 'preferences': 'Beállítások', - 'previous': 'Előző', - 'previous-period': 'Előző időszak', - 'previous-year': 'Előző év', - 'profiles': 'Profilok', - 'referrer': 'Hivatkozó', - 'regenerate': 'Újragenerálás', - 'region': 'Régió', - 'regions': 'Régiók', - 'remove': 'Eltávolítás', - 'remove-member': 'Tag eltávolítása', - 'reports': 'Jelentések', - 'retention': 'Megtartás', - 'retention-description': 'Mérje weboldalának megtartó erejét annak nyomon követésével, hogy milyen gyakran térnek vissza a felhasználók.', - 'role': 'Szerep', - 'run-query': 'Lekérdezés futtatása', - 'save-cohort': 'Kohorsz mentése', - 'save-segment': 'Szegmens mentése', - 'screen': 'Képernyő', - 'search': 'Keresés', - 'segment': 'Szegmens', - 'segments': 'Szegmensek', - 'select': 'Kiválasztás', - 'select-date': 'Dátum kiválasztása', - 'select-role': 'Szerep kiválasztása', - 'select-website': 'Weboldal kiválasztása', - 'sessions': 'Munkamenetek', - 'sms': 'SMS', - 'source': 'Forrás', - 'sum': 'Összeg', - 'support': 'Támogatás', - 'switch-account': 'Fiók váltása', - 'table': 'Táblázat', - 'team': 'Csapat', - 'team-id': 'Csapat-ID', - 'team-manager': 'Csapatmenedzser', - 'team-member': 'Csapattag', - 'team-name': 'Csapat neve', - 'team-owner': 'Csapat tulajdonosa', - 'team-view-only': 'Csak csapat megtekintés', - 'team-websites': 'Csapat weboldalai', - 'teams': 'Csapatok', - 'term': 'Keresőkifejezés', - 'theme': 'Téma', - 'title': 'Cím', - 'toggle-charts': 'Diagramok megjelenítése', - 'total': 'Összesen', - 'total-records': 'Összes rekord', - 'traffic': 'Forgalom', - 'transactions': 'Tranzakciók', - 'transfer': 'Átvitel', - 'transfer-website': 'Weboldal átvitele', - 'true': 'Igaz', - 'type': 'Típus', - 'unique': 'Egyedi', - 'unique-events': 'Egyedi események', - 'uniqueCustomers': 'Egyedi ügyfelek', - 'untitled': 'Névtelen', - 'update': 'Frissítés', - 'url': 'URL', - 'user': 'Felhasználó', - 'users': 'Felhasználók', - 'utm': 'UTM', - 'utm-campaign': 'UTM-kampány', - 'utm-content': 'UTM-tartalom', - 'utm-description': 'Kövesse nyomon kampányait UTM-paraméterekkel.', - 'utm-medium': 'UTM-médium', - 'utm-source': 'UTM-forrás', - 'utm-term': 'UTM-kifejezés', - 'value': 'Érték', - 'version': 'Verzió', - 'view': 'Megtekintés', - 'view-only': 'Csak megtekintés', - 'views-per-visit': 'Megtekintés/látogatás', - 'visits': 'Látogatások', - 'website': 'Weboldal', - 'website-id': 'Weboldal-ID', - 'window': 'Ablak', - 'yesterday': 'Tegnap' - }, - message: { - 'action-confirmation': 'Írja be a(z) {confirmation} szót az alábbi mezőbe a megerősítéshez.', - 'bad-request': 'Hibás kérés', - 'collected-data': 'Gyűjtött adatok', - 'confirm-leave': 'Biztosan el szeretné hagyni a(z) {target} csapatot?', - 'confirm-remove': 'Biztosan el szeretné távolítani a(z) {target} elemet?', - 'delete-team-warning': 'A csapat törlése az összes csapat weboldalt is törli.', - 'event-log': '{event} itt: {url}', - 'forbidden': 'Tiltott', - 'min-password-length': 'Minimum {n} karakter hosszúság', - 'new-version-available': 'Elérhető az Umami {version} új verziója!', - 'no-event-data': 'Nincs elérhető eseményadat.', - 'no-team-websites': 'Ennek a csapatnak nincsenek weboldalai.', - 'no-teams': 'Még nem hozott létre csapatot.', - 'no-users': 'Nincsenek felhasználók.', - 'not-found': 'Nem található', - 'nothing-selected': 'Semmi nincs kijelölve.', - 'reset-website': 'A weboldal visszaállításához írja be a(z) {confirmation} szót az alábbi mezőbe.', - 'sever-error': 'Szerverhiba', - 'team-already-member': 'Ön már tagja a csapatnak.', - 'team-not-found': 'Csapat nem található.', - 'team-websites-info': 'A weboldalakat a csapat bármely tagja megtekintheti.', - 'transfer-team-website-to-user': 'Átvinni ezt a weboldalt a fiókjába?', - 'transfer-user-website-to-team': 'Válassza ki a csapatot, amelyre át kívánja vinni a weboldalt.', - 'transfer-website': 'Vigye át a weboldal tulajdonjogát a fiókjába vagy egy másik csapatba.', - 'triggered-event': 'Kiváltott esemény', - 'unauthorized': 'Nincs jogosultság', - 'user-deleted': 'Felhasználó törölve.', - 'viewed-page': 'Megtekintett oldal' - } - }, - 'el-GR': { - label: { - 'access-code': 'Κωδικός πρόσβασης', - 'account': 'Λογαριασμός', - 'action': 'Ενέργεια', - 'add': 'Προσθήκη', - 'add-board': 'Προσθήκη πίνακα', - 'add-description': 'Προσθήκη περιγραφής', - 'add-link': 'Προσθήκη συνδέσμου', - 'add-member': 'Προσθήκη μέλους', - 'add-pixel': 'Προσθήκη pixel', - 'add-step': 'Προσθήκη βήματος', - 'affiliate': 'Συνεργάτης', - 'after': 'Μετά', - 'all': 'Όλα', - 'all-time': 'Από πάντα', - 'analysis': 'Ανάλυση', - 'analytics': 'Αναλυτικά', - 'application': 'Εφαρμογή', - 'apply': 'Εφαρμογή', - 'attribution': 'Απόδοση', - 'attribution-description': 'Δείτε πώς αλληλεπιδρούν οι χρήστες με το μάρκετινγκ και τι οδηγεί σε μετατροπές.', - 'audience': 'Κοινό', - 'average': 'Μέσος όρος', - 'before': 'Πριν', - 'boards': 'Πίνακες', - 'breakdown': 'Ανάλυση', - 'browser': 'Πρόγραμμα περιήγησης', - 'campaign': 'Καμπάνια', - 'campaigns': 'Καμπάνιες', - 'channel': 'Κανάλι', - 'channels': 'Κανάλια', - 'chart': 'Γράφημα', - 'cities': 'Πόλεις', - 'city': 'Πόλη', - 'clear-all': 'Εκκαθάριση όλων', - 'cohort': 'Κοόρτη', - 'cohorts': 'Κοόρτες', - 'compare': 'Σύγκριση', - 'compare-dates': 'Σύγκριση ημερομηνιών', - 'confirm': 'Επιβεβαίωση', - 'contains': 'Περιέχει', - 'content': 'Περιεχόμενο', - 'continue': 'Συνέχεια', - 'conversion': 'Μετατροπή', - 'conversion-rate': 'Ποσοστό μετατροπής', - 'conversion-step': 'Βήμα μετατροπής', - 'count': 'Πλήθος', - 'country': 'Χώρα', - 'create': 'Δημιουργία', - 'create-report': 'Δημιουργία αναφοράς', - 'create-team': 'Δημιουργία ομάδας', - 'create-user': 'Δημιουργία χρήστη', - 'created': 'Δημιουργήθηκε', - 'created-by': 'Δημιουργήθηκε από', - 'criteria': 'Κριτήρια', - 'currency': 'Νόμισμα', - 'current': 'Τρέχων', - 'data': 'Δεδομένα', - 'date': 'Ημερομηνία', - 'day': 'Ημέρα', - 'delete-report': 'Διαγραφή αναφοράς', - 'delete-team': 'Διαγραφή ομάδας', - 'delete-user': 'Διαγραφή χρήστη', - 'description': 'Περιγραφή', - 'destination-url': 'URL προορισμού', - 'details': 'Λεπτομέρειες', - 'device': 'Συσκευή', - 'direct': 'Άμεσο', - 'dismiss': 'Απόρριψη', - 'distinct-id': 'Μοναδικό ID', - 'documentation': 'Τεκμηρίωση', - 'does-not-contain': 'Δεν περιέχει', - 'does-not-include': 'Δεν περιλαμβάνει', - 'doest-not-exist': 'Δεν υπάρχει', - 'download': 'Λήψη', - 'dropoff': 'Εγκατάλειψη', - 'edit-dashboard': 'Επεξεργασία πίνακα ελέγχου', - 'edit-member': 'Επεξεργασία μέλους', - 'email': 'Email', - 'end-step': 'Τελικό βήμα', - 'environment': 'Περιβάλλον', - 'event': 'Συμβάν', - 'event-data': 'Δεδομένα συμβάντος', - 'event-name': 'Όνομα συμβάντος', - 'exclude-bounce': 'Εξαίρεση αναπήδησης', - 'exists': 'Υπάρχει', - 'false': 'Ψευδές', - 'field': 'Πεδίο', - 'fields': 'Πεδία', - 'filter': 'Φίλτρο', - 'filters': 'Φίλτρα', - 'first-click': 'Πρώτο κλικ', - 'first-seen': 'Πρώτη εμφάνιση', - 'funnel': 'Χωνί', - 'funnel-description': 'Κατανοήστε το ποσοστό μετατροπής και εγκατάλειψης χρηστών.', - 'funnels': 'Χωνιά', - 'goal': 'Στόχος', - 'goals': 'Στόχοι', - 'goals-description': 'Παρακολουθήστε τους στόχους σας για προβολές σελίδων και συμβάντα.', - 'greater-than': 'Μεγαλύτερο από', - 'greater-than-equals': 'Μεγαλύτερο ή ίσο', - 'grouped': 'Ομαδοποιημένα', - 'growth': 'Ανάπτυξη', - 'hostname': 'Όνομα κεντρικού υπολογιστή', - 'hour': 'Ώρα', - 'includes': 'Περιλαμβάνει', - 'insight': 'Πληροφορία', - 'insights': 'Πληροφορίες', - 'insights-description': 'Εμβαθύνετε στα δεδομένα σας χρησιμοποιώντας τμήματα και φίλτρα.', - 'invalid-url': 'Μη έγκυρο URL', - 'is': 'Είναι', - 'is-false': 'Είναι ψευδές', - 'is-not': 'Δεν είναι', - 'is-not-set': 'Δεν έχει οριστεί', - 'is-set': 'Έχει οριστεί', - 'is-true': 'Είναι αληθές', - 'join': 'Συμμετοχή', - 'join-team': 'Συμμετοχή σε ομάδα', - 'journey': 'Διαδρομή', - 'journey-description': 'Κατανοήστε πώς πλοηγούνται οι χρήστες στον ιστότοπό σας.', - 'journeys': 'Διαδρομές', - 'language': 'Γλώσσα', - 'languages': 'Γλώσσες', - 'last-click': 'Τελευταίο κλικ', - 'last-months': 'Τελευταίοι {x} μήνες', - 'last-seen': 'Τελευταία εμφάνιση', - 'leave': 'Αποχώρηση', - 'leave-team': 'Αποχώρηση από ομάδα', - 'less-than': 'Μικρότερο από', - 'less-than-equals': 'Μικρότερο ή ίσο', - 'link': 'Σύνδεσμος', - 'links': 'Σύνδεσμοι', - 'location': 'Τοποθεσία', - 'manage': 'Διαχείριση', - 'manager': 'Διαχειριστής', - 'max': 'Μέγ', - 'medium': 'Μέσο', - 'member': 'Μέλος', - 'members': 'Μέλη', - 'min': 'Ελάχ', - 'minute': 'Λεπτό', - 'model': 'Μοντέλο', - 'month': 'Μήνας', - 'my-account': 'Ο λογαριασμός μου', - 'my-websites': 'Οι ιστότοποί μου', - 'none': 'Κανένα', - 'number-of-records': '{x} {x, plural, one {εγγραφή} other {εγγραφές}}', - 'ok': 'OK', - 'online': 'Σε σύνδεση', - 'organic-search': 'Οργανική αναζήτηση', - 'organic-shopping': 'Οργανικές αγορές', - 'organic-social': 'Οργανικά κοινωνικά', - 'organic-video': 'Οργανικό βίντεο', - 'os': 'ΛΣ', - 'other': 'Άλλο', - 'overview': 'Επισκόπηση', - 'owner': 'Ιδιοκτήτης', - 'page': 'Σελίδα', - 'page-of': 'Σελίδα {current} από {total}', - 'pageTitle': 'Τίτλος σελίδας', - 'paid-ads': 'Πληρωμένες διαφημίσεις', - 'paid-search': 'Πληρωμένη αναζήτηση', - 'paid-shopping': 'Πληρωμένες αγορές', - 'paid-social': 'Πληρωμένα κοινωνικά', - 'paid-video': 'Πληρωμένο βίντεο', - 'path': 'Διαδρομή', - 'paths': 'Διαδρομές', - 'pixel': 'Pixel', - 'pixels': 'Pixels', - 'preferences': 'Προτιμήσεις', - 'previous': 'Προηγούμενο', - 'previous-period': 'Προηγούμενη περίοδος', - 'previous-year': 'Προηγούμενο έτος', - 'profiles': 'Προφίλ', - 'properties': 'Ιδιότητες', - 'property': 'Ιδιότητα', - 'queries': 'Ερωτήματα', - 'query': 'Ερώτημα', - 'query-parameters': 'Παράμετροι ερωτήματος', - 'realtime': 'Πραγματικός χρόνος', - 'referral': 'Παραπομπή', - 'referrer': 'Παραπέμπων', - 'regenerate': 'Αναδημιουργία', - 'region': 'Περιφέρεια', - 'regions': 'Περιφέρειες', - 'remaining': 'Υπολειπόμενα', - 'remove': 'Αφαίρεση', - 'remove-member': 'Αφαίρεση μέλους', - 'reports': 'Αναφορές', - 'retention': 'Διατήρηση', - 'retention-description': 'Μετρήστε την ικανότητα διατήρησης χρηστών του ιστότοπού σας.', - 'revenue': 'Έσοδα', - 'role': 'Ρόλος', - 'run-query': 'Εκτέλεση ερωτήματος', - 'save-cohort': 'Αποθήκευση κοόρτης', - 'save-segment': 'Αποθήκευση τμήματος', - 'screen': 'Οθόνη', - 'screens': 'Οθόνες', - 'search': 'Αναζήτηση', - 'segment': 'Τμήμα', - 'segments': 'Τμήματα', - 'select': 'Επιλογή', - 'select-date': 'Επιλογή ημερομηνίας', - 'select-filter': 'Επιλογή φίλτρου', - 'select-role': 'Επιλογή ρόλου', - 'select-website': 'Επιλογή ιστότοπου', - 'session': 'Συνεδρία', - 'session-data': 'Δεδομένα συνεδρίας', - 'sessions': 'Συνεδρίες', - 'share': 'Κοινοποίηση', - 'sms': 'SMS', - 'source': 'Πηγή', - 'sources': 'Πηγές', - 'start-step': 'Αρχικό βήμα', - 'steps': 'Βήματα', - 'sum': 'Άθροισμα', - 'support': 'Υποστήριξη', - 'switch-account': 'Αλλαγή λογαριασμού', - 'table': 'Πίνακας', - 'tag': 'Ετικέτα', - 'tags': 'Ετικέτες', - 'team': 'Ομάδα', - 'team-id': 'ID ομάδας', - 'team-manager': 'Υπεύθυνος ομάδας', - 'team-member': 'Μέλος ομάδας', - 'team-name': 'Όνομα ομάδας', - 'team-owner': 'Ιδιοκτήτης ομάδας', - 'team-settings': 'Ρυθμίσεις ομάδας', - 'team-view-only': 'Μόνο προβολή ομάδας', - 'team-websites': 'Ιστότοποι ομάδας', - 'teams': 'Ομάδες', - 'term': 'Όρος αναζήτησης', - 'terms': 'Όροι', - 'theme': 'Θέμα', - 'title': 'Τίτλος', - 'toggle-charts': 'Εναλλαγή γραφημάτων', - 'total': 'Σύνολο', - 'total-records': 'Σύνολο εγγραφών', - 'traffic': 'Κίνηση', - 'transactions': 'Συναλλαγές', - 'transfer': 'Μεταφορά', - 'transfer-website': 'Μεταφορά ιστότοπου', - 'true': 'Αληθές', - 'type': 'Τύπος', - 'unique': 'Μοναδικό', - 'unique-events': 'Μοναδικά συμβάντα', - 'uniqueCustomers': 'Μοναδικοί πελάτες', - 'untitled': 'Χωρίς τίτλο', - 'update': 'Ενημέρωση', - 'url': 'URL', - 'user': 'Χρήστης', - 'users': 'Χρήστες', - 'utm': 'UTM', - 'utm-campaign': 'UTM Καμπάνια', - 'utm-content': 'UTM Περιεχόμενο', - 'utm-description': 'Παρακολουθήστε τις καμπάνιες σας μέσω παραμέτρων UTM.', - 'utm-medium': 'UTM Μέσο', - 'utm-source': 'UTM Πηγή', - 'utm-term': 'UTM Όρος', - 'value': 'Τιμή', - 'version': 'Έκδοση', - 'view': 'Προβολή', - 'view-only': 'Μόνο προβολή', - 'views-per-visit': 'Προβολές ανά επίσκεψη', - 'visits': 'Επισκέψεις', - 'website': 'Ιστότοπος', - 'website-id': 'ID ιστότοπου', - 'window': 'Παράθυρο', - 'yesterday': 'Χθες' - }, - message: { - 'action-confirmation': 'Πληκτρολογήστε {confirmation} στο παρακάτω πεδίο για επιβεβαίωση.', - 'bad-request': 'Μη έγκυρο αίτημα', - 'collected-data': 'Συλλεχθέντα δεδομένα', - 'confirm-leave': 'Είστε σίγουροι ότι θέλετε να αποχωρήσετε από {target};', - 'confirm-remove': 'Είστε σίγουροι ότι θέλετε να αφαιρέσετε {target};', - 'delete-team-warning': 'Η διαγραφή μιας ομάδας θα διαγράψει επίσης όλους τους ιστότοπους της ομάδας.', - 'event-log': '{event} στο {url}', - 'forbidden': 'Απαγορευμένο', - 'min-password-length': 'Ελάχιστο μήκος {n} χαρακτήρων', - 'new-version-available': 'Μια νέα έκδοση του Umami {version} είναι διαθέσιμη!', - 'no-event-data': 'Δεν υπάρχουν διαθέσιμα δεδομένα συμβάντων.', - 'no-team-websites': 'Αυτή η ομάδα δεν έχει ιστότοπους.', - 'no-teams': 'Δεν έχετε δημιουργήσει ομάδες.', - 'no-users': 'Δεν υπάρχουν χρήστες.', - 'not-found': 'Δεν βρέθηκε', - 'nothing-selected': 'Τίποτα δεν έχει επιλεγεί.', - 'reset-website': 'Για να επαναφέρετε αυτόν τον ιστότοπο, πληκτρολογήστε {confirmation} στο παρακάτω πεδίο.', - 'sever-error': 'Σφάλμα διακομιστή', - 'team-already-member': 'Είστε ήδη μέλος της ομάδας.', - 'team-not-found': 'Η ομάδα δεν βρέθηκε.', - 'team-websites-info': 'Οι ιστότοποι μπορούν να προβληθούν από οποιονδήποτε στην ομάδα.', - 'transfer-team-website-to-user': 'Μεταφορά αυτού του ιστότοπου στον λογαριασμό σας;', - 'transfer-user-website-to-team': 'Επιλέξτε την ομάδα για μεταφορά αυτού του ιστότοπου.', - 'transfer-website': 'Μεταφέρετε την ιδιοκτησία του ιστότοπου στον λογαριασμό σας ή σε άλλη ομάδα.', - 'triggered-event': 'Ενεργοποιημένο συμβάν', - 'unauthorized': 'Μη εξουσιοδοτημένο', - 'user-deleted': 'Ο χρήστης διαγράφηκε.', - 'viewed-page': 'Προβολή σελίδας', - 'visitor-log': 'Επισκέπτης από {country} χρησιμοποιώντας {browser} σε {os} {device}' - } - }, - 'tr-TR': { - label: { - 'account': 'Hesap', - 'action': 'Eylem', - 'add-link': 'Bağlantı ekle', - 'add-pixel': 'Piksel ekle', - 'analysis': 'Analiz', - 'application': 'Uygulama', - 'audience': 'Kitle', - 'campaign': 'Kampanya', - 'channel': 'Kanal', - 'chart': 'Grafik', - 'cohorts': 'Kohortlar', - 'criteria': 'Kriterler', - 'destination-url': 'Hedef URL', - 'documentation': 'Dokümantasyon', - 'download': 'İndir', - 'email': 'E-posta', - 'end-step': 'Son adım', - 'environment': 'Ortam', - 'exclude-bounce': 'Hemen çıkışı hariç tut', - 'first-seen': 'İlk görülme', - 'growth': 'Büyüme', - 'hour': 'Saat', - 'insights': 'İçgörüler', - 'invalid-url': 'Geçersiz URL', - 'is': 'Eşittir', - 'link': 'Bağlantı', - 'location': 'Konum', - 'manager': 'Yönetici', - 'max': 'Maks', - 'min': 'Min', - 'minute': 'Dakika', - 'model': 'Model', - 'month': 'Ay', - 'number-of-records': '{x} {x, plural, one {kayıt} other {kayıt}}', - 'online': 'Çevrimiçi', - 'os': 'İşletim Sistemi', - 'pixel': 'Piksel', - 'preferences': 'Tercihler', - 'profiles': 'Profiller', - 'referrer': 'Yönlendiren', - 'save-cohort': 'Kohortu kaydet', - 'save-segment': 'Segmenti kaydet', - 'screen': 'Ekran', - 'segment': 'Segment', - 'segments': 'Segmentler', - 'sessions': 'Oturumlar', - 'sms': 'SMS', - 'source': 'Kaynak', - 'start-step': 'Başlangıç adımı', - 'support': 'Destek', - 'switch-account': 'Hesap değiştir', - 'table': 'Tablo', - 'tablet': 'Tablet', - 'term': 'Arama terimi', - 'traffic': 'Trafik', - 'transactions': 'İşlemler', - 'transfer': 'Transfer', - 'unique-events': 'Benzersiz etkinlikler', - 'uniqueCustomers': 'Benzersiz müşteriler', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM Kampanya', - 'utm-content': 'UTM İçerik', - 'utm-medium': 'UTM Ortam', - 'utm-source': 'UTM Kaynak', - 'utm-term': 'UTM Terim', - 'version': 'Sürüm', - 'website-id': 'Web sitesi ID' - }, - message: { - 'bad-request': 'Geçersiz istek', - 'collected-data': 'Toplanan veriler', - 'event-log': '{event} sayfasında {url}', - 'forbidden': 'Yasaklandı', - 'not-found': 'Bulunamadı', - 'nothing-selected': 'Hiçbir şey seçilmedi.', - 'sever-error': 'Sunucu hatası', - 'unauthorized': 'Yetkisiz' - } - }, - 'ar-SA': { - label: { - 'account': 'حساب', - 'action': 'إجراء', - 'add-link': 'إضافة رابط', - 'add-pixel': 'إضافة بكسل', - 'affiliate': 'شريك تسويقي', - 'analysis': 'تحليل', - 'application': 'تطبيق', - 'audience': 'جمهور', - 'campaign': 'حملة', - 'channel': 'قناة', - 'chart': 'مخطط', - 'cohorts': 'مجموعات', - 'criteria': 'معايير', - 'destination-url': 'رابط الوجهة', - 'documentation': 'التوثيق', - 'download': 'تحميل', - 'email': 'بريد إلكتروني', - 'environment': 'بيئة', - 'exclude-bounce': 'استبعاد الارتداد', - 'growth': 'نمو', - 'hour': 'ساعة', - 'invalid-url': 'رابط غير صالح', - 'link': 'رابط', - 'location': 'موقع', - 'minute': 'دقيقة', - 'month': 'شهر', - 'online': 'متصل', - 'pixel': 'بكسل', - 'preferences': 'التفضيلات', - 'profiles': 'الملفات الشخصية', - 'save-cohort': 'حفظ المجموعة', - 'save-segment': 'حفظ الشريحة', - 'screen': 'شاشة', - 'segment': 'شريحة', - 'segments': 'شرائح', - 'sms': 'رسالة نصية', - 'source': 'مصدر', - 'support': 'دعم', - 'switch-account': 'تبديل الحساب', - 'table': 'جدول', - 'term': 'مصطلح البحث', - 'traffic': 'حركة المرور', - 'unique-events': 'أحداث فريدة', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM حملة', - 'utm-content': 'UTM محتوى', - 'utm-medium': 'UTM وسيط', - 'utm-source': 'UTM مصدر', - 'utm-term': 'UTM مصطلح', - 'version': 'إصدار' - }, - message: { - 'bad-request': 'طلب غير صالح', - 'forbidden': 'محظور', - 'not-found': 'غير موجود', - 'nothing-selected': 'لم يتم تحديد شيء.', - 'sever-error': 'خطأ في الخادم', - 'unauthorized': 'غير مصرح' - } - }, - 'fa-IR': { - label: { - 'account': 'حساب کاربری', - 'action': 'عملیات', - 'add-link': 'افزودن لینک', - 'add-pixel': 'افزودن پیکسل', - 'analysis': 'تحلیل', - 'application': 'برنامه', - 'audience': 'مخاطبان', - 'campaign': 'کمپین', - 'channel': 'کانال', - 'chart': 'نمودار', - 'cohorts': 'گروه‌ها', - 'criteria': 'معیارها', - 'destination-url': 'URL مقصد', - 'documentation': 'مستندات', - 'download': 'دانلود', - 'environment': 'محیط', - 'exclude-bounce': 'حذف نرخ پرش', - 'growth': 'رشد', - 'hour': 'ساعت', - 'invalid-url': 'URL نامعتبر', - 'link': 'لینک', - 'location': 'موقعیت', - 'minute': 'دقیقه', - 'month': 'ماه', - 'number-of-records': '{x} {x, plural, one {رکورد} other {رکورد}}', - 'online': 'آنلاین', - 'pixel': 'پیکسل', - 'preferences': 'تنظیمات', - 'profiles': 'پروفایل‌ها', - 'save-cohort': 'ذخیره گروه', - 'save-segment': 'ذخیره بخش', - 'screen': 'صفحه نمایش', - 'segment': 'بخش', - 'segments': 'بخش‌ها', - 'sms': 'پیامک', - 'source': 'منبع', - 'support': 'پشتیبانی', - 'switch-account': 'تغییر حساب', - 'table': 'جدول', - 'term': 'عبارت جستجو', - 'traffic': 'ترافیک', - 'unique-events': 'رویدادهای یکتا', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM کمپین', - 'utm-content': 'UTM محتوا', - 'utm-medium': 'UTM رسانه', - 'utm-source': 'UTM منبع', - 'utm-term': 'UTM عبارت', - 'version': 'نسخه' - }, - message: { - 'bad-request': 'درخواست نامعتبر', - 'forbidden': 'ممنوع', - 'not-found': 'یافت نشد', - 'nothing-selected': 'چیزی انتخاب نشده است.', - 'sever-error': 'خطای سرور', - 'unauthorized': 'غیرمجاز' - } - }, - 'he-IL': { - label: { - 'account': 'חשבון', - 'action': 'פעולה', - 'add-link': 'הוספת קישור', - 'add-pixel': 'הוספת פיקסל', - 'analysis': 'ניתוח', - 'application': 'יישום', - 'audience': 'קהל', - 'campaign': 'מסע פרסום', - 'channel': 'ערוץ', - 'chart': 'תרשים', - 'cohorts': 'קוהורטות', - 'contains': 'מכיל', - 'criteria': 'קריטריונים', - 'destination-url': 'כתובת יעד', - 'documentation': 'תיעוד', - 'download': 'הורדה', - 'environment': 'סביבה', - 'exclude-bounce': 'החרג נטישה', - 'filter': 'סינון', - 'growth': 'צמיחה', - 'hour': 'שעה', - 'invalid-url': 'כתובת לא תקינה', - 'language': 'שפה', - 'languages': 'שפות', - 'link': 'קישור', - 'location': 'מיקום', - 'minute': 'דקה', - 'model': 'דגם', - 'month': 'חודש', - 'ok': 'אישור', - 'online': 'מחובר', - 'os': 'מערכת הפעלה', - 'pageTitle': 'כותרת עמוד', - 'pixel': 'פיקסל', - 'powered-by': 'מופעל על ידי {name}', - 'preferences': 'העדפות', - 'previous': 'הקודם', - 'previous-period': 'תקופה קודמת', - 'previous-year': 'שנה קודמת', - 'profiles': 'פרופילים', - 'referrer': 'מפנה', - 'regenerate': 'ייצור מחדש', - 'region': 'אזור', - 'regions': 'אזורים', - 'remove': 'הסרה', - 'remove-member': 'הסרת חבר', - 'reports': 'דוחות', - 'retention': 'שימור', - 'retention-description': 'מדדו את מידת ההיצמדות לאתר שלכם על ידי מעקב אחר תדירות חזרת המשתמשים.', - 'role': 'תפקיד', - 'run-query': 'הרץ שאילתה', - 'save-cohort': 'שמור קוהורטה', - 'save-segment': 'שמור מקטע', - 'screen': 'מסך', - 'search': 'חיפוש', - 'segment': 'מקטע', - 'segments': 'מקטעים', - 'select': 'בחירה', - 'select-date': 'בחר תאריך', - 'select-role': 'בחר תפקיד', - 'select-website': 'בחר אתר', - 'sessions': 'הפעלות', - 'sms': 'SMS', - 'source': 'מקור', - 'sum': 'סכום', - 'support': 'תמיכה', - 'switch-account': 'החלף חשבון', - 'table': 'טבלה', - 'team': 'צוות', - 'team-id': 'מזהה צוות', - 'team-manager': 'מנהל צוות', - 'team-member': 'חבר צוות', - 'team-name': 'שם צוות', - 'team-owner': 'בעלי צוות', - 'team-view-only': 'צפייה בלבד בצוות', - 'team-websites': 'אתרי צוות', - 'teams': 'צוותות', - 'term': 'מונח חיפוש', - 'theme': 'ערכת נושא', - 'title': 'כותרת', - 'toggle-charts': 'הצג/הסתר תרשימים', - 'total': 'סה"כ', - 'total-records': 'סה"כ רשומות', - 'traffic': 'תעבורה', - 'transactions': 'עסקאות', - 'transfer': 'העברה', - 'transfer-website': 'העברת אתר', - 'true': 'אמת', - 'type': 'סוג', - 'unique': 'ייחודי', - 'unique-events': 'אירועים ייחודיים', - 'uniqueCustomers': 'לקוחות ייחודיים', - 'untitled': 'ללא כותרת', - 'update': 'עדכון', - 'url': 'URL', - 'user': 'משתמש', - 'users': 'משתמשים', - 'utm': 'UTM', - 'utm-campaign': 'UTM מסע פרסום', - 'utm-content': 'UTM תוכן', - 'utm-description': 'עקבו אחר מסעות הפרסום שלכם באמצעות פרמטרי UTM.', - 'utm-medium': 'UTM מדיה', - 'utm-source': 'UTM מקור', - 'utm-term': 'UTM מונח', - 'value': 'ערך', - 'version': 'גרסה', - 'view': 'צפייה', - 'view-only': 'צפייה בלבד', - 'views-per-visit': 'צפיות לביקור', - 'visits': 'ביקורים', - 'website': 'אתר', - 'website-id': 'מזהה אתר', - 'window': 'חלון', - 'yesterday': 'אתמול' - }, - message: { - 'action-confirmation': 'הקלידו {confirmation} בתיבה למטה לאישור.', - 'bad-request': 'בקשה שגויה', - 'collected-data': 'נתונים שנאספו', - 'confirm-leave': 'האם אתם בטוחים שברצונכם לעזוב את {target}?', - 'confirm-remove': 'האם אתם בטוחים שברצונכם להסיר את {target}?', - 'delete-team-warning': 'מחיקת צוות תמחק גם את כל אתרי הצוות.', - 'event-log': '{event} ב-{url}', - 'forbidden': 'אסור', - 'min-password-length': 'אורך מינימלי של {n} תווים', - 'new-version-available': 'גרסה חדשה של Umami {version} זמינה!', - 'no-event-data': 'אין נתוני אירועים זמינים.', - 'no-team-websites': 'לצוות זה אין אתרים.', - 'no-teams': 'לא יצרתם צוותות.', - 'no-users': 'אין משתמשים.', - 'not-found': 'לא נמצא', - 'nothing-selected': 'לא נבחר דבר.', - 'reset-website': 'לאיפוס אתר זה, הקלידו {confirmation} בתיבה למטה לאישור.', - 'sever-error': 'שגיאת שרת', - 'team-already-member': 'אתם כבר חברים בצוות.', - 'team-not-found': 'צוות לא נמצא.', - 'team-websites-info': 'האתרים ניתנים לצפייה על ידי כל חברי הצוות.', - 'transfer-team-website-to-user': 'להעביר אתר זה לחשבון שלכם?', - 'transfer-user-website-to-team': 'בחרו את הצוות אליו להעביר אתר זה.', - 'transfer-website': 'העבירו את בעלות האתר לחשבון שלכם או לצוות אחר.', - 'triggered-event': 'אירוע שהופעל', - 'unauthorized': 'לא מורשה', - 'user-deleted': 'משתמש נמחק.', - 'viewed-page': 'עמוד שנצפה' - } - } -}; - -for (const [locale, trans] of Object.entries(translations)) { - const filePath = path.join(dir, locale + '.json'); - const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); - let count = 0; - for (const [section, keys] of Object.entries(trans)) { - for (const [key, value] of Object.entries(keys)) { - if (data[section] && key in data[section]) { - data[section][key] = value; - count++; - } - } - } - const sorted = {}; - for (const section of Object.keys(enUS)) { - if (data[section]) { - sorted[section] = {}; - for (const key of Object.keys(enUS[section])) { - if (key in data[section]) sorted[section][key] = data[section][key]; - } - for (const key of Object.keys(data[section])) { - if (!(key in sorted[section])) sorted[section][key] = data[section][key]; - } - } - } - fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); - console.log('Updated ' + locale + ': ' + count + ' keys'); -} diff --git a/scripts/translate-7-asian.cjs b/scripts/translate-7-asian.cjs deleted file mode 100644 index 9fe2bf1af..000000000 --- a/scripts/translate-7-asian.cjs +++ /dev/null @@ -1,663 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); -const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); - -const translations = { - 'hi-IN': { - label: { - 'account': 'खाता', - 'action': 'कार्रवाई', - 'add-link': 'लिंक जोड़ें', - 'add-pixel': 'पिक्सेल जोड़ें', - 'analysis': 'विश्लेषण', - 'application': 'एप्लिकेशन', - 'audience': 'दर्शक', - 'campaign': 'अभियान', - 'channel': 'चैनल', - 'chart': 'चार्ट', - 'cohorts': 'कोहॉर्ट', - 'criteria': 'मानदंड', - 'destination-url': 'गंतव्य URL', - 'documentation': 'प्रलेखन', - 'download': 'डाउनलोड', - 'dropoff': 'ड्रॉपऑफ', - 'environment': 'वातावरण', - 'exclude-bounce': 'बाउंस को बाहर करें', - 'growth': 'वृद्धि', - 'hour': 'घंटा', - 'invalid-url': 'अमान्य URL', - 'link': 'लिंक', - 'location': 'स्थान', - 'minute': 'मिनट', - 'month': 'महीना', - 'number-of-records': '{x} {x, plural, one {रिकॉर्ड} other {रिकॉर्ड}}', - 'ok': 'ठीक है', - 'online': 'ऑनलाइन', - 'os': 'OS', - 'pixel': 'पिक्सेल', - 'preferences': 'प्राथमिकताएँ', - 'previous': 'पिछला', - 'previous-period': 'पिछली अवधि', - 'previous-year': 'पिछला वर्ष', - 'profiles': 'प्रोफ़ाइल', - 'save-cohort': 'कोहॉर्ट सहेजें', - 'save-segment': 'सेगमेंट सहेजें', - 'screen': 'स्क्रीन', - 'segment': 'सेगमेंट', - 'segments': 'सेगमेंट', - 'sms': 'SMS', - 'source': 'स्रोत', - 'support': 'सहायता', - 'switch-account': 'खाता बदलें', - 'table': 'तालिका', - 'term': 'खोज शब्द', - 'title': 'शीर्षक', - 'toggle-charts': 'चार्ट दिखाएँ/छिपाएँ', - 'total': 'कुल', - 'total-records': 'कुल रिकॉर्ड', - 'traffic': 'ट्रैफ़िक', - 'transactions': 'लेनदेन', - 'transfer': 'स्थानांतरण', - 'transfer-website': 'वेबसाइट स्थानांतरित करें', - 'true': 'सत्य', - 'type': 'प्रकार', - 'unique': 'अद्वितीय', - 'unique-events': 'अद्वितीय ईवेंट', - 'uniqueCustomers': 'अद्वितीय ग्राहक', - 'untitled': 'बिना शीर्षक', - 'update': 'अपडेट', - 'url': 'URL', - 'user': 'उपयोगकर्ता', - 'users': 'उपयोगकर्ता', - 'utm': 'UTM', - 'utm-campaign': 'UTM अभियान', - 'utm-content': 'UTM सामग्री', - 'utm-description': 'UTM पैरामीटर के माध्यम से अपने अभियानों को ट्रैक करें।', - 'utm-medium': 'UTM माध्यम', - 'utm-source': 'UTM स्रोत', - 'utm-term': 'UTM शब्द', - 'value': 'मान', - 'version': 'संस्करण', - 'view': 'देखें', - 'view-only': 'केवल देखें', - 'views-per-visit': 'प्रति विज़िट दृश्य', - 'visits': 'विज़िट', - 'website': 'वेबसाइट', - 'website-id': 'वेबसाइट ID', - 'window': 'विंडो', - 'yesterday': 'कल' - }, - message: { - 'action-confirmation': 'पुष्टि करने के लिए नीचे बॉक्स में {confirmation} टाइप करें।', - 'bad-request': 'अमान्य अनुरोध', - 'collected-data': 'एकत्रित डेटा', - 'confirm-leave': 'क्या आप वाकई {target} छोड़ना चाहते हैं?', - 'confirm-remove': 'क्या आप वाकई {target} को हटाना चाहते हैं?', - 'delete-team-warning': 'टीम हटाने से टीम की सभी वेबसाइटें भी हट जाएँगी।', - 'event-log': '{url} पर {event}', - 'forbidden': 'प्रतिबंधित', - 'min-password-length': 'न्यूनतम {n} वर्ण', - 'new-version-available': 'Umami {version} का नया संस्करण उपलब्ध है!', - 'no-event-data': 'कोई ईवेंट डेटा उपलब्ध नहीं है।', - 'no-team-websites': 'इस टीम के पास कोई वेबसाइट नहीं है।', - 'no-teams': 'आपने कोई टीम नहीं बनाई है।', - 'no-users': 'कोई उपयोगकर्ता नहीं हैं।', - 'not-found': 'नहीं मिला', - 'nothing-selected': 'कुछ भी चयनित नहीं है।', - 'reset-website': 'इस वेबसाइट को रीसेट करने के लिए, नीचे बॉक्स में {confirmation} टाइप करें।', - 'sever-error': 'सर्वर त्रुटि', - 'team-already-member': 'आप पहले से ही टीम के सदस्य हैं।', - 'team-not-found': 'टीम नहीं मिली।', - 'team-websites-info': 'वेबसाइटें टीम के किसी भी सदस्य द्वारा देखी जा सकती हैं।', - 'transfer-team-website-to-user': 'इस वेबसाइट को अपने खाते में स्थानांतरित करें?', - 'transfer-user-website-to-team': 'इस वेबसाइट को स्थानांतरित करने के लिए टीम चुनें।', - 'transfer-website': 'वेबसाइट का स्वामित्व अपने खाते या किसी अन्य टीम में स्थानांतरित करें।', - 'triggered-event': 'ट्रिगर किया गया ईवेंट', - 'unauthorized': 'अनधिकृत', - 'user-deleted': 'उपयोगकर्ता हटाया गया।', - 'viewed-page': 'देखा गया पेज' - } - }, - 'id-ID': { - label: { - 'account': 'Akun', - 'action': 'Tindakan', - 'add-link': 'Tambah tautan', - 'add-pixel': 'Tambah piksel', - 'analysis': 'Analisis', - 'application': 'Aplikasi', - 'audience': 'Audiens', - 'campaign': 'Kampanye', - 'channel': 'Saluran', - 'chart': 'Grafik', - 'cohorts': 'Kohort', - 'criteria': 'Kriteria', - 'data': 'Data', - 'desktop': 'Desktop', - 'destination-url': 'URL tujuan', - 'documentation': 'Dokumentasi', - 'domain': 'Domain', - 'download': 'Unduh', - 'email': 'Email', - 'environment': 'Lingkungan', - 'exclude-bounce': 'Kecualikan pantulan', - 'filter': 'Filter', - 'filters': 'Filter', - 'funnel': 'Corong', - 'growth': 'Pertumbuhan', - 'hour': 'Jam', - 'invalid-url': 'URL tidak valid', - 'laptop': 'Laptop', - 'link': 'Tautan', - 'location': 'Lokasi', - 'minute': 'Menit', - 'model': 'Model', - 'month': 'Bulan', - 'ok': 'OK', - 'online': 'Daring', - 'os': 'OS', - 'pixel': 'Piksel', - 'preferences': 'Preferensi', - 'profiles': 'Profil', - 'role': 'Peran', - 'run-query': 'Jalankan kueri', - 'save-cohort': 'Simpan kohort', - 'save-segment': 'Simpan segmen', - 'screen': 'Layar', - 'segment': 'Segmen', - 'segments': 'Segmen', - 'sms': 'SMS', - 'source': 'Sumber', - 'sum': 'Jumlah', - 'support': 'Dukungan', - 'switch-account': 'Ganti akun', - 'table': 'Tabel', - 'tablet': 'Tablet', - 'tag': 'Tag', - 'team-view-only': 'Hanya lihat tim', - 'term': 'Kata kunci', - 'total': 'Total', - 'traffic': 'Lalu lintas', - 'transfer': 'Transfer', - 'unique-events': 'Event unik', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM Kampanye', - 'utm-content': 'UTM Konten', - 'utm-medium': 'UTM Media', - 'utm-source': 'UTM Sumber', - 'utm-term': 'UTM Kata Kunci', - 'version': 'Versi', - 'window': 'Jendela' - }, - message: { - 'bad-request': 'Permintaan tidak valid', - 'event-log': '{event} di {url}', - 'forbidden': 'Dilarang', - 'not-found': 'Tidak ditemukan', - 'nothing-selected': 'Tidak ada yang dipilih.', - 'sever-error': 'Kesalahan server', - 'unauthorized': 'Tidak diotorisasi' - } - }, - 'ms-MY': { - label: { - 'access-code': 'Kod akses', - 'account': 'Akaun', - 'action': 'Tindakan', - 'add': 'Tambah', - 'add-board': 'Tambah papan', - 'add-description': 'Tambah penerangan', - 'add-link': 'Tambah pautan', - 'add-member': 'Tambah ahli', - 'add-pixel': 'Tambah piksel', - 'add-step': 'Tambah langkah', - 'affiliate': 'Gabungan', - 'after': 'Selepas', - 'all-time': 'Sepanjang masa', - 'analysis': 'Analisis', - 'analytics': 'Analitik', - 'application': 'Aplikasi', - 'apply': 'Terapkan', - 'attribution': 'Atribusi', - 'attribution-description': 'Lihat bagaimana pengguna berinteraksi dengan pemasaran anda dan apa yang mendorong penukaran.', - 'audience': 'Khalayak', - 'average': 'Purata', - 'before': 'Sebelum', - 'behavior': 'Tingkah laku', - 'boards': 'Papan', - 'breakdown': 'Pecahan', - 'browser': 'Pelayar', - 'campaign': 'Kempen', - 'campaigns': 'Kempen', - 'channel': 'Saluran', - 'channels': 'Saluran', - 'chart': 'Carta', - 'cities': 'Bandar', - 'city': 'Bandar', - 'clear-all': 'Kosongkan semua', - 'cohort': 'Kohort', - 'cohorts': 'Kohort', - 'compare': 'Bandingkan', - 'compare-dates': 'Bandingkan tarikh', - 'confirm': 'Sahkan', - 'contains': 'Mengandungi', - 'content': 'Kandungan', - 'continue': 'Teruskan', - 'conversion': 'Penukaran', - 'conversion-rate': 'Kadar penukaran', - 'conversion-step': 'Langkah penukaran', - 'count': 'Bilangan', - 'country': 'Negara', - 'create': 'Cipta', - 'create-report': 'Cipta laporan', - 'create-team': 'Cipta pasukan', - 'create-user': 'Cipta pengguna', - 'created': 'Dicipta', - 'created-by': 'Dicipta oleh', - 'criteria': 'Kriteria', - 'currency': 'Mata wang', - 'current': 'Semasa', - 'data': 'Data', - 'date': 'Tarikh', - 'day': 'Hari', - 'delete-report': 'Padam laporan', - 'delete-team': 'Padam pasukan', - 'delete-user': 'Padam pengguna', - 'description': 'Penerangan', - 'desktop': 'Desktop', - 'destination-url': 'URL destinasi', - 'details': 'Butiran', - 'device': 'Peranti', - 'direct': 'Terus', - 'distinct-id': 'ID unik', - 'documentation': 'Dokumentasi', - 'does-not-contain': 'Tidak mengandungi', - 'does-not-include': 'Tidak termasuk', - 'doest-not-exist': 'Tidak wujud', - 'domain': 'Domain', - 'download': 'Muat turun', - 'dropoff': 'Tercicir', - 'edit': 'Sunting', - 'edit-dashboard': 'Sunting papan pemuka', - 'edit-member': 'Sunting ahli', - 'email': 'E-mel', - 'end-step': 'Langkah akhir', - 'environment': 'Persekitaran', - 'event': 'Peristiwa', - 'event-data': 'Data peristiwa', - 'event-name': 'Nama peristiwa', - 'exclude-bounce': 'Kecualikan lantunan', - 'exists': 'Wujud', - 'false': 'Palsu', - 'field': 'Medan', - 'fields': 'Medan', - 'filter': 'Tapis', - 'filters': 'Tapis', - 'first-click': 'Klik pertama', - 'first-seen': 'Pertama dilihat', - 'funnel': 'Corong', - 'funnel-description': 'Fahami kadar penukaran dan tercicir pengguna.', - 'funnels': 'Corong', - 'goal': 'Matlamat', - 'goals': 'Matlamat', - 'goals-description': 'Jejaki matlamat anda untuk paparan halaman dan peristiwa.', - 'greater-than': 'Lebih besar dari', - 'greater-than-equals': 'Lebih besar atau sama', - 'grouped': 'Dikumpulkan', - 'growth': 'Pertumbuhan', - 'hostname': 'Nama hos', - 'hour': 'Jam', - 'includes': 'Termasuk', - 'insight': 'Wawasan', - 'insights': 'Wawasan', - 'insights-description': 'Terokai data anda dengan lebih mendalam menggunakan segmen dan tapis.', - 'invalid-url': 'URL tidak sah', - 'is': 'Adalah', - 'is-false': 'Adalah palsu', - 'is-not': 'Bukan', - 'is-not-set': 'Tidak ditetapkan', - 'is-set': 'Ditetapkan', - 'is-true': 'Adalah benar', - 'join': 'Sertai', - 'join-team': 'Sertai pasukan', - 'journey': 'Perjalanan', - 'journey-description': 'Fahami bagaimana pengguna menavigasi laman web anda.', - 'journeys': 'Perjalanan', - 'language': 'Bahasa', - 'languages': 'Bahasa', - 'laptop': 'Komputer riba', - 'last-click': 'Klik terakhir', - 'last-months': '{x} bulan lepas', - 'last-seen': 'Terakhir dilihat', - 'leave': 'Keluar', - 'leave-team': 'Keluar pasukan', - 'less-than': 'Kurang dari', - 'less-than-equals': 'Kurang atau sama', - 'link': 'Pautan', - 'links': 'Pautan', - 'location': 'Lokasi', - 'manage': 'Urus', - 'manager': 'Pengurus', - 'max': 'Maks', - 'medium': 'Medium', - 'member': 'Ahli', - 'members': 'Ahli', - 'min': 'Min', - 'minute': 'Minit', - 'model': 'Model', - 'month': 'Bulan', - 'my-account': 'Akaun saya', - 'my-websites': 'Laman web saya', - 'none': 'Tiada', - 'number-of-records': '{x} {x, plural, one {rekod} other {rekod}}', - 'ok': 'OK', - 'online': 'Dalam talian', - 'organic-search': 'Carian organik', - 'organic-shopping': 'Beli-belah organik', - 'organic-social': 'Sosial organik', - 'organic-video': 'Video organik', - 'os': 'OS', - 'other': 'Lain-lain', - 'overview': 'Gambaran keseluruhan', - 'owner': 'Pemilik', - 'page': 'Halaman', - 'page-of': 'Halaman {current} daripada {total}', - 'pageTitle': 'Tajuk halaman', - 'paid-ads': 'Iklan berbayar', - 'paid-search': 'Carian berbayar', - 'paid-shopping': 'Beli-belah berbayar', - 'paid-social': 'Sosial berbayar', - 'paid-video': 'Video berbayar', - 'path': 'Laluan', - 'paths': 'Laluan', - 'pixel': 'Piksel', - 'pixels': 'Piksel', - 'preferences': 'Keutamaan', - 'previous': 'Sebelumnya', - 'previous-period': 'Tempoh sebelumnya', - 'previous-year': 'Tahun sebelumnya', - 'profiles': 'Profil', - 'properties': 'Sifat', - 'property': 'Sifat', - 'queries': 'Pertanyaan', - 'query': 'Pertanyaan', - 'query-parameters': 'Parameter pertanyaan', - 'referral': 'Rujukan', - 'referrer': 'Perujuk', - 'regenerate': 'Jana semula', - 'region': 'Wilayah', - 'regions': 'Wilayah', - 'remaining': 'Baki', - 'remove': 'Buang', - 'remove-member': 'Buang ahli', - 'reports': 'Laporan', - 'retention': 'Pengekalan', - 'retention-description': 'Ukur kelekatan laman web anda dengan menjejaki kekerapan pengguna kembali.', - 'revenue': 'Hasil', - 'role': 'Peranan', - 'run-query': 'Jalankan pertanyaan', - 'save-cohort': 'Simpan kohort', - 'save-segment': 'Simpan segmen', - 'screen': 'Skrin', - 'screens': 'Skrin', - 'search': 'Cari', - 'segment': 'Segmen', - 'segments': 'Segmen', - 'select': 'Pilih', - 'select-date': 'Pilih tarikh', - 'select-filter': 'Pilih tapis', - 'select-role': 'Pilih peranan', - 'select-website': 'Pilih laman web', - 'session': 'Sesi', - 'session-data': 'Data sesi', - 'sessions': 'Sesi', - 'share': 'Kongsi', - 'sms': 'SMS', - 'source': 'Sumber', - 'sources': 'Sumber', - 'start-step': 'Langkah mula', - 'steps': 'Langkah', - 'sum': 'Jumlah', - 'support': 'Sokongan', - 'switch-account': 'Tukar akaun', - 'table': 'Jadual', - 'tablet': 'Tablet', - 'tag': 'Tag', - 'tags': 'Tag', - 'team': 'Pasukan', - 'team-id': 'ID pasukan', - 'team-manager': 'Pengurus pasukan', - 'team-member': 'Ahli pasukan', - 'team-name': 'Nama pasukan', - 'team-owner': 'Pemilik pasukan', - 'team-settings': 'Tetapan pasukan', - 'team-view-only': 'Lihat sahaja pasukan', - 'team-websites': 'Laman web pasukan', - 'teams': 'Pasukan', - 'term': 'Kata kunci', - 'terms': 'Syarat', - 'theme': 'Tema', - 'title': 'Tajuk', - 'toggle-charts': 'Togol carta', - 'total': 'Jumlah', - 'total-records': 'Jumlah rekod', - 'traffic': 'Trafik', - 'transactions': 'Transaksi', - 'transfer': 'Pindahkan', - 'transfer-website': 'Pindahkan laman web', - 'true': 'Benar', - 'type': 'Jenis', - 'unique': 'Unik', - 'unique-events': 'Peristiwa unik', - 'uniqueCustomers': 'Pelanggan unik', - 'untitled': 'Tanpa tajuk', - 'update': 'Kemas kini', - 'url': 'URL', - 'user': 'Pengguna', - 'users': 'Pengguna', - 'utm': 'UTM', - 'utm-campaign': 'UTM Kempen', - 'utm-content': 'UTM Kandungan', - 'utm-description': 'Jejaki kempen anda melalui parameter UTM.', - 'utm-medium': 'UTM Medium', - 'utm-source': 'UTM Sumber', - 'utm-term': 'UTM Kata Kunci', - 'value': 'Nilai', - 'version': 'Versi', - 'view': 'Lihat', - 'view-only': 'Lihat sahaja', - 'views-per-visit': 'Paparan per lawatan', - 'visits': 'Lawatan', - 'website': 'Laman web', - 'website-id': 'ID laman web', - 'window': 'Tetingkap', - 'yesterday': 'Semalam' - }, - message: { - 'action-confirmation': 'Taip {confirmation} dalam kotak di bawah untuk mengesahkan.', - 'bad-request': 'Permintaan tidak sah', - 'collected-data': 'Data yang dikumpul', - 'confirm-leave': 'Adakah anda pasti mahu meninggalkan {target}?', - 'confirm-remove': 'Adakah anda pasti mahu membuang {target}?', - 'delete-team-warning': 'Memadamkan pasukan juga akan memadamkan semua laman web pasukan.', - 'event-log': '{event} di {url}', - 'forbidden': 'Dilarang', - 'min-password-length': 'Panjang minimum {n} aksara', - 'new-version-available': 'Versi baharu Umami {version} tersedia!', - 'no-event-data': 'Tiada data peristiwa tersedia.', - 'no-team-websites': 'Pasukan ini tidak mempunyai laman web.', - 'no-teams': 'Anda belum mencipta sebarang pasukan.', - 'no-users': 'Tiada pengguna.', - 'not-found': 'Tidak dijumpai', - 'nothing-selected': 'Tiada yang dipilih.', - 'reset-website': 'Untuk menetapkan semula laman web ini, taip {confirmation} dalam kotak di bawah.', - 'sever-error': 'Ralat pelayan', - 'team-already-member': 'Anda sudah menjadi ahli pasukan.', - 'team-not-found': 'Pasukan tidak dijumpai.', - 'team-websites-info': 'Laman web boleh dilihat oleh sesiapa dalam pasukan.', - 'transfer-team-website-to-user': 'Pindahkan laman web ini ke akaun anda?', - 'transfer-user-website-to-team': 'Pilih pasukan untuk memindahkan laman web ini.', - 'transfer-website': 'Pindahkan pemilikan laman web ke akaun anda atau pasukan lain.', - 'triggered-event': 'Peristiwa yang dicetuskan', - 'unauthorized': 'Tidak dibenarkan', - 'user-deleted': 'Pengguna dipadamkan.', - 'viewed-page': 'Halaman dilihat' - } - }, - 'uz-UZ': { - label: { - 'account': 'Hisob', - 'action': 'Harakat', - 'add-link': 'Havola qo\'shish', - 'add-pixel': 'Piksel qo\'shish', - 'analysis': 'Tahlil', - 'application': 'Ilova', - 'audience': 'Auditoriya', - 'campaign': 'Kampaniya', - 'channel': 'Kanal', - 'chart': 'Grafik', - 'cohorts': 'Kogortalar', - 'criteria': 'Mezonlar', - 'destination-url': 'Maqsad URL', - 'documentation': 'Hujjatlar', - 'download': 'Yuklab olish', - 'environment': 'Muhit', - 'exclude-bounce': 'Chiqib ketishni istisno qilish', - 'growth': 'O\'sish', - 'hour': 'Soat', - 'invalid-url': 'Noto\'g\'ri URL', - 'link': 'Havola', - 'location': 'Joylashuv', - 'minute': 'Daqiqa', - 'model': 'Model', - 'month': 'Oy', - 'ok': 'OK', - 'pixel': 'Piksel', - 'preferences': 'Sozlamalar', - 'profiles': 'Profillar', - 'save-cohort': 'Kogortani saqlash', - 'save-segment': 'Segmentni saqlash', - 'screen': 'Ekran', - 'segment': 'Segment', - 'segments': 'Segmentlar', - 'sms': 'SMS', - 'source': 'Manba', - 'support': 'Qo\'llab-quvvatlash', - 'switch-account': 'Hisobni almashtirish', - 'table': 'Jadval', - 'term': 'Qidiruv iborasi', - 'traffic': 'Trafik', - 'unique-events': 'Noyob hodisalar', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM Kampaniya', - 'utm-content': 'UTM Kontent', - 'utm-medium': 'UTM Vosita', - 'utm-source': 'UTM Manba', - 'utm-term': 'UTM Ibora', - 'version': 'Versiya' - }, - message: {} - }, - 'mn-MN': { - label: { - 'account': 'Бүртгэл', - 'action': 'Үйлдэл', - 'add-link': 'Холбоос нэмэх', - 'add-pixel': 'Пиксел нэмэх', - 'analysis': 'Шинжилгээ', - 'application': 'Программ', - 'audience': 'Үзэгчид', - 'campaign': 'Кампанит ажил', - 'channel': 'Суваг', - 'chart': 'График', - 'cohorts': 'Когортууд', - 'criteria': 'Шалгуур', - 'destination-url': 'Очих URL', - 'documentation': 'Баримт бичиг', - 'download': 'Татах', - 'environment': 'Орчин', - 'exclude-bounce': 'Буцалтыг хасах', - 'growth': 'Өсөлт', - 'hour': 'Цаг', - 'invalid-url': 'Буруу URL', - 'link': 'Холбоос', - 'location': 'Байршил', - 'max': 'Дээд', - 'min': 'Доод', - 'minute': 'Минут', - 'month': 'Сар', - 'online': 'Онлайн', - 'os': 'ҮС', - 'pixel': 'Пиксел', - 'preferences': 'Тохиргоо', - 'profiles': 'Профайлууд', - 'query': 'Асуулга', - 'referral': 'Лавлагаа', - 'save-cohort': 'Когорт хадгалах', - 'save-segment': 'Сегмент хадгалах', - 'screen': 'Дэлгэц', - 'segment': 'Сегмент', - 'segments': 'Сегментүүд', - 'select-role': 'Үүрэг сонгох', - 'session': 'Сессия', - 'sessions': 'Сессиүд', - 'sms': 'SMS', - 'source': 'Эх сурвалж', - 'support': 'Дэмжлэг', - 'switch-account': 'Бүртгэл солих', - 'table': 'Хүснэгт', - 'team-view-only': 'Зөвхөн багийн харагдац', - 'term': 'Хайлтын нөхцөл', - 'traffic': 'Урсгал', - 'transactions': 'Гүйлгээнүүд', - 'unique-events': 'Өвөрмөц үйл явдлууд', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM Кампанит ажил', - 'utm-content': 'UTM Агуулга', - 'utm-medium': 'UTM Хэрэгсэл', - 'utm-source': 'UTM Эх сурвалж', - 'utm-term': 'UTM Нөхцөл', - 'version': 'Хувилбар' - }, - message: { - 'bad-request': 'Буруу хүсэлт', - 'forbidden': 'Хориотой', - 'not-found': 'Олдсонгүй', - 'nothing-selected': 'Юу ч сонгоогүй байна.', - 'sever-error': 'Серверийн алдаа', - 'unauthorized': 'Зөвшөөрөлгүй' - } - } -}; - -for (const [locale, trans] of Object.entries(translations)) { - const filePath = path.join(dir, locale + '.json'); - const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); - let count = 0; - for (const [section, keys] of Object.entries(trans)) { - for (const [key, value] of Object.entries(keys)) { - if (data[section] && key in data[section]) { - data[section][key] = value; - count++; - } - } - } - const sorted = {}; - for (const section of Object.keys(enUS)) { - if (data[section]) { - sorted[section] = {}; - for (const key of Object.keys(enUS[section])) { - if (key in data[section]) sorted[section][key] = data[section][key]; - } - for (const key of Object.keys(data[section])) { - if (!(key in sorted[section])) sorted[section][key] = data[section][key]; - } - } - } - fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); - console.log('Updated ' + locale + ': ' + count + ' keys'); -} diff --git a/scripts/translate-8-thai-khmer.cjs b/scripts/translate-8-thai-khmer.cjs deleted file mode 100644 index e504a5ee6..000000000 --- a/scripts/translate-8-thai-khmer.cjs +++ /dev/null @@ -1,569 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); -const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); - -const translations = { - 'th-TH': { - label: { - 'access-code': 'รหัสเข้าถึง', - 'account': 'บัญชี', - 'action': 'การกระทำ', - 'add': 'เพิ่ม', - 'add-board': 'เพิ่มบอร์ด', - 'add-description': 'เพิ่มคำอธิบาย', - 'add-link': 'เพิ่มลิงก์', - 'add-member': 'เพิ่มสมาชิก', - 'add-pixel': 'เพิ่มพิกเซล', - 'add-step': 'เพิ่มขั้นตอน', - 'affiliate': 'พันธมิตร', - 'after': 'หลัง', - 'analysis': 'การวิเคราะห์', - 'analytics': 'การวิเคราะห์ข้อมูล', - 'application': 'แอปพลิเคชัน', - 'apply': 'นำไปใช้', - 'attribution': 'การระบุแหล่งที่มา', - 'attribution-description': 'ดูว่าผู้ใช้มีปฏิสัมพันธ์กับการตลาดอย่างไรและอะไรกระตุ้นการแปลง', - 'audience': 'กลุ่มเป้าหมาย', - 'average': 'ค่าเฉลี่ย', - 'before': 'ก่อน', - 'boards': 'บอร์ด', - 'breakdown': 'การแยกย่อย', - 'browser': 'เบราว์เซอร์', - 'campaign': 'แคมเปญ', - 'campaigns': 'แคมเปญ', - 'channel': 'ช่องทาง', - 'channels': 'ช่องทาง', - 'chart': 'แผนภูมิ', - 'cities': 'เมือง', - 'city': 'เมือง', - 'clear-all': 'ล้างทั้งหมด', - 'cohort': 'กลุ่มตัวอย่าง', - 'cohorts': 'กลุ่มตัวอย่าง', - 'compare': 'เปรียบเทียบ', - 'compare-dates': 'เปรียบเทียบวันที่', - 'confirm': 'ยืนยัน', - 'contains': 'มี', - 'content': 'เนื้อหา', - 'continue': 'ดำเนินต่อ', - 'conversion': 'การแปลง', - 'conversion-rate': 'อัตราการแปลง', - 'conversion-step': 'ขั้นตอนการแปลง', - 'count': 'จำนวน', - 'country': 'ประเทศ', - 'create': 'สร้าง', - 'create-report': 'สร้างรายงาน', - 'create-team': 'สร้างทีม', - 'create-user': 'สร้างผู้ใช้', - 'created': 'สร้างเมื่อ', - 'created-by': 'สร้างโดย', - 'criteria': 'เกณฑ์', - 'currency': 'สกุลเงิน', - 'current': 'ปัจจุบัน', - 'data': 'ข้อมูล', - 'date': 'วันที่', - 'day': 'วัน', - 'delete-report': 'ลบรายงาน', - 'delete-team': 'ลบทีม', - 'delete-user': 'ลบผู้ใช้', - 'description': 'คำอธิบาย', - 'destination-url': 'URL ปลายทาง', - 'details': 'รายละเอียด', - 'device': 'อุปกรณ์', - 'direct': 'ตรง', - 'distinct-id': 'ID เฉพาะ', - 'documentation': 'เอกสาร', - 'does-not-contain': 'ไม่มี', - 'does-not-include': 'ไม่รวม', - 'doest-not-exist': 'ไม่มีอยู่', - 'download': 'ดาวน์โหลด', - 'dropoff': 'การออกจากระบบ', - 'edit-dashboard': 'แก้ไขแดชบอร์ด', - 'edit-member': 'แก้ไขสมาชิก', - 'email': 'อีเมล', - 'end-step': 'ขั้นตอนสุดท้าย', - 'environment': 'สภาพแวดล้อม', - 'event': 'เหตุการณ์', - 'event-data': 'ข้อมูลเหตุการณ์', - 'event-name': 'ชื่อเหตุการณ์', - 'exclude-bounce': 'ยกเว้นการตีกลับ', - 'exists': 'มีอยู่', - 'false': 'เท็จ', - 'field': 'ฟิลด์', - 'fields': 'ฟิลด์', - 'filter': 'ตัวกรอง', - 'filters': 'ตัวกรอง', - 'first-click': 'คลิกแรก', - 'first-seen': 'เห็นครั้งแรก', - 'funnel': 'ช่องทางขาย', - 'funnel-description': 'ทำความเข้าใจอัตราการแปลงและการออกจากระบบของผู้ใช้', - 'funnels': 'ช่องทางขาย', - 'goal': 'เป้าหมาย', - 'goals': 'เป้าหมาย', - 'goals-description': 'ติดตามเป้าหมายสำหรับการดูหน้าเว็บและเหตุการณ์', - 'greater-than': 'มากกว่า', - 'greater-than-equals': 'มากกว่าหรือเท่ากับ', - 'grouped': 'จัดกลุ่ม', - 'growth': 'การเติบโต', - 'hostname': 'ชื่อโฮสต์', - 'hour': 'ชั่วโมง', - 'includes': 'รวม', - 'insight': 'ข้อมูลเชิงลึก', - 'insights': 'ข้อมูลเชิงลึก', - 'insights-description': 'เจาะลึกข้อมูลของคุณโดยใช้กลุ่มและตัวกรอง', - 'invalid-url': 'URL ไม่ถูกต้อง', - 'is': 'คือ', - 'is-false': 'เป็นเท็จ', - 'is-not': 'ไม่ใช่', - 'is-not-set': 'ไม่ได้ตั้งค่า', - 'is-set': 'ตั้งค่าแล้ว', - 'is-true': 'เป็นจริง', - 'join': 'เข้าร่วม', - 'join-team': 'เข้าร่วมทีม', - 'journey': 'เส้นทาง', - 'journey-description': 'ทำความเข้าใจว่าผู้ใช้เดินทางผ่านเว็บไซต์ของคุณอย่างไร', - 'journeys': 'เส้นทาง', - 'last-click': 'คลิกสุดท้าย', - 'last-months': '{x} เดือนล่าสุด', - 'last-seen': 'เห็นล่าสุด', - 'leave': 'ออก', - 'leave-team': 'ออกจากทีม', - 'less-than': 'น้อยกว่า', - 'less-than-equals': 'น้อยกว่าหรือเท่ากับ', - 'link': 'ลิงก์', - 'links': 'ลิงก์', - 'location': 'ตำแหน่ง', - 'manage': 'จัดการ', - 'manager': 'ผู้จัดการ', - 'max': 'สูงสุด', - 'medium': 'สื่อ', - 'member': 'สมาชิก', - 'members': 'สมาชิก', - 'min': 'ต่ำสุด', - 'minute': 'นาที', - 'model': 'รุ่น', - 'month': 'เดือน', - 'my-account': 'บัญชีของฉัน', - 'my-websites': 'เว็บไซต์ของฉัน', - 'number-of-records': '{x} {x, plural, one {รายการ} other {รายการ}}', - 'ok': 'ตกลง', - 'online': 'ออนไลน์', - 'organic-search': 'ค้นหาแบบออร์แกนิก', - 'organic-shopping': 'ชอปปิ้งแบบออร์แกนิก', - 'organic-social': 'โซเชียลแบบออร์แกนิก', - 'organic-video': 'วิดีโอแบบออร์แกนิก', - 'os': 'ระบบปฏิบัติการ', - 'other': 'อื่นๆ', - 'overview': 'ภาพรวม', - 'page': 'หน้า', - 'page-of': 'หน้า {current} จาก {total}', - 'pageTitle': 'ชื่อหน้า', - 'paid-ads': 'โฆษณาแบบจ่ายเงิน', - 'paid-search': 'ค้นหาแบบจ่ายเงิน', - 'paid-shopping': 'ชอปปิ้งแบบจ่ายเงิน', - 'paid-social': 'โซเชียลแบบจ่ายเงิน', - 'paid-video': 'วิดีโอแบบจ่ายเงิน', - 'path': 'เส้นทาง', - 'paths': 'เส้นทาง', - 'pixel': 'พิกเซล', - 'pixels': 'พิกเซล', - 'preferences': 'การตั้งค่า', - 'previous': 'ก่อนหน้า', - 'previous-period': 'ช่วงก่อนหน้า', - 'previous-year': 'ปีก่อนหน้า', - 'profiles': 'โปรไฟล์', - 'properties': 'คุณสมบัติ', - 'property': 'คุณสมบัติ', - 'queries': 'คิวรี', - 'query': 'คิวรี', - 'query-parameters': 'พารามิเตอร์คิวรี', - 'referral': 'การอ้างอิง', - 'referrer': 'ผู้อ้างอิง', - 'regenerate': 'สร้างใหม่', - 'region': 'ภูมิภาค', - 'regions': 'ภูมิภาค', - 'remaining': 'ที่เหลือ', - 'remove': 'ลบ', - 'remove-member': 'ลบสมาชิก', - 'reports': 'รายงาน', - 'retention': 'การรักษาผู้ใช้', - 'retention-description': 'วัดความเหนียวแน่นของเว็บไซต์โดยติดตามว่าผู้ใช้กลับมาบ่อยแค่ไหน', - 'revenue': 'รายได้', - 'role': 'บทบาท', - 'run-query': 'เรียกใช้คิวรี', - 'save-cohort': 'บันทึกกลุ่มตัวอย่าง', - 'save-segment': 'บันทึกเซ็กเมนต์', - 'screen': 'หน้าจอ', - 'search': 'ค้นหา', - 'segment': 'เซ็กเมนต์', - 'segments': 'เซ็กเมนต์', - 'select': 'เลือก', - 'select-date': 'เลือกวันที่', - 'select-filter': 'เลือกตัวกรอง', - 'select-role': 'เลือกบทบาท', - 'select-website': 'เลือกเว็บไซต์', - 'session': 'เซสชัน', - 'session-data': 'ข้อมูลเซสชัน', - 'sessions': 'เซสชัน', - 'share': 'แชร์', - 'sms': 'SMS', - 'source': 'แหล่งที่มา', - 'sources': 'แหล่งที่มา', - 'start-step': 'ขั้นตอนเริ่มต้น', - 'steps': 'ขั้นตอน', - 'sum': 'ผลรวม', - 'support': 'การสนับสนุน', - 'switch-account': 'สลับบัญชี', - 'table': 'ตาราง', - 'tag': 'แท็ก', - 'tags': 'แท็ก', - 'team': 'ทีม', - 'team-id': 'ID ทีม', - 'team-manager': 'ผู้จัดการทีม', - 'team-member': 'สมาชิกทีม', - 'team-name': 'ชื่อทีม', - 'team-owner': 'เจ้าของทีม', - 'team-settings': 'การตั้งค่าทีม', - 'team-view-only': 'ดูเฉพาะทีม', - 'team-websites': 'เว็บไซต์ทีม', - 'teams': 'ทีม', - 'term': 'คำค้นหา', - 'terms': 'เงื่อนไข', - 'title': 'ชื่อ', - 'total': 'รวม', - 'total-records': 'จำนวนรายการทั้งหมด', - 'traffic': 'ทราฟฟิก', - 'transactions': 'ธุรกรรม', - 'transfer': 'โอน', - 'transfer-website': 'โอนเว็บไซต์', - 'true': 'จริง', - 'type': 'ประเภท', - 'unique': 'ไม่ซ้ำ', - 'unique-events': 'เหตุการณ์ไม่ซ้ำ', - 'uniqueCustomers': 'ลูกค้าไม่ซ้ำ', - 'untitled': 'ไม่มีชื่อ', - 'update': 'อัปเดต', - 'url': 'URL', - 'user': 'ผู้ใช้', - 'users': 'ผู้ใช้', - 'utm': 'UTM', - 'utm-campaign': 'UTM แคมเปญ', - 'utm-content': 'UTM เนื้อหา', - 'utm-description': 'ติดตามแคมเปญของคุณผ่านพารามิเตอร์ UTM', - 'utm-medium': 'UTM สื่อ', - 'utm-source': 'UTM แหล่งที่มา', - 'utm-term': 'UTM คำค้นหา', - 'value': 'ค่า', - 'version': 'เวอร์ชัน', - 'view': 'ดู', - 'view-only': 'ดูอย่างเดียว', - 'views-per-visit': 'การดูต่อการเยี่ยมชม', - 'visits': 'การเยี่ยมชม', - 'website': 'เว็บไซต์', - 'website-id': 'ID เว็บไซต์', - 'window': 'หน้าต่าง', - 'yesterday': 'เมื่อวาน' - }, - message: { - 'action-confirmation': 'พิมพ์ {confirmation} ในช่องด้านล่างเพื่อยืนยัน', - 'bad-request': 'คำขอไม่ถูกต้อง', - 'collected-data': 'ข้อมูลที่เก็บรวบรวม', - 'confirm-leave': 'คุณแน่ใจหรือไม่ว่าต้องการออกจาก {target}?', - 'confirm-remove': 'คุณแน่ใจหรือไม่ว่าต้องการลบ {target}?', - 'delete-team-warning': 'การลบทีมจะลบเว็บไซต์ทั้งหมดของทีมด้วย', - 'event-log': '{event} บน {url}', - 'forbidden': 'ไม่ได้รับอนุญาต', - 'min-password-length': 'ความยาวขั้นต่ำ {n} ตัวอักษร', - 'new-version-available': 'Umami เวอร์ชันใหม่ {version} พร้อมใช้งานแล้ว!', - 'no-event-data': 'ไม่มีข้อมูลเหตุการณ์', - 'no-team-websites': 'ทีมนี้ไม่มีเว็บไซต์', - 'no-teams': 'คุณยังไม่ได้สร้างทีม', - 'no-users': 'ไม่มีผู้ใช้', - 'not-found': 'ไม่พบ', - 'nothing-selected': 'ไม่ได้เลือกอะไร', - 'reset-website': 'เพื่อรีเซ็ตเว็บไซต์นี้ พิมพ์ {confirmation} ในช่องด้านล่าง', - 'sever-error': 'เกิดข้อผิดพลาดของเซิร์ฟเวอร์', - 'team-already-member': 'คุณเป็นสมาชิกของทีมอยู่แล้ว', - 'team-not-found': 'ไม่พบทีม', - 'team-websites-info': 'เว็บไซต์สามารถดูได้โดยทุกคนในทีม', - 'transfer-team-website-to-user': 'โอนเว็บไซต์นี้ไปยังบัญชีของคุณ?', - 'transfer-user-website-to-team': 'เลือกทีมเพื่อโอนเว็บไซต์นี้', - 'transfer-website': 'โอนความเป็นเจ้าของเว็บไซต์ไปยังบัญชีหรือทีมอื่น', - 'triggered-event': 'เหตุการณ์ที่ถูกเรียก', - 'unauthorized': 'ไม่ได้รับอนุญาต', - 'user-deleted': 'ผู้ใช้ถูกลบแล้ว', - 'viewed-page': 'หน้าที่ดู' - } - }, - 'km-KH': { - label: { - 'account': 'គណនី', - 'action': 'សកម្មភាព', - 'add-link': 'បន្ថែមតំណ', - 'add-pixel': 'បន្ថែមភីកសែល', - 'analysis': 'ការវិភាគ', - 'application': 'កម្មវិធី', - 'audience': 'ទស្សនិកជន', - 'campaign': 'យុទ្ធនាការ', - 'channel': 'ឆានែល', - 'chart': 'តារាង', - 'cohorts': 'ក្រុមកូហ៊ត', - 'criteria': 'លក្ខណវិនិច្ឆ័យ', - 'destination-url': 'URL គោលដៅ', - 'documentation': 'ឯកសារ', - 'domain': 'ដូមែន', - 'download': 'ទាញយក', - 'dropoff': 'ការចាកចេញ', - 'email': 'អ៊ីមែល', - 'environment': 'បរិស្ថាន', - 'exclude-bounce': 'មិនរាប់បញ្ចូលការលោតចេញ', - 'field': 'វាល', - 'fields': 'វាល', - 'first-seen': 'ឃើញដំបូង', - 'funnel-description': 'យល់ពីអត្រាបំលែងនិងការចាកចេញរបស់អ្នកប្រើ។', - 'growth': 'កំណើន', - 'hour': 'ម៉ោង', - 'insights': 'ការយល់ដឹង', - 'insights-description': 'ស្វែងរកឱ្យកាន់តែស៊ីជម្រៅក្នុងទិន្នន័យរបស់អ្នកដោយប្រើផ្នែកនិងតម្រង។', - 'invalid-url': 'URL មិនត្រឹមត្រូវ', - 'last-seen': 'ឃើញចុងក្រោយ', - 'link': 'តំណ', - 'location': 'ទីតាំង', - 'login': 'ចូល', - 'logout': 'ចេញ', - 'max': 'អតិបរមា', - 'min': 'អប្បបរមា', - 'minute': 'នាទី', - 'month': 'ខែ', - 'number-of-records': '{x} {x, plural, one {កំណត់ត្រា} other {កំណត់ត្រា}}', - 'ok': 'យល់ព្រម', - 'online': 'អនឡាញ', - 'os': 'ប្រព័ន្ធប្រតិបត្តិការ', - 'path': 'ផ្លូវ', - 'paths': 'ផ្លូវ', - 'pixel': 'ភីកសែល', - 'preferences': 'ចំណង់ចំណូលចិត្ត', - 'profiles': 'ប្រវត្តិរូប', - 'queries': 'សំណួរ', - 'query': 'សំណួរ', - 'regenerate': 'បង្កើតឡើងវិញ', - 'retention-description': 'វាស់ស្ទង់ភាពស្អិតនៃគេហទំព័រដោយតាមដានថាអ្នកប្រើត្រលប់មកវិញញឹកញាប់ប៉ុណ្ណា។', - 'revenue': 'ចំណូល', - 'run-query': 'ដំណើរការសំណួរ', - 'save-cohort': 'រក្សាទុកក្រុមកូហ៊ត', - 'save-segment': 'រក្សាទុកផ្នែក', - 'screen': 'អេក្រង់', - 'segment': 'ផ្នែក', - 'segments': 'ផ្នែក', - 'session': 'វគ្គ', - 'sessions': 'វគ្គ', - 'sms': 'SMS', - 'source': 'ប្រភព', - 'sum': 'ផលបូក', - 'support': 'ជំនួយ', - 'switch-account': 'ប្ដូរគណនី', - 'table': 'តារាង', - 'team-view-only': 'មើលក្រុមតែប៉ុណ្ណោះ', - 'term': 'ពាក្យស្វែងរក', - 'traffic': 'ចរាចរណ៍', - 'transactions': 'ប្រតិបត្តិការ', - 'type': 'ប្រភេទ', - 'unique': 'តែមួយ', - 'unique-events': 'ព្រឹត្តិការណ៍តែមួយ', - 'uniqueCustomers': 'អតិថិជនតែមួយ', - 'update': 'ធ្វើបច្ចុប្បន្នភាព', - 'url': 'URL', - 'utm': 'UTM', - 'utm-campaign': 'UTM យុទ្ធនាការ', - 'utm-content': 'UTM មាតិកា', - 'utm-medium': 'UTM មធ្យម', - 'utm-source': 'UTM ប្រភព', - 'utm-term': 'UTM ពាក្យ', - 'value': 'តម្លៃ', - 'version': 'កំណែ', - 'view': 'មើល', - 'views-per-visit': 'ការមើលក្នុងមួយដង', - 'window': 'បង្អួច' - }, - message: { - 'bad-request': 'សំណើមិនត្រឹមត្រូវ', - 'event-log': '{event} នៅ {url}', - 'forbidden': 'ហាមឃាត់', - 'not-found': 'រកមិនឃើញ', - 'nothing-selected': 'មិនបានជ្រើសអ្វីទេ។', - 'sever-error': 'កំហុសម៉ាស៊ីនមេ', - 'triggered-event': 'ព្រឹត្តិការណ៍ដែលបានដំណើរការ', - 'unauthorized': 'មិនមានសិទ្ធិ' - } - }, - 'bn-BD': { - label: { - 'account': 'অ্যাকাউন্ট', - 'action': 'কার্যক্রম', - 'add-link': 'লিংক যোগ করুন', - 'add-pixel': 'পিক্সেল যোগ করুন', - 'analysis': 'বিশ্লেষণ', - 'application': 'অ্যাপ্লিকেশন', - 'audience': 'দর্শক', - 'campaign': 'প্রচারণা', - 'channel': 'চ্যানেল', - 'chart': 'চার্ট', - 'cohorts': 'কোহর্ট', - 'criteria': 'মানদণ্ড', - 'destination-url': 'গন্তব্য URL', - 'documentation': 'ডকুমেন্টেশন', - 'download': 'ডাউনলোড', - 'email': 'ইমেইল', - 'environment': 'পরিবেশ', - 'exclude-bounce': 'বাউন্স বাদ দিন', - 'growth': 'বৃদ্ধি', - 'hour': 'ঘণ্টা', - 'insights': 'অন্তর্দৃষ্টি', - 'insights-description': 'সেগমেন্ট এবং ফিল্টার ব্যবহার করে আপনার ডেটায় আরও গভীরে যান।', - 'invalid-url': 'অবৈধ URL', - 'link': 'লিংক', - 'location': 'অবস্থান', - 'minute': 'মিনিট', - 'month': 'মাস', - 'number-of-records': '{x} {x, plural, one {রেকর্ড} other {রেকর্ড}}', - 'ok': 'ঠিক আছে', - 'online': 'অনলাইন', - 'os': 'ওএস', - 'overview': 'সংক্ষিপ্ত বিবরণ', - 'page-of': 'পৃষ্ঠা {current} / {total}', - 'pageTitle': 'পৃষ্ঠার শিরোনাম', - 'pixel': 'পিক্সেল', - 'preferences': 'পছন্দসমূহ', - 'profiles': 'প্রোফাইল', - 'queries': 'কোয়েরি', - 'query': 'কোয়েরি', - 'query-parameters': 'কোয়েরি প্যারামিটার', - 'referrer': 'রেফারার', - 'regenerate': 'পুনরায় তৈরি', - 'region': 'অঞ্চল', - 'regions': 'অঞ্চলসমূহ', - 'remove': 'সরান', - 'remove-member': 'সদস্য সরান', - 'reports': 'রিপোর্ট', - 'retention': 'ধরে রাখা', - 'retention-description': 'ব্যবহারকারীরা কতবার ফিরে আসে তা ট্র্যাক করে আপনার ওয়েবসাইটের আঠালোতা পরিমাপ করুন।', - 'role': 'ভূমিকা', - 'run-query': 'কোয়েরি চালান', - 'save-cohort': 'কোহর্ট সংরক্ষণ করুন', - 'save-segment': 'সেগমেন্ট সংরক্ষণ করুন', - 'screen': 'স্ক্রিন', - 'search': 'অনুসন্ধান', - 'segment': 'সেগমেন্ট', - 'segments': 'সেগমেন্ট', - 'select': 'নির্বাচন করুন', - 'select-date': 'তারিখ নির্বাচন করুন', - 'select-role': 'ভূমিকা নির্বাচন করুন', - 'select-website': 'ওয়েবসাইট নির্বাচন করুন', - 'sessions': 'সেশন', - 'sms': 'SMS', - 'source': 'উৎস', - 'start-step': 'প্রারম্ভিক ধাপ', - 'steps': 'ধাপসমূহ', - 'sum': 'যোগফল', - 'support': 'সহায়তা', - 'switch-account': 'অ্যাকাউন্ট পরিবর্তন', - 'table': 'টেবিল', - 'team-view-only': 'শুধু টিম দেখুন', - 'team-websites': 'টিম ওয়েবসাইট', - 'teams': 'টিম', - 'term': 'অনুসন্ধান শব্দ', - 'title': 'শিরোনাম', - 'total': 'মোট', - 'total-records': 'মোট রেকর্ড', - 'traffic': 'ট্রাফিক', - 'transactions': 'লেনদেন', - 'transfer': 'স্থানান্তর', - 'transfer-website': 'ওয়েবসাইট স্থানান্তর', - 'true': 'সত্য', - 'type': 'ধরন', - 'unique': 'অনন্য', - 'unique-events': 'অনন্য ইভেন্ট', - 'uniqueCustomers': 'অনন্য গ্রাহক', - 'untitled': 'শিরোনামহীন', - 'update': 'আপডেট', - 'url': 'URL', - 'user': 'ব্যবহারকারী', - 'users': 'ব্যবহারকারীগণ', - 'utm': 'UTM', - 'utm-campaign': 'UTM প্রচারণা', - 'utm-content': 'UTM বিষয়বস্তু', - 'utm-description': 'UTM প্যারামিটারের মাধ্যমে আপনার প্রচারণা ট্র্যাক করুন।', - 'utm-medium': 'UTM মাধ্যম', - 'utm-source': 'UTM উৎস', - 'utm-term': 'UTM শব্দ', - 'value': 'মান', - 'version': 'সংস্করণ', - 'view': 'দেখুন', - 'view-only': 'শুধু দেখুন', - 'views-per-visit': 'প্রতি ভিজিটে দেখা', - 'visits': 'ভিজিট', - 'website': 'ওয়েবসাইট', - 'website-id': 'ওয়েবসাইট ID', - 'window': 'উইন্ডো', - 'yesterday': 'গতকাল' - }, - message: { - 'action-confirmation': 'নিশ্চিত করতে নিচের বক্সে {confirmation} টাইপ করুন।', - 'bad-request': 'অবৈধ অনুরোধ', - 'collected-data': 'সংগৃহীত ডেটা', - 'confirm-leave': 'আপনি কি নিশ্চিত যে আপনি {target} ত্যাগ করতে চান?', - 'confirm-remove': 'আপনি কি নিশ্চিত যে আপনি {target} সরাতে চান?', - 'delete-team-warning': 'একটি টিম মুছে ফেললে টিমের সব ওয়েবসাইটও মুছে যাবে।', - 'event-log': '{url}-এ {event}', - 'forbidden': 'নিষিদ্ধ', - 'min-password-length': 'সর্বনিম্ন {n} অক্ষর', - 'new-version-available': 'Umami {version}-এর নতুন সংস্করণ পাওয়া যাচ্ছে!', - 'no-event-data': 'কোনো ইভেন্ট ডেটা পাওয়া যায়নি।', - 'no-team-websites': 'এই টিমের কোনো ওয়েবসাইট নেই।', - 'no-teams': 'আপনি কোনো টিম তৈরি করেননি।', - 'no-users': 'কোনো ব্যবহারকারী নেই।', - 'not-found': 'পাওয়া যায়নি', - 'nothing-selected': 'কিছু নির্বাচন করা হয়নি।', - 'reset-website': 'এই ওয়েবসাইট রিসেট করতে, নিচের বক্সে {confirmation} টাইপ করুন।', - 'sever-error': 'সার্ভার ত্রুটি', - 'team-already-member': 'আপনি ইতিমধ্যে টিমের সদস্য।', - 'team-not-found': 'টিম পাওয়া যায়নি।', - 'team-websites-info': 'ওয়েবসাইটগুলি টিমের যে কেউ দেখতে পারেন।', - 'transfer-team-website-to-user': 'এই ওয়েবসাইটটি আপনার অ্যাকাউন্টে স্থানান্তর করবেন?', - 'transfer-user-website-to-team': 'এই ওয়েবসাইটটি স্থানান্তর করার জন্য টিম নির্বাচন করুন।', - 'transfer-website': 'ওয়েবসাইটের মালিকানা আপনার অ্যাকাউন্টে বা অন্য টিমে স্থানান্তর করুন।', - 'triggered-event': 'ট্রিগার করা ইভেন্ট', - 'unauthorized': 'অননুমোদিত', - 'user-deleted': 'ব্যবহারকারী মুছে ফেলা হয়েছে।', - 'viewed-page': 'দেখা পৃষ্ঠা' - } - } -}; - -for (const [locale, trans] of Object.entries(translations)) { - const filePath = path.join(dir, locale + '.json'); - const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); - let count = 0; - for (const [section, keys] of Object.entries(trans)) { - for (const [key, value] of Object.entries(keys)) { - if (data[section] && key in data[section]) { - data[section][key] = value; - count++; - } - } - } - const sorted = {}; - for (const section of Object.keys(enUS)) { - if (data[section]) { - sorted[section] = {}; - for (const key of Object.keys(enUS[section])) { - if (key in data[section]) sorted[section][key] = data[section][key]; - } - for (const key of Object.keys(data[section])) { - if (!(key in sorted[section])) sorted[section][key] = data[section][key]; - } - } - } - fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); - console.log('Updated ' + locale + ': ' + count + ' keys'); -} diff --git a/scripts/translate-9-tamil.cjs b/scripts/translate-9-tamil.cjs deleted file mode 100644 index a0deadf56..000000000 --- a/scripts/translate-9-tamil.cjs +++ /dev/null @@ -1,332 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -const dir = path.join(__dirname, '..', 'public', 'intl', 'messages'); -const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8')); - -const translations = { - 'ta-IN': { - label: { - // Keys where ta-IN value === en-US value (untranslated) - 'access-code': 'அணுகல் குறியீடு', - 'account': 'கணக்கு', - 'action': 'செயல்', - 'activity': 'செயல்பாடு', - 'add': 'சேர்', - 'add-board': 'பலகையைச் சேர்', - 'add-description': 'விளக்கத்தைச் சேர்', - 'add-link': 'இணைப்பைச் சேர்', - 'add-member': 'உறுப்பினரைச் சேர்', - 'add-pixel': 'பிக்சலைச் சேர்', - 'add-step': 'படியைச் சேர்', - 'affiliate': 'இணைத்திட்டம்', - 'after': 'பிறகு', - 'all-time': 'எல்லா நேரமும்', - 'analysis': 'பகுப்பாய்வு', - 'analytics': 'பகுப்பாய்வு', - 'application': 'பயன்பாடு', - 'apply': 'பயன்படுத்து', - 'attribution': 'காரணிப்பு', - 'attribution-description': 'பயனர்கள் உங்கள் சந்தைப்படுத்தலுடன் எவ்வாறு ஈடுபடுகிறார்கள் மற்றும் மாற்றங்களை எது ஊக்குவிக்கிறது என்பதைப் பாருங்கள்.', - 'audience': 'பார்வையாளர்', - 'average': 'சராசரி', - 'before': 'முன்', - 'boards': 'பலகைகள்', - 'breakdown': 'விரிவாக்கம்', - 'browser': 'உலாவி', - 'campaign': 'பிரச்சாரம்', - 'campaigns': 'பிரச்சாரங்கள்', - 'channel': 'சேனல்', - 'channels': 'சேனல்கள்', - 'chart': 'வரைபடம்', - 'cities': 'நகரங்கள்', - 'city': 'நகரம்', - 'clear-all': 'அனைத்தையும் அழி', - 'cohort': 'குழு', - 'cohorts': 'குழுக்கள்', - 'compare': 'ஒப்பிடு', - 'compare-dates': 'தேதிகளை ஒப்பிடு', - 'confirm': 'உறுதிப்படுத்து', - 'contains': 'உள்ளடக்கியது', - 'content': 'உள்ளடக்கம்', - 'continue': 'தொடர்', - 'conversion': 'மாற்றம்', - 'conversion-rate': 'மாற்ற விகிதம்', - 'conversion-step': 'மாற்றப் படி', - 'count': 'எண்ணிக்கை', - 'country': 'நாடு', - 'create': 'உருவாக்கு', - 'create-report': 'அறிக்கையை உருவாக்கு', - 'create-team': 'குழுவை உருவாக்கு', - 'create-user': 'பயனரை உருவாக்கு', - 'created': 'உருவாக்கப்பட்டது', - 'created-by': 'உருவாக்கியவர்', - 'criteria': 'அளவுகோல்', - 'currency': 'நாணயம்', - 'current': 'தற்போதைய', - 'data': 'தரவு', - 'date': 'தேதி', - 'day': 'நாள்', - 'delete-report': 'அறிக்கையை நீக்கு', - 'delete-team': 'குழுவை நீக்கு', - 'delete-user': 'பயனரை நீக்கு', - 'description': 'விளக்கம்', - 'destination-url': 'இலக்கு URL', - 'details': 'விவரங்கள்', - 'device': 'சாதனம்', - 'direct': 'நேரடி', - 'distinct-id': 'தனித்துவ ID', - 'documentation': 'ஆவணங்கள்', - 'does-not-contain': 'உள்ளடக்கவில்லை', - 'does-not-include': 'சேர்க்கவில்லை', - 'doest-not-exist': 'இல்லை', - 'download': 'பதிவிறக்கு', - 'dropoff': 'விலகல்', - 'edit-dashboard': 'முகப்பைத் திருத்து', - 'edit-member': 'உறுப்பினரைத் திருத்து', - 'email': 'மின்னஞ்சல்', - 'end-step': 'இறுதிப் படி', - 'environment': 'சூழல்', - 'event': 'நிகழ்வு', - 'event-data': 'நிகழ்வுத் தரவு', - 'event-name': 'நிகழ்வு பெயர்', - 'exclude-bounce': 'துள்ளலை விலக்கு', - 'exists': 'உள்ளது', - 'false': 'தவறு', - 'field': 'புலம்', - 'fields': 'புலங்கள்', - 'filter': 'வடிகட்டி', - 'filters': 'வடிகட்டிகள்', - 'first-click': 'முதல் கிளிக்', - 'first-seen': 'முதலில் பார்த்தது', - 'funnel': 'புனல்', - 'funnel-description': 'பயனர்களின் மாற்ற மற்றும் விலகல் விகிதத்தைப் புரிந்துகொள்ளுங்கள்.', - 'funnels': 'புனல்கள்', - 'goal': 'இலக்கு', - 'goals': 'இலக்குகள்', - 'goals-description': 'பக்க காட்சிகள் மற்றும் நிகழ்வுகளுக்கான உங்கள் இலக்குகளைக் கண்காணிக்கவும்.', - 'greater-than': 'பெரியது', - 'greater-than-equals': 'பெரியது அல்லது சமம்', - 'grouped': 'தொகுக்கப்பட்டது', - 'growth': 'வளர்ச்சி', - 'hostname': 'புரவலன் பெயர்', - 'hour': 'மணி', - 'includes': 'சேர்க்கிறது', - 'insight': 'நுண்ணறிவு', - 'insights': 'நுண்ணறிவுகள்', - 'insights-description': 'பிரிவுகள் மற்றும் வடிகட்டிகளைப் பயன்படுத்தி உங்கள் தரவில் ஆழமாக முழுகுங்கள்.', - 'invalid-url': 'தவறான URL', - 'is': 'ஆகும்', - 'is-false': 'தவறு', - 'is-not': 'அல்ல', - 'is-not-set': 'அமைக்கப்படவில்லை', - 'is-set': 'அமைக்கப்பட்டுள்ளது', - 'is-true': 'உண்மை', - 'join': 'சேர்', - 'join-team': 'குழுவில் சேர்', - 'journey': 'பயணம்', - 'journey-description': 'பயனர்கள் உங்கள் வலைத்தளத்தில் எவ்வாறு வழிசெல்கிறார்கள் என்பதைப் புரிந்துகொள்ளுங்கள்.', - 'journeys': 'பயணங்கள்', - 'language': 'மொழி', - 'languages': 'மொழிகள்', - 'last-click': 'கடைசி கிளிக்', - 'last-months': 'முந்தைய {x} மாதங்கள்', - 'last-seen': 'கடைசியாகப் பார்த்தது', - 'leave': 'வெளியேறு', - 'leave-team': 'குழுவை விட்டு வெளியேறு', - 'less-than': 'சிறியது', - 'less-than-equals': 'சிறியது அல்லது சமம்', - 'link': 'இணைப்பு', - 'links': 'இணைப்புகள்', - 'location': 'இடம்', - 'manage': 'நிர்வகி', - 'manager': 'மேலாளர்', - 'max': 'அதிகபட்சம்', - 'medium': 'ஊடகம்', - 'member': 'உறுப்பினர்', - 'members': 'உறுப்பினர்கள்', - 'min': 'குறைந்தபட்சம்', - 'minute': 'நிமிடம்', - 'model': 'மாதிரி', - 'month': 'மாதம்', - 'my-account': 'எனது கணக்கு', - 'my-websites': 'எனது வலைத்தளங்கள்', - 'none': 'எதுவுமில்லை', - 'number-of-records': '{x} {x, plural, one {பதிவு} other {பதிவுகள்}}', - 'online': 'நிகழ்நிலை', - 'organic-search': 'இயற்கையான தேடல்', - 'organic-shopping': 'இயற்கையான ஷாப்பிங்', - 'organic-social': 'இயற்கையான சமூக ஊடகம்', - 'organic-video': 'இயற்கையான வீடியோ', - 'other': 'பிற', - 'overview': 'மேலோட்டம்', - 'owner': 'உரிமையாளர்', - 'page': 'பக்கம்', - 'page-of': 'பக்கம் {current} / {total}', - 'pageTitle': 'பக்கத் தலைப்பு', - 'paid-ads': 'கட்டண விளம்பரங்கள்', - 'paid-search': 'கட்டணத் தேடல்', - 'paid-shopping': 'கட்டண ஷாப்பிங்', - 'paid-social': 'கட்டண சமூக ஊடகம்', - 'paid-video': 'கட்டண வீடியோ', - 'path': 'பாதை', - 'paths': 'பாதைகள்', - 'pixel': 'பிக்சல்', - 'pixels': 'பிக்சல்கள்', - 'preferences': 'விருப்பத்தேர்வுகள்', - 'previous': 'முந்தைய', - 'previous-period': 'முந்தைய காலம்', - 'previous-year': 'முந்தைய ஆண்டு', - 'profiles': 'சுயவிவரங்கள்', - 'properties': 'பண்புகள்', - 'property': 'பண்பு', - 'queries': 'வினவல்கள்', - 'query': 'வினவல்', - 'query-parameters': 'வினவல் அளவுருக்கள்', - 'referral': 'பரிந்துரை', - 'referrer': 'பரிந்துரையாளர்', - 'regenerate': 'மீண்டும் உருவாக்கு', - 'region': 'பிராந்தியம்', - 'regions': 'பிராந்தியங்கள்', - 'remaining': 'மீதம்', - 'remove': 'நீக்கு', - 'remove-member': 'உறுப்பினரை நீக்கு', - 'reports': 'அறிக்கைகள்', - 'retention': 'தக்கவைப்பு', - 'retention-description': 'பயனர்கள் எவ்வளவு அடிக்கடி திரும்பி வருகிறார்கள் என்பதைக் கண்காணித்து உங்கள் வலைத்தளத்தின் ஒட்டுதலை அளவிடுங்கள்.', - 'revenue': 'வருவாய்', - 'revenue-description': 'உங்கள் வருவாய் தரவையும் பயனர்கள் எவ்வாறு செலவிடுகிறார்கள் என்பதையும் ஆராயுங்கள்.', - 'role': 'பங்கு', - 'run-query': 'வினவலை இயக்கு', - 'save-cohort': 'குழுவைச் சேமி', - 'save-segment': 'பிரிவைச் சேமி', - 'screen': 'திரை', - 'screens': 'திரைகள்', - 'search': 'தேடு', - 'segment': 'பிரிவு', - 'segments': 'பிரிவுகள்', - 'select': 'தேர்ந்தெடு', - 'select-date': 'தேதியைத் தேர்ந்தெடு', - 'select-filter': 'வடிகட்டியைத் தேர்ந்தெடு', - 'select-role': 'பங்கைத் தேர்ந்தெடு', - 'select-website': 'வலைத்தளத்தைத் தேர்ந்தெடு', - 'session': 'அமர்வு', - 'session-data': 'அமர்வுத் தரவு', - 'sessions': 'அமர்வுகள்', - 'share': 'பகிர்', - 'source': 'மூலம்', - 'sources': 'மூலங்கள்', - 'start-step': 'தொடக்கப் படி', - 'steps': 'படிகள்', - 'sum': 'கூட்டுத்தொகை', - 'support': 'ஆதரவு', - 'switch-account': 'கணக்கை மாற்று', - 'table': 'அட்டவணை', - 'tag': 'குறிச்சொல்', - 'tags': 'குறிச்சொற்கள்', - 'team': 'குழு', - 'team-id': 'குழு ID', - 'team-manager': 'குழு மேலாளர்', - 'team-member': 'குழு உறுப்பினர்', - 'team-name': 'குழுவின் பெயர்', - 'team-owner': 'குழு உரிமையாளர்', - 'team-settings': 'குழு அமைப்புகள்', - 'team-view-only': 'குழு பார்வை மட்டும்', - 'team-websites': 'குழு வலைத்தளங்கள்', - 'teams': 'குழுக்கள்', - 'term': 'சொல்', - 'terms': 'விதிமுறைகள்', - 'theme': 'தீம்', - 'title': 'தலைப்பு', - 'toggle-charts': 'வரைபடங்களை மாற்று', - 'total': 'மொத்தம்', - 'total-records': 'மொத்தப் பதிவுகள்', - 'traffic': 'பார்வையாளர் போக்குவரத்து', - 'transactions': 'பரிவர்த்தனைகள்', - 'transfer': 'மாற்றம்', - 'transfer-website': 'வலைத்தளத்தை மாற்று', - 'true': 'உண்மை', - 'type': 'வகை', - 'unique': 'தனித்துவ', - 'unique-events': 'தனித்துவ நிகழ்வுகள்', - 'uniqueCustomers': 'தனித்துவ வாடிக்கையாளர்கள்', - 'untitled': 'தலைப்பில்லாத', - 'update': 'புதுப்பி', - 'user': 'பயனர்', - 'users': 'பயனர்கள்', - 'utm-description': 'UTM அளவுருக்கள் மூலம் உங்கள் பிரச்சாரங்களைக் கண்காணிக்கவும்.', - 'value': 'மதிப்பு', - 'version': 'பதிப்பு', - 'view': 'பார்', - 'view-only': 'பார்வை மட்டும்', - 'views-per-visit': 'ஒரு வருகைக்கான பார்வைகள்', - 'visits': 'வருகைகள்', - 'website': 'வலைத்தளம்', - 'website-id': 'வலைத்தள ID', - 'window': 'சாளரம்', - 'yesterday': 'நேற்று' - }, - message: { - 'action-confirmation': 'உறுதிப்படுத்த கீழே உள்ள பெட்டியில் {confirmation} என்று தட்டச்சு செய்யவும்.', - 'bad-request': 'தவறான கோரிக்கை', - 'collected-data': 'சேகரிக்கப்பட்ட தரவு', - 'confirm-leave': '{target} விட்டு வெளியேற விரும்புகிறீர்களா?', - 'confirm-remove': '{target} நீக்க விரும்புகிறீர்களா?', - 'delete-team-warning': 'ஒரு குழுவை நீக்கினால் அனைத்து குழு வலைத்தளங்களும் நீக்கப்படும்.', - 'event-log': '{event} {url} இல்', - 'forbidden': 'தடைசெய்யப்பட்டது', - 'min-password-length': 'குறைந்தபட்சம் {n} எழுத்துகள் தேவை', - 'new-version-available': 'Umami {version} புதிய பதிப்பு கிடைக்கிறது!', - 'no-event-data': 'நிகழ்வுத் தரவு எதுவும் கிடைக்கவில்லை.', - 'no-results-found': 'முடிவுகள் எதுவும் கிடைக்கவில்லை.', - 'no-team-websites': 'இந்தக் குழுவில் வலைத்தளங்கள் எதுவும் இல்லை.', - 'no-teams': 'நீங்கள் எந்தக் குழுவையும் உருவாக்கவில்லை.', - 'no-users': 'பயனர்கள் யாரும் இல்லை.', - 'not-found': 'கிடைக்கவில்லை', - 'nothing-selected': 'எதுவும் தேர்ந்தெடுக்கப்படவில்லை.', - 'reset-website': 'இந்த வலைத்தளத்தை மீட்டமைக்க, கீழே உள்ள பெட்டியில் {confirmation} என்று தட்டச்சு செய்து உறுதிப்படுத்தவும்.', - 'reset-website-warning': 'இந்த வலைத்தளத்தின் அனைத்து புள்ளிவிவரங்களும் நீக்கப்படும், ஆனால் உங்கள் அமைப்புகள் அப்படியே இருக்கும்.', - 'sever-error': 'சேவையக பிழை', - 'share-url': 'உங்கள் வலைத்தள புள்ளிவிவரங்கள் பின்வரும் URL இல் பொதுவாகக் கிடைக்கும்:', - 'team-already-member': 'நீங்கள் ஏற்கனவே இந்தக் குழுவின் உறுப்பினர்.', - 'team-not-found': 'குழு கிடைக்கவில்லை.', - 'team-websites-info': 'குழுவில் உள்ள எவரும் வலைத்தளங்களைப் பார்க்கலாம்.', - 'tracking-code': 'இந்த வலைத்தளத்தின் புள்ளிவிவரங்களைக் கண்காணிக்க, பின்வரும் குறியீட்டை உங்கள் HTML இன் ... பகுதியில் வைக்கவும்.', - 'transfer-team-website-to-user': 'இந்த வலைத்தளத்தை உங்கள் கணக்கிற்கு மாற்ற விரும்புகிறீர்களா?', - 'transfer-user-website-to-team': 'இந்த வலைத்தளத்தை மாற்ற குழுவைத் தேர்ந்தெடுக்கவும்.', - 'transfer-website': 'வலைத்தள உரிமையை உங்கள் கணக்கிற்கு அல்லது மற்றொரு குழுவிற்கு மாற்றவும்.', - 'triggered-event': 'தூண்டப்பட்ட நிகழ்வு', - 'unauthorized': 'அங்கீகரிக்கப்படவில்லை', - 'user-deleted': 'பயனர் நீக்கப்பட்டார்.', - 'viewed-page': 'பார்வையிட்ட பக்கம்' - } - } -}; - -for (const [locale, trans] of Object.entries(translations)) { - const filePath = path.join(dir, locale + '.json'); - const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); - let count = 0; - for (const [section, keys] of Object.entries(trans)) { - for (const [key, value] of Object.entries(keys)) { - if (data[section] && key in data[section]) { - data[section][key] = value; - count++; - } - } - } - const sorted = {}; - for (const section of Object.keys(enUS)) { - if (data[section]) { - sorted[section] = {}; - for (const key of Object.keys(enUS[section])) { - if (key in data[section]) sorted[section][key] = data[section][key]; - } - for (const key of Object.keys(data[section])) { - if (!(key in sorted[section])) sorted[section][key] = data[section][key]; - } - } - } - fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8'); - console.log('Updated ' + locale + ': ' + count + ' keys'); -} From f1b314e90b502d7282088a1fac6c92950e5c0351 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 7 Feb 2026 19:42:19 -0800 Subject: [PATCH 16/55] Added dotenv-cli. --- next-env.d.ts | 2 +- package.json | 3 ++- pnpm-lock.yaml | 24 ++++++++++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/next-env.d.ts b/next-env.d.ts index 1511519d3..20e7bcfb0 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import './.next/types/routes.d.ts'; +import './.next/dev/types/routes.d.ts'; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/package.json b/package.json index 9c6c046ae..f5c893ee1 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ }, "type": "module", "scripts": { - "dev": "next dev -p 3003 --turbo", + "dev": "dotenv next dev --turbo", "build": "npm-run-all check-env build-db check-db build-tracker build-geo build-app", "start": "next start", "build-docker": "npm-run-all build-db build-tracker build-geo build-app", @@ -136,6 +136,7 @@ "babel-plugin-react-compiler": "19.1.0-rc.2", "cross-env": "^10.1.0", "cypress": "^13.6.6", + "dotenv-cli": "^11.0.0", "husky": "^9.1.7", "jest": "^29.7.0", "lint-staged": "^16.2.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index db0f78ebe..dcdbd718c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -246,6 +246,9 @@ importers: cypress: specifier: ^13.6.6 version: 13.17.0 + dotenv-cli: + specifier: ^11.0.0 + version: 11.0.0 husky: specifier: ^9.1.7 version: 9.1.7 @@ -322,6 +325,8 @@ importers: specifier: ^5.9.3 version: 5.9.3 + dist: {} + packages: '@ampproject/remapping@2.3.0': @@ -3821,6 +3826,14 @@ packages: dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dotenv-cli@11.0.0: + resolution: {integrity: sha512-r5pA8idbk7GFWuHEU7trSTflWcdBpQEK+Aw17UrSHjS6CReuhrrPcyC3zcQBPQvhArRHnBo/h6eLH1fkCvNlww==} + hasBin: true + + dotenv-expand@12.0.3: + resolution: {integrity: sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==} + engines: {node: '>=12'} + dotenv@16.6.1: resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} @@ -10962,6 +10975,17 @@ snapshots: no-case: 3.0.4 tslib: 2.8.1 + dotenv-cli@11.0.0: + dependencies: + cross-spawn: 7.0.6 + dotenv: 17.2.4 + dotenv-expand: 12.0.3 + minimist: 1.2.8 + + dotenv-expand@12.0.3: + dependencies: + dotenv: 16.6.1 + dotenv@16.6.1: {} dotenv@17.2.4: {} From 04c72169287b54721b594e6f38f43492ddd977e0 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 7 Feb 2026 21:34:42 -0800 Subject: [PATCH 17/55] Add UserButton to SideNav, refactor NavButton into TeamsButton - Create UserButton component at bottom of SideNav with Settings, Language, Theme, Admin, and Logout menu items - Move Settings/Logout/Admin/Docs/Support out of NavButton into UserButton - Remove LanguageButton and ThemeButton from SideNav bottom - Refactor NavButton into TeamsButton with simplified team switching - Simplify WebsiteNav and move TeamsButton to App top bar Co-Authored-By: Claude Opus 4.6 --- src/app/(main)/App.tsx | 13 ++ src/app/(main)/MobileNav.tsx | 4 +- src/app/(main)/SideNav.tsx | 23 +- .../websites/[websiteId]/WebsiteNav.tsx | 149 +++++-------- src/components/input/NavButton.tsx | 70 +----- src/components/input/TeamsButton.tsx | 92 ++++++++ src/components/input/UserButton.tsx | 204 ++++++++++++++++++ src/components/input/WebsiteSelect.tsx | 11 +- src/index.ts | 2 +- 9 files changed, 382 insertions(+), 186 deletions(-) create mode 100644 src/components/input/TeamsButton.tsx create mode 100644 src/components/input/UserButton.tsx diff --git a/src/app/(main)/App.tsx b/src/app/(main)/App.tsx index eba4e264f..33e998075 100644 --- a/src/app/(main)/App.tsx +++ b/src/app/(main)/App.tsx @@ -5,6 +5,7 @@ import { useEffect } from 'react'; import { MobileNav } from '@/app/(main)/MobileNav'; import { SideNav } from '@/app/(main)/SideNav'; import { useConfig, useLoginQuery, useNavigation } from '@/components/hooks'; +import { TeamsButton } from '@/components/input/TeamsButton'; import { LAST_TEAM_CONFIG } from '@/lib/constants'; import { removeItem, setItem } from '@/lib/storage'; import { UpdateNotice } from './UpdateNotice'; @@ -50,6 +51,18 @@ export function App({ children }) {
+ + + + + {children} diff --git a/src/app/(main)/MobileNav.tsx b/src/app/(main)/MobileNav.tsx index 158886db3..85d03b175 100644 --- a/src/app/(main)/MobileNav.tsx +++ b/src/app/(main)/MobileNav.tsx @@ -5,7 +5,7 @@ import { IconLabel } from '@/components/common/IconLabel'; import { useMessages, useNavigation } from '@/components/hooks'; import { Globe, Grid2x2, LinkIcon } from '@/components/icons'; import { MobileMenuButton } from '@/components/input/MobileMenuButton'; -import { NavButton } from '@/components/input/NavButton'; +import { TeamsButton } from '@/components/input/TeamsButton'; import { Logo } from '@/components/svg'; import { AdminNav } from './admin/AdminNav'; import { SettingsNav } from './settings/SettingsNav'; @@ -44,7 +44,7 @@ export function MobileNav() { return ( <> - + {links.map(link => { return ( diff --git a/src/app/(main)/SideNav.tsx b/src/app/(main)/SideNav.tsx index 865a9e280..92172be98 100644 --- a/src/app/(main)/SideNav.tsx +++ b/src/app/(main)/SideNav.tsx @@ -6,26 +6,21 @@ import { Icon, Row, Text, - ThemeButton, Tooltip, TooltipTrigger, } from '@umami/react-zen'; import Link from 'next/link'; -import type { Key } from 'react'; import { WebsiteNav } from '@/app/(main)/websites/[websiteId]/WebsiteNav'; import { IconLabel } from '@/components/common/IconLabel'; import { useGlobalState, useMessages, useNavigation } from '@/components/hooks'; import { Globe, Grid2x2, LayoutDashboard, LinkIcon, PanelLeft } from '@/components/icons'; -import { LanguageButton } from '@/components/input/LanguageButton'; -import { NavButton } from '@/components/input/NavButton'; +import { UserButton } from '@/components/input/UserButton'; import { Logo } from '@/components/svg'; export function SideNav(props: any) { const { t, labels } = useMessages(); - const { pathname, renderUrl, websiteId, router } = useNavigation(); - const [isCollapsed, setIsCollapsed] = useGlobalState('sidenav-collapsed', false); - - const hasNav = !!(websiteId || pathname.startsWith('/admin') || pathname.includes('/settings')); + const { pathname, renderUrl, websiteId } = useNavigation(); + const [isCollapsed] = useGlobalState('sidenav-collapsed', false); const links = [ { @@ -54,10 +49,6 @@ export function SideNav(props: any) { }, ]; - const handleSelect = (id: Key) => { - router.push(id === 'user' ? '/websites' : `/teams/${id}/websites`); - }; - return ( - - - {websiteId ? ( ) : ( @@ -126,9 +114,8 @@ export function SideNav(props: any) {
)}
- - - + +
); diff --git a/src/app/(main)/websites/[websiteId]/WebsiteNav.tsx b/src/app/(main)/websites/[websiteId]/WebsiteNav.tsx index 6bd892e40..01833eebb 100644 --- a/src/app/(main)/websites/[websiteId]/WebsiteNav.tsx +++ b/src/app/(main)/websites/[websiteId]/WebsiteNav.tsx @@ -32,97 +32,66 @@ export function WebsiteNav({ router.push(renderUrl(`/websites/${value}`)); }; - const renderValue = (value: any) => { - return ( - - {value?.selectedItem?.name} - - ); - }; - - if (isCollapsed !== undefined) { - return ( - - - - - - } label={isCollapsed ? '' : t(labels.back)} padding /> - - - {t(labels.back)} - - - {!isCollapsed && ( - - - - )} - {items.map(({ label: sectionLabel, items: sectionItems }, index) => ( - - {!isCollapsed && ( - - {sectionLabel} - - )} - {sectionItems.map(({ id, path, label, icon }) => { - const isSelected = selectedKey === id; - return ( - - - - - - - - {label} - - - ); - })} - - ))} - - ); - } - return ( - - - + + + + + + } label={isCollapsed ? '' : t(labels.back)} padding /> + + + {t(labels.back)} + + + + + + {items.map(({ label: sectionLabel, items: sectionItems }, index) => ( + + {!isCollapsed && ( + + {sectionLabel} + + )} + {sectionItems.map(({ id, path, label, icon }) => { + const isSelected = selectedKey === id; + return ( + + + + + + + + {label} + + + ); + })} + + ))} ); } diff --git a/src/components/input/NavButton.tsx b/src/components/input/NavButton.tsx index 9f11ab2a0..e7c7504c6 100644 --- a/src/components/input/NavButton.tsx +++ b/src/components/input/NavButton.tsx @@ -15,26 +15,10 @@ import { import { ArrowRight } from 'lucide-react'; import type { Key } from 'react'; import { IconLabel } from '@/components/common/IconLabel'; -import { - useConfig, - useLoginQuery, - useMessages, - useMobile, - useNavigation, -} from '@/components/hooks'; -import { - BookText, - ChevronRight, - ExternalLink, - LifeBuoy, - LockKeyhole, - LogOut, - Settings, - User, - Users, -} from '@/components/icons'; +import { useLoginQuery, useMessages, useMobile, useNavigation } from '@/components/hooks'; +import { ChevronRight, User, Users } from '@/components/icons'; import { Switch } from '@/components/svg'; -import { DOCS_URL, LAST_TEAM_CONFIG } from '@/lib/constants'; +import { LAST_TEAM_CONFIG } from '@/lib/constants'; import { removeItem } from '@/lib/storage'; export interface TeamsButtonProps { @@ -44,13 +28,13 @@ export interface TeamsButtonProps { export function NavButton({ showText = true }: TeamsButtonProps) { const { user } = useLoginQuery(); - const { cloudMode } = useConfig(); const { t, labels } = useMessages(); const { teamId, router } = useNavigation(); const { isMobile } = useMobile(); const team = user?.teams?.find(({ id }) => id === teamId); const selectedKeys = new Set([teamId || 'user']); const label = teamId ? team?.name : user.username; + const cloudMode = !!process.env.cloudMode; const getUrl = (url: string) => { return cloudMode ? `${process.env.cloudUrl}${url}` : url; @@ -134,52 +118,6 @@ export function NavButton({ showText = true }: TeamsButtonProps) { - - } - label={t(labels.settings)} - /> - {cloudMode && ( - <> - } - label={t(labels.documentation)} - > - - - - - } - label={t(labels.support)} - /> - - )} - {!cloudMode && user.isAdmin && ( - <> - - } - label={t(labels.admin)} - /> - - )} - - } - label={t(labels.logout)} - />
diff --git a/src/components/input/TeamsButton.tsx b/src/components/input/TeamsButton.tsx new file mode 100644 index 000000000..c9e27d5fe --- /dev/null +++ b/src/components/input/TeamsButton.tsx @@ -0,0 +1,92 @@ +import { + Button, + Column, + Icon, + Menu, + MenuItem, + MenuSection, + MenuSeparator, + MenuTrigger, + Popover, + Row, + Text, +} from '@umami/react-zen'; +import { ArrowRight } from 'lucide-react'; +import type { Key } from 'react'; +import { IconLabel } from '@/components/common/IconLabel'; +import { useLoginQuery, useMessages, useMobile, useNavigation } from '@/components/hooks'; +import { ChevronRight, User, Users } from '@/components/icons'; +import { LAST_TEAM_CONFIG } from '@/lib/constants'; +import { removeItem } from '@/lib/storage'; + +export function TeamsButton() { + const { user } = useLoginQuery(); + const { t, labels } = useMessages(); + const { teamId, router } = useNavigation(); + const team = user?.teams?.find(({ id }) => id === teamId); + const selectedKeys = new Set([teamId || 'user']); + const label = teamId ? team?.name : user.username; + + const cloudMode = !!process.env.cloudMode; + + const getUrl = (url: string) => { + return cloudMode ? `${process.env.cloudUrl}${url}` : url; + }; + + const handleAction = async (key: Key) => { + if (key === 'user') { + removeItem(LAST_TEAM_CONFIG); + if (cloudMode) { + window.location.href = '/'; + } else { + router.push('/'); + } + } + }; + + return ( + + + + + + + + } label={user.username} /> + + + + + {user?.teams?.map(({ id, name }) => ( + + }> + {name} + + + ))} + + + + + Manage teams + + + + + + + + + + + + ); +} diff --git a/src/components/input/UserButton.tsx b/src/components/input/UserButton.tsx new file mode 100644 index 000000000..8804f8e5d --- /dev/null +++ b/src/components/input/UserButton.tsx @@ -0,0 +1,204 @@ +import { + Column, + Icon, + Menu, + MenuItem, + MenuSeparator, + MenuTrigger, + Popover, + Pressable, + Row, + SubmenuTrigger, + Text, + Tooltip, + TooltipTrigger, + useTheme, +} from '@umami/react-zen'; +import { useConfig, useLocale, useLoginQuery, useMessages, useMobile } from '@/components/hooks'; +import { + BookText, + ExternalLink, + Globe, + LifeBuoy, + LockKeyhole, + LogOut, + Moon, + Settings, + Sun, + SunMoon, + UserCircle, +} from '@/components/icons'; +import { DOCS_URL } from '@/lib/constants'; +import { languages } from '@/lib/lang'; + +export interface UserButtonProps { + showText?: boolean; +} + +export function UserButton({ showText = true }: UserButtonProps) { + const { user } = useLoginQuery(); + const { cloudMode } = useConfig(); + const { t, labels } = useMessages(); + const { locale, saveLocale } = useLocale(); + const { theme, setTheme } = useTheme(); + const { isMobile } = useMobile(); + + const getUrl = (url: string) => { + return cloudMode ? `${process.env.cloudUrl}${url}` : url; + }; + + const languageItems = Object.keys(languages).map(key => ({ + value: key, + label: languages[key].label, + })); + + const items = [ + cloudMode && { + id: 'docs', + label: t(labels.documentation), + path: DOCS_URL, + icon: , + target: '_blank', + external: true, + }, + cloudMode && { + id: 'support', + label: t(labels.support), + path: getUrl('/settings/support'), + icon: , + }, + !cloudMode && + user.isAdmin && { + id: 'admin', + label: t(labels.admin), + path: '/admin', + icon: , + }, + { + id: 'separator', + separator: true, + }, + { + id: 'logout', + label: t(labels.logout), + path: getUrl('/logout'), + icon: , + }, + ].filter(Boolean); + + return ( + + + + + + + + + {showText && {user.username}} + + + + {user.username} + + + + + + + + + + {t(labels.settings)} + + + + + + + + + {t(labels.language)} + + + + saveLocale(key as string)} + style={{ maxHeight: 300, overflow: 'auto' }} + > + {languageItems.map(({ value, label }) => ( + + {label} + + ))} + + + + + + + + + + {t(labels.theme)} + + + + setTheme(key as 'light' | 'dark')} + > + + + + + + Light + + + + + + + + Dark + + + + + + {items.map(({ id, path, label, icon, separator, target, external }: any) => { + if (separator) { + return ; + } + return ( + + + {icon} + {label} + {external && ( + + + + )} + + + ); + })} + + + + + ); +} diff --git a/src/components/input/WebsiteSelect.tsx b/src/components/input/WebsiteSelect.tsx index f3b8e7ff5..62051bdb5 100644 --- a/src/components/input/WebsiteSelect.tsx +++ b/src/components/input/WebsiteSelect.tsx @@ -13,11 +13,13 @@ export function WebsiteSelect({ teamId, onChange, includeTeams, + isCollapsed, ...props }: { websiteId?: string; teamId?: string; includeTeams?: boolean; + isCollapsed?: boolean; } & SelectProps) { const { t, messages } = useMessages(); const { data: website } = useWebsiteQuery(websiteId); @@ -43,14 +45,6 @@ export function WebsiteSelect({ onChange(id); }; - const renderValue = () => { - return ( - - {name ?? website?.name} - - ); - }; - return ( , style: { maxHeight: 'calc(42vh - 65px)', width: 280 }, }} - buttonProps={{ style: { minHeight: 40 } }} + buttonProps={{ + style: { minHeight: 40, gap: 0, justifyContent: isCollapsed ? 'start' : undefined }, + }} > {listItems.map(({ id, name }) => ( From 8cd3c03702648290681b36a672b33ba037361554 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sun, 8 Feb 2026 00:04:13 -0800 Subject: [PATCH 20/55] Added opacity to tooltips. --- src/components/charts/ChartTooltip.tsx | 2 +- src/components/metrics/WeeklyTraffic.tsx | 2 +- src/components/metrics/WorldMap.tsx | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/components/charts/ChartTooltip.tsx b/src/components/charts/ChartTooltip.tsx index ea4a116d0..ac1e52e7b 100644 --- a/src/components/charts/ChartTooltip.tsx +++ b/src/components/charts/ChartTooltip.tsx @@ -14,10 +14,10 @@ export function ChartTooltip({ {title} diff --git a/src/components/metrics/WeeklyTraffic.tsx b/src/components/metrics/WeeklyTraffic.tsx index c1c58ee82..7a3b51dfb 100644 --- a/src/components/metrics/WeeklyTraffic.tsx +++ b/src/components/metrics/WeeklyTraffic.tsx @@ -95,7 +95,7 @@ export function WeeklyTraffic({ websiteId }: { websiteId: string }) { /> - + {`${t(labels.visitors)}: ${count}`} diff --git a/src/components/metrics/WorldMap.tsx b/src/components/metrics/WorldMap.tsx index f0df71487..646903068 100644 --- a/src/components/metrics/WorldMap.tsx +++ b/src/components/metrics/WorldMap.tsx @@ -101,7 +101,12 @@ export function WorldMap({ websiteId, data, ...props }: WorldMapProps) { {tooltip && ( - + {tooltip} From 28246b8c528f41326d2650b9dab1a475ce266c8e Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sun, 8 Feb 2026 13:58:46 -0800 Subject: [PATCH 21/55] Fix team boards not appearing after creation Board creation from team context was not passing teamId to the API, causing boards to be saved as personal boards instead of team boards. Co-Authored-By: Claude Opus 4.6 --- src/app/(main)/boards/BoardProvider.tsx | 4 ++-- src/app/(main)/boards/BoardsPage.tsx | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/app/(main)/boards/BoardProvider.tsx b/src/app/(main)/boards/BoardProvider.tsx index 85dd0f737..f4f6b7e0f 100644 --- a/src/app/(main)/boards/BoardProvider.tsx +++ b/src/app/(main)/boards/BoardProvider.tsx @@ -41,7 +41,7 @@ export function BoardProvider({ const { touch } = useModified(); const { toast } = useToast(); const { t, labels, messages } = useMessages(); - const { router, renderUrl } = useNavigation(); + const { router, renderUrl, teamId } = useNavigation(); const [board, setBoard] = useState>(data ?? createDefaultBoard()); const layoutGetterRef = useRef(null); @@ -61,7 +61,7 @@ export function BoardProvider({ if (boardData.id) { return post(`/boards/${boardData.id}`, boardData); } - return post('/boards', { ...boardData, type: 'dashboard', slug: '' }); + return post('/boards', { ...boardData, type: 'dashboard', slug: '', teamId }); }, }); diff --git a/src/app/(main)/boards/BoardsPage.tsx b/src/app/(main)/boards/BoardsPage.tsx index 22ffae528..7be1dbec8 100644 --- a/src/app/(main)/boards/BoardsPage.tsx +++ b/src/app/(main)/boards/BoardsPage.tsx @@ -5,18 +5,19 @@ import { LinkButton } from '@/components/common/LinkButton'; import { PageBody } from '@/components/common/PageBody'; import { PageHeader } from '@/components/common/PageHeader'; import { Panel } from '@/components/common/Panel'; -import { useMessages } from '@/components/hooks'; +import { useMessages, useNavigation } from '@/components/hooks'; import { Plus } from '@/components/icons'; import { BoardsDataTable } from './BoardsDataTable'; export function BoardsPage() { const { t, labels } = useMessages(); + const { renderUrl } = useNavigation(); return ( - + } label={t(labels.addBoard)} /> From fb6fd293fb1b87486c65ec22975918ef20b0ddf0 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sun, 8 Feb 2026 22:58:25 -0800 Subject: [PATCH 22/55] Updated zod validation on date range. --- package.json | 2 +- .../[websiteId]/events/stats/route.ts | 6 ++---- .../api/websites/[websiteId]/export/route.ts | 6 ++---- .../[websiteId]/metrics/expanded/route.ts | 5 ++--- .../api/websites/[websiteId]/metrics/route.ts | 5 ++--- .../websites/[websiteId]/pageviews/route.ts | 6 ++---- .../websites/[websiteId]/sessions/route.ts | 6 ++---- .../api/websites/[websiteId]/stats/route.ts | 6 ++---- .../api/websites/[websiteId]/values/route.ts | 6 ++---- src/lib/schema.ts | 19 +++++++++++++++++++ 10 files changed, 36 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index d162be63a..6e0645b5f 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ }, "type": "module", "scripts": { - "dev": "next dev -p 3002 --turbo", + "dev": "next dev -p 3009 --turbo", "build": "npm-run-all check-env build-db check-db build-tracker build-geo build-app", "start": "next start", "build-docker": "npm-run-all build-db build-tracker build-geo build-app", diff --git a/src/app/api/websites/[websiteId]/events/stats/route.ts b/src/app/api/websites/[websiteId]/events/stats/route.ts index 61e151d4a..6d0a04602 100644 --- a/src/app/api/websites/[websiteId]/events/stats/route.ts +++ b/src/app/api/websites/[websiteId]/events/stats/route.ts @@ -1,7 +1,6 @@ -import { z } from 'zod'; import { getQueryFilters, parseRequest } from '@/lib/request'; import { json, unauthorized } from '@/lib/response'; -import { dateRangeParams, filterParams } from '@/lib/schema'; +import { filterParams, withDateRange } from '@/lib/schema'; import { canViewWebsite } from '@/permissions'; import { getWebsiteEventStats } from '@/queries/sql/events/getWebsiteEventStats'; @@ -9,8 +8,7 @@ export async function GET( request: Request, { params }: { params: Promise<{ websiteId: string }> }, ) { - const schema = z.object({ - ...dateRangeParams, + const schema = withDateRange({ ...filterParams, }); diff --git a/src/app/api/websites/[websiteId]/export/route.ts b/src/app/api/websites/[websiteId]/export/route.ts index eec81c6d4..1beb9bcb2 100644 --- a/src/app/api/websites/[websiteId]/export/route.ts +++ b/src/app/api/websites/[websiteId]/export/route.ts @@ -1,9 +1,8 @@ import JSZip from 'jszip'; import Papa from 'papaparse'; -import { z } from 'zod'; import { getQueryFilters, parseRequest } from '@/lib/request'; import { json, unauthorized } from '@/lib/response'; -import { dateRangeParams, pagingParams } from '@/lib/schema'; +import { pagingParams, withDateRange } from '@/lib/schema'; import { canViewWebsite } from '@/permissions'; import { getEventMetrics, getPageviewMetrics, getSessionMetrics } from '@/queries/sql'; @@ -11,8 +10,7 @@ export async function GET( request: Request, { params }: { params: Promise<{ websiteId: string }> }, ) { - const schema = z.object({ - ...dateRangeParams, + const schema = withDateRange({ ...pagingParams, }); diff --git a/src/app/api/websites/[websiteId]/metrics/expanded/route.ts b/src/app/api/websites/[websiteId]/metrics/expanded/route.ts index d52c17736..34ebcd598 100644 --- a/src/app/api/websites/[websiteId]/metrics/expanded/route.ts +++ b/src/app/api/websites/[websiteId]/metrics/expanded/route.ts @@ -2,7 +2,7 @@ import { z } from 'zod'; import { EVENT_COLUMNS, EVENT_TYPE, SESSION_COLUMNS } from '@/lib/constants'; import { getQueryFilters, parseRequest } from '@/lib/request'; import { badRequest, json, unauthorized } from '@/lib/response'; -import { dateRangeParams, filterParams, searchParams } from '@/lib/schema'; +import { filterParams, searchParams, withDateRange } from '@/lib/schema'; import { canViewWebsite } from '@/permissions'; import { getChannelExpandedMetrics, @@ -15,11 +15,10 @@ export async function GET( request: Request, { params }: { params: Promise<{ websiteId: string }> }, ) { - const schema = z.object({ + const schema = withDateRange({ type: z.string(), limit: z.coerce.number().optional(), offset: z.coerce.number().optional(), - ...dateRangeParams, ...searchParams, ...filterParams, }); diff --git a/src/app/api/websites/[websiteId]/metrics/route.ts b/src/app/api/websites/[websiteId]/metrics/route.ts index 12784adbe..c9649ae9a 100644 --- a/src/app/api/websites/[websiteId]/metrics/route.ts +++ b/src/app/api/websites/[websiteId]/metrics/route.ts @@ -2,7 +2,7 @@ import { z } from 'zod'; import { EVENT_COLUMNS, EVENT_TYPE, SESSION_COLUMNS } from '@/lib/constants'; import { getQueryFilters, parseRequest } from '@/lib/request'; import { badRequest, json, unauthorized } from '@/lib/response'; -import { dateRangeParams, filterParams, searchParams } from '@/lib/schema'; +import { filterParams, searchParams, withDateRange } from '@/lib/schema'; import { canViewWebsite } from '@/permissions'; import { getChannelMetrics, @@ -15,11 +15,10 @@ export async function GET( request: Request, { params }: { params: Promise<{ websiteId: string }> }, ) { - const schema = z.object({ + const schema = withDateRange({ type: z.string(), limit: z.coerce.number().optional(), offset: z.coerce.number().optional(), - ...dateRangeParams, ...searchParams, ...filterParams, }); diff --git a/src/app/api/websites/[websiteId]/pageviews/route.ts b/src/app/api/websites/[websiteId]/pageviews/route.ts index af59bce46..b9945c87b 100644 --- a/src/app/api/websites/[websiteId]/pageviews/route.ts +++ b/src/app/api/websites/[websiteId]/pageviews/route.ts @@ -1,8 +1,7 @@ -import { z } from 'zod'; import { getCompareDate } from '@/lib/date'; import { getQueryFilters, parseRequest } from '@/lib/request'; import { json, unauthorized } from '@/lib/response'; -import { dateRangeParams, filterParams } from '@/lib/schema'; +import { filterParams, withDateRange } from '@/lib/schema'; import { canViewWebsite } from '@/permissions'; import { getPageviewStats, getSessionStats } from '@/queries/sql'; @@ -10,8 +9,7 @@ export async function GET( request: Request, { params }: { params: Promise<{ websiteId: string }> }, ) { - const schema = z.object({ - ...dateRangeParams, + const schema = withDateRange({ ...filterParams, }); diff --git a/src/app/api/websites/[websiteId]/sessions/route.ts b/src/app/api/websites/[websiteId]/sessions/route.ts index ed4757a1c..88199aff9 100644 --- a/src/app/api/websites/[websiteId]/sessions/route.ts +++ b/src/app/api/websites/[websiteId]/sessions/route.ts @@ -1,7 +1,6 @@ -import { z } from 'zod'; import { getQueryFilters, parseRequest } from '@/lib/request'; import { json, unauthorized } from '@/lib/response'; -import { dateRangeParams, filterParams, pagingParams, searchParams } from '@/lib/schema'; +import { filterParams, pagingParams, searchParams, withDateRange } from '@/lib/schema'; import { canViewWebsite } from '@/permissions'; import { getWebsiteSessions } from '@/queries/sql'; @@ -9,8 +8,7 @@ export async function GET( request: Request, { params }: { params: Promise<{ websiteId: string }> }, ) { - const schema = z.object({ - ...dateRangeParams, + const schema = withDateRange({ ...filterParams, ...pagingParams, ...searchParams, diff --git a/src/app/api/websites/[websiteId]/stats/route.ts b/src/app/api/websites/[websiteId]/stats/route.ts index 9d21f4f55..bb060e41f 100644 --- a/src/app/api/websites/[websiteId]/stats/route.ts +++ b/src/app/api/websites/[websiteId]/stats/route.ts @@ -1,8 +1,7 @@ -import { z } from 'zod'; import { getCompareDate } from '@/lib/date'; import { getQueryFilters, parseRequest } from '@/lib/request'; import { json, unauthorized } from '@/lib/response'; -import { dateRangeParams, filterParams } from '@/lib/schema'; +import { filterParams, withDateRange } from '@/lib/schema'; import { canViewWebsite } from '@/permissions'; import { getWebsiteStats } from '@/queries/sql'; @@ -10,8 +9,7 @@ export async function GET( request: Request, { params }: { params: Promise<{ websiteId: string }> }, ) { - const schema = z.object({ - ...dateRangeParams, + const schema = withDateRange({ ...filterParams, }); diff --git a/src/app/api/websites/[websiteId]/values/route.ts b/src/app/api/websites/[websiteId]/values/route.ts index 172325e3f..f07e60f3d 100644 --- a/src/app/api/websites/[websiteId]/values/route.ts +++ b/src/app/api/websites/[websiteId]/values/route.ts @@ -1,8 +1,7 @@ -import { z } from 'zod'; import { EVENT_COLUMNS, FILTER_COLUMNS, SEGMENT_TYPES, SESSION_COLUMNS } from '@/lib/constants'; import { getQueryFilters, parseRequest } from '@/lib/request'; import { badRequest, json, unauthorized } from '@/lib/response'; -import { dateRangeParams, fieldsParam, searchParams } from '@/lib/schema'; +import { fieldsParam, searchParams, withDateRange } from '@/lib/schema'; import { canViewWebsite } from '@/permissions'; import { getWebsiteSegments } from '@/queries/prisma'; import { getValues } from '@/queries/sql'; @@ -11,9 +10,8 @@ export async function GET( request: Request, { params }: { params: Promise<{ websiteId: string }> }, ) { - const schema = z.object({ + const schema = withDateRange({ type: fieldsParam, - ...dateRangeParams, ...searchParams, }); diff --git a/src/lib/schema.ts b/src/lib/schema.ts index 020ed0c25..197acea35 100644 --- a/src/lib/schema.ts +++ b/src/lib/schema.ts @@ -23,6 +23,25 @@ export const dateRangeParams = { compare: z.enum(['prev', 'yoy']).optional(), }; +export function withDateRange(shape?: T) { + return z + .object({ + ...dateRangeParams, + ...shape, + }) + .superRefine((data: Record, ctx) => { + const hasTimestamps = data.startAt != null && data.endAt != null; + const hasDates = data.startDate != null && data.endDate != null; + + if (!hasTimestamps && !hasDates) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: 'Either startAt+endAt or startDate+endDate must be provided', + }); + } + }); +} + export const filterParams = { path: z.string().optional(), referrer: z.string().optional(), From 87bde9da1ff8dee1dff4cf3f68f4d9d8d01ae75a Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Mon, 9 Feb 2026 00:52:46 -0800 Subject: [PATCH 23/55] Add board component selector with live preview Allows users to select and inject analytics components into board cells. Includes component registry, renderer, selector modal with category menu, config fields for MetricsTable, and live preview. Also scopes website select to team websites when editing a team board. Co-Authored-By: Claude Opus 4.6 --- .gitignore | 1 - src/app/(main)/boards/BoardAddButton.tsx | 32 --- src/app/(main)/boards/BoardAddForm.tsx | 61 ------ .../(main)/boards/[boardId]/BoardColumn.tsx | 83 +++++++- .../[boardId]/BoardComponentRenderer.tsx | 25 +++ .../boards/[boardId]/BoardComponentSelect.tsx | 175 +++++++++++++++ .../boards/[boardId]/BoardEditHeader.tsx | 8 +- src/app/(main)/boards/[boardId]/BoardRow.tsx | 17 +- .../(main)/boards/boardComponentRegistry.tsx | 201 ++++++++++++++++++ src/lib/types.ts | 8 +- 10 files changed, 498 insertions(+), 113 deletions(-) delete mode 100644 src/app/(main)/boards/BoardAddButton.tsx delete mode 100644 src/app/(main)/boards/BoardAddForm.tsx create mode 100644 src/app/(main)/boards/[boardId]/BoardComponentRenderer.tsx create mode 100644 src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx create mode 100644 src/app/(main)/boards/boardComponentRegistry.tsx diff --git a/.gitignore b/.gitignore index dcf657a08..f8814dc9f 100644 --- a/.gitignore +++ b/.gitignore @@ -47,4 +47,3 @@ yarn-error.log* *.env.* *.dev.yml - diff --git a/src/app/(main)/boards/BoardAddButton.tsx b/src/app/(main)/boards/BoardAddButton.tsx deleted file mode 100644 index e3139d4b2..000000000 --- a/src/app/(main)/boards/BoardAddButton.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { Button, Dialog, DialogTrigger, Icon, Modal, Text, useToast } from '@umami/react-zen'; -import { useMessages, useModified, useNavigation } from '@/components/hooks'; -import { Plus } from '@/components/icons'; -import { BoardAddForm } from './BoardAddForm'; - -export function BoardAddButton() { - const { t, labels, messages } = useMessages(); - const { toast } = useToast(); - const { touch } = useModified(); - const { teamId } = useNavigation(); - - const handleSave = async () => { - toast(t(messages.saved)); - touch('boards'); - }; - - return ( - - - - - {({ close }) => } - - - - ); -} diff --git a/src/app/(main)/boards/BoardAddForm.tsx b/src/app/(main)/boards/BoardAddForm.tsx deleted file mode 100644 index 63fc1366e..000000000 --- a/src/app/(main)/boards/BoardAddForm.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { Button, Form, FormField, FormSubmitButton, Row, Text, TextField } from '@umami/react-zen'; -import { useState } from 'react'; -import { useMessages, useUpdateQuery } from '@/components/hooks'; -import { WebsiteSelect } from '@/components/input/WebsiteSelect'; - -export function BoardAddForm({ - teamId, - onSave, - onClose, -}: { - teamId?: string; - onSave?: () => void; - onClose?: () => void; -}) { - const { t, labels } = useMessages(); - const { mutateAsync, error, isPending } = useUpdateQuery('/boards', { teamId }); - const [websiteId, setWebsiteId] = useState(); - - const handleSubmit = async (data: any) => { - await mutateAsync( - { type: 'board', ...data, parameters: { websiteId } }, - { - onSuccess: async () => { - onSave?.(); - onClose?.(); - }, - }, - ); - }; - - return ( -
- - - - - - - - {t(labels.website)} - - - - {onClose && ( - - )} - - {t(labels.save)} - - -
- ); -} diff --git a/src/app/(main)/boards/[boardId]/BoardColumn.tsx b/src/app/(main)/boards/[boardId]/BoardColumn.tsx index bfaf22fc9..4cffe00b6 100644 --- a/src/app/(main)/boards/[boardId]/BoardColumn.tsx +++ b/src/app/(main)/boards/[boardId]/BoardColumn.tsx @@ -1,21 +1,43 @@ -import { Box, Button, Column, Icon, Tooltip, TooltipTrigger } from '@umami/react-zen'; -import type { ReactElement } from 'react'; -import { Plus, X } from '@/components/icons'; +import { + Box, + Button, + Column, + Dialog, + Icon, + Modal, + Tooltip, + TooltipTrigger, +} from '@umami/react-zen'; +import { useState } from 'react'; +import { useBoard } from '@/components/hooks'; +import { Pencil, Plus, X } from '@/components/icons'; +import type { BoardComponentConfig } from '@/lib/types'; +import { BoardComponentRenderer } from './BoardComponentRenderer'; +import { BoardComponentSelect } from './BoardComponentSelect'; export function BoardColumn({ id, component, editing = false, onRemove, + onSetComponent, canRemove = true, }: { id: string; - component?: ReactElement; + component?: BoardComponentConfig; editing?: boolean; onRemove?: (id: string) => void; + onSetComponent?: (id: string, config: BoardComponentConfig | null) => void; canRemove?: boolean; }) { - const handleAddComponent = () => {}; + const [showSelect, setShowSelect] = useState(false); + const { board } = useBoard(); + const websiteId = board?.parameters?.websiteId; + + const handleSelect = (config: BoardComponentConfig) => { + onSetComponent?.(id, config); + setShowSelect(false); + }; return ( )} - {editing && ( - + {component && websiteId ? ( + <> + + + + {editing && ( + + + + Change component + + + )} + + ) : ( + editing && ( + + ) )} + + + {() => ( + setShowSelect(false)} + /> + )} + + ); } diff --git a/src/app/(main)/boards/[boardId]/BoardComponentRenderer.tsx b/src/app/(main)/boards/[boardId]/BoardComponentRenderer.tsx new file mode 100644 index 000000000..f52284ad7 --- /dev/null +++ b/src/app/(main)/boards/[boardId]/BoardComponentRenderer.tsx @@ -0,0 +1,25 @@ +import { Column, Text } from '@umami/react-zen'; +import type { BoardComponentConfig } from '@/lib/types'; +import { getComponentDefinition } from '../boardComponentRegistry'; + +export function BoardComponentRenderer({ + config, + websiteId, +}: { + config: BoardComponentConfig; + websiteId: string; +}) { + const definition = getComponentDefinition(config.type); + + if (!definition) { + return ( + + Unknown component: {config.type} + + ); + } + + const Component = definition.component; + + return ; +} diff --git a/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx b/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx new file mode 100644 index 000000000..cc4c20fdb --- /dev/null +++ b/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx @@ -0,0 +1,175 @@ +import { + Box, + Button, + Column, + Focusable, + Heading, + ListItem, + Row, + Select, + Text, +} from '@umami/react-zen'; +import { useState } from 'react'; +import type { BoardComponentConfig } from '@/lib/types'; +import { + CATEGORIES, + type ComponentDefinition, + type ConfigField, + getComponentsByCategory, +} from '../boardComponentRegistry'; +import { BoardComponentRenderer } from './BoardComponentRenderer'; + +export function BoardComponentSelect({ + websiteId, + onSelect, + onClose, +}: { + websiteId: string; + onSelect: (config: BoardComponentConfig) => void; + onClose: () => void; +}) { + const [selectedDef, setSelectedDef] = useState(null); + const [configValues, setConfigValues] = useState>({}); + + const handleSelectComponent = (def: ComponentDefinition) => { + setSelectedDef(def); + const defaults: Record = {}; + if (def.configFields) { + for (const field of def.configFields) { + defaults[field.name] = field.defaultValue; + } + } + if (def.defaultProps) { + Object.assign(defaults, def.defaultProps); + } + setConfigValues(defaults); + }; + + const handleConfigChange = (name: string, value: any) => { + setConfigValues(prev => ({ ...prev, [name]: value })); + }; + + const handleAdd = () => { + if (!selectedDef) return; + + const props: Record = {}; + if (selectedDef.defaultProps) { + Object.assign(props, selectedDef.defaultProps); + } + Object.assign(props, configValues); + + if (props.limit) { + props.limit = Number(props.limit); + } + + const config: BoardComponentConfig = { type: selectedDef.type }; + if (Object.keys(props).length > 0) { + config.props = props; + } + + onSelect(config); + }; + + const previewConfig: BoardComponentConfig | null = selectedDef + ? { + type: selectedDef.type, + props: { ...selectedDef.defaultProps, ...configValues }, + } + : null; + + return ( + + + + {CATEGORIES.map(cat => { + const components = getComponentsByCategory(cat.key); + return ( + + {cat.name} + {components.map(def => ( + + handleSelectComponent(def)} + > + + + {def.name} + + + {def.description} + + + + + ))} + + ); + })} + + + {selectedDef?.configFields && selectedDef.configFields.length > 0 && ( + + {selectedDef.configFields.map((field: ConfigField) => ( + + + {field.label} + + {field.type === 'select' && ( + + )} + + ))} + + )} + + {previewConfig && websiteId ? ( + + ) : ( + + + {websiteId ? 'Select a component to preview' : 'Select a website first'} + + + )} + + + + + + + + + ); +} diff --git a/src/app/(main)/boards/[boardId]/BoardEditHeader.tsx b/src/app/(main)/boards/[boardId]/BoardEditHeader.tsx index afcbea6df..48edb269d 100644 --- a/src/app/(main)/boards/[boardId]/BoardEditHeader.tsx +++ b/src/app/(main)/boards/[boardId]/BoardEditHeader.tsx @@ -14,7 +14,7 @@ import { WebsiteSelect } from '@/components/input/WebsiteSelect'; export function BoardEditHeader() { const { board, updateBoard, saveBoard, isPending } = useBoard(); const { t, labels } = useMessages(); - const { router, renderUrl } = useNavigation(); + const { router, renderUrl, teamId } = useNavigation(); const defaultName = t(labels.untitled); const handleNameChange = (value: string) => { @@ -81,7 +81,11 @@ export function BoardEditHeader() { {t(labels.website)} - +
diff --git a/src/app/(main)/boards/[boardId]/BoardRow.tsx b/src/app/(main)/boards/[boardId]/BoardRow.tsx index 7c5ee47ef..49e04bca7 100644 --- a/src/app/(main)/boards/[boardId]/BoardRow.tsx +++ b/src/app/(main)/boards/[boardId]/BoardRow.tsx @@ -5,7 +5,7 @@ import { Group, type GroupImperativeHandle, Panel, Separator } from 'react-resiz import { v4 as uuid } from 'uuid'; import { useBoard } from '@/components/hooks'; import { ChevronDown, Minus, Plus } from '@/components/icons'; -import type { BoardColumn as BoardColumnType } from '@/lib/types'; +import type { BoardColumn as BoardColumnType, BoardComponentConfig } from '@/lib/types'; import { BoardColumn } from './BoardColumn'; import { MAX_COLUMNS, MIN_COLUMN_WIDTH } from './boardConstants'; @@ -61,6 +61,20 @@ export function BoardRow({ }); }; + const handleSetComponent = (columnId: string, config: BoardComponentConfig | null) => { + updateBoard({ + parameters: produce(board.parameters, draft => { + const row = draft.rows.find(row => row.id === rowId); + if (row) { + const col = row.columns.find(col => col.id === columnId); + if (col) { + col.component = config; + } + } + }), + }); + }; + return ( {columns?.map((column, index) => ( @@ -70,6 +84,7 @@ export function BoardRow({ {...column} editing={editing} onRemove={handleRemoveColumn} + onSetComponent={handleSetComponent} canRemove={columns?.length > 1} /> diff --git a/src/app/(main)/boards/boardComponentRegistry.tsx b/src/app/(main)/boards/boardComponentRegistry.tsx new file mode 100644 index 000000000..de6c51440 --- /dev/null +++ b/src/app/(main)/boards/boardComponentRegistry.tsx @@ -0,0 +1,201 @@ +import type { ComponentType } from 'react'; +import { Attribution } from '@/app/(main)/websites/[websiteId]/(reports)/attribution/Attribution'; +import { Breakdown } from '@/app/(main)/websites/[websiteId]/(reports)/breakdown/Breakdown'; +import { Funnel } from '@/app/(main)/websites/[websiteId]/(reports)/funnels/Funnel'; +import { Goal } from '@/app/(main)/websites/[websiteId]/(reports)/goals/Goal'; +import { Journey } from '@/app/(main)/websites/[websiteId]/(reports)/journeys/Journey'; +import { Retention } from '@/app/(main)/websites/[websiteId]/(reports)/retention/Retention'; +import { Revenue } from '@/app/(main)/websites/[websiteId]/(reports)/revenue/Revenue'; +import { UTM } from '@/app/(main)/websites/[websiteId]/(reports)/utm/UTM'; +import { WebsiteChart } from '@/app/(main)/websites/[websiteId]/WebsiteChart'; +import { WebsiteMetricsBar } from '@/app/(main)/websites/[websiteId]/WebsiteMetricsBar'; +import { EventsChart } from '@/components/metrics/EventsChart'; +import { MetricsTable } from '@/components/metrics/MetricsTable'; +import { WeeklyTraffic } from '@/components/metrics/WeeklyTraffic'; +import { WorldMap } from '@/components/metrics/WorldMap'; + +export interface ConfigField { + name: string; + label: string; + type: 'select' | 'number' | 'text'; + options?: { label: string; value: string }[]; + defaultValue?: any; +} + +export interface ComponentDefinition { + type: string; + name: string; + description: string; + category: string; + component: ComponentType; + defaultProps?: Record; + configFields?: ConfigField[]; +} + +export const CATEGORIES = [ + { key: 'overview', name: 'Overview' }, + { key: 'tables', name: 'Tables' }, + { key: 'visualization', name: 'Visualization' }, + { key: 'reports', name: 'Reports' }, +] as const; + +const METRIC_TYPES = [ + { label: 'Pages', value: 'path' }, + { label: 'Entry pages', value: 'entry' }, + { label: 'Exit pages', value: 'exit' }, + { label: 'Referrers', value: 'referrer' }, + { label: 'Channels', value: 'channel' }, + { label: 'Browsers', value: 'browser' }, + { label: 'OS', value: 'os' }, + { label: 'Devices', value: 'device' }, + { label: 'Countries', value: 'country' }, + { label: 'Regions', value: 'region' }, + { label: 'Cities', value: 'city' }, + { label: 'Languages', value: 'language' }, + { label: 'Screens', value: 'screen' }, + { label: 'Query parameters', value: 'query' }, + { label: 'Page titles', value: 'title' }, + { label: 'Hosts', value: 'host' }, + { label: 'Events', value: 'event' }, +]; + +const LIMIT_OPTIONS = [ + { label: '5', value: '5' }, + { label: '10', value: '10' }, + { label: '20', value: '20' }, +]; + +const componentDefinitions: ComponentDefinition[] = [ + // Overview + { + type: 'WebsiteMetricsBar', + name: 'Metrics bar', + description: 'Key metrics: views, visitors, bounces, time on site', + category: 'overview', + component: WebsiteMetricsBar, + }, + { + type: 'WebsiteChart', + name: 'Website chart', + description: 'Page views and visitors over time', + category: 'overview', + component: WebsiteChart, + }, + + // Tables + { + type: 'MetricsTable', + name: 'Metrics table', + description: 'Table of metrics by dimension', + category: 'tables', + component: MetricsTable, + defaultProps: { type: 'path', limit: 10 }, + configFields: [ + { + name: 'type', + label: 'Metric type', + type: 'select', + options: METRIC_TYPES, + defaultValue: 'path', + }, + { + name: 'limit', + label: 'Rows', + type: 'select', + options: LIMIT_OPTIONS, + defaultValue: '10', + }, + ], + }, + + // Visualization + { + type: 'WorldMap', + name: 'World map', + description: 'Geographic distribution of visitors', + category: 'visualization', + component: WorldMap, + }, + { + type: 'WeeklyTraffic', + name: 'Weekly traffic', + description: 'Traffic heatmap by day and hour', + category: 'visualization', + component: WeeklyTraffic, + }, + { + type: 'EventsChart', + name: 'Events chart', + description: 'Custom events over time', + category: 'visualization', + component: EventsChart, + }, + + // Reports + { + type: 'Retention', + name: 'Retention', + description: 'User retention cohort analysis', + category: 'reports', + component: Retention, + }, + { + type: 'Funnel', + name: 'Funnel', + description: 'Conversion funnel visualization', + category: 'reports', + component: Funnel, + }, + { + type: 'Goal', + name: 'Goal', + description: 'Goal tracking and progress', + category: 'reports', + component: Goal, + }, + { + type: 'Journey', + name: 'Journey', + description: 'User navigation flow', + category: 'reports', + component: Journey, + }, + { + type: 'UTM', + name: 'UTM', + description: 'UTM campaign performance', + category: 'reports', + component: UTM, + }, + { + type: 'Revenue', + name: 'Revenue', + description: 'Revenue analytics and trends', + category: 'reports', + component: Revenue, + }, + { + type: 'Attribution', + name: 'Attribution', + description: 'Traffic source attribution', + category: 'reports', + component: Attribution, + }, + { + type: 'Breakdown', + name: 'Breakdown', + description: 'Multi-dimensional data breakdown', + category: 'reports', + component: Breakdown, + }, +]; + +const definitionMap = new Map(componentDefinitions.map(def => [def.type, def])); + +export function getComponentDefinition(type: string): ComponentDefinition | undefined { + return definitionMap.get(type); +} + +export function getComponentsByCategory(category: string): ComponentDefinition[] { + return componentDefinitions.filter(def => def.category === category); +} diff --git a/src/lib/types.ts b/src/lib/types.ts index 26fdd09fd..c06fe0e35 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -1,5 +1,4 @@ import type { UseQueryOptions } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import type { Board as PrismaBoard } from '@/generated/prisma/client'; import type { DATA_TYPE, OPERATORS, ROLES } from './constants'; import type { TIME_UNIT } from './date'; @@ -145,15 +144,14 @@ export interface ApiError extends Error { message: string; } -export interface BoardComponent { - id: string; +export interface BoardComponentConfig { type: string; - value: string; + props?: Record; } export interface BoardColumn { id: string; - component?: ReactElement; + component?: BoardComponentConfig; size?: number; } From 2c7ab2b73429305c2592b96ffb976fdbd5c4f636 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Mon, 9 Feb 2026 02:46:30 -0800 Subject: [PATCH 24/55] Use i18n for board component strings, show controls in edit mode, require website before editing - Replace raw strings with useMessages hook in BoardColumn and BoardComponentSelect - Show WebsiteControls on edit screen so users can test filters - Disable board body editing until a website is selected - Scope website select to team websites when editing a team board Co-Authored-By: Claude Opus 4.6 --- public/intl/messages/en-US.json | 3 +++ src/app/(main)/boards/[boardId]/BoardBody.tsx | 6 +++-- .../(main)/boards/[boardId]/BoardColumn.tsx | 5 ++-- .../boards/[boardId]/BoardComponentSelect.tsx | 24 +++++++------------ src/app/(main)/boards/[boardId]/BoardPage.tsx | 4 ++-- src/components/messages.ts | 3 +++ 6 files changed, 23 insertions(+), 22 deletions(-) diff --git a/public/intl/messages/en-US.json b/public/intl/messages/en-US.json index 5fe797d85..3fdffef66 100644 --- a/public/intl/messages/en-US.json +++ b/public/intl/messages/en-US.json @@ -255,6 +255,7 @@ "select-date": "Select date", "select-filter": "Select filter", "select-role": "Select role", + "select-component": "Select component", "select-website": "Select website", "session": "Session", "session-data": "Session data", @@ -371,6 +372,8 @@ "reset-website": "To reset this website, type {confirmation} in the box below to confirm.", "reset-website-warning": "All statistics for this website will be deleted, but your settings will remain intact.", "saved": "Saved.", + "select-component-preview": "Select a component to preview", + "select-website-first": "Select a website first", "sever-error": "Server error", "share-url": "Your website stats are publicly available at the following URL:", "team-already-member": "You are already a member of the team.", diff --git a/src/app/(main)/boards/[boardId]/BoardBody.tsx b/src/app/(main)/boards/[boardId]/BoardBody.tsx index 5e2c32264..e3c363cb3 100644 --- a/src/app/(main)/boards/[boardId]/BoardBody.tsx +++ b/src/app/(main)/boards/[boardId]/BoardBody.tsx @@ -103,6 +103,8 @@ export function BoardBody() { }); }; + const websiteId = board?.parameters?.websiteId; + const canEdit = editing && !!websiteId; const rows = board?.parameters?.rows ?? []; const minHeight = (rows?.length || 1) * MAX_ROW_HEIGHT + BUTTON_ROW_HEIGHT; @@ -121,7 +123,7 @@ export function BoardBody() { rowId={row.id} rowIndex={index} rowCount={rows?.length} - editing={editing} + editing={canEdit} onRemove={handleRemoveRow} onMoveUp={handleMoveRowUp} onMoveDown={handleMoveRowDown} @@ -131,7 +133,7 @@ export function BoardBody() { {index < rows?.length - 1 && } ))} - {editing && ( + {canEdit && ( diff --git a/src/app/(main)/boards/[boardId]/BoardColumn.tsx b/src/app/(main)/boards/[boardId]/BoardColumn.tsx index 4cffe00b6..8be9c02da 100644 --- a/src/app/(main)/boards/[boardId]/BoardColumn.tsx +++ b/src/app/(main)/boards/[boardId]/BoardColumn.tsx @@ -9,7 +9,7 @@ import { TooltipTrigger, } from '@umami/react-zen'; import { useState } from 'react'; -import { useBoard } from '@/components/hooks'; +import { useBoard, useMessages } from '@/components/hooks'; import { Pencil, Plus, X } from '@/components/icons'; import type { BoardComponentConfig } from '@/lib/types'; import { BoardComponentRenderer } from './BoardComponentRenderer'; @@ -32,6 +32,7 @@ export function BoardColumn({ }) { const [showSelect, setShowSelect] = useState(false); const { board } = useBoard(); + const { t, labels } = useMessages(); const websiteId = board?.parameters?.websiteId; const handleSelect = (config: BoardComponentConfig) => { @@ -91,7 +92,7 @@ export function BoardColumn({ )} void; onClose: () => void; }) { + const { t, labels, messages } = useMessages(); const [selectedDef, setSelectedDef] = useState(null); const [configValues, setConfigValues] = useState>({}); @@ -79,13 +71,13 @@ export function BoardComponentSelect({ return ( - + {CATEGORIES.map(cat => { const components = getComponentsByCategory(cat.key); return ( - {cat.name} + {cat.name} {components.map(def => ( - {websiteId ? 'Select a component to preview' : 'Select a website first'} + {websiteId ? t(messages.selectComponentPreview) : t(messages.selectWebsiteFirst)} )} @@ -164,10 +156,10 @@ export function BoardComponentSelect({ diff --git a/src/app/(main)/boards/[boardId]/BoardPage.tsx b/src/app/(main)/boards/[boardId]/BoardPage.tsx index f8b78d6f0..96b1cf865 100644 --- a/src/app/(main)/boards/[boardId]/BoardPage.tsx +++ b/src/app/(main)/boards/[boardId]/BoardPage.tsx @@ -22,10 +22,10 @@ export function BoardPage({ boardId, editing = false }: { boardId?: string; edit } function BoardControls() { - const { board, editing } = useBoard(); + const { board } = useBoard(); const websiteId = board?.parameters?.websiteId; - if (editing || !websiteId) { + if (!websiteId) { return null; } diff --git a/src/components/messages.ts b/src/components/messages.ts index e93cb8f81..955324ba6 100644 --- a/src/components/messages.ts +++ b/src/components/messages.ts @@ -309,6 +309,7 @@ export const labels: Record = { pixel: 'label.pixel', pixels: 'label.pixels', addBoard: 'label.add-board', + selectComponent: 'label.select-component', addLink: 'label.add-link', addPixel: 'label.add-pixel', maximize: 'label.maximize', @@ -367,6 +368,8 @@ export const messages: Record = { noResultsFound: 'message.no-results-found', noWebsitesConfigured: 'message.no-websites-configured', noTeamWebsites: 'message.no-team-websites', + selectComponentPreview: 'message.select-component-preview', + selectWebsiteFirst: 'message.select-website-first', teamWebsitesInfo: 'message.team-websites-info', noMatchPassword: 'message.no-match-password', goToSettings: 'message.go-to-settings', From 156222e0c962f0cd3efe76193605ed0a853a0d4a Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Mon, 9 Feb 2026 11:19:04 -0800 Subject: [PATCH 25/55] Fix tooltip sizing for websitechart --- .gitignore | 1 + pnpm-lock.yaml | 49 -------------------------- src/components/charts/ChartTooltip.tsx | 6 ++-- 3 files changed, 5 insertions(+), 51 deletions(-) diff --git a/.gitignore b/.gitignore index f8814dc9f..038e3e2da 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ package-lock.json /coverage # next.js +next-env.d.ts /.next /out diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 31a8abe75..778b7f0f3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -328,8 +328,6 @@ importers: specifier: ^5.9.3 version: 5.9.3 - dist: {} - packages: '@ampproject/remapping@2.3.0': @@ -527,28 +525,24 @@ packages: engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - libc: [musl] '@biomejs/cli-linux-arm64@2.3.14': resolution: {integrity: sha512-KT67FKfzIw6DNnUNdYlBg+eU24Go3n75GWK6NwU4+yJmDYFe9i/MjiI+U/iEzKvo0g7G7MZqoyrhIYuND2w8QQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - libc: [glibc] '@biomejs/cli-linux-x64-musl@2.3.14': resolution: {integrity: sha512-KQU7EkbBBuHPW3/rAcoiVmhlPtDSGOGRPv9js7qJVpYTzjQmVR+C9Rfcz+ti8YCH+zT1J52tuBybtP4IodjxZQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - libc: [musl] '@biomejs/cli-linux-x64@2.3.14': resolution: {integrity: sha512-ZsZzQsl9U+wxFrGGS4f6UxREUlgHwmEfu1IrXlgNFrNnd5Th6lIJr8KmSzu/+meSa9f4rzFrbEW9LBBA6ScoMA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - libc: [glibc] '@biomejs/cli-win32-arm64@2.3.14': resolution: {integrity: sha512-+IKYkj/pUBbnRf1G1+RlyA3LWiDgra1xpS7H2g4BuOzzRbRB+hmlw0yFsLprHhbbt7jUzbzAbAjK/Pn0FDnh1A==} @@ -1315,105 +1309,89 @@ packages: resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} cpu: [arm64] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-arm@1.2.4': resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} cpu: [arm] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-ppc64@1.2.4': resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} cpu: [ppc64] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-riscv64@1.2.4': resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} cpu: [riscv64] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-s390x@1.2.4': resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} cpu: [s390x] os: [linux] - libc: [glibc] '@img/sharp-libvips-linux-x64@1.2.4': resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} cpu: [x64] os: [linux] - libc: [glibc] '@img/sharp-libvips-linuxmusl-arm64@1.2.4': resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} cpu: [arm64] os: [linux] - libc: [musl] '@img/sharp-libvips-linuxmusl-x64@1.2.4': resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} cpu: [x64] os: [linux] - libc: [musl] '@img/sharp-linux-arm64@0.34.5': resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] - libc: [glibc] '@img/sharp-linux-arm@0.34.5': resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] - libc: [glibc] '@img/sharp-linux-ppc64@0.34.5': resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ppc64] os: [linux] - libc: [glibc] '@img/sharp-linux-riscv64@0.34.5': resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [riscv64] os: [linux] - libc: [glibc] '@img/sharp-linux-s390x@0.34.5': resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] - libc: [glibc] '@img/sharp-linux-x64@0.34.5': resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] - libc: [glibc] '@img/sharp-linuxmusl-arm64@0.34.5': resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] - libc: [musl] '@img/sharp-linuxmusl-x64@0.34.5': resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] - libc: [musl] '@img/sharp-wasm32@0.34.5': resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} @@ -1614,28 +1592,24 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [glibc] '@next/swc-linux-arm64-musl@16.1.6': resolution: {integrity: sha512-S4J2v+8tT3NIO9u2q+S0G5KdvNDjXfAv06OhfOzNDaBn5rw84DGXWndOEB7d5/x852A20sW1M56vhC/tRVbccQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [musl] '@next/swc-linux-x64-gnu@16.1.6': resolution: {integrity: sha512-2eEBDkFlMMNQnkTyPBhQOAyn2qMxyG2eE7GPH2WIDGEpEILcBPI/jdSv4t6xupSP+ot/jkfrCShLAa7+ZUPcJQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [glibc] '@next/swc-linux-x64-musl@16.1.6': resolution: {integrity: sha512-oicJwRlyOoZXVlxmIMaTq7f8pN9QNbdes0q2FXfRsPhfCi8n8JmOZJm5oo1pwDaFbnnD421rVU409M3evFbIqg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [musl] '@next/swc-win32-arm64-msvc@16.1.6': resolution: {integrity: sha512-gQmm8izDTPgs+DCWH22kcDmuUp7NyiJgEl18bcr8irXA5N2m2O+JQIr6f3ct42GOs9c0h8QF3L5SzIxcYAAXXw==} @@ -1690,42 +1664,36 @@ packages: engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - libc: [glibc] '@parcel/watcher-linux-arm-musl@2.5.6': resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - libc: [musl] '@parcel/watcher-linux-arm64-glibc@2.5.6': resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - libc: [glibc] '@parcel/watcher-linux-arm64-musl@2.5.6': resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - libc: [musl] '@parcel/watcher-linux-x64-glibc@2.5.6': resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - libc: [glibc] '@parcel/watcher-linux-x64-musl@2.5.6': resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - libc: [musl] '@parcel/watcher-win32-arm64@2.5.6': resolution: {integrity: sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==} @@ -2601,79 +2569,66 @@ packages: resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==} cpu: [arm] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.57.1': resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==} cpu: [arm] os: [linux] - libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.57.1': resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==} cpu: [arm64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.57.1': resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==} cpu: [arm64] os: [linux] - libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.57.1': resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==} cpu: [loong64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-loong64-musl@4.57.1': resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==} cpu: [loong64] os: [linux] - libc: [musl] '@rollup/rollup-linux-ppc64-gnu@4.57.1': resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==} cpu: [ppc64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-ppc64-musl@4.57.1': resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==} cpu: [ppc64] os: [linux] - libc: [musl] '@rollup/rollup-linux-riscv64-gnu@4.57.1': resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==} cpu: [riscv64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.57.1': resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==} cpu: [riscv64] os: [linux] - libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.57.1': resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==} cpu: [s390x] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.57.1': resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==} cpu: [x64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-musl@4.57.1': resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==} cpu: [x64] os: [linux] - libc: [musl] '@rollup/rollup-openbsd-x64@4.57.1': resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==} @@ -2835,28 +2790,24 @@ packages: engines: {node: '>=10'} cpu: [arm64] os: [linux] - libc: [glibc] '@swc/core-linux-arm64-musl@1.15.11': resolution: {integrity: sha512-PYftgsTaGnfDK4m6/dty9ryK1FbLk+LosDJ/RJR2nkXGc8rd+WenXIlvHjWULiBVnS1RsjHHOXmTS4nDhe0v0w==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - libc: [musl] '@swc/core-linux-x64-gnu@1.15.11': resolution: {integrity: sha512-DKtnJKIHiZdARyTKiX7zdRjiDS1KihkQWatQiCHMv+zc2sfwb4Glrodx2VLOX4rsa92NLR0Sw8WLcPEMFY1szQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] - libc: [glibc] '@swc/core-linux-x64-musl@1.15.11': resolution: {integrity: sha512-mUjjntHj4+8WBaiDe5UwRNHuEzLjIWBTSGTw0JT9+C9/Yyuh4KQqlcEQ3ro6GkHmBGXBFpGIj/o5VMyRWfVfWw==} engines: {node: '>=10'} cpu: [x64] os: [linux] - libc: [musl] '@swc/core-win32-arm64-msvc@1.15.11': resolution: {integrity: sha512-ZkNNG5zL49YpaFzfl6fskNOSxtcZ5uOYmWBkY4wVAvgbSAQzLRVBp+xArGWh2oXlY/WgL99zQSGTv7RI5E6nzA==} diff --git a/src/components/charts/ChartTooltip.tsx b/src/components/charts/ChartTooltip.tsx index ac1e52e7b..1ce96e395 100644 --- a/src/components/charts/ChartTooltip.tsx +++ b/src/components/charts/ChartTooltip.tsx @@ -19,9 +19,11 @@ export function ChartTooltip({ borderRadius="md" style={{ backgroundColor: 'rgba(0,0,0,0.8)' }} > - {title} + {title && {title}} - {value} + + {value} +
From f92aa025f6983e4b0d2f8920b7d5c02cafe44c59 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Mon, 9 Feb 2026 17:48:28 -0800 Subject: [PATCH 26/55] do not pass in shareId in websiteEditForm --- .../(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx b/src/app/(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx index 49344558c..63d370383 100644 --- a/src/app/(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx @@ -8,7 +8,8 @@ export function WebsiteEditForm({ websiteId, onSave }: { websiteId: string; onSa const { mutateAsync, error, touch, toast } = useUpdateQuery(`/websites/${websiteId}`); const handleSubmit = async (data: any) => { - await mutateAsync(data, { + const { shareId, ...updateData } = data; + await mutateAsync(updateData, { onSuccess: async () => { toast(t(messages.saved)); touch('websites'); From 078f0827212866e566f3afca2504d32ceec55402 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Mon, 9 Feb 2026 17:48:28 -0800 Subject: [PATCH 27/55] do not pass in shareId in websiteEditForm --- .../(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx b/src/app/(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx index 4ae819ee5..cbc88cd86 100644 --- a/src/app/(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx +++ b/src/app/(main)/websites/[websiteId]/settings/WebsiteEditForm.tsx @@ -8,7 +8,8 @@ export function WebsiteEditForm({ websiteId, onSave }: { websiteId: string; onSa const { mutateAsync, error, touch, toast } = useUpdateQuery(`/websites/${websiteId}`); const handleSubmit = async (data: any) => { - await mutateAsync(data, { + const { shareId, ...updateData } = data; + await mutateAsync(updateData, { onSuccess: async () => { toast(formatMessage(messages.saved)); touch('websites'); From 1f0de47c01a463109640ea76fae98581a111165f Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Tue, 10 Feb 2026 13:22:40 -0800 Subject: [PATCH 28/55] fix mobile nav --- src/app/(main)/MobileNav.tsx | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/app/(main)/MobileNav.tsx b/src/app/(main)/MobileNav.tsx index 85d03b175..ff7fe73a5 100644 --- a/src/app/(main)/MobileNav.tsx +++ b/src/app/(main)/MobileNav.tsx @@ -1,11 +1,11 @@ -import { Grid, Row, Text } from '@umami/react-zen'; +import { Column, Grid, Row, Text } from '@umami/react-zen'; import Link from 'next/link'; import { WebsiteNav } from '@/app/(main)/websites/[websiteId]/WebsiteNav'; import { IconLabel } from '@/components/common/IconLabel'; import { useMessages, useNavigation } from '@/components/hooks'; -import { Globe, Grid2x2, LinkIcon } from '@/components/icons'; +import { Globe, Grid2x2, LayoutDashboard, LinkIcon } from '@/components/icons'; import { MobileMenuButton } from '@/components/input/MobileMenuButton'; -import { TeamsButton } from '@/components/input/TeamsButton'; +import { UserButton } from '@/components/input/UserButton'; import { Logo } from '@/components/svg'; import { AdminNav } from './admin/AdminNav'; import { SettingsNav } from './settings/SettingsNav'; @@ -15,8 +15,15 @@ export function MobileNav() { const { pathname, websiteId, renderUrl } = useNavigation(); const isAdmin = pathname.includes('/admin'); const isSettings = pathname.includes('/settings'); + const isMain = !websiteId && !isAdmin && !isSettings; const links = [ + { + id: 'boards', + label: t(labels.boards), + path: '/boards', + icon: , + }, { id: 'websites', label: t(labels.websites), @@ -42,21 +49,24 @@ export function MobileNav() { {({ close }) => { return ( - <> - - - {links.map(link => { + + {isMain && + links.map(link => { return ( - - - + + + + + ); })} - {websiteId && } {isAdmin && } {isSettings && } - + + + +
); }} From 400a35d7af6284251d097efdc6bd3cb31ff248ca Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 12 Feb 2026 16:30:43 -0800 Subject: [PATCH 29/55] Prevent unnecessary chart and board component re-renders --- .../boards/[boardId]/BoardColumn.module.css | 17 ++++++ .../(main)/boards/[boardId]/BoardColumn.tsx | 37 ++++++++--- .../[boardId]/BoardComponentRenderer.tsx | 11 +++- src/components/charts/BarChart.tsx | 61 +++++++++++++++---- 4 files changed, 104 insertions(+), 22 deletions(-) create mode 100644 src/app/(main)/boards/[boardId]/BoardColumn.module.css diff --git a/src/app/(main)/boards/[boardId]/BoardColumn.module.css b/src/app/(main)/boards/[boardId]/BoardColumn.module.css new file mode 100644 index 000000000..895e62058 --- /dev/null +++ b/src/app/(main)/boards/[boardId]/BoardColumn.module.css @@ -0,0 +1,17 @@ +.column { + position: relative; +} + +.columnAction { + opacity: 0; + visibility: hidden; + pointer-events: none; + transition: opacity 120ms ease; +} + +.column:hover .columnAction, +.column:focus-within .columnAction { + opacity: 1; + visibility: visible; + pointer-events: auto; +} diff --git a/src/app/(main)/boards/[boardId]/BoardColumn.tsx b/src/app/(main)/boards/[boardId]/BoardColumn.tsx index 8be9c02da..0db07b2cc 100644 --- a/src/app/(main)/boards/[boardId]/BoardColumn.tsx +++ b/src/app/(main)/boards/[boardId]/BoardColumn.tsx @@ -8,10 +8,11 @@ import { Tooltip, TooltipTrigger, } from '@umami/react-zen'; -import { useState } from 'react'; +import { useMemo, useState } from 'react'; import { useBoard, useMessages } from '@/components/hooks'; import { Pencil, Plus, X } from '@/components/icons'; import type { BoardComponentConfig } from '@/lib/types'; +import styles from './BoardColumn.module.css'; import { BoardComponentRenderer } from './BoardComponentRenderer'; import { BoardComponentSelect } from './BoardComponentSelect'; @@ -34,6 +35,13 @@ export function BoardColumn({ const { board } = useBoard(); const { t, labels } = useMessages(); const websiteId = board?.parameters?.websiteId; + const renderedComponent = useMemo(() => { + if (!component || !websiteId) { + return null; + } + + return ; + }, [component, websiteId]); const handleSelect = (config: BoardComponentConfig) => { onSetComponent?.(id, config); @@ -50,11 +58,18 @@ export function BoardColumn({ justifyContent="center" backgroundColor="surface-sunken" position="relative" + className={styles.column} > {editing && canRemove && ( - + - - Remove column + {hasComponent ? 'Remove component' : 'Remove column'} )} From 57c4a6ed51357cf16fb7c8ad7ca678c858d6872d Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 12 Feb 2026 21:13:54 -0800 Subject: [PATCH 37/55] docs: add AGENTS.md contributor guidance --- AGENTS.md | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000..764b35112 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,97 @@ +# AGENTS.md + +This file provides guidance for AI coding agents working in this repository. + +## Project overview + +Umami is a privacy-focused web analytics platform built with Next.js 15, React 19, and TypeScript. + +- Primary database: PostgreSQL +- Optional analytics backend: ClickHouse +- Optional cache/session backend: Redis + +## Development rules + +- Assume a dev server is already running on port `3001`. +- Do **not** start another dev server. +- Use `pnpm` (not `npm` or `yarn`). +- Avoid destructive shell commands unless explicitly requested. +- Ask before running `git commit` or `git push`. + +## Common commands + +```bash +# Development +pnpm dev +pnpm build +pnpm start + +# Database +pnpm build-db +pnpm update-db +pnpm check-db +pnpm seed-data + +# Code quality +pnpm lint +pnpm format +pnpm check +pnpm test + +# Build specific parts +pnpm build-tracker +pnpm build-geo +``` + +## Architecture + +- `src/app/`: Next.js App Router routes and API endpoints +- `src/components/`: UI components and hooks +- `src/lib/`: shared utilities and infrastructure helpers +- `src/queries/`: data access layer (Prisma + raw SQL) +- `src/store/`: Zustand stores +- `src/tracker/`: standalone client tracking script +- `prisma/`: schema and migrations + +## Key implementation patterns + +### API request validation + +Use Zod + `parseRequest` in API handlers: + +```ts +const schema = z.object({ /* fields */ }); +const { body, error } = await parseRequest(request, schema); +if (error) return error(); +``` + +### Authentication + +- JWT via `Authorization: Bearer ` +- Share token via `x-umami-share-token` +- Role model: `admin`, `manager`, `user` + +### Client data fetching + +- React Query defaults: `staleTime` 60s, no retry, no refetch on window focus + +### Styling + +- CSS Modules with CSS variables and theme support + +## Environment variables + +Common env vars: + +- `DATABASE_URL` +- `APP_SECRET` +- `CLICKHOUSE_URL` +- `REDIS_URL` +- `BASE_PATH` +- `DEBUG` + +## Runtime requirements + +- Node.js 18.18+ +- PostgreSQL 12.14+ +- `pnpm` From b09694ddb6a9f2dd3db0591b82e043d6ab7024a3 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 12 Feb 2026 21:32:14 -0800 Subject: [PATCH 38/55] Remove report components from boards and sanitize saved layouts --- src/app/(main)/boards/BoardProvider.tsx | 33 ++++++++- .../(main)/boards/boardComponentRegistry.tsx | 67 ------------------- 2 files changed, 31 insertions(+), 69 deletions(-) diff --git a/src/app/(main)/boards/BoardProvider.tsx b/src/app/(main)/boards/BoardProvider.tsx index f4f6b7e0f..e2a60819f 100644 --- a/src/app/(main)/boards/BoardProvider.tsx +++ b/src/app/(main)/boards/BoardProvider.tsx @@ -5,6 +5,7 @@ import { v4 as uuid } from 'uuid'; import { useApi, useMessages, useModified, useNavigation } from '@/components/hooks'; import { useBoardQuery } from '@/components/hooks/queries/useBoardQuery'; import type { Board, BoardParameters } from '@/lib/types'; +import { getComponentDefinition } from './boardComponentRegistry'; export type LayoutGetter = () => Partial | null; @@ -27,6 +28,29 @@ const createDefaultBoard = (): Partial => ({ }, }); +function sanitizeBoardParameters(parameters?: BoardParameters): BoardParameters | undefined { + if (!parameters?.rows) { + return parameters; + } + + return { + ...parameters, + rows: parameters.rows.map(row => ({ + ...row, + columns: row.columns.map(column => { + if (column.component && !getComponentDefinition(column.component.type)) { + return { + ...column, + component: null, + }; + } + + return column; + }), + })), + }; +} + export function BoardProvider({ boardId, editing = false, @@ -52,7 +76,10 @@ export function BoardProvider({ useEffect(() => { if (data) { - setBoard(data); + setBoard({ + ...data, + parameters: sanitizeBoardParameters(data.parameters), + }); } }, [data]); @@ -74,7 +101,9 @@ export function BoardProvider({ // Get current layout sizes from BoardBody if registered const layoutData = layoutGetterRef.current?.(); - const parameters = layoutData ? { ...board.parameters, ...layoutData } : board.parameters; + const parameters = sanitizeBoardParameters( + layoutData ? { ...board.parameters, ...layoutData } : board.parameters, + ); const result = await mutateAsync({ ...board, diff --git a/src/app/(main)/boards/boardComponentRegistry.tsx b/src/app/(main)/boards/boardComponentRegistry.tsx index de6c51440..82843cca9 100644 --- a/src/app/(main)/boards/boardComponentRegistry.tsx +++ b/src/app/(main)/boards/boardComponentRegistry.tsx @@ -1,12 +1,4 @@ import type { ComponentType } from 'react'; -import { Attribution } from '@/app/(main)/websites/[websiteId]/(reports)/attribution/Attribution'; -import { Breakdown } from '@/app/(main)/websites/[websiteId]/(reports)/breakdown/Breakdown'; -import { Funnel } from '@/app/(main)/websites/[websiteId]/(reports)/funnels/Funnel'; -import { Goal } from '@/app/(main)/websites/[websiteId]/(reports)/goals/Goal'; -import { Journey } from '@/app/(main)/websites/[websiteId]/(reports)/journeys/Journey'; -import { Retention } from '@/app/(main)/websites/[websiteId]/(reports)/retention/Retention'; -import { Revenue } from '@/app/(main)/websites/[websiteId]/(reports)/revenue/Revenue'; -import { UTM } from '@/app/(main)/websites/[websiteId]/(reports)/utm/UTM'; import { WebsiteChart } from '@/app/(main)/websites/[websiteId]/WebsiteChart'; import { WebsiteMetricsBar } from '@/app/(main)/websites/[websiteId]/WebsiteMetricsBar'; import { EventsChart } from '@/components/metrics/EventsChart'; @@ -36,7 +28,6 @@ export const CATEGORIES = [ { key: 'overview', name: 'Overview' }, { key: 'tables', name: 'Tables' }, { key: 'visualization', name: 'Visualization' }, - { key: 'reports', name: 'Reports' }, ] as const; const METRIC_TYPES = [ @@ -130,64 +121,6 @@ const componentDefinitions: ComponentDefinition[] = [ category: 'visualization', component: EventsChart, }, - - // Reports - { - type: 'Retention', - name: 'Retention', - description: 'User retention cohort analysis', - category: 'reports', - component: Retention, - }, - { - type: 'Funnel', - name: 'Funnel', - description: 'Conversion funnel visualization', - category: 'reports', - component: Funnel, - }, - { - type: 'Goal', - name: 'Goal', - description: 'Goal tracking and progress', - category: 'reports', - component: Goal, - }, - { - type: 'Journey', - name: 'Journey', - description: 'User navigation flow', - category: 'reports', - component: Journey, - }, - { - type: 'UTM', - name: 'UTM', - description: 'UTM campaign performance', - category: 'reports', - component: UTM, - }, - { - type: 'Revenue', - name: 'Revenue', - description: 'Revenue analytics and trends', - category: 'reports', - component: Revenue, - }, - { - type: 'Attribution', - name: 'Attribution', - description: 'Traffic source attribution', - category: 'reports', - component: Attribution, - }, - { - type: 'Breakdown', - name: 'Breakdown', - description: 'Multi-dimensional data breakdown', - category: 'reports', - component: Breakdown, - }, ]; const definitionMap = new Map(componentDefinitions.map(def => [def.type, def])); From d8c41ac8a6abe67fc67b94336f2f7bb1dddc9c1c Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 12 Feb 2026 22:36:23 -0800 Subject: [PATCH 39/55] Split board view/edit rendering and isolate edit interactions --- src/app/(main)/boards/BoardProvider.tsx | 2 +- .../(main)/boards/[boardId]/BoardControls.tsx | 18 ++++++ .../{BoardBody.tsx => BoardEditBody.tsx} | 31 ++++++---- .../{BoardColumn.tsx => BoardEditColumn.tsx} | 42 ++++++-------- .../[boardId]/BoardEditLayout.module.css | 46 +++++++++++++++ .../(main)/boards/[boardId]/BoardEditPage.tsx | 21 +++++++ .../{BoardRow.tsx => BoardEditRow.tsx} | 57 +++++++++++-------- .../(main)/boards/[boardId]/BoardHeader.tsx | 13 ----- src/app/(main)/boards/[boardId]/BoardPage.tsx | 33 ----------- .../(main)/boards/[boardId]/BoardViewBody.tsx | 15 +++++ .../boards/[boardId]/BoardViewColumn.tsx | 27 +++++++++ .../(main)/boards/[boardId]/BoardViewPage.tsx | 21 +++++++ .../(main)/boards/[boardId]/BoardViewRow.tsx | 21 +++++++ src/app/(main)/boards/[boardId]/edit/page.tsx | 4 +- src/app/(main)/boards/[boardId]/page.tsx | 9 ++- 15 files changed, 249 insertions(+), 111 deletions(-) create mode 100644 src/app/(main)/boards/[boardId]/BoardControls.tsx rename src/app/(main)/boards/[boardId]/{BoardBody.tsx => BoardEditBody.tsx} (84%) rename src/app/(main)/boards/[boardId]/{BoardColumn.tsx => BoardEditColumn.tsx} (82%) create mode 100644 src/app/(main)/boards/[boardId]/BoardEditLayout.module.css create mode 100644 src/app/(main)/boards/[boardId]/BoardEditPage.tsx rename src/app/(main)/boards/[boardId]/{BoardRow.tsx => BoardEditRow.tsx} (69%) delete mode 100644 src/app/(main)/boards/[boardId]/BoardHeader.tsx delete mode 100644 src/app/(main)/boards/[boardId]/BoardPage.tsx create mode 100644 src/app/(main)/boards/[boardId]/BoardViewBody.tsx create mode 100644 src/app/(main)/boards/[boardId]/BoardViewColumn.tsx create mode 100644 src/app/(main)/boards/[boardId]/BoardViewPage.tsx create mode 100644 src/app/(main)/boards/[boardId]/BoardViewRow.tsx diff --git a/src/app/(main)/boards/BoardProvider.tsx b/src/app/(main)/boards/BoardProvider.tsx index e2a60819f..d0490163e 100644 --- a/src/app/(main)/boards/BoardProvider.tsx +++ b/src/app/(main)/boards/BoardProvider.tsx @@ -99,7 +99,7 @@ export function BoardProvider({ const saveBoard = useCallback(async () => { const defaultName = t(labels.untitled); - // Get current layout sizes from BoardBody if registered + // Get current layout sizes from BoardEditBody if registered const layoutData = layoutGetterRef.current?.(); const parameters = sanitizeBoardParameters( layoutData ? { ...board.parameters, ...layoutData } : board.parameters, diff --git a/src/app/(main)/boards/[boardId]/BoardControls.tsx b/src/app/(main)/boards/[boardId]/BoardControls.tsx new file mode 100644 index 000000000..aed80020b --- /dev/null +++ b/src/app/(main)/boards/[boardId]/BoardControls.tsx @@ -0,0 +1,18 @@ +import { Box } from '@umami/react-zen'; +import { WebsiteControls } from '@/app/(main)/websites/[websiteId]/WebsiteControls'; +import { useBoard } from '@/components/hooks'; + +export function BoardControls() { + const { board } = useBoard(); + const websiteId = board?.parameters?.websiteId; + + if (!websiteId) { + return null; + } + + return ( + + + + ); +} diff --git a/src/app/(main)/boards/[boardId]/BoardBody.tsx b/src/app/(main)/boards/[boardId]/BoardEditBody.tsx similarity index 84% rename from src/app/(main)/boards/[boardId]/BoardBody.tsx rename to src/app/(main)/boards/[boardId]/BoardEditBody.tsx index e3c363cb3..9e660e69b 100644 --- a/src/app/(main)/boards/[boardId]/BoardBody.tsx +++ b/src/app/(main)/boards/[boardId]/BoardEditBody.tsx @@ -4,16 +4,16 @@ import { Fragment, useEffect, useRef } from 'react'; import { Group, type GroupImperativeHandle, Panel, Separator } from 'react-resizable-panels'; import { v4 as uuid } from 'uuid'; import { useBoard } from '@/components/hooks'; -import { Plus } from '@/components/icons'; -import { BoardRow } from './BoardRow'; +import { GripHorizontal, Plus } from '@/components/icons'; +import styles from './BoardEditLayout.module.css'; +import { BoardEditRow } from './BoardEditRow'; import { BUTTON_ROW_HEIGHT, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT } from './boardConstants'; -export function BoardBody() { - const { board, editing, updateBoard, saveBoard, isPending, registerLayoutGetter } = useBoard(); +export function BoardEditBody() { + const { board, updateBoard, registerLayoutGetter } = useBoard(); const rowGroupRef = useRef(null); const columnGroupRefs = useRef>(new Map()); - // Register a function to get current layout sizes on save useEffect(() => { registerLayoutGetter(() => { const rows = board?.parameters?.rows; @@ -104,9 +104,8 @@ export function BoardBody() { }; const websiteId = board?.parameters?.websiteId; - const canEdit = editing && !!websiteId; const rows = board?.parameters?.rows ?? []; - const minHeight = (rows?.length || 1) * MAX_ROW_HEIGHT + BUTTON_ROW_HEIGHT; + const minHeight = (rows.length || 1) * MAX_ROW_HEIGHT + BUTTON_ROW_HEIGHT; return ( @@ -118,22 +117,30 @@ export function BoardBody() { maxSize={MAX_ROW_HEIGHT} defaultSize={row.size} > - - {index < rows?.length - 1 && } + {index < rows.length - 1 && ( + + + + + + + + )} ))} - {canEdit && ( + {!!websiteId && ( diff --git a/src/app/(main)/boards/[boardId]/BoardColumn.tsx b/src/app/(main)/boards/[boardId]/BoardEditColumn.tsx similarity index 82% rename from src/app/(main)/boards/[boardId]/BoardColumn.tsx rename to src/app/(main)/boards/[boardId]/BoardEditColumn.tsx index 334178d78..84c488c1a 100644 --- a/src/app/(main)/boards/[boardId]/BoardColumn.tsx +++ b/src/app/(main)/boards/[boardId]/BoardEditColumn.tsx @@ -1,34 +1,27 @@ -import { - Box, - Button, - Column, - Dialog, - Icon, - Modal, - Tooltip, - TooltipTrigger, -} from '@umami/react-zen'; +import { Box, Button, Dialog, Icon, Modal, Tooltip, TooltipTrigger } from '@umami/react-zen'; import { useMemo, useState } from 'react'; +import { Panel } from '@/components/common/Panel'; import { useBoard, useMessages } from '@/components/hooks'; import { Pencil, Plus, X } from '@/components/icons'; import type { BoardComponentConfig } from '@/lib/types'; +import { getComponentDefinition } from '../boardComponentRegistry'; import styles from './BoardColumn.module.css'; import { BoardComponentRenderer } from './BoardComponentRenderer'; import { BoardComponentSelect } from './BoardComponentSelect'; -export function BoardColumn({ +export function BoardEditColumn({ id, component, - editing = false, + canEdit, onRemove, onSetComponent, canRemove = true, }: { id: string; component?: BoardComponentConfig; - editing?: boolean; - onRemove?: (id: string) => void; - onSetComponent?: (id: string, config: BoardComponentConfig | null) => void; + canEdit: boolean; + onRemove: (id: string) => void; + onSetComponent: (id: string, config: BoardComponentConfig | null) => void; canRemove?: boolean; }) { const [showSelect, setShowSelect] = useState(false); @@ -44,32 +37,33 @@ export function BoardColumn({ }, [component, websiteId]); const handleSelect = (config: BoardComponentConfig) => { - onSetComponent?.(id, config); + onSetComponent(id, config); setShowSelect(false); }; const hasComponent = !!component; const canRemoveAction = hasComponent || canRemove; + const title = component ? getComponentDefinition(component.type)?.name : undefined; const handleRemove = () => { if (hasComponent) { - onSetComponent?.(id, null); + onSetComponent(id, null); } else { - onRemove?.(id); + onRemove(id); } }; return ( - - {editing && canRemoveAction && ( + {canEdit && canRemoveAction && ( {renderedComponent} - {editing && ( + {canEdit && ( ) : ( - editing && ( + canEdit && ( From db637864f6d815f2ab95665dd953b70762b6d7de Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 13 Feb 2026 00:18:51 -0800 Subject: [PATCH 42/55] Move board component metadata editing into modal --- .../boards/[boardId]/BoardComponentSelect.tsx | 175 ++++++++++++++---- .../boards/[boardId]/BoardEditColumn.tsx | 76 ++++---- .../boards/[boardId]/BoardViewColumn.tsx | 5 +- src/components/common/Panel.tsx | 4 + src/lib/types.ts | 2 + 5 files changed, 182 insertions(+), 80 deletions(-) diff --git a/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx b/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx index 02ab85c77..5619a8e06 100644 --- a/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx +++ b/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx @@ -1,5 +1,14 @@ -import { Button, Column, Focusable, ListItem, Row, Select, Text } from '@umami/react-zen'; -import { useState } from 'react'; +import { + Button, + Column, + Focusable, + ListItem, + Row, + Select, + Text, + TextField, +} from '@umami/react-zen'; +import { useEffect, useMemo, useState } from 'react'; import { Panel } from '@/components/common/Panel'; import { useMessages } from '@/components/hooks'; import type { BoardComponentConfig } from '@/lib/types'; @@ -13,29 +22,66 @@ import { BoardComponentRenderer } from './BoardComponentRenderer'; export function BoardComponentSelect({ websiteId, + initialConfig, onSelect, onClose, }: { websiteId: string; + initialConfig?: BoardComponentConfig; onSelect: (config: BoardComponentConfig) => void; onClose: () => void; }) { const { t, labels, messages } = useMessages(); const [selectedDef, setSelectedDef] = useState(null); const [configValues, setConfigValues] = useState>({}); + const [title, setTitle] = useState(''); + const [description, setDescription] = useState(''); - const handleSelectComponent = (def: ComponentDefinition) => { - setSelectedDef(def); + const allDefinitions = useMemo( + () => CATEGORIES.flatMap(category => getComponentsByCategory(category.key)), + [], + ); + + const getDefaultConfigValues = (def: ComponentDefinition, config?: BoardComponentConfig) => { const defaults: Record = {}; - if (def.configFields) { - for (const field of def.configFields) { - defaults[field.name] = field.defaultValue; - } + + for (const field of def.configFields ?? []) { + defaults[field.name] = field.defaultValue; } + if (def.defaultProps) { Object.assign(defaults, def.defaultProps); } - setConfigValues(defaults); + + if (config?.props) { + Object.assign(defaults, config.props); + } + + return defaults; + }; + + useEffect(() => { + if (!initialConfig) { + return; + } + + const definition = allDefinitions.find(def => def.type === initialConfig.type); + + if (!definition) { + return; + } + + setSelectedDef(definition); + setConfigValues(getDefaultConfigValues(definition, initialConfig)); + setTitle(initialConfig.title || definition.name); + setDescription(initialConfig.description || ''); + }, [initialConfig, allDefinitions]); + + const handleSelectComponent = (def: ComponentDefinition) => { + setSelectedDef(def); + setConfigValues(getDefaultConfigValues(def)); + setTitle(def.name); + setDescription(''); }; const handleConfigChange = (name: string, value: any) => { @@ -46,16 +92,25 @@ export function BoardComponentSelect({ if (!selectedDef) return; const props: Record = {}; + if (selectedDef.defaultProps) { Object.assign(props, selectedDef.defaultProps); } + Object.assign(props, configValues); - if (props.limit) { - props.limit = Number(props.limit); + for (const field of selectedDef.configFields ?? []) { + if (field.type === 'number' && props[field.name] != null && props[field.name] !== '') { + props[field.name] = Number(props[field.name]); + } } - const config: BoardComponentConfig = { type: selectedDef.type }; + const config: BoardComponentConfig = { + type: selectedDef.type, + title: title || selectedDef.name, + description, + }; + if (Object.keys(props).length > 0) { config.props = props; } @@ -66,6 +121,8 @@ export function BoardComponentSelect({ const previewConfig: BoardComponentConfig | null = selectedDef ? { type: selectedDef.type, + title, + description, props: { ...selectedDef.defaultProps, ...configValues }, } : null; @@ -73,12 +130,13 @@ export function BoardComponentSelect({ return ( - - {CATEGORIES.map(cat => { - const components = getComponentsByCategory(cat.key); + + {CATEGORIES.map(category => { + const components = getComponentsByCategory(category.key); + return ( - - {cat.name} + + {category.name} {components.map(def => ( + - {selectedDef?.configFields && selectedDef.configFields.length > 0 && ( - - {selectedDef.configFields.map((field: ConfigField) => ( - - - {field.label} - - {field.type === 'select' && ( - - )} - - ))} - - )} {previewConfig && websiteId ? ( @@ -147,7 +183,66 @@ export function BoardComponentSelect({ )} + + + {t(labels.properties)} + + + + {t(labels.title)} + + + + + + + {t(labels.description)} + + + + + {selectedDef?.configFields && selectedDef.configFields.length > 0 && ( + + {selectedDef.configFields.map((field: ConfigField) => ( + + + {field.label} + + + {field.type === 'select' && ( + + )} + + {field.type === 'text' && ( + handleConfigChange(field.name, value)} + /> + )} + + {field.type === 'number' && ( + handleConfigChange(field.name, value)} + /> + )} + + ))} + + )} + + - {hasComponent ? 'Remove component' : 'Remove column'} - - - )} - {renderedComponent ? ( - <> - - {renderedComponent} - - {canEdit && ( - + + {hasComponent && ( - Change component + {t(labels.edit)} - - )} - + )} + + + {t(labels.remove)} + + + + )} + {renderedComponent ? ( + + {renderedComponent} + ) : ( canEdit && ( - + + + ) )} @@ -127,6 +126,7 @@ export function BoardEditColumn({ {() => ( setShowSelect(false)} /> diff --git a/src/app/(main)/boards/[boardId]/BoardViewColumn.tsx b/src/app/(main)/boards/[boardId]/BoardViewColumn.tsx index 399a8f30a..61876498d 100644 --- a/src/app/(main)/boards/[boardId]/BoardViewColumn.tsx +++ b/src/app/(main)/boards/[boardId]/BoardViewColumn.tsx @@ -13,10 +13,11 @@ export function BoardViewColumn({ component }: { component?: BoardComponentConfi return null; } - const title = getComponentDefinition(component.type)?.name; + const title = component.title || getComponentDefinition(component.type)?.name; + const description = component.description; return ( - + diff --git a/src/components/common/Panel.tsx b/src/components/common/Panel.tsx index 0af322bc6..ce2bbba30 100644 --- a/src/components/common/Panel.tsx +++ b/src/components/common/Panel.tsx @@ -5,6 +5,7 @@ import { Heading, Icon, Row, + Text, Tooltip, TooltipTrigger, } from '@umami/react-zen'; @@ -14,6 +15,7 @@ import { Maximize, X } from '@/components/icons'; export interface PanelProps extends ColumnProps { title?: string; + description?: string; allowFullscreen?: boolean; } @@ -29,6 +31,7 @@ const fullscreenStyles = { export function Panel({ title, + description, allowFullscreen, style, children, @@ -56,6 +59,7 @@ export function Panel({ style={{ ...style, ...(isFullscreen ? fullscreenStyles : { height, width }) }} > {title && {title}} + {description && {description}} {allowFullscreen && ( diff --git a/src/lib/types.ts b/src/lib/types.ts index c06fe0e35..e2501742d 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -146,6 +146,8 @@ export interface ApiError extends Error { export interface BoardComponentConfig { type: string; + title?: string; + description?: string; props?: Record; } From cda9c684c3e62379b68e60624f6571c16c4320e5 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 13 Feb 2026 01:53:53 -0800 Subject: [PATCH 43/55] Migrate board layout UI to react-zen and preserve empty component titles --- .../boards/[boardId]/BoardColumn.module.css | 17 --- .../boards/[boardId]/BoardComponentSelect.tsx | 8 +- .../(main)/boards/[boardId]/BoardEditBody.tsx | 114 ++++++++++-------- .../boards/[boardId]/BoardEditColumn.tsx | 37 +++--- .../[boardId]/BoardEditLayout.module.css | 46 ------- .../(main)/boards/[boardId]/BoardEditRow.tsx | 99 ++++++++++----- .../(main)/boards/[boardId]/BoardViewBody.tsx | 5 +- .../boards/[boardId]/BoardViewColumn.tsx | 2 +- .../(main)/boards/[boardId]/BoardViewRow.tsx | 17 +-- 9 files changed, 168 insertions(+), 177 deletions(-) delete mode 100644 src/app/(main)/boards/[boardId]/BoardColumn.module.css delete mode 100644 src/app/(main)/boards/[boardId]/BoardEditLayout.module.css diff --git a/src/app/(main)/boards/[boardId]/BoardColumn.module.css b/src/app/(main)/boards/[boardId]/BoardColumn.module.css deleted file mode 100644 index 895e62058..000000000 --- a/src/app/(main)/boards/[boardId]/BoardColumn.module.css +++ /dev/null @@ -1,17 +0,0 @@ -.column { - position: relative; -} - -.columnAction { - opacity: 0; - visibility: hidden; - pointer-events: none; - transition: opacity 120ms ease; -} - -.column:hover .columnAction, -.column:focus-within .columnAction { - opacity: 1; - visibility: visible; - pointer-events: auto; -} diff --git a/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx b/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx index 5619a8e06..d36b9014f 100644 --- a/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx +++ b/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx @@ -73,14 +73,14 @@ export function BoardComponentSelect({ setSelectedDef(definition); setConfigValues(getDefaultConfigValues(definition, initialConfig)); - setTitle(initialConfig.title || definition.name); + setTitle(initialConfig.title ?? ''); setDescription(initialConfig.description || ''); }, [initialConfig, allDefinitions]); const handleSelectComponent = (def: ComponentDefinition) => { setSelectedDef(def); setConfigValues(getDefaultConfigValues(def)); - setTitle(def.name); + setTitle(''); setDescription(''); }; @@ -107,7 +107,7 @@ export function BoardComponentSelect({ const config: BoardComponentConfig = { type: selectedDef.type, - title: title || selectedDef.name, + title, description, }; @@ -248,7 +248,7 @@ export function BoardComponentSelect({ {t(labels.cancel)} diff --git a/src/app/(main)/boards/[boardId]/BoardEditBody.tsx b/src/app/(main)/boards/[boardId]/BoardEditBody.tsx index 6b7c2ecfd..d9c366fb0 100644 --- a/src/app/(main)/boards/[boardId]/BoardEditBody.tsx +++ b/src/app/(main)/boards/[boardId]/BoardEditBody.tsx @@ -1,11 +1,10 @@ -import { Button, Icon, Row, Tooltip, TooltipTrigger } from '@umami/react-zen'; +import { Box, Button, Icon, Row, Tooltip, TooltipTrigger } from '@umami/react-zen'; import { produce } from 'immer'; import { Fragment, useEffect, useRef } from 'react'; import { Group, type GroupImperativeHandle, Panel, Separator } from 'react-resizable-panels'; import { v4 as uuid } from 'uuid'; import { useBoard } from '@/components/hooks'; import { GripHorizontal, Plus } from '@/components/icons'; -import styles from './BoardEditLayout.module.css'; import { BoardEditRow } from './BoardEditRow'; import { BUTTON_ROW_HEIGHT, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT } from './boardConstants'; @@ -108,52 +107,71 @@ export function BoardEditBody() { const minHeight = (rows.length || 1) * MAX_ROW_HEIGHT + BUTTON_ROW_HEIGHT; return ( - - {rows.map((row, index) => ( - - - + + + {rows.map((row, index) => ( + + + + + {index < rows.length - 1 && ( + + + + + + + + )} + + ))} + {!!websiteId && ( + + + + + Add row + + - {index < rows.length - 1 && ( - - - - - - - - )} - - ))} - {!!websiteId && ( - - - - - Add row - - - - )} - + )} + + ); } diff --git a/src/app/(main)/boards/[boardId]/BoardEditColumn.tsx b/src/app/(main)/boards/[boardId]/BoardEditColumn.tsx index 0d65381cc..1fddee66d 100644 --- a/src/app/(main)/boards/[boardId]/BoardEditColumn.tsx +++ b/src/app/(main)/boards/[boardId]/BoardEditColumn.tsx @@ -1,11 +1,20 @@ -import { Box, Button, Dialog, Icon, Modal, Row, Tooltip, TooltipTrigger } from '@umami/react-zen'; +import { + Box, + Button, + Column, + Dialog, + Icon, + Modal, + Row, + Tooltip, + TooltipTrigger, +} from '@umami/react-zen'; import { useMemo, useState } from 'react'; import { Panel } from '@/components/common/Panel'; import { useBoard, useMessages } from '@/components/hooks'; import { Pencil, Plus, X } from '@/components/icons'; import type { BoardComponentConfig } from '@/lib/types'; import { getComponentDefinition } from '../boardComponentRegistry'; -import styles from './BoardColumn.module.css'; import { BoardComponentRenderer } from './BoardComponentRenderer'; import { BoardComponentSelect } from './BoardComponentSelect'; @@ -25,6 +34,7 @@ export function BoardEditColumn({ canRemove?: boolean; }) { const [showSelect, setShowSelect] = useState(false); + const [showActions, setShowActions] = useState(false); const { board } = useBoard(); const { t, labels } = useMessages(); const websiteId = board?.parameters?.websiteId; @@ -44,7 +54,7 @@ export function BoardEditColumn({ const hasComponent = !!component; const canRemoveAction = hasComponent || canRemove; const defaultTitle = component ? getComponentDefinition(component.type)?.name : undefined; - const title = component?.title || defaultTitle; + const title = component?.title ?? defaultTitle; const description = component?.description; const handleRemove = () => { @@ -62,16 +72,11 @@ export function BoardEditColumn({ width="100%" height="100%" position="relative" - className={styles.column} + onMouseEnter={() => setShowActions(true)} + onMouseLeave={() => setShowActions(false)} > - {canEdit && canRemoveAction && ( - + {canEdit && canRemoveAction && showActions && ( + {hasComponent && ( @@ -100,17 +105,13 @@ export function BoardEditColumn({ ) : ( canEdit && ( - + - +
) )} diff --git a/src/app/(main)/boards/[boardId]/BoardEditLayout.module.css b/src/app/(main)/boards/[boardId]/BoardEditLayout.module.css deleted file mode 100644 index 4d540f00d..000000000 --- a/src/app/(main)/boards/[boardId]/BoardEditLayout.module.css +++ /dev/null @@ -1,46 +0,0 @@ -.columnSeparator { - width: 12px; - display: flex; - align-items: center; - justify-content: center; - cursor: col-resize; -} - -.rowSeparator { - height: 12px; - display: flex; - align-items: center; - justify-content: center; - cursor: row-resize; -} - -.separatorHandle { - display: flex; - align-items: center; - justify-content: center; - color: var(--gray-9); -} - -.rowGroup { - position: relative; - height: 100%; -} - -.rowActions { - position: absolute; - top: 50%; - right: 12px; - transform: translateY(-50%); - z-index: 20; - opacity: 0; - visibility: hidden; - pointer-events: none; - transition: opacity 120ms ease; -} - -.rowGroup:hover .rowActions, -.rowGroup:focus-within .rowActions { - opacity: 1; - visibility: visible; - pointer-events: auto; -} diff --git a/src/app/(main)/boards/[boardId]/BoardEditRow.tsx b/src/app/(main)/boards/[boardId]/BoardEditRow.tsx index 2a9dca753..39b47f7a3 100644 --- a/src/app/(main)/boards/[boardId]/BoardEditRow.tsx +++ b/src/app/(main)/boards/[boardId]/BoardEditRow.tsx @@ -1,6 +1,6 @@ -import { Button, Column, Icon, Tooltip, TooltipTrigger } from '@umami/react-zen'; +import { Box, Button, Column, Icon, Row, Tooltip, TooltipTrigger } from '@umami/react-zen'; import { produce } from 'immer'; -import { Fragment } from 'react'; +import { Fragment, useState } from 'react'; import { Group, type GroupImperativeHandle, @@ -12,7 +12,6 @@ import { useBoard } from '@/components/hooks'; import { ChevronDown, GripVertical, Minus, Plus } from '@/components/icons'; import type { BoardColumn as BoardColumnType, BoardComponentConfig } from '@/lib/types'; import { BoardEditColumn } from './BoardEditColumn'; -import styles from './BoardEditLayout.module.css'; import { MAX_COLUMNS, MIN_COLUMN_WIDTH } from './boardConstants'; export function BoardEditRow({ @@ -37,6 +36,7 @@ export function BoardEditRow({ onRegisterRef: (rowId: string, ref: GroupImperativeHandle | null) => void; }) { const { board, updateBoard } = useBoard(); + const [showActions, setShowActions] = useState(false); const handleGroupRef = (ref: GroupImperativeHandle | null) => { onRegisterRef(rowId, ref); @@ -82,35 +82,68 @@ export function BoardEditRow({ }; return ( - - {columns?.map((column, index) => ( - - - 1} - /> - - {index < columns.length - 1 && ( - - - - - - - - )} - - ))} - {canEdit && ( - + setShowActions(true)} + onMouseLeave={() => setShowActions(false)} + > + + {columns?.map((column, index) => ( + + + 1} + /> + + {index < columns.length - 1 && ( + + + + + + + + )} + + ))} + + {canEdit && showActions && ( + + + {t(labels.save)} + + + + ); +} diff --git a/src/app/(main)/dashboard/DashboardEditPage.tsx b/src/app/(main)/dashboard/DashboardEditPage.tsx new file mode 100644 index 000000000..be3aa54c9 --- /dev/null +++ b/src/app/(main)/dashboard/DashboardEditPage.tsx @@ -0,0 +1,33 @@ +'use client'; +import { Column } from '@umami/react-zen'; +import { useEffect } from 'react'; +import { BoardEditBody } from '@/app/(main)/boards/[boardId]/BoardEditBody'; +import { PageBody } from '@/components/common/PageBody'; +import { useNavigation } from '@/components/hooks'; +import { DashboardEditHeader } from './DashboardEditHeader'; +import { DashboardProvider } from './DashboardProvider'; + +export function DashboardEditPage() { + const { teamId, router } = useNavigation(); + + useEffect(() => { + if (teamId) { + router.replace('/dashboard/edit'); + } + }, [teamId, router]); + + if (teamId) { + return null; + } + + return ( + + + + + + + + + ); +} diff --git a/src/app/(main)/dashboard/DashboardPage.tsx b/src/app/(main)/dashboard/DashboardPage.tsx deleted file mode 100644 index 81bb9719d..000000000 --- a/src/app/(main)/dashboard/DashboardPage.tsx +++ /dev/null @@ -1,17 +0,0 @@ -'use client'; -import { Column } from '@umami/react-zen'; -import { PageBody } from '@/components/common/PageBody'; -import { PageHeader } from '@/components/common/PageHeader'; -import { useMessages } from '@/components/hooks'; - -export function DashboardPage() { - const { t, labels } = useMessages(); - - return ( - - - - - - ); -} diff --git a/src/app/(main)/dashboard/DashboardProvider.tsx b/src/app/(main)/dashboard/DashboardProvider.tsx new file mode 100644 index 000000000..96e4aacf5 --- /dev/null +++ b/src/app/(main)/dashboard/DashboardProvider.tsx @@ -0,0 +1,111 @@ +'use client'; +import { Loading, useToast } from '@umami/react-zen'; +import { type ReactNode, useCallback, useEffect, useRef, useState } from 'react'; +import { v4 as uuid } from 'uuid'; +import { BoardContext, type LayoutGetter } from '@/app/(main)/boards/BoardProvider'; +import { getComponentDefinition } from '@/app/(main)/boards/boardComponentRegistry'; +import { useApi, useDashboardQuery, useMessages, useModified } from '@/components/hooks'; +import type { Board, BoardParameters } from '@/lib/types'; + +const createDefaultBoard = (): Partial => ({ + name: '', + description: '', + parameters: { + rows: [{ id: uuid(), columns: [{ id: uuid(), component: null }] }], + }, +}); + +function sanitizeBoardParameters(parameters?: BoardParameters): BoardParameters | undefined { + if (!parameters?.rows) { + return parameters; + } + + return { + ...parameters, + rows: parameters.rows.map(row => ({ + ...row, + columns: row.columns.map(column => { + if (column.component && !getComponentDefinition(column.component.type)) { + return { + ...column, + component: null, + }; + } + + return column; + }), + })), + }; +} + +export function DashboardProvider({ + editing = false, + children, +}: { + editing?: boolean; + children: ReactNode; +}) { + const { data, isFetching, isLoading } = useDashboardQuery(); + const { post, useMutation } = useApi(); + const { touch } = useModified(); + const { toast } = useToast(); + const { t, labels, messages } = useMessages(); + const [board, setBoard] = useState>(data ?? createDefaultBoard()); + const layoutGetterRef = useRef(null); + + const registerLayoutGetter = useCallback((getter: LayoutGetter) => { + layoutGetterRef.current = getter; + }, []); + + useEffect(() => { + if (data) { + setBoard({ + ...data, + parameters: sanitizeBoardParameters(data.parameters), + }); + } + }, [data]); + + const { mutateAsync, isPending } = useMutation({ + mutationFn: (boardData: Partial) => { + return post('/dashboard', boardData); + }, + }); + + const updateBoard = useCallback((data: Partial) => { + setBoard(current => ({ ...current, ...data })); + }, []); + + const saveBoard = useCallback(async () => { + const dashboardName = t(labels.dashboard); + const layoutData = layoutGetterRef.current?.(); + const parameters = sanitizeBoardParameters( + layoutData ? { ...board.parameters, ...layoutData } : board.parameters, + ); + + const result = await mutateAsync({ + ...board, + name: dashboardName, + description: '', + parameters, + }); + + toast(t(messages.saved)); + touch('dashboard'); + touch('boards'); + + return result; + }, [board, labels.dashboard, messages.saved, mutateAsync, t, toast, touch]); + + if (isFetching && isLoading) { + return ; + } + + return ( + + {children} + + ); +} diff --git a/src/app/(main)/dashboard/DashboardViewHeader.tsx b/src/app/(main)/dashboard/DashboardViewHeader.tsx new file mode 100644 index 000000000..6385e80ba --- /dev/null +++ b/src/app/(main)/dashboard/DashboardViewHeader.tsx @@ -0,0 +1,18 @@ +import { IconLabel } from '@/components/common/IconLabel'; +import { LinkButton } from '@/components/common/LinkButton'; +import { PageHeader } from '@/components/common/PageHeader'; +import { useMessages, useNavigation } from '@/components/hooks'; +import { Edit } from '@/components/icons'; + +export function DashboardViewHeader() { + const { t, labels } = useMessages(); + const { renderUrl } = useNavigation(); + + return ( + + + }>{t(labels.edit)} + + + ); +} diff --git a/src/app/(main)/dashboard/DashboardViewPage.tsx b/src/app/(main)/dashboard/DashboardViewPage.tsx new file mode 100644 index 000000000..1ed1977ac --- /dev/null +++ b/src/app/(main)/dashboard/DashboardViewPage.tsx @@ -0,0 +1,49 @@ +'use client'; +import { Column } from '@umami/react-zen'; +import { useEffect } from 'react'; +import { BoardViewBody } from '@/app/(main)/boards/[boardId]/BoardViewBody'; +import { EmptyPlaceholder } from '@/components/common/EmptyPlaceholder'; +import { PageBody } from '@/components/common/PageBody'; +import { useBoard, useMessages, useNavigation } from '@/components/hooks'; +import { DashboardProvider } from './DashboardProvider'; +import { DashboardViewHeader } from './DashboardViewHeader'; + +function DashboardContent() { + const { board } = useBoard(); + const { t, labels, messages } = useMessages(); + const rows = board?.parameters?.rows ?? []; + const hasComponents = rows.some(row => row.columns?.some(column => !!column.component)); + + if (!hasComponents) { + return ( + + ); + } + + return ; +} + +export function DashboardViewPage() { + const { teamId, router } = useNavigation(); + + useEffect(() => { + if (teamId) { + router.replace('/dashboard'); + } + }, [teamId, router]); + + if (teamId) { + return null; + } + + return ( + + + + + + + + + ); +} diff --git a/src/app/(main)/dashboard/edit/page.tsx b/src/app/(main)/dashboard/edit/page.tsx new file mode 100644 index 000000000..bda115a92 --- /dev/null +++ b/src/app/(main)/dashboard/edit/page.tsx @@ -0,0 +1,10 @@ +import type { Metadata } from 'next'; +import { DashboardEditPage } from '../DashboardEditPage'; + +export default function () { + return ; +} + +export const metadata: Metadata = { + title: 'Edit Dashboard', +}; diff --git a/src/app/(main)/dashboard/page.tsx b/src/app/(main)/dashboard/page.tsx index 4b79b598f..185f36b7c 100644 --- a/src/app/(main)/dashboard/page.tsx +++ b/src/app/(main)/dashboard/page.tsx @@ -1,8 +1,8 @@ import type { Metadata } from 'next'; -import { DashboardPage } from './DashboardPage'; +import { DashboardViewPage } from './DashboardViewPage'; export default async function () { - return ; + return ; } export const metadata: Metadata = { diff --git a/src/app/api/dashboard/route.ts b/src/app/api/dashboard/route.ts new file mode 100644 index 000000000..92c8e4c14 --- /dev/null +++ b/src/app/api/dashboard/route.ts @@ -0,0 +1,64 @@ +import { z } from 'zod'; +import { uuid } from '@/lib/crypto'; +import { parseRequest } from '@/lib/request'; +import { json, unauthorized } from '@/lib/response'; +import { createBoard, getBoard, updateBoard } from '@/queries/prisma'; + +export async function GET(request: Request) { + const { auth, error } = await parseRequest(request); + + if (error) { + return error(); + } + + const board = await getBoard(auth.user.id); + + if (board && board.userId !== auth.user.id) { + return unauthorized(); + } + + return json(board); +} + +export async function POST(request: Request) { + const schema = z.object({ + name: z.string().optional(), + description: z.string().optional(), + parameters: z.object({}).passthrough().optional(), + }); + + const { auth, body, error } = await parseRequest(request, schema); + + if (error) { + return error(); + } + + const userId = auth.user.id; + const existing = await getBoard(userId); + + if (existing && existing.userId !== userId) { + return unauthorized(); + } + + const data = { + name: body.name, + description: body.description, + parameters: body.parameters ?? {}, + }; + + if (existing) { + const result = await updateBoard(userId, data); + + return json(result); + } + + const result = await createBoard({ + id: userId, + type: 'dashboard', + slug: uuid(), + userId, + ...data, + }); + + return json(result); +} diff --git a/src/components/hooks/index.ts b/src/components/hooks/index.ts index b92d4ed82..d6b4340a2 100644 --- a/src/components/hooks/index.ts +++ b/src/components/hooks/index.ts @@ -13,6 +13,7 @@ export * from './context/useWebsite'; export * from './queries/useActiveUsersQuery'; export * from './queries/useBoardQuery'; export * from './queries/useBoardsQuery'; +export * from './queries/useDashboardQuery'; export * from './queries/useDateRangeQuery'; export * from './queries/useDeleteQuery'; export * from './queries/useEventDataEventsQuery'; diff --git a/src/components/hooks/queries/useDashboardQuery.ts b/src/components/hooks/queries/useDashboardQuery.ts new file mode 100644 index 000000000..a5afd39b6 --- /dev/null +++ b/src/components/hooks/queries/useDashboardQuery.ts @@ -0,0 +1,16 @@ +import { keepPreviousData } from '@tanstack/react-query'; +import type { ReactQueryOptions } from '@/lib/types'; +import { useApi } from '../useApi'; +import { useModified } from '../useModified'; + +export function useDashboardQuery(options?: ReactQueryOptions) { + const { get, useQuery } = useApi(); + const { modified } = useModified('dashboard'); + + return useQuery({ + queryKey: ['dashboard', { modified }], + queryFn: () => get('/dashboard'), + placeholderData: keepPreviousData, + ...options, + }); +} diff --git a/src/components/input/WebsiteSelect.tsx b/src/components/input/WebsiteSelect.tsx index 02198a99c..3fd28cdd2 100644 --- a/src/components/input/WebsiteSelect.tsx +++ b/src/components/input/WebsiteSelect.tsx @@ -24,7 +24,7 @@ export function WebsiteSelect({ includeTeams?: boolean; isCollapsed?: boolean; } & SelectProps) { - const { t, messages } = useMessages(); + const { t, labels, messages } = useMessages(); const { data: website } = useWebsiteQuery(websiteId); const [name, setName] = useState(website?.name); const [search, setSearch] = useState(''); @@ -57,12 +57,16 @@ export function WebsiteSelect({ return ''; } + const value = name || props.placeholder || t(labels.selectWebsite); + return ( - {name} + + {value} + ); }; diff --git a/src/components/messages.ts b/src/components/messages.ts index 955324ba6..b8b4c0161 100644 --- a/src/components/messages.ts +++ b/src/components/messages.ts @@ -155,7 +155,6 @@ export const labels: Record = { tablet: 'label.tablet', mobile: 'label.mobile', toggleCharts: 'label.toggle-charts', - editDashboard: 'label.edit-dashboard', title: 'label.title', view: 'label.view', cities: 'label.cities', @@ -368,6 +367,7 @@ export const messages: Record = { noResultsFound: 'message.no-results-found', noWebsitesConfigured: 'message.no-websites-configured', noTeamWebsites: 'message.no-team-websites', + emptyDashboard: 'message.empty-dashboard', selectComponentPreview: 'message.select-component-preview', selectWebsiteFirst: 'message.select-website-first', teamWebsitesInfo: 'message.team-websites-info', diff --git a/src/lib/types.ts b/src/lib/types.ts index e2501742d..fd8f1e42b 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -146,6 +146,7 @@ export interface ApiError extends Error { export interface BoardComponentConfig { type: string; + websiteId?: string; title?: string; description?: string; props?: Record; From 509e1f008308f40d47ac6821967ea36d179b40fa Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 13 Feb 2026 18:21:18 -0800 Subject: [PATCH 48/55] Changed out logo. --- src/app/(main)/SideNav.tsx | 4 ++-- src/app/(main)/dashboard/DashboardViewPage.tsx | 8 +++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/app/(main)/SideNav.tsx b/src/app/(main)/SideNav.tsx index 7da6e5643..da40d4877 100644 --- a/src/app/(main)/SideNav.tsx +++ b/src/app/(main)/SideNav.tsx @@ -18,9 +18,9 @@ import { Globe, Grid2x2, LayoutDashboard, - LayoutGrid, LinkIcon, PanelLeft, + PanelsLeftBottom, } from '@/components/icons'; import { UserButton } from '@/components/input/UserButton'; import { Logo } from '@/components/svg'; @@ -37,7 +37,7 @@ export function SideNav(props: any) { id: 'dashboard', label: t(labels.dashboard), path: '/dashboard', - icon: , + icon: , }, ] : []), diff --git a/src/app/(main)/dashboard/DashboardViewPage.tsx b/src/app/(main)/dashboard/DashboardViewPage.tsx index 1ed1977ac..c6749fd35 100644 --- a/src/app/(main)/dashboard/DashboardViewPage.tsx +++ b/src/app/(main)/dashboard/DashboardViewPage.tsx @@ -2,7 +2,7 @@ import { Column } from '@umami/react-zen'; import { useEffect } from 'react'; import { BoardViewBody } from '@/app/(main)/boards/[boardId]/BoardViewBody'; -import { EmptyPlaceholder } from '@/components/common/EmptyPlaceholder'; +import { Empty } from '@/components/common/Empty'; import { PageBody } from '@/components/common/PageBody'; import { useBoard, useMessages, useNavigation } from '@/components/hooks'; import { DashboardProvider } from './DashboardProvider'; @@ -10,14 +10,12 @@ import { DashboardViewHeader } from './DashboardViewHeader'; function DashboardContent() { const { board } = useBoard(); - const { t, labels, messages } = useMessages(); + const { t, messages } = useMessages(); const rows = board?.parameters?.rows ?? []; const hasComponents = rows.some(row => row.columns?.some(column => !!column.component)); if (!hasComponents) { - return ( - - ); + return ; } return ; From 15700a6394a6645b7e83bd1ed8a5cd2f8414ba2c Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 14 Feb 2026 00:07:36 -0800 Subject: [PATCH 49/55] Use component name as default board title --- src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx b/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx index a8f250c73..7222be6b1 100644 --- a/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx +++ b/src/app/(main)/boards/[boardId]/BoardComponentSelect.tsx @@ -82,14 +82,14 @@ export function BoardComponentSelect({ setSelectedDef(definition); setConfigValues(getDefaultConfigValues(definition, initialConfig)); setSelectedWebsiteId(initialConfig.websiteId || websiteId || defaultWebsiteId); - setTitle(initialConfig.title ?? ''); + setTitle(initialConfig.title ?? definition.name); setDescription(initialConfig.description || ''); }, [initialConfig, allDefinitions, websiteId, defaultWebsiteId]); const handleSelectComponent = (def: ComponentDefinition) => { setSelectedDef(def); setConfigValues(getDefaultConfigValues(def)); - setTitle(''); + setTitle(def.name); setDescription(''); }; From e52a6b405b55db3e8814ebcd83e7261d56ec3c56 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 14 Feb 2026 00:20:12 -0800 Subject: [PATCH 50/55] Styles updates for board elements. --- src/app/(main)/TopNav.tsx | 14 +++++++++++++- src/app/(main)/boards/[boardId]/BoardEditBody.tsx | 10 ++++++---- .../(main)/boards/[boardId]/BoardEditColumn.tsx | 4 ++-- src/app/(main)/boards/[boardId]/BoardEditRow.tsx | 4 +++- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/app/(main)/TopNav.tsx b/src/app/(main)/TopNav.tsx index 302f0a2f7..9caaeb73c 100644 --- a/src/app/(main)/TopNav.tsx +++ b/src/app/(main)/TopNav.tsx @@ -38,8 +38,9 @@ export function TopNav() { paddingRight="5" width="100%" zIndex={100} + backgroundColor="surface-raised" > - + {(websiteId || linkId || pixelId || boardId) && ( <> @@ -93,6 +94,17 @@ export function TopNav() { )} +
); } diff --git a/src/app/(main)/boards/[boardId]/BoardEditBody.tsx b/src/app/(main)/boards/[boardId]/BoardEditBody.tsx index a6df61bb5..1bcb79cb4 100644 --- a/src/app/(main)/boards/[boardId]/BoardEditBody.tsx +++ b/src/app/(main)/boards/[boardId]/BoardEditBody.tsx @@ -49,7 +49,7 @@ export function BoardEditBody({ requiresBoardWebsite = true }: { requiresBoardWe } }; - const handleAddRow = () => { + const handle = () => { updateBoard({ parameters: produce(board.parameters, draft => { if (!draft.rows) { @@ -160,14 +160,16 @@ export function BoardEditBody({ requiresBoardWebsite = true }: { requiresBoardWe ))} {canEdit && ( - + - - Add row + + Add row + diff --git a/src/app/(main)/boards/[boardId]/BoardEditColumn.tsx b/src/app/(main)/boards/[boardId]/BoardEditColumn.tsx index 266a78971..f43f7a8c1 100644 --- a/src/app/(main)/boards/[boardId]/BoardEditColumn.tsx +++ b/src/app/(main)/boards/[boardId]/BoardEditColumn.tsx @@ -76,8 +76,8 @@ export function BoardEditColumn({ onMouseLeave={() => setShowActions(false)} > {canEdit && canRemoveAction && showActions && ( - - + + {hasComponent && ( @@ -157,9 +165,10 @@ export function BoardEditRow({ @@ -177,9 +186,10 @@ export function BoardEditRow({ From 6a9e7324579e8298739df3a6cbc35306f1a31a94 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 14 Feb 2026 22:55:36 -0800 Subject: [PATCH 53/55] Updated packages. Remove unneeded offset. --- package.json | 2 +- pnpm-lock.yaml | 57 +++++++++++++++++-- .../(main)/boards/[boardId]/BoardEditBody.tsx | 4 +- 3 files changed, 54 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index c86a0107b..3ca48446e 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "@react-spring/web": "^10.0.3", "@svgr/cli": "^8.1.0", "@tanstack/react-query": "^5.90.20", - "@umami/react-zen": "^0.244.0", + "@umami/react-zen": "^0.245.0", "@umami/redis-client": "^0.30.0", "bcryptjs": "^3.0.2", "chalk": "^5.6.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dbd7654a6..0811d48e6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,8 +42,8 @@ importers: specifier: ^5.90.20 version: 5.90.20(react@19.2.4) '@umami/react-zen': - specifier: ^0.244.0 - version: 0.244.0(@types/react@19.2.13)(immer@10.2.0)(react-aria-components@1.14.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(tailwindcss@4.1.18)(use-sync-external-store@1.6.0(react@19.2.4)) + specifier: ^0.245.0 + version: 0.245.0(@types/react@19.2.13)(immer@10.2.0)(react-aria-components@1.14.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(tailwindcss@4.1.18)(use-sync-external-store@1.6.0(react@19.2.4)) '@umami/redis-client': specifier: ^0.30.0 version: 0.30.0 @@ -564,24 +564,28 @@ packages: engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] + libc: [musl] '@biomejs/cli-linux-arm64@2.3.14': resolution: {integrity: sha512-KT67FKfzIw6DNnUNdYlBg+eU24Go3n75GWK6NwU4+yJmDYFe9i/MjiI+U/iEzKvo0g7G7MZqoyrhIYuND2w8QQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] + libc: [glibc] '@biomejs/cli-linux-x64-musl@2.3.14': resolution: {integrity: sha512-KQU7EkbBBuHPW3/rAcoiVmhlPtDSGOGRPv9js7qJVpYTzjQmVR+C9Rfcz+ti8YCH+zT1J52tuBybtP4IodjxZQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] + libc: [musl] '@biomejs/cli-linux-x64@2.3.14': resolution: {integrity: sha512-ZsZzQsl9U+wxFrGGS4f6UxREUlgHwmEfu1IrXlgNFrNnd5Th6lIJr8KmSzu/+meSa9f4rzFrbEW9LBBA6ScoMA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] + libc: [glibc] '@biomejs/cli-win32-arm64@2.3.14': resolution: {integrity: sha512-+IKYkj/pUBbnRf1G1+RlyA3LWiDgra1xpS7H2g4BuOzzRbRB+hmlw0yFsLprHhbbt7jUzbzAbAjK/Pn0FDnh1A==} @@ -1348,89 +1352,105 @@ packages: resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} cpu: [arm64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-arm@1.2.4': resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} cpu: [arm] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-ppc64@1.2.4': resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} cpu: [ppc64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-riscv64@1.2.4': resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} cpu: [riscv64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-s390x@1.2.4': resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} cpu: [s390x] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-x64@1.2.4': resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} cpu: [x64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linuxmusl-arm64@1.2.4': resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} cpu: [arm64] os: [linux] + libc: [musl] '@img/sharp-libvips-linuxmusl-x64@1.2.4': resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} cpu: [x64] os: [linux] + libc: [musl] '@img/sharp-linux-arm64@0.34.5': resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + libc: [glibc] '@img/sharp-linux-arm@0.34.5': resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] + libc: [glibc] '@img/sharp-linux-ppc64@0.34.5': resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ppc64] os: [linux] + libc: [glibc] '@img/sharp-linux-riscv64@0.34.5': resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [riscv64] os: [linux] + libc: [glibc] '@img/sharp-linux-s390x@0.34.5': resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] + libc: [glibc] '@img/sharp-linux-x64@0.34.5': resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + libc: [glibc] '@img/sharp-linuxmusl-arm64@0.34.5': resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + libc: [musl] '@img/sharp-linuxmusl-x64@0.34.5': resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + libc: [musl] '@img/sharp-wasm32@0.34.5': resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} @@ -1631,24 +1651,28 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [glibc] '@next/swc-linux-arm64-musl@16.1.6': resolution: {integrity: sha512-S4J2v+8tT3NIO9u2q+S0G5KdvNDjXfAv06OhfOzNDaBn5rw84DGXWndOEB7d5/x852A20sW1M56vhC/tRVbccQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [musl] '@next/swc-linux-x64-gnu@16.1.6': resolution: {integrity: sha512-2eEBDkFlMMNQnkTyPBhQOAyn2qMxyG2eE7GPH2WIDGEpEILcBPI/jdSv4t6xupSP+ot/jkfrCShLAa7+ZUPcJQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [glibc] '@next/swc-linux-x64-musl@16.1.6': resolution: {integrity: sha512-oicJwRlyOoZXVlxmIMaTq7f8pN9QNbdes0q2FXfRsPhfCi8n8JmOZJm5oo1pwDaFbnnD421rVU409M3evFbIqg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [musl] '@next/swc-win32-arm64-msvc@16.1.6': resolution: {integrity: sha512-gQmm8izDTPgs+DCWH22kcDmuUp7NyiJgEl18bcr8irXA5N2m2O+JQIr6f3ct42GOs9c0h8QF3L5SzIxcYAAXXw==} @@ -1703,36 +1727,42 @@ packages: engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm-musl@2.5.6': resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [musl] '@parcel/watcher-linux-arm64-glibc@2.5.6': resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm64-musl@2.5.6': resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [musl] '@parcel/watcher-linux-x64-glibc@2.5.6': resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-x64-musl@2.5.6': resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [musl] '@parcel/watcher-win32-arm64@2.5.6': resolution: {integrity: sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==} @@ -2608,66 +2638,79 @@ packages: resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.57.1': resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.57.1': resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.57.1': resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.57.1': resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-loong64-musl@4.57.1': resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==} cpu: [loong64] os: [linux] + libc: [musl] '@rollup/rollup-linux-ppc64-gnu@4.57.1': resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-musl@4.57.1': resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==} cpu: [ppc64] os: [linux] + libc: [musl] '@rollup/rollup-linux-riscv64-gnu@4.57.1': resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.57.1': resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==} cpu: [riscv64] os: [linux] + libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.57.1': resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.57.1': resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.57.1': resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-openbsd-x64@4.57.1': resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==} @@ -2829,24 +2872,28 @@ packages: engines: {node: '>=10'} cpu: [arm64] os: [linux] + libc: [glibc] '@swc/core-linux-arm64-musl@1.15.11': resolution: {integrity: sha512-PYftgsTaGnfDK4m6/dty9ryK1FbLk+LosDJ/RJR2nkXGc8rd+WenXIlvHjWULiBVnS1RsjHHOXmTS4nDhe0v0w==} engines: {node: '>=10'} cpu: [arm64] os: [linux] + libc: [musl] '@swc/core-linux-x64-gnu@1.15.11': resolution: {integrity: sha512-DKtnJKIHiZdARyTKiX7zdRjiDS1KihkQWatQiCHMv+zc2sfwb4Glrodx2VLOX4rsa92NLR0Sw8WLcPEMFY1szQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] + libc: [glibc] '@swc/core-linux-x64-musl@1.15.11': resolution: {integrity: sha512-mUjjntHj4+8WBaiDe5UwRNHuEzLjIWBTSGTw0JT9+C9/Yyuh4KQqlcEQ3ro6GkHmBGXBFpGIj/o5VMyRWfVfWw==} engines: {node: '>=10'} cpu: [x64] os: [linux] + libc: [musl] '@swc/core-win32-arm64-msvc@1.15.11': resolution: {integrity: sha512-ZkNNG5zL49YpaFzfl6fskNOSxtcZ5uOYmWBkY4wVAvgbSAQzLRVBp+xArGWh2oXlY/WgL99zQSGTv7RI5E6nzA==} @@ -2998,8 +3045,8 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@umami/react-zen@0.244.0': - resolution: {integrity: sha512-9swMip81Wlgp7PBOyJTt2pTFS6qN6v4qEuwZ3KMnv99IMB5pIwWllBAxK2GzCK7G3vyl9OO4BoPY44KVZOsDSg==} + '@umami/react-zen@0.245.0': + resolution: {integrity: sha512-UApl8fDJM6VDaDOc8I67sdClzLpp4e9eJB3ntf6rlUgvdllf5T+hdYiHJ98T/tDFfhZWBKuLhnVDX/qNfjlrSw==} peerDependencies: react: ^18.0.0 || ^19.0.0 react-aria-components: ^1.0.0 @@ -10091,7 +10138,7 @@ snapshots: '@types/node': 24.10.11 optional: true - '@umami/react-zen@0.244.0(@types/react@19.2.13)(immer@10.2.0)(react-aria-components@1.14.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(tailwindcss@4.1.18)(use-sync-external-store@1.6.0(react@19.2.4))': + '@umami/react-zen@0.245.0(@types/react@19.2.13)(immer@10.2.0)(react-aria-components@1.14.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(tailwindcss@4.1.18)(use-sync-external-store@1.6.0(react@19.2.4))': dependencies: '@internationalized/date': 3.11.0 '@react-aria/focus': 3.21.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) diff --git a/src/app/(main)/boards/[boardId]/BoardEditBody.tsx b/src/app/(main)/boards/[boardId]/BoardEditBody.tsx index 8ec3d7043..7586ac67f 100644 --- a/src/app/(main)/boards/[boardId]/BoardEditBody.tsx +++ b/src/app/(main)/boards/[boardId]/BoardEditBody.tsx @@ -167,9 +167,7 @@ export function BoardEditBody({ requiresBoardWebsite = true }: { requiresBoardWe - - Add row - + Add row From 365895c38983c029dae38bca755ef8bfc7684ce0 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sun, 15 Feb 2026 16:35:57 -0800 Subject: [PATCH 54/55] Fix build type errors in LinkButton and useMessages Co-Authored-By: Claude Opus 4.6 --- src/components/common/LinkButton.tsx | 22 ++++++++++------------ src/components/hooks/useMessages.ts | 8 ++++++-- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/components/common/LinkButton.tsx b/src/components/common/LinkButton.tsx index 35292ba45..990feb1c8 100644 --- a/src/components/common/LinkButton.tsx +++ b/src/components/common/LinkButton.tsx @@ -25,17 +25,15 @@ export function LinkButton({ }: LinkButtonProps) { const { dir } = useLocale(); - return ( - + const linkElement = asAnchor ? ( + + {children} + + ) : ( + + {children} + ); + + return