From e0c00dece8f86e83defe683c5ef87760a5335150 Mon Sep 17 00:00:00 2001 From: Maekawa Minoru <126235344+err931@users.noreply.github.com> Date: Thu, 24 Aug 2023 18:00:00 +0900 Subject: [PATCH 01/47] Update ja-JP.json --- src/lang/ja-JP.json | 316 ++++++++++++++++++++++---------------------- 1 file changed, 158 insertions(+), 158 deletions(-) diff --git a/src/lang/ja-JP.json b/src/lang/ja-JP.json index 0f4d5450..770f6f07 100644 --- a/src/lang/ja-JP.json +++ b/src/lang/ja-JP.json @@ -1,211 +1,211 @@ { - "label.access-code": "Access code", + "label.access-code": "アクセスコード", "label.actions": "アクション", - "label.activity-log": "Activity log", - "label.add": "Add", - "label.add-description": "Add description", + "label.activity-log": "アクティビティログ", + "label.add": "追加", + "label.add-description": "説明を追加", "label.add-website": "Webサイトの追加", "label.admin": "管理者", - "label.after": "After", - "label.all": "すべて表示", - "label.all-time": "All time", - "label.analytics": "Analytics", - "label.average": "Average", + "label.after": "直後", + "label.all": "すべて", + "label.all-time": "すべての時間帯", + "label.analytics": "アナリティクス", + "label.average": "平均", "label.average-visit-time": "平均滞在時間", "label.back": "戻る", - "label.before": "Before", + "label.before": "直前", "label.bounce-rate": "直帰率", - "label.breakdown": "Breakdown", - "label.browser": "Browser", + "label.breakdown": "故障", + "label.browser": "ブラウザ", "label.browsers": "ブラウザ", "label.cancel": "キャンセル", - "label.change-password": "パスワード変更", - "label.cities": "Cities", - "label.city": "City", - "label.clear-all": "Clear all", - "label.confirm": "Confirm", - "label.confirm-password": "パスワード(確認)", - "label.contains": "Contains", - "label.continue": "Continue", - "label.countries": "国", - "label.country": "Country", - "label.create-report": "Create report", - "label.create-team": "Create team", - "label.create-user": "Create user", - "label.created": "Created", + "label.change-password": "パスワードの変更", + "label.cities": "都市", + "label.city": "都市", + "label.clear-all": "すべてクリア", + "label.confirm": "確認", + "label.confirm-password": "パスワード(確認)", + "label.contains": "コンテンツ", + "label.continue": "続ける", + "label.countries": "国名", + "label.country": "国", + "label.create-report": "レポートの作成", + "label.create-team": "チームの作成", + "label.create-user": "ユーザーの作成", + "label.created": "作成されました", "label.current-password": "現在のパスワード", - "label.custom-range": "期間を指定する", + "label.custom-range": "範囲指定", "label.dashboard": "ダッシュボード", - "label.data": "Data", - "label.date": "Date", - "label.date-range": "範囲指定", - "label.day": "Day", - "label.default-date-range": "最初に表示する期間", + "label.data": "データ", + "label.date": "日付", + "label.date-range": "期間", + "label.day": "日", + "label.default-date-range": "デフォルトの期間", "label.delete": "削除", - "label.delete-team": "Delete team", - "label.delete-user": "Delete user", + "label.delete-team": "チームの削除", + "label.delete-user": "ユーザーの削除", "label.delete-website": "Webサイトの削除", - "label.description": "Description", + "label.description": "説明", "label.desktop": "デスクトップ", - "label.details": "Details", - "label.device": "Device", + "label.details": "詳細情報", + "label.device": "デバイス", "label.devices": "デバイス", - "label.dismiss": "無視する", - "label.does-not-contain": "Does not contain", + "label.dismiss": "却下", + "label.does-not-contain": "を含まない", "label.domain": "ドメイン", - "label.dropoff": "Dropoff", + "label.dropoff": "切り捨て", "label.edit": "編集", - "label.edit-dashboard": "Edit dashboard", - "label.enable-share-url": "共有リンクを有効にする", - "label.event": "Event", - "label.event-data": "Event data", + "label.edit-dashboard": "ダッシュボードの編集", + "label.enable-share-url": "共有URLを有効にする", + "label.event": "イベント", + "label.event-data": "イベントデータ", "label.events": "イベント", - "label.false": "False", - "label.field": "Field", - "label.fields": "Fields", - "label.filter-combined": "パスまで", - "label.filter-raw": "すべて表示", - "label.filters": "Filters", - "label.funnel": "Funnel", - "label.greater-than": "Greater than", - "label.greater-than-equals": "Greater than or equals", - "label.insights": "Insights", - "label.is": "Is", - "label.is-not": "Is not", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", - "label.join": "Join", - "label.join-team": "Join team", - "label.language": "Language", - "label.languages": "Languages", + "label.false": "偽", + "label.field": "フィールド", + "label.fields": "フィールド", + "label.filter-combined": "統合", + "label.filter-raw": "RAW", + "label.filters": "フィルター", + "label.funnel": "分析", + "label.greater-than": "超過", + "label.greater-than-equals": "以上", + "label.insights": "見通し", + "label.is": "に等しい", + "label.is-not": "に等しくない", + "label.is-not-set": "未設定", + "label.is-set": "設定済み", + "label.join": "参加", + "label.join-team": "チームに参加", + "label.language": "言語", + "label.languages": "言語", "label.laptop": "ノートPC", "label.last-days": "過去{x}日間", "label.last-hours": "過去{x}時間", - "label.leave": "Leave", - "label.leave-team": "Leave team", - "label.less-than": "Less than", - "label.less-than-equals": "Less than or equals", + "label.leave": "離脱", + "label.leave-team": "チームを離脱", + "label.less-than": "未満", + "label.less-than-equals": "以下", "label.login": "ログイン", "label.logout": "ログアウト", - "label.max": "Max", - "label.members": "Members", - "label.min": "Min", + "label.max": "最大", + "label.members": "メンバー", + "label.min": "最小", "label.mobile": "携帯電話", - "label.more": "さらに表示", - "label.my-websites": "My websites", + "label.more": "もっと見る", + "label.my-websites": "マイWebサイト", "label.name": "名前", "label.new-password": "新しいパスワード", - "label.none": "None", + "label.none": "なし", "label.os": "OS", - "label.overview": "Overview", - "label.owner": "Owner", - "label.page-of": "Page {current} of {total}", + "label.overview": "概要", + "label.owner": "所有者", + "label.page-of": "ページ {current}/{total}", "label.page-views": "閲覧数", - "label.pageTitle": "Page title", + "label.pageTitle": "ページタイトル", "label.pages": "ページ", "label.password": "パスワード", - "label.powered-by": "このシステムは {name} で実行されています。", - "label.profile": "プロファイル", - "label.queries": "Queries", - "label.query": "Query", - "label.query-parameters": "Query parameters", + "label.powered-by": "Powered by {name}", + "label.profile": "プロフィール", + "label.queries": "クエリ", + "label.query": "クエリ", + "label.query-parameters": "クエリパラメーター", "label.realtime": "リアルタイム", - "label.referrer": "Referrer", + "label.referrer": "リファラー", "label.referrers": "リファラー", "label.refresh": "更新", - "label.regenerate": "Regenerate", - "label.region": "Region", - "label.regions": "Regions", - "label.remove": "Remove", - "label.reports": "Reports", + "label.regenerate": "再生成", + "label.region": "地域", + "label.regions": "地域", + "label.remove": "削除", + "label.reports": "レポート", "label.required": "必須", "label.reset": "リセット", - "label.reset-website": "Reset statistics", - "label.retention": "Retention", - "label.role": "Role", - "label.run-query": "Run query", + "label.reset-website": "Webサイトをリセットする", + "label.retention": "保持", + "label.role": "ロール", + "label.run-query": "クエリ実行", "label.save": "保存", - "label.screens": "Screens", - "label.select-date": "Select date", - "label.select-website": "Select website", - "label.sessions": "Sessions", + "label.screens": "画面サイズ", + "label.select-date": "日付を選択", + "label.select-website": "Webサイトを選択", + "label.sessions": "セッション", "label.settings": "設定", - "label.share-url": "共有リンク", - "label.single-day": "一日のみ", - "label.sum": "Sum", + "label.share-url": "共有URL", + "label.single-day": "一日", + "label.sum": "合計", "label.tablet": "タブレット", - "label.team": "Team", - "label.team-guest": "Team guest", - "label.team-id": "Team ID", - "label.team-member": "Team member", - "label.team-name": "Team name", - "label.team-owner": "Team owner", - "label.team-websites": "Team websites", - "label.teams": "Teams", - "label.theme": "Theme", + "label.team": "チーム", + "label.team-guest": "チームゲスト", + "label.team-id": "チームID", + "label.team-member": "チームメンバー", + "label.team-name": "チーム名", + "label.team-owner": "チーム所有者", + "label.team-websites": "チームのWebサイト", + "label.teams": "チーム", + "label.theme": "テーマ", "label.this-month": "今月", "label.this-week": "今週", "label.this-year": "今年", "label.timezone": "タイムゾーン", - "label.title": "Title", + "label.title": "タイトル", "label.today": "今日", - "label.toggle-charts": "Toggle charts", - "label.total": "Total", - "label.total-records": "Total records", + "label.toggle-charts": "グラフを切り替える", + "label.total": "累計", + "label.total-records": "総記録数", "label.tracking-code": "トラッキングコード", - "label.true": "True", - "label.type": "Type", - "label.unique": "Unique", + "label.true": "真", + "label.type": "種別", + "label.unique": "ユニーク", "label.unique-visitors": "ユニーク訪問者数", "label.unknown": "不明", - "label.untitled": "Untitled", + "label.untitled": "無題", "label.url": "URL", - "label.urls": "URLs", - "label.user": "User", + "label.urls": "URL", + "label.user": "ユーザー", "label.username": "ユーザー名", - "label.users": "Users", - "label.value": "Value", - "label.view": "View", - "label.view-details": "詳細を見る", - "label.view-only": "View only", - "label.views": "閲覧数", - "label.visitors": "訪問者数", - "label.website": "Website", - "label.website-id": "Website ID", + "label.users": "ユーザー", + "label.value": "値", + "label.view": "表示", + "label.view-details": "詳細を表示", + "label.view-only": "表示のみ", + "label.views": "表示", + "label.visitors": "訪問者", + "label.website": "Webサイト", + "label.website-id": "WebサイトID", "label.websites": "Webサイト", - "label.window": "Window", - "label.yesterday": "Yesterday", - "message.active-users": "{x}人が閲覧中です。", + "label.window": "ウィンドウ", + "label.yesterday": "昨日", + "message.active-users": "{x} {x, plural, one {アクティブな訪問者} other {アクティブな訪問者}}", "message.confirm-delete": "{target}を削除してもよろしいですか?", - "message.confirm-leave": "Are you sure you want to leave {target}?", - "message.confirm-reset": "Are your sure you want to reset {target}'s statistics?", - "message.delete-account": "To delete this account, type {confirmation} in the box below to confirm.", - "message.delete-website": "To delete this website, type {confirmation} in the box below to confirm.", - "message.delete-website-warning": "関連するすべてのデータも削除されます。", - "message.error": "問題が発生しました。", - "message.event-log": "{event} on {url}", - "message.go-to-settings": "設定する", - "message.incorrect-username-password": "ユーザー名/パスワードが正しくありません。", - "message.invalid-domain": "無効なドメイン", - "message.min-password-length": "Minimum length of {n} characters", - "message.new-version-available": "A new version of Umami {version} is available!", + "message.confirm-leave": "{target}から離脱してもよろしいですか?", + "message.confirm-reset": "{target}をリセットしてもよろしいですか?", + "message.delete-account": "このアカウントを削除するには、下のフォームに「{confirmation}」と入力してください。", + "message.delete-website": "このWebサイトを削除するには、下のフォームに「{confirmation}」と入力してください。", + "message.delete-website-warning": "Webサイトのデータがすべて削除されます。", + "message.error": "未知のエラーが発生しました。", + "message.event-log": "{url}の{event}", + "message.go-to-settings": "設定に移動する", + "message.incorrect-username-password": "ユーザー名またはパスワードが間違っています。", + "message.invalid-domain": "無効なドメインです。http/httpsを含めないでください。", + "message.min-password-length": "最小文字数は{n}文字です", + "message.new-version-available": "Umamiの新しいバージョン{version}が利用可能です!", "message.no-data-available": "データがありません。", - "message.no-event-data": "No event data is available.", - "message.no-match-password": "パスワードが一致しません", - "message.no-results-found": "No results were found.", - "message.no-team-websites": "This team does not have any websites.", - "message.no-teams": "You have not created any teams.", - "message.no-users": "There are no users.", + "message.no-event-data": "イベントデータがありません。", + "message.no-match-password": "パスワードが一致しません。", + "message.no-results-found": "結果が見つかりません。", + "message.no-team-websites": "このチームにはWebサイトがありません。", + "message.no-teams": "チームを作成していません。", + "message.no-users": "ユーザーが存在しません。", "message.no-websites-configured": "Webサイトが設定されていません。", - "message.page-not-found": "ページが見つかりません。", - "message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.", - "message.reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", - "message.saved": "正常に保存されました。", - "message.share-url": "これは{target}の共有リンクです。", - "message.team-already-member": "You are already a member of the team.", - "message.team-not-found": "Team not found.", - "message.team-websites-info": "Websites can be viewed by anyone on the team.", - "message.tracking-code": "トラッキングコード", - "message.user-deleted": "User deleted.", - "message.visitor-log": "{os}({device})で{browser}を使用している{country}からの訪問者" + "message.page-not-found": "ページが見つかりません", + "message.reset-website": "このWebサイトをリセットするには、下のフォームに「{confirmation}」と入力してください。", + "message.reset-website-warning": "このWebサイトの統計情報はすべて削除されますが、設定はそのまま残ります。", + "message.saved": "保存されました。", + "message.share-url": "あなたのWebサイトの統計情報は次のURLで公開されています:", + "message.team-already-member": "あなたはすでにチームのメンバーです。", + "message.team-not-found": "チームが見つかりません。", + "message.team-websites-info": "Webサイトはチーム内の誰でも見ることができます。", + "message.tracking-code": "このWebサイトの統計情報を追跡するには、HTMLの...セクションに以下のコードを記述します。", + "message.user-deleted": "ユーザーが削除されました。", + "message.visitor-log": "{os}({device})で{browser}を使用している{country}からの訪問者" } From cc574e6da4800b5fe6f7eedccb7c180bc49abe08 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sun, 27 Aug 2023 14:15:02 -0700 Subject: [PATCH 02/47] Added settings redirect for cloud. --- next.config.js | 4 +++- src/components/layout/NavBar.js | 10 ++++------ src/components/pages/reports/FieldFilterForm.js | 4 ++-- src/components/pages/reports/FilterSelectForm.js | 4 ++-- src/components/pages/settings/websites/TrackingCode.js | 4 ++-- src/components/pages/websites/WebsiteMetricsBar.js | 6 ++---- 6 files changed, 15 insertions(+), 17 deletions(-) diff --git a/next.config.js b/next.config.js index 4ab77510..b7a93ace 100644 --- a/next.config.js +++ b/next.config.js @@ -59,7 +59,9 @@ if (process.env.TRACKER_SCRIPT_NAME) { const redirects = [ { source: '/settings', - destination: process.env.CLOUD_MODE ? '/settings/profile' : '/settings/websites', + destination: process.env.CLOUD_MODE + ? `${process.env.CLOUD_URL}/settings/websites` + : '/settings/websites', permanent: true, }, ]; diff --git a/src/components/layout/NavBar.js b/src/components/layout/NavBar.js index ec088175..07627e2a 100644 --- a/src/components/layout/NavBar.js +++ b/src/components/layout/NavBar.js @@ -1,26 +1,24 @@ import { Icon, Text, Row, Column } from 'react-basics'; import Link from 'next/link'; +import { useRouter } from 'next/router'; import classNames from 'classnames'; import Icons from 'components/icons'; import ThemeButton from 'components/input/ThemeButton'; import LanguageButton from 'components/input/LanguageButton'; import ProfileButton from 'components/input/ProfileButton'; -import styles from './NavBar.module.css'; -import useConfig from 'components/hooks/useConfig'; import useMessages from 'components/hooks/useMessages'; -import { useRouter } from 'next/router'; -import HamburgerButton from '../common/HamburgerButton'; +import HamburgerButton from 'components/common/HamburgerButton'; +import styles from './NavBar.module.css'; export function NavBar() { const { pathname } = useRouter(); - const { cloudMode } = useConfig(); const { formatMessage, labels } = useMessages(); const links = [ { label: formatMessage(labels.dashboard), url: '/dashboard' }, { label: formatMessage(labels.websites), url: '/websites' }, { label: formatMessage(labels.reports), url: '/reports' }, - !cloudMode && { label: formatMessage(labels.settings), url: '/settings' }, + { label: formatMessage(labels.settings), url: '/settings' }, ].filter(n => n); return ( diff --git a/src/components/pages/reports/FieldFilterForm.js b/src/components/pages/reports/FieldFilterForm.js index 01efed3f..96ac06b0 100644 --- a/src/components/pages/reports/FieldFilterForm.js +++ b/src/components/pages/reports/FieldFilterForm.js @@ -9,7 +9,7 @@ export default function FieldFilterForm({ type, values, onSelect, - includeOnlyEquals, + allowFilterSelect = true, }) { const { formatMessage, labels } = useMessages(); const [filter, setFilter] = useState('eq'); @@ -34,7 +34,7 @@ export default function FieldFilterForm({
- {!includeOnlyEquals && ( + {allowFilterSelect && ( ); } diff --git a/src/components/pages/settings/websites/TrackingCode.js b/src/components/pages/settings/websites/TrackingCode.js index 5159ff91..fb4eb9a9 100644 --- a/src/components/pages/settings/websites/TrackingCode.js +++ b/src/components/pages/settings/websites/TrackingCode.js @@ -4,10 +4,10 @@ import useConfig from 'components/hooks/useConfig'; export function TrackingCode({ websiteId }) { const { formatMessage, messages } = useMessages(); - const { basePath, trackerScriptName } = useConfig(); + const { basePath, trackerScriptName, trackerScriptOrigin } = useConfig(); const url = trackerScriptName?.startsWith('http') ? trackerScriptName - : `${location.origin}${basePath}/${ + : `${trackerScriptOrigin || location.origin}${basePath}/${ trackerScriptName?.split(',')?.map(n => n.trim())?.[0] || 'script.js' }`; diff --git a/src/components/pages/websites/WebsiteMetricsBar.js b/src/components/pages/websites/WebsiteMetricsBar.js index 0d1a20f0..7ba4a801 100644 --- a/src/components/pages/websites/WebsiteMetricsBar.js +++ b/src/components/pages/websites/WebsiteMetricsBar.js @@ -1,6 +1,5 @@ import classNames from 'classnames'; import { useApi, useDateRange, useMessages, usePageQuery, useSticky } from 'components/hooks'; -import RefreshButton from 'components/input/RefreshButton'; import WebsiteDateFilter from 'components/input/WebsiteDateFilter'; import MetricCard from 'components/metrics/MetricCard'; import MetricsBar from 'components/metrics/MetricsBar'; @@ -10,7 +9,7 @@ import { formatShortTime } from 'lib/format'; import { Button, Column, Icon, Icons, Popup, PopupTrigger, Row } from 'react-basics'; import styles from './WebsiteMetricsBar.module.css'; -export function WebsiteMetricsBar({ websiteId, showFilter = true, showRefresh = true, sticky }) { +export function WebsiteMetricsBar({ websiteId, showFilter = true, sticky }) { const { formatMessage, labels } = useMessages(); const { get, useQuery } = useApi(); @@ -88,7 +87,7 @@ export function WebsiteMetricsBar({ websiteId, showFilter = true, showRefresh = handleAddFilter(value); close(); }} - includeOnlyEquals={true} + allowFilterSelect={false} /> ); @@ -161,7 +160,6 @@ export function WebsiteMetricsBar({ websiteId, showFilter = true, showRefresh =
{showFilter && } - {showRefresh && }
From 183dab3ddc73dc0c7899f621c94f227f6464542d Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sun, 27 Aug 2023 19:56:44 -0700 Subject: [PATCH 03/47] Refactored useConfig. --- next.config.js | 3 +++ src/components/common/HamburgerButton.js | 3 +-- src/components/hooks/useConfig.js | 5 +++-- src/components/input/ProfileButton.js | 3 +-- src/components/layout/AppLayout.js | 2 +- src/components/layout/SettingsLayout.js | 3 +-- .../pages/settings/profile/ProfileDetails.js | 3 +-- .../pages/settings/websites/TrackingCode.js | 12 ++++++++---- src/components/pages/websites/WebsitesPage.js | 3 +-- src/pages/_app.js | 15 +-------------- src/pages/api/config.ts | 14 ++++++-------- 11 files changed, 27 insertions(+), 39 deletions(-) diff --git a/next.config.js b/next.config.js index b7a93ace..cc3cde7c 100644 --- a/next.config.js +++ b/next.config.js @@ -76,6 +76,9 @@ if (process.env.CLOUD_MODE && process.env.CLOUD_URL && process.env.DISABLE_LOGIN const config = { env: { + cloudMode: process.env.CLOUD_MODE, + cloudUrl: process.env.CLOUD_URL, + configUrl: '/config', currentVersion: pkg.version, defaultLocale: process.env.DEFAULT_LOCALE, isProduction: process.env.NODE_ENV === 'production', diff --git a/src/components/common/HamburgerButton.js b/src/components/common/HamburgerButton.js index 9feee67b..f97006ef 100644 --- a/src/components/common/HamburgerButton.js +++ b/src/components/common/HamburgerButton.js @@ -3,12 +3,11 @@ import { useState } from 'react'; import MobileMenu from './MobileMenu'; import Icons from 'components/icons'; import useMessages from 'components/hooks/useMessages'; -import useConfig from 'components/hooks/useConfig'; export function HamburgerButton() { const { formatMessage, labels } = useMessages(); const [active, setActive] = useState(false); - const { cloudMode } = useConfig(); + const cloudMode = Boolean(process.env.cloudMode); const menuItems = [ { diff --git a/src/components/hooks/useConfig.js b/src/components/hooks/useConfig.js index 6b37c87b..5a516abc 100644 --- a/src/components/hooks/useConfig.js +++ b/src/components/hooks/useConfig.js @@ -7,15 +7,16 @@ let loading = false; export function useConfig() { const { config } = useStore(); const { get } = useApi(); + const configUrl = process.env.configUrl; async function loadConfig() { - const data = await get('/config'); + const data = await get(configUrl); loading = false; setConfig(data); } useEffect(() => { - if (!config && !loading) { + if (!config && !loading && configUrl) { loading = true; loadConfig(); } diff --git a/src/components/input/ProfileButton.js b/src/components/input/ProfileButton.js index cfb89cf8..015c0ad8 100644 --- a/src/components/input/ProfileButton.js +++ b/src/components/input/ProfileButton.js @@ -3,16 +3,15 @@ import { useRouter } from 'next/router'; import Icons from 'components/icons'; import useMessages from 'components/hooks/useMessages'; import useUser from 'components/hooks/useUser'; -import useConfig from 'components/hooks/useConfig'; import styles from './ProfileButton.module.css'; import useLocale from 'components/hooks/useLocale'; export function ProfileButton() { const { formatMessage, labels } = useMessages(); const { user } = useUser(); - const { cloudMode } = useConfig(); const router = useRouter(); const { dir } = useLocale(); + const cloudMode = Boolean(process.env.cloudMode); const handleSelect = key => { if (key === 'profile') { diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js index 8fd637f3..41e2ec0d 100644 --- a/src/components/layout/AppLayout.js +++ b/src/components/layout/AppLayout.js @@ -9,7 +9,7 @@ export function AppLayout({ title, children }) { const { user } = useRequireLogin(); const config = useConfig(); - if (!user || !config) { + if (!user || !config || config?.uiDisabled) { return null; } diff --git a/src/components/layout/SettingsLayout.js b/src/components/layout/SettingsLayout.js index 851c366a..0f4aa5d9 100644 --- a/src/components/layout/SettingsLayout.js +++ b/src/components/layout/SettingsLayout.js @@ -3,14 +3,13 @@ import { useRouter } from 'next/router'; import SideNav from './SideNav'; import useUser from 'components/hooks/useUser'; import useMessages from 'components/hooks/useMessages'; -import useConfig from 'components/hooks/useConfig'; import styles from './SettingsLayout.module.css'; export function SettingsLayout({ children }) { const { user } = useUser(); const { pathname } = useRouter(); const { formatMessage, labels } = useMessages(); - const { cloudMode } = useConfig(); + const cloudMode = Boolean(process.env.cloudMode); const items = [ { key: 'websites', label: formatMessage(labels.websites), url: '/settings/websites' }, diff --git a/src/components/pages/settings/profile/ProfileDetails.js b/src/components/pages/settings/profile/ProfileDetails.js index f9dc652b..d4a3a7d5 100644 --- a/src/components/pages/settings/profile/ProfileDetails.js +++ b/src/components/pages/settings/profile/ProfileDetails.js @@ -6,13 +6,12 @@ import ThemeSetting from 'components/pages/settings/profile/ThemeSetting'; import PasswordChangeButton from './PasswordChangeButton'; import useUser from 'components/hooks/useUser'; import useMessages from 'components/hooks/useMessages'; -import useConfig from 'components/hooks/useConfig'; import { ROLES } from 'lib/constants'; export function ProfileDetails() { const { user } = useUser(); const { formatMessage, labels } = useMessages(); - const { cloudMode } = useConfig(); + const cloudMode = Boolean(process.env.cloudMode); if (!user) { return null; diff --git a/src/components/pages/settings/websites/TrackingCode.js b/src/components/pages/settings/websites/TrackingCode.js index fb4eb9a9..d22f0d59 100644 --- a/src/components/pages/settings/websites/TrackingCode.js +++ b/src/components/pages/settings/websites/TrackingCode.js @@ -1,15 +1,19 @@ import { TextArea } from 'react-basics'; import useMessages from 'components/hooks/useMessages'; import useConfig from 'components/hooks/useConfig'; +import { useRouter } from 'next/router'; export function TrackingCode({ websiteId }) { const { formatMessage, messages } = useMessages(); - const { basePath, trackerScriptName, trackerScriptOrigin } = useConfig(); + const { basePath } = useRouter(); + const config = useConfig(); + + const trackerScriptName = + config?.trackerScriptName?.split(',')?.map(n => n.trim())?.[0] || 'script.js'; + const url = trackerScriptName?.startsWith('http') ? trackerScriptName - : `${trackerScriptOrigin || location.origin}${basePath}/${ - trackerScriptName?.split(',')?.map(n => n.trim())?.[0] || 'script.js' - }`; + : `${process.env.analyticsUrl || location.origin}${basePath}/${trackerScriptName}`; const code = ``; diff --git a/src/components/pages/websites/WebsitesPage.js b/src/components/pages/websites/WebsitesPage.js index 2eb060d3..61c29448 100644 --- a/src/components/pages/websites/WebsitesPage.js +++ b/src/components/pages/websites/WebsitesPage.js @@ -4,7 +4,6 @@ import WebsiteAddForm from 'components/pages/settings/websites/WebsiteAddForm'; import WebsiteList from 'components/pages/settings/websites/WebsitesList'; import { useMessages } from 'components/hooks'; import useUser from 'components/hooks/useUser'; -import useConfig from 'components/hooks/useConfig'; import { ROLES } from 'lib/constants'; import { useState } from 'react'; import { @@ -24,8 +23,8 @@ export function WebsitesPage() { const [tab, setTab] = useState('my-websites'); const [fetch, setFetch] = useState(1); const { user } = useUser(); - const { cloudMode } = useConfig(); const { showToast } = useToasts(); + const cloudMode = Boolean(process.env.cloudMode); const handleSave = async () => { setFetch(fetch + 1); diff --git a/src/pages/_app.js b/src/pages/_app.js index e88b2d86..7022772c 100644 --- a/src/pages/_app.js +++ b/src/pages/_app.js @@ -6,7 +6,6 @@ import Script from 'next/script'; import { useRouter } from 'next/router'; import ErrorBoundary from 'components/common/ErrorBoundary'; import useLocale from 'components/hooks/useLocale'; -import useConfig from 'components/hooks/useConfig'; import '@fontsource/inter/400.css'; import '@fontsource/inter/700.css'; import 'react-basics/dist/styles.css'; @@ -27,22 +26,10 @@ const client = new QueryClient({ export default function App({ Component, pageProps }) { const { locale, messages } = useLocale(); const { basePath, pathname } = useRouter(); - const config = useConfig(); - - const Wrapper = ({ children }) => {children}; - - if (config?.uiDisabled) { - return null; - } return ( - null} - > + null}> diff --git a/src/pages/api/config.ts b/src/pages/api/config.ts index bccfd048..adba894a 100644 --- a/src/pages/api/config.ts +++ b/src/pages/api/config.ts @@ -2,21 +2,19 @@ import { NextApiRequest, NextApiResponse } from 'next'; import { ok, methodNotAllowed } from 'next-basics'; export interface ConfigResponse { - basePath: string; - trackerScriptName: string; - updatesDisabled: boolean; telemetryDisabled: boolean; - cloudMode: boolean; + trackerScriptName: string; + uiDisabled: boolean; + updatesDisabled: boolean; } export default async (req: NextApiRequest, res: NextApiResponse) => { if (req.method === 'GET') { return ok(res, { - basePath: process.env.BASE_PATH || '', - trackerScriptName: process.env.TRACKER_SCRIPT_NAME, - updatesDisabled: !!process.env.DISABLE_UPDATES, telemetryDisabled: !!process.env.DISABLE_TELEMETRY, - cloudMode: !!process.env.CLOUD_MODE, + trackerScriptName: process.env.TRACKER_SCRIPT_NAME, + uiDisabled: !!process.env.DISABLE_UI, + updatesDisabled: !!process.env.DISABLE_UPDATES, }); } From aaaa44ee16f4ead73c6587787447a236e3348536 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sun, 27 Aug 2023 21:59:39 -0700 Subject: [PATCH 04/47] Removed breadcrumbs. --- .../pages/settings/teams/TeamSettings.js | 14 ++------------ .../pages/settings/users/UserSettings.js | 14 ++------------ .../pages/settings/websites/WebsiteSettings.js | 13 ++----------- 3 files changed, 6 insertions(+), 35 deletions(-) diff --git a/src/components/pages/settings/teams/TeamSettings.js b/src/components/pages/settings/teams/TeamSettings.js index 245e64b1..8c4fe8f4 100644 --- a/src/components/pages/settings/teams/TeamSettings.js +++ b/src/components/pages/settings/teams/TeamSettings.js @@ -1,6 +1,5 @@ import { useEffect, useState } from 'react'; -import { Breadcrumbs, Item, Tabs, useToasts } from 'react-basics'; -import Link from 'next/link'; +import { Item, Tabs, useToasts } from 'react-basics'; import Page from 'components/layout/Page'; import PageHeader from 'components/layout/PageHeader'; import { ROLES } from 'lib/constants'; @@ -44,16 +43,7 @@ export function TeamSettings({ teamId }) { return ( - - - {formatMessage(labels.teams)} - - {values?.name} - - } - /> + {formatMessage(labels.details)} {formatMessage(labels.members)} diff --git a/src/components/pages/settings/users/UserSettings.js b/src/components/pages/settings/users/UserSettings.js index 596e09f0..5fadf1a1 100644 --- a/src/components/pages/settings/users/UserSettings.js +++ b/src/components/pages/settings/users/UserSettings.js @@ -1,6 +1,5 @@ import { useEffect, useState } from 'react'; -import { Breadcrumbs, Item, Tabs, useToasts } from 'react-basics'; -import Link from 'next/link'; +import { Item, Tabs, useToasts } from 'react-basics'; import UserEditForm from 'components/pages/settings/users/UserEditForm'; import Page from 'components/layout/Page'; import PageHeader from 'components/layout/PageHeader'; @@ -44,16 +43,7 @@ export function UserSettings({ userId }) { return ( - - - {formatMessage(labels.users)} - - {values?.username} - - } - /> + {formatMessage(labels.details)} {formatMessage(labels.websites)} diff --git a/src/components/pages/settings/websites/WebsiteSettings.js b/src/components/pages/settings/websites/WebsiteSettings.js index ac8cd87c..f73e0a87 100644 --- a/src/components/pages/settings/websites/WebsiteSettings.js +++ b/src/components/pages/settings/websites/WebsiteSettings.js @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { Breadcrumbs, Item, Tabs, useToasts, Button, Text, Icon, Icons } from 'react-basics'; +import { Item, Tabs, useToasts, Button, Text, Icon, Icons } from 'react-basics'; import { useRouter } from 'next/router'; import Link from 'next/link'; import Page from 'components/layout/Page'; @@ -49,16 +49,7 @@ export function WebsiteSettings({ websiteId, openExternal = false }) { return ( - - - {formatMessage(labels.websites)} - - {values?.name} - - } - > + -
+ <> + + + )} )} diff --git a/src/components/pages/dashboard/DashboardEdit.js b/src/components/pages/dashboard/DashboardEdit.js index 4eb259d6..f628599f 100644 --- a/src/components/pages/dashboard/DashboardEdit.js +++ b/src/components/pages/dashboard/DashboardEdit.js @@ -5,23 +5,33 @@ import { Button } from 'react-basics'; import { firstBy } from 'thenby'; import useDashboard, { saveDashboard } from 'store/dashboard'; import useMessages from 'components/hooks/useMessages'; +import useApi from 'components/hooks/useApi'; import styles from './DashboardEdit.module.css'; +import Page from 'components/layout/Page'; const dragId = 'dashboard-website-ordering'; -export function DashboardEdit({ websites }) { +export function DashboardEdit() { const settings = useDashboard(); const { websiteOrder } = settings; const { formatMessage, labels } = useMessages(); const [order, setOrder] = useState(websiteOrder || []); + const { get, useQuery } = useApi(); + const { + data: result, + isLoading, + error, + } = useQuery(['websites'], () => get('/websites', { includeTeams: 1 })); + const { data: websites } = result || {}; - const ordered = useMemo( - () => - websites + const ordered = useMemo(() => { + if (websites) { + return websites .map(website => ({ ...website, order: order.indexOf(website.id) })) - .sort(firstBy('order')), - [websites, order], - ); + .sort(firstBy('order')); + } + return []; + }, [websites, order]); function handleWebsiteDrag({ destination, source }) { if (!destination || destination.index === source.index) return; @@ -49,7 +59,7 @@ export function DashboardEdit({ websites }) { } return ( - <> +
- +
); } diff --git a/src/pages/api/websites/index.ts b/src/pages/api/websites/index.ts index d724f12f..d6009caf 100644 --- a/src/pages/api/websites/index.ts +++ b/src/pages/api/websites/index.ts @@ -42,8 +42,13 @@ export default async ( } = req.auth; if (req.method === 'GET') { - req.query.id = userId; - req.query.pageSize = 100; + if (!req.query.id) { + req.query.id = userId; + } + + if (!req.query.pageSize) { + req.query.pageSize = 100; + } return userWebsites(req as any, res); } diff --git a/src/queries/admin/report.ts b/src/queries/admin/report.ts index a053ba92..59eb7035 100644 --- a/src/queries/admin/report.ts +++ b/src/queries/admin/report.ts @@ -142,6 +142,7 @@ export async function getReports( ...pageFilters, ...(options?.include && { include: options.include }), }); + const count = await prisma.client.report.count({ where, }); diff --git a/src/queries/admin/team.ts b/src/queries/admin/team.ts index 284b218e..cf731ad4 100644 --- a/src/queries/admin/team.ts +++ b/src/queries/admin/team.ts @@ -135,6 +135,7 @@ export async function getTeams( ...pageFilters, ...(options?.include && { include: options?.include }), }); + const count = await prisma.client.team.count({ where }); return { data: teams, count, ...getParameters }; diff --git a/src/queries/admin/website.ts b/src/queries/admin/website.ts index 3d0c773b..cf4570cf 100644 --- a/src/queries/admin/website.ts +++ b/src/queries/admin/website.ts @@ -107,7 +107,8 @@ export async function getWebsites( ...pageFilters, ...(options?.include && { include: options.include }), }); - const count = await prisma.client.website.count({ where }); + + const count = await prisma.client.website.count({ where: { ...where, deletedAt: null } }); return { data: websites, count, ...getParameters }; } From 61df80112a1396e8826a55b13319e33a925cc277 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 30 Aug 2023 15:43:39 -0700 Subject: [PATCH 19/47] Updated subdivision check. --- src/lib/detect.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/lib/detect.ts b/src/lib/detect.ts index d6043506..b16bab7a 100644 --- a/src/lib/detect.ts +++ b/src/lib/detect.ts @@ -57,6 +57,14 @@ export function getDevice(screen, os) { } } +function getRegionCode(country, region) { + if (!country || !region) { + return undefined; + } + + return region.includes('-') ? region : `${country}-${region}`; +} + export async function getLocation(ip, req) { // Ignore local ips if (await isLocalhost(ip)) { @@ -71,7 +79,7 @@ export async function getLocation(ip, req) { return { country, - subdivision1: subdivision1?.includes('-') ? subdivision1 : `${country}-${subdivision1}`, + subdivision1: getRegionCode(country, subdivision1), city, }; } @@ -84,7 +92,7 @@ export async function getLocation(ip, req) { return { country, - subdivision1: subdivision1?.includes('-') ? subdivision1 : `${country}-${subdivision1}`, + subdivision1: getRegionCode(country, subdivision1), city, }; } From 62434a3e0ceb5eb8fd9f32701bb28c0a16a38fb6 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 30 Aug 2023 15:49:26 -0700 Subject: [PATCH 20/47] Bump version v2.6.1. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4fda0a22..9745b780 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "umami", - "version": "2.6.0", + "version": "2.6.1", "description": "A simple, fast, privacy-focused alternative to Google Analytics.", "author": "Mike Cao ", "license": "MIT", From fac306328dd75f6a5676addae2c968a0be5a40ee Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 30 Aug 2023 16:13:05 -0700 Subject: [PATCH 21/47] Updated language. --- public/intl/messages/zh-CN.json | 60 ++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/public/intl/messages/zh-CN.json b/public/intl/messages/zh-CN.json index 71234564..ec5c441b 100644 --- a/public/intl/messages/zh-CN.json +++ b/public/intl/messages/zh-CN.json @@ -104,7 +104,7 @@ "label.browser": [ { "type": 0, - "value": "Browser" + "value": "浏览器" } ], "label.browsers": [ @@ -134,7 +134,7 @@ "label.city": [ { "type": 0, - "value": "City" + "value": "市/县" } ], "label.clear-all": [ @@ -176,7 +176,7 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "国家/地区" } ], "label.create-report": [ @@ -230,7 +230,7 @@ "label.date": [ { "type": 0, - "value": "Date" + "value": "日期" } ], "label.date-range": [ @@ -242,7 +242,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "日" } ], "label.default-date-range": [ @@ -296,7 +296,7 @@ "label.device": [ { "type": 0, - "value": "Device" + "value": "设备" } ], "label.devices": [ @@ -440,13 +440,13 @@ "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "未设置" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "已设置" } ], "label.join": [ @@ -576,7 +576,7 @@ "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "我的网站" } ], "label.name": [ @@ -618,7 +618,15 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "总" + }, + { + "type": 1, + "value": "total" + }, + { + "type": 0, + "value": "中的第" }, { "type": 1, @@ -626,11 +634,7 @@ }, { "type": 0, - "value": " of " - }, - { - "type": 1, - "value": "total" + "value": "页" } ], "label.page-views": [ @@ -642,7 +646,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "标题" } ], "label.pages": [ @@ -704,7 +708,7 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "来源" } ], "label.referrers": [ @@ -728,7 +732,7 @@ "label.region": [ { "type": 0, - "value": "Region" + "value": "州/省" } ], "label.regions": [ @@ -770,7 +774,7 @@ "label.retention": [ { "type": 0, - "value": "Retention" + "value": "保留" } ], "label.role": [ @@ -872,7 +876,7 @@ "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "团队名称" } ], "label.team-owner": [ @@ -884,7 +888,7 @@ "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "团队网站" } ], "label.teams": [ @@ -974,7 +978,7 @@ "label.unique": [ { "type": 0, - "value": "Unique" + "value": "独立" } ], "label.unique-visitors": [ @@ -998,13 +1002,13 @@ "label.url": [ { "type": 0, - "value": "URL" + "value": "网址" } ], "label.urls": [ { "type": 0, - "value": "URLs" + "value": "网址" } ], "label.user": [ @@ -1046,7 +1050,7 @@ "label.view-only": [ { "type": 0, - "value": "View only" + "value": "仅浏览量" } ], "label.views": [ @@ -1190,15 +1194,15 @@ "message.event-log": [ { "type": 1, - "value": "event" + "value": "url" }, { "type": 0, - "value": " on " + "value": "上的" }, { "type": 1, - "value": "url" + "value": "event" } ], "message.go-to-settings": [ From a7ea2027853be35254039df07422d9e89fa0607c Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 30 Aug 2023 16:33:06 -0700 Subject: [PATCH 22/47] Check for payload. --- src/pages/api/send.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pages/api/send.ts b/src/pages/api/send.ts index a379f261..56a748e1 100644 --- a/src/pages/api/send.ts +++ b/src/pages/api/send.ts @@ -79,6 +79,10 @@ export default async (req: NextApiRequestCollect, res: NextApiResponse) => { const { type, payload } = getJsonBody(req); + if (!type || !payload) { + return badRequest(res); + } + req.yup = schema; await useValidate(req, res); From 620011a837937226b7b25a528a411161c7f10705 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 30 Aug 2023 16:40:32 -0700 Subject: [PATCH 23/47] Removed getJsonBody. --- src/lib/detect.ts | 8 -------- src/lib/session.ts | 6 +++--- src/pages/api/send.ts | 4 ++-- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/src/lib/detect.ts b/src/lib/detect.ts index b16bab7a..3b2f9021 100644 --- a/src/lib/detect.ts +++ b/src/lib/detect.ts @@ -130,11 +130,3 @@ export async function getClientInfo(req: NextApiRequestCollect, { screen }) { return { userAgent, browser, os, ip, country, subdivision1, subdivision2, city, device }; } - -export function getJsonBody(req): T { - if ((req.headers['content-type'] || '').indexOf('text/plain') !== -1) { - return JSON.parse(req.body); - } - - return req.body; -} diff --git a/src/lib/session.ts b/src/lib/session.ts index 85c173c5..0f388db9 100644 --- a/src/lib/session.ts +++ b/src/lib/session.ts @@ -1,7 +1,7 @@ import { isUuid, secret, uuid } from 'lib/crypto'; -import { getClientInfo, getJsonBody } from 'lib/detect'; +import { getClientInfo } from 'lib/detect'; import { parseToken } from 'next-basics'; -import { CollectRequestBody, NextApiRequestCollect } from 'pages/api/send'; +import { NextApiRequestCollect } from 'pages/api/send'; import { createSession } from 'queries'; import cache from './cache'; import clickhouse from './clickhouse'; @@ -22,7 +22,7 @@ export async function findSession(req: NextApiRequestCollect): Promise<{ city: any; ownerId: string; }> { - const { payload } = getJsonBody(req); + const { payload } = req.body; if (!payload) { throw new Error('Invalid payload.'); diff --git a/src/pages/api/send.ts b/src/pages/api/send.ts index 56a748e1..e220711c 100644 --- a/src/pages/api/send.ts +++ b/src/pages/api/send.ts @@ -3,7 +3,7 @@ import ipaddr from 'ipaddr.js'; import isbot from 'isbot'; import { COLLECTION_TYPE, HOSTNAME_REGEX } from 'lib/constants'; import { secret } from 'lib/crypto'; -import { getIpAddress, getJsonBody } from 'lib/detect'; +import { getIpAddress } from 'lib/detect'; import { useCors, useSession, useValidate } from 'lib/middleware'; import { CollectionType, YupRequest } from 'lib/types'; import { NextApiRequest, NextApiResponse } from 'next'; @@ -77,7 +77,7 @@ export default async (req: NextApiRequestCollect, res: NextApiResponse) => { return ok(res); } - const { type, payload } = getJsonBody(req); + const { type, payload } = req.body; if (!type || !payload) { return badRequest(res); From 68ffa823f8a27490b6005a84e44be0d95e2e767c Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 30 Aug 2023 23:53:05 -0700 Subject: [PATCH 24/47] Fixed missing docker middleware. --- Dockerfile | 2 +- src/pages/api/send.ts | 124 +++++++++++++++++++++--------------------- 2 files changed, 63 insertions(+), 63 deletions(-) diff --git a/Dockerfile b/Dockerfile index bdc678da..e0c7e8c3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,8 +12,8 @@ RUN yarn install --frozen-lockfile FROM node:18-alpine AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules -COPY docker/middleware.js . COPY . . +COPY docker/middleware.js ./src ARG DATABASE_TYPE ARG BASE_PATH diff --git a/src/pages/api/send.ts b/src/pages/api/send.ts index e220711c..00d72104 100644 --- a/src/pages/api/send.ts +++ b/src/pages/api/send.ts @@ -7,7 +7,7 @@ import { getIpAddress } from 'lib/detect'; import { useCors, useSession, useValidate } from 'lib/middleware'; import { CollectionType, YupRequest } from 'lib/types'; import { NextApiRequest, NextApiResponse } from 'next'; -import { badRequest, createToken, forbidden, ok, send } from 'next-basics'; +import { badRequest, createToken, forbidden, methodNotAllowed, ok, send } from 'next-basics'; import { saveEvent, saveSessionData } from 'queries'; import * as yup from 'yup'; @@ -73,75 +73,75 @@ const schema = { export default async (req: NextApiRequestCollect, res: NextApiResponse) => { await useCors(req, res); - if (isbot(req.headers['user-agent']) && !process.env.DISABLE_BOT_CHECK) { - return ok(res); - } - - const { type, payload } = req.body; - - if (!type || !payload) { - return badRequest(res); - } - - req.yup = schema; - await useValidate(req, res); - - if (await hasBlockedIp(req)) { - return forbidden(res); - } - - const { url, referrer, name: eventName, data: eventData, title: pageTitle } = payload; - - await useSession(req, res); - - const session = req.session; - - if (type === COLLECTION_TYPE.event) { - // eslint-disable-next-line prefer-const - let [urlPath, urlQuery] = url?.split('?') || []; - let [referrerPath, referrerQuery] = referrer?.split('?') || []; - let referrerDomain; - - if (!urlPath) { - urlPath = '/'; + if (req.method === 'POST') { + if (isbot(req.headers['user-agent']) && !process.env.DISABLE_BOT_CHECK) { + return ok(res); } - if (referrerPath?.startsWith('http')) { - const refUrl = new URL(referrer); - referrerPath = refUrl.pathname; - referrerQuery = refUrl.search.substring(1); - referrerDomain = refUrl.hostname.replace(/www\./, ''); + const { type, payload } = req.body; + + req.yup = schema; + await useValidate(req, res); + + if (await hasBlockedIp(req)) { + return forbidden(res); } - if (process.env.REMOVE_TRAILING_SLASH) { - urlPath = urlPath.replace(/.+\/$/, ''); + const { url, referrer, name: eventName, data: eventData, title: pageTitle } = payload; + + await useSession(req, res); + + const session = req.session; + + if (type === COLLECTION_TYPE.event) { + // eslint-disable-next-line prefer-const + let [urlPath, urlQuery] = url?.split('?') || []; + let [referrerPath, referrerQuery] = referrer?.split('?') || []; + let referrerDomain; + + if (!urlPath) { + urlPath = '/'; + } + + if (referrerPath?.startsWith('http')) { + const refUrl = new URL(referrer); + referrerPath = refUrl.pathname; + referrerQuery = refUrl.search.substring(1); + referrerDomain = refUrl.hostname.replace(/www\./, ''); + } + + if (process.env.REMOVE_TRAILING_SLASH) { + urlPath = urlPath.replace(/.+\/$/, ''); + } + + await saveEvent({ + urlPath, + urlQuery, + referrerPath, + referrerQuery, + referrerDomain, + pageTitle, + eventName, + eventData, + ...session, + sessionId: session.id, + }); } - await saveEvent({ - urlPath, - urlQuery, - referrerPath, - referrerQuery, - referrerDomain, - pageTitle, - eventName, - eventData, - ...session, - sessionId: session.id, - }); + if (type === COLLECTION_TYPE.identify) { + if (!eventData) { + return badRequest(res, 'Data required.'); + } + + await saveSessionData({ ...session, sessionData: eventData, sessionId: session.id }); + } + + const token = createToken(session, secret()); + + return send(res, token); } - if (type === COLLECTION_TYPE.identify) { - if (!eventData) { - return badRequest(res, 'Data required.'); - } - - await saveSessionData({ ...session, sessionData: eventData, sessionId: session.id }); - } - - const token = createToken(session, secret()); - - return send(res, token); + return methodNotAllowed(res); }; async function hasBlockedIp(req: NextApiRequestCollect) { From 5b7cfe83b483b1f6bb83c094a02322867f36c3dd Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 31 Aug 2023 00:08:24 -0700 Subject: [PATCH 25/47] Fixed update notice. --- src/components/common/UpdateNotice.js | 6 ++++-- src/components/common/UpdateNotice.module.css | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/components/common/UpdateNotice.js b/src/components/common/UpdateNotice.js index e3edc70c..23907948 100644 --- a/src/components/common/UpdateNotice.js +++ b/src/components/common/UpdateNotice.js @@ -1,4 +1,5 @@ import { useEffect, useCallback, useState } from 'react'; +import { createPortal } from 'react-dom'; import { Button, Row, Column } from 'react-basics'; import { setItem } from 'next-basics'; import useStore, { checkVersion } from 'store/version'; @@ -44,7 +45,7 @@ export function UpdateNotice({ user, config }) { return null; } - return ( + return createPortal( {formatMessage(messages.newVersionAvailable, { version: `v${latest}` })} @@ -55,7 +56,8 @@ export function UpdateNotice({ user, config }) { - + , + document.body, ); } diff --git a/src/components/common/UpdateNotice.module.css b/src/components/common/UpdateNotice.module.css index db7a0abd..261a3169 100644 --- a/src/components/common/UpdateNotice.module.css +++ b/src/components/common/UpdateNotice.module.css @@ -2,13 +2,14 @@ position: absolute; max-width: 800px; gap: 20px; - margin: 20px auto; - justify-self: center; + margin: 80px auto; + align-self: center; background: var(--base50); padding: 20px; border: 1px solid var(--base300); border-radius: var(--border-radius); z-index: var(--z-index-popup); + box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.1); } .message { From aa5c84a6efea4a94af4052e8bf915940575b6f86 Mon Sep 17 00:00:00 2001 From: anzepintar Date: Thu, 31 Aug 2023 11:24:28 +0200 Subject: [PATCH 26/47] Update sl-SI.json --- src/lang/sl-SI.json | 306 ++++++++++++++++++++++---------------------- 1 file changed, 153 insertions(+), 153 deletions(-) diff --git a/src/lang/sl-SI.json b/src/lang/sl-SI.json index aae7888d..4e7e4ad9 100644 --- a/src/lang/sl-SI.json +++ b/src/lang/sl-SI.json @@ -1,211 +1,211 @@ { - "label.access-code": "Access code", + "label.access-code": "Koda za dostop", "label.actions": "Dejanja", - "label.activity-log": "Activity log", - "label.add": "Add", - "label.add-description": "Add description", + "label.activity-log": "Dnevnik dejavnosti", + "label.add": "Dodaj", + "label.add-description": "Dodaj opis", "label.add-website": "Dodaj spletno mesto", "label.admin": "Administrator", - "label.after": "After", - "label.all": "Vse", - "label.all-time": "All time", - "label.analytics": "Analytics", - "label.average": "Average", + "label.after": "Po", + "label.all": "Vsi", + "label.all-time": "Ves čas", + "label.analytics": "Analitika", + "label.average": "Povprečno", "label.average-visit-time": "Povprečni čas obiska", "label.back": "Nazaj", - "label.before": "Before", - "label.bounce-rate": "Zapustna stopnja", - "label.breakdown": "Breakdown", - "label.browser": "Browser", + "label.before": "Pred", + "label.bounce-rate": "Odbojna stopnja", + "label.breakdown": "Razčlenitev", + "label.browser": "Brskalnik", "label.browsers": "Brskalniki", "label.cancel": "Prekliči", "label.change-password": "Zamenjaj geslo", - "label.cities": "Cities", - "label.city": "City", - "label.clear-all": "Clear all", - "label.confirm": "Confirm", - "label.confirm-password": "Potrditev gesla", - "label.contains": "Contains", - "label.continue": "Continue", + "label.cities": "Mesta", + "label.city": "Mesto", + "label.clear-all": "Počisti vse", + "label.confirm": "Potrdi", + "label.confirm-password": "Potrdi geslo", + "label.contains": "Vsebuje", + "label.continue": "Nadaljuj", "label.countries": "Države", - "label.country": "Country", - "label.create-report": "Create report", - "label.create-team": "Create team", - "label.create-user": "Create user", - "label.created": "Created", + "label.country": "Država", + "label.create-report": "Ustvari poročilo", + "label.create-team": "Ustvari ekipo", + "label.create-user": "Ustvari uporabnika", + "label.created": "Ustvarjeno", "label.current-password": "Trenutno geslo", - "label.custom-range": "Razpon po meri", + "label.custom-range": "Obdobje po meri", "label.dashboard": "Nadzorna plošča", - "label.data": "Data", - "label.date": "Date", - "label.date-range": "Časovni razpon", - "label.day": "Day", - "label.default-date-range": "Privzeti časovni razpon", + "label.data": "Podatki", + "label.date": "Datum", + "label.date-range": "Časovno obdobje", + "label.day": "Dan", + "label.default-date-range": "Privzeto časovno obdobje", "label.delete": "Izbriši", - "label.delete-team": "Delete team", - "label.delete-user": "Delete user", + "label.delete-team": "Izbriši ekipo", + "label.delete-user": "Izbriši uporabnika", "label.delete-website": "Izbriši spletno mesto", - "label.description": "Description", + "label.description": "Opis", "label.desktop": "Namizni računalnik", - "label.details": "Details", - "label.device": "Device", + "label.details": "Podrobnosti", + "label.device": "Naprava", "label.devices": "Naprave", - "label.dismiss": "Opusti", - "label.does-not-contain": "Does not contain", + "label.dismiss": "Prezri", + "label.does-not-contain": "Ne vsebuje", "label.domain": "Domena", - "label.dropoff": "Dropoff", + "label.dropoff": "Zapustitev", "label.edit": "Uredi", - "label.edit-dashboard": "Edit dashboard", - "label.enable-share-url": "Omogoči URL za skupno rabo", - "label.event": "Event", - "label.event-data": "Event data", + "label.edit-dashboard": "Uredi nadzorno ploščo", + "label.enable-share-url": "Uredi povezavo za deljenje", + "label.event": "Dogodek", + "label.event-data": "Podatki dogodka", "label.events": "Dogodki", - "label.false": "False", - "label.field": "Field", - "label.fields": "Fields", - "label.filter-combined": "Skupno", - "label.filter-raw": "Neobdelane meritve", - "label.filters": "Filters", - "label.funnel": "Funnel", - "label.greater-than": "Greater than", - "label.greater-than-equals": "Greater than or equals", - "label.insights": "Insights", - "label.is": "Is", - "label.is-not": "Is not", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", - "label.join": "Join", - "label.join-team": "Join team", - "label.language": "Language", - "label.languages": "Languages", + "label.false": "Napačno", + "label.field": "Polje", + "label.fields": "Polja", + "label.filter-combined": "Skupaj", + "label.filter-raw": "Neobdelano", + "label.filters": "Filtri", + "label.funnel": "Prodajni lijak", + "label.greater-than": "Večje od", + "label.greater-than-equals": "Večje ali enako kot", + "label.insights": "Vpogled", + "label.is": "Je", + "label.is-not": "Ni", + "label.is-not-set": "Ni nastavljeno", + "label.is-set": "Je nastavljeno", + "label.join": "Pridruži se", + "label.join-team": "Pridruži se ekipi", + "label.language": "Jezik", + "label.languages": "Jeziki", "label.laptop": "Prenosni računalnik", "label.last-days": "Zadnjih {x} dni", "label.last-hours": "Zadnjih {x} ur", - "label.leave": "Leave", - "label.leave-team": "Leave team", - "label.less-than": "Less than", - "label.less-than-equals": "Less than or equals", + "label.leave": "Zapusti", + "label.leave-team": "Zapusti ekipo", + "label.less-than": "Manjše kot", + "label.less-than-equals": "Manjše ali enako kot", "label.login": "Prijava", "label.logout": "Odjava", - "label.max": "Max", - "label.members": "Members", - "label.min": "Min", - "label.mobile": "Mobilni telefon", + "label.max": "Največ", + "label.members": "Člani", + "label.min": "Najmanj", + "label.mobile": "Mobilne naprave", "label.more": "Več", - "label.my-websites": "My websites", + "label.my-websites": "Moja spletna mesta", "label.name": "Ime", "label.new-password": "Novo geslo", - "label.none": "None", + "label.none": "Brez", "label.os": "OS", - "label.overview": "Overview", - "label.owner": "Owner", - "label.page-of": "Page {current} of {total}", - "label.page-views": "Ogledi strani", - "label.pageTitle": "Page title", + "label.overview": "Pregled", + "label.owner": "Lastnik", + "label.page-of": "Stran {current} od {total}", + "label.page-views": "Obiski strani", + "label.pageTitle": "Naslov strani", "label.pages": "Strani", "label.password": "Geslo", - "label.powered-by": "Zagotavlja {name}", + "label.powered-by": "Poganja {name}", "label.profile": "Profil", - "label.queries": "Queries", - "label.query": "Query", - "label.query-parameters": "Query parameters", - "label.realtime": "V realnem času", - "label.referrer": "Referrer", + "label.queries": "Poizvedbe", + "label.query": "Poizvedba", + "label.query-parameters": "Parametri poizvedbe", + "label.realtime": "V živo", + "label.referrer": "Vir", "label.referrers": "Viri", "label.refresh": "Osveži", - "label.regenerate": "Regenerate", - "label.region": "Region", - "label.regions": "Regions", - "label.remove": "Remove", - "label.reports": "Reports", + "label.regenerate": "Ponovno generiraj", + "label.region": "Regija", + "label.regions": "Regije", + "label.remove": "Odstrani", + "label.reports": "Poročila", "label.required": "Zahtevano", "label.reset": "Ponastavi", - "label.reset-website": "Reset statistics", - "label.retention": "Retention", - "label.role": "Role", - "label.run-query": "Run query", + "label.reset-website": "Ponastavi statistiko", + "label.retention": "Ohranjanje uporabnikov", + "label.role": "Vloga", + "label.run-query": "Izvedi poizvedbo", "label.save": "Shrani", - "label.screens": "Screens", - "label.select-date": "Select date", - "label.select-website": "Select website", - "label.sessions": "Sessions", + "label.screens": "Zasloni", + "label.select-date": "Izberi datum", + "label.select-website": "Izberi spletno mesto", + "label.sessions": "Seje", "label.settings": "Nastavitve", - "label.share-url": "Deli URL", + "label.share-url": "Deli povezavo", "label.single-day": "En dan", - "label.sum": "Sum", + "label.sum": "Seštevek", "label.tablet": "Tablični računalnik", - "label.team": "Team", - "label.team-guest": "Team guest", - "label.team-id": "Team ID", - "label.team-member": "Team member", - "label.team-name": "Team name", - "label.team-owner": "Team owner", - "label.team-websites": "Team websites", - "label.teams": "Teams", - "label.theme": "Theme", + "label.team": "Ekipa", + "label.team-guest": "Gost ekipe", + "label.team-id": "ID ekipe", + "label.team-member": "Član ekipe", + "label.team-name": "Ime ekipe", + "label.team-owner": "Lastnik ekipe", + "label.team-websites": "Spletna mesta ekipe", + "label.teams": "Ekipe", + "label.theme": "Tema", "label.this-month": "Ta mesec", "label.this-week": "Ta teden", - "label.this-year": "Letos", + "label.this-year": "To leto", "label.timezone": "Časovni pas", - "label.title": "Title", + "label.title": "Naslov", "label.today": "Danes", - "label.toggle-charts": "Toggle charts", - "label.total": "Total", - "label.total-records": "Total records", + "label.toggle-charts": "Preklopi grafe", + "label.total": "Skupaj", + "label.total-records": "Skupni zapisi", "label.tracking-code": "Koda za sledenje", - "label.true": "True", - "label.type": "Type", - "label.unique": "Unique", + "label.true": "Pravilno", + "label.type": "Vrsta", + "label.unique": "Unikatni", "label.unique-visitors": "Unikatni obiskovalci", "label.unknown": "Neznano", - "label.untitled": "Untitled", - "label.url": "URL", - "label.urls": "URLs", - "label.user": "User", + "label.untitled": "Brez naslova", + "label.url": "Povezava", + "label.urls": "Povezave", + "label.user": "Uporabnik", "label.username": "Uporabniško ime", - "label.users": "Users", - "label.value": "Value", - "label.view": "View", - "label.view-details": "Prikaži podrobnosti", - "label.view-only": "View only", - "label.views": "Ogledi", + "label.users": "Uporabniki", + "label.value": "Vrednost", + "label.view": "Poglej", + "label.view-details": "Poglej podrobnosti", + "label.view-only": "Samo ogledovanje", + "label.views": "Obiski", "label.visitors": "Obiskovalci", - "label.website": "Website", - "label.website-id": "Website ID", - "label.websites": "Spletna mesta", - "label.window": "Window", - "label.yesterday": "Yesterday", - "message.active-users": "{x} trenutni {x, plural, one {obiskovalec} other {obiskovalcev}}", + "label.website": "Spletno mesto", + "label.website-id": "ID spletnega mesta", + "label.websites": "Spletnih mest", + "label.window": "Okno", + "label.yesterday": "Včeraj", + "message.active-users": "{x} trenutni {x, plural, one {visitor} ostali {visitors}}", "message.confirm-delete": "Ste prepričani, da želite izbrisati {target}?", - "message.confirm-leave": "Are you sure you want to leave {target}?", - "message.confirm-reset": "Are your sure you want to reset {target}'s statistics?", - "message.delete-account": "To delete this account, type {confirmation} in the box below to confirm.", - "message.delete-website": "To delete this website, type {confirmation} in the box below to confirm.", - "message.delete-website-warning": "Izbrisani bodo tudi vsi povezani podatki.", - "message.error": "Prišlo je do napake.", - "message.event-log": "{event} on {url}", + "message.confirm-leave": "Ste prepričani, da želite zapustiti {target}?", + "message.confirm-reset": "Ste prepričani, da želite ponastaviti statistiko {target}?", + "message.delete-account": "Za potrditev izbrisa tega računa vnesite {confirmation} v spodnje polje.", + "message.delete-website": "Za potrditev izbrisa tega spletnega mesta vnesite {confirmation} v spodnje polje.", + "message.delete-website-warning": "Izbrisani bodo tudi vsi pripadajoči podatki.", + "message.error": "Nekaj je šlo narobe.", + "message.event-log": "{event} na {url}", "message.go-to-settings": "Pojdi v nastavitve", - "message.incorrect-username-password": "Nepravilno uporabniško ime/geslo", + "message.incorrect-username-password": "Nepravilno uporabniško ime/geslo.", "message.invalid-domain": "Neveljavna domena", - "message.min-password-length": "Minimum length of {n} characters", - "message.new-version-available": "A new version of Umami {version} is available!", + "message.min-password-length": "Najmanjša dolžina je {n} znakov", + "message.new-version-available": "Na voljo je nova verzija programa Umami {version}!", "message.no-data-available": "Podatki niso na voljo.", - "message.no-event-data": "No event data is available.", + "message.no-event-data": "Podatki o dogodku niso na voljo.", "message.no-match-password": "Gesli se ne ujemata", - "message.no-results-found": "No results were found.", - "message.no-team-websites": "This team does not have any websites.", - "message.no-teams": "You have not created any teams.", - "message.no-users": "There are no users.", - "message.no-websites-configured": "Ni nastavljenih spletnih mest.", + "message.no-results-found": "Rezultatov ni bilo mogoče najti.", + "message.no-team-websites": "Ta ekipa nima spletnih mest.", + "message.no-teams": "Niste še ustvarili nobene ekipe.", + "message.no-users": "Ni uporabnikov.", + "message.no-websites-configured": "Nimate nastavljenih nobenih spletnih mest.", "message.page-not-found": "Stran ni bila najdena.", - "message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.", - "message.reset-website-warning": "All statistics for this website will be deleted, but your tracking code will remain intact.", + "message.reset-website": "Za ponastavitev izbrisa tega spletnega mesta vnesite {confirmation} v spodnje polje.", + "message.reset-website-warning": "Vse statistike za to spletno mesto bodo izbrisane, koda za sledenje pa bo ostala nespremenjena.", "message.saved": "Uspešno shranjeno.", - "message.share-url": "To je javno dostopen naslov URL za {target}.", - "message.team-already-member": "You are already a member of the team.", - "message.team-not-found": "Team not found.", - "message.team-websites-info": "Websites can be viewed by anyone on the team.", + "message.share-url": "To je javno dostopna povezava za {target}.", + "message.team-already-member": "Ste že član ekipe.", + "message.team-not-found": "Ekipa ni bila najdena.", + "message.team-websites-info": "Spletne strani si lahko ogleda vsak član ekipe.", "message.tracking-code": "Koda za sledenje", - "message.user-deleted": "User deleted.", + "message.user-deleted": "Uporabnik je izbrisan.", "message.visitor-log": "Obiskovalec iz {country} uporablja {browser} na {os} {device}" } From 338d1c62ea7c978beeb6570793d9be70a214487b Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 31 Aug 2023 14:32:59 -0700 Subject: [PATCH 27/47] Updated language files. --- public/intl/messages/sl-SI.json | 318 ++++++++++++++++---------------- src/lang/sl-SI.json | 2 +- 2 files changed, 160 insertions(+), 160 deletions(-) diff --git a/public/intl/messages/sl-SI.json b/public/intl/messages/sl-SI.json index a3af95cb..ee62a315 100644 --- a/public/intl/messages/sl-SI.json +++ b/public/intl/messages/sl-SI.json @@ -2,7 +2,7 @@ "label.access-code": [ { "type": 0, - "value": "Access code" + "value": "Koda za dostop" } ], "label.actions": [ @@ -14,19 +14,19 @@ "label.activity-log": [ { "type": 0, - "value": "Activity log" + "value": "Dnevnik dejavnosti" } ], "label.add": [ { "type": 0, - "value": "Add" + "value": "Dodaj" } ], "label.add-description": [ { "type": 0, - "value": "Add description" + "value": "Dodaj opis" } ], "label.add-website": [ @@ -44,31 +44,31 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "Po" } ], "label.all": [ { "type": 0, - "value": "Vse" + "value": "Vsi" } ], "label.all-time": [ { "type": 0, - "value": "All time" + "value": "Ves čas" } ], "label.analytics": [ { "type": 0, - "value": "Analytics" + "value": "Analitika" } ], "label.average": [ { "type": 0, - "value": "Average" + "value": "Povprečno" } ], "label.average-visit-time": [ @@ -86,25 +86,25 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "Pred" } ], "label.bounce-rate": [ { "type": 0, - "value": "Zapustna stopnja" + "value": "Odbojna stopnja" } ], "label.breakdown": [ { "type": 0, - "value": "Breakdown" + "value": "Razčlenitev" } ], "label.browser": [ { "type": 0, - "value": "Browser" + "value": "Brskalnik" } ], "label.browsers": [ @@ -128,43 +128,43 @@ "label.cities": [ { "type": 0, - "value": "Cities" + "value": "Mesta" } ], "label.city": [ { "type": 0, - "value": "City" + "value": "Mesto" } ], "label.clear-all": [ { "type": 0, - "value": "Clear all" + "value": "Počisti vse" } ], "label.confirm": [ { "type": 0, - "value": "Confirm" + "value": "Potrdi" } ], "label.confirm-password": [ { "type": 0, - "value": "Potrditev gesla" + "value": "Potrdi geslo" } ], "label.contains": [ { "type": 0, - "value": "Contains" + "value": "Vsebuje" } ], "label.continue": [ { "type": 0, - "value": "Continue" + "value": "Nadaljuj" } ], "label.countries": [ @@ -176,31 +176,31 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Država" } ], "label.create-report": [ { "type": 0, - "value": "Create report" + "value": "Ustvari poročilo" } ], "label.create-team": [ { "type": 0, - "value": "Create team" + "value": "Ustvari ekipo" } ], "label.create-user": [ { "type": 0, - "value": "Create user" + "value": "Ustvari uporabnika" } ], "label.created": [ { "type": 0, - "value": "Created" + "value": "Ustvarjeno" } ], "label.current-password": [ @@ -212,7 +212,7 @@ "label.custom-range": [ { "type": 0, - "value": "Razpon po meri" + "value": "Obdobje po meri" } ], "label.dashboard": [ @@ -224,31 +224,31 @@ "label.data": [ { "type": 0, - "value": "Data" + "value": "Podatki" } ], "label.date": [ { "type": 0, - "value": "Date" + "value": "Datum" } ], "label.date-range": [ { "type": 0, - "value": "Časovni razpon" + "value": "Časovno obdobje" } ], "label.day": [ { "type": 0, - "value": "Day" + "value": "Dan" } ], "label.default-date-range": [ { "type": 0, - "value": "Privzeti časovni razpon" + "value": "Privzeto časovno obdobje" } ], "label.delete": [ @@ -260,13 +260,13 @@ "label.delete-team": [ { "type": 0, - "value": "Delete team" + "value": "Izbriši ekipo" } ], "label.delete-user": [ { "type": 0, - "value": "Delete user" + "value": "Izbriši uporabnika" } ], "label.delete-website": [ @@ -278,7 +278,7 @@ "label.description": [ { "type": 0, - "value": "Description" + "value": "Opis" } ], "label.desktop": [ @@ -290,13 +290,13 @@ "label.details": [ { "type": 0, - "value": "Details" + "value": "Podrobnosti" } ], "label.device": [ { "type": 0, - "value": "Device" + "value": "Naprava" } ], "label.devices": [ @@ -308,13 +308,13 @@ "label.dismiss": [ { "type": 0, - "value": "Opusti" + "value": "Prezri" } ], "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "Ne vsebuje" } ], "label.domain": [ @@ -326,7 +326,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Zapustitev" } ], "label.edit": [ @@ -338,25 +338,25 @@ "label.edit-dashboard": [ { "type": 0, - "value": "Edit dashboard" + "value": "Uredi nadzorno ploščo" } ], "label.enable-share-url": [ { "type": 0, - "value": "Omogoči URL za skupno rabo" + "value": "Uredi povezavo za deljenje" } ], "label.event": [ { "type": 0, - "value": "Event" + "value": "Dogodek" } ], "label.event-data": [ { "type": 0, - "value": "Event data" + "value": "Podatki dogodka" } ], "label.events": [ @@ -368,109 +368,109 @@ "label.false": [ { "type": 0, - "value": "False" + "value": "Napačno" } ], "label.field": [ { "type": 0, - "value": "Field" + "value": "Polje" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "Polja" } ], "label.filter-combined": [ { "type": 0, - "value": "Skupno" + "value": "Skupaj" } ], "label.filter-raw": [ { "type": 0, - "value": "Neobdelane meritve" + "value": "Neobdelano" } ], "label.filters": [ { "type": 0, - "value": "Filters" + "value": "Filtri" } ], "label.funnel": [ { "type": 0, - "value": "Funnel" + "value": "Prodajni lijak" } ], "label.greater-than": [ { "type": 0, - "value": "Greater than" + "value": "Večje od" } ], "label.greater-than-equals": [ { "type": 0, - "value": "Greater than or equals" + "value": "Večje ali enako kot" } ], "label.insights": [ { "type": 0, - "value": "Insights" + "value": "Vpogled" } ], "label.is": [ { "type": 0, - "value": "Is" + "value": "Je" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "Ni" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "Ni nastavljeno" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Je nastavljeno" } ], "label.join": [ { "type": 0, - "value": "Join" + "value": "Pridruži se" } ], "label.join-team": [ { "type": 0, - "value": "Join team" + "value": "Pridruži se ekipi" } ], "label.language": [ { "type": 0, - "value": "Language" + "value": "Jezik" } ], "label.languages": [ { "type": 0, - "value": "Languages" + "value": "Jeziki" } ], "label.laptop": [ @@ -510,25 +510,25 @@ "label.leave": [ { "type": 0, - "value": "Leave" + "value": "Zapusti" } ], "label.leave-team": [ { "type": 0, - "value": "Leave team" + "value": "Zapusti ekipo" } ], "label.less-than": [ { "type": 0, - "value": "Less than" + "value": "Manjše kot" } ], "label.less-than-equals": [ { "type": 0, - "value": "Less than or equals" + "value": "Manjše ali enako kot" } ], "label.login": [ @@ -546,25 +546,25 @@ "label.max": [ { "type": 0, - "value": "Max" + "value": "Največ" } ], "label.members": [ { "type": 0, - "value": "Members" + "value": "Člani" } ], "label.min": [ { "type": 0, - "value": "Min" + "value": "Najmanj" } ], "label.mobile": [ { "type": 0, - "value": "Mobilni telefon" + "value": "Mobilne naprave" } ], "label.more": [ @@ -576,7 +576,7 @@ "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Moja spletna mesta" } ], "label.name": [ @@ -594,7 +594,7 @@ "label.none": [ { "type": 0, - "value": "None" + "value": "Brez" } ], "label.os": [ @@ -606,19 +606,19 @@ "label.overview": [ { "type": 0, - "value": "Overview" + "value": "Pregled" } ], "label.owner": [ { "type": 0, - "value": "Owner" + "value": "Lastnik" } ], "label.page-of": [ { "type": 0, - "value": "Page " + "value": "Stran " }, { "type": 1, @@ -626,7 +626,7 @@ }, { "type": 0, - "value": " of " + "value": " od " }, { "type": 1, @@ -636,13 +636,13 @@ "label.page-views": [ { "type": 0, - "value": "Ogledi strani" + "value": "Obiski strani" } ], "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Naslov strani" } ], "label.pages": [ @@ -660,7 +660,7 @@ "label.powered-by": [ { "type": 0, - "value": "Zagotavlja " + "value": "Poganja " }, { "type": 1, @@ -676,31 +676,31 @@ "label.queries": [ { "type": 0, - "value": "Queries" + "value": "Poizvedbe" } ], "label.query": [ { "type": 0, - "value": "Query" + "value": "Poizvedba" } ], "label.query-parameters": [ { "type": 0, - "value": "Query parameters" + "value": "Parametri poizvedbe" } ], "label.realtime": [ { "type": 0, - "value": "V realnem času" + "value": "V živo" } ], "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "Vir" } ], "label.referrers": [ @@ -718,31 +718,31 @@ "label.regenerate": [ { "type": 0, - "value": "Regenerate" + "value": "Ponovno generiraj" } ], "label.region": [ { "type": 0, - "value": "Region" + "value": "Regija" } ], "label.regions": [ { "type": 0, - "value": "Regions" + "value": "Regije" } ], "label.remove": [ { "type": 0, - "value": "Remove" + "value": "Odstrani" } ], "label.reports": [ { "type": 0, - "value": "Reports" + "value": "Poročila" } ], "label.required": [ @@ -760,25 +760,25 @@ "label.reset-website": [ { "type": 0, - "value": "Reset statistics" + "value": "Ponastavi statistiko" } ], "label.retention": [ { "type": 0, - "value": "Retention" + "value": "Ohranjanje uporabnikov" } ], "label.role": [ { "type": 0, - "value": "Role" + "value": "Vloga" } ], "label.run-query": [ { "type": 0, - "value": "Run query" + "value": "Izvedi poizvedbo" } ], "label.save": [ @@ -790,25 +790,25 @@ "label.screens": [ { "type": 0, - "value": "Screens" + "value": "Zasloni" } ], "label.select-date": [ { "type": 0, - "value": "Select date" + "value": "Izberi datum" } ], "label.select-website": [ { "type": 0, - "value": "Select website" + "value": "Izberi spletno mesto" } ], "label.sessions": [ { "type": 0, - "value": "Sessions" + "value": "Seje" } ], "label.settings": [ @@ -820,7 +820,7 @@ "label.share-url": [ { "type": 0, - "value": "Deli URL" + "value": "Deli povezavo" } ], "label.single-day": [ @@ -832,7 +832,7 @@ "label.sum": [ { "type": 0, - "value": "Sum" + "value": "Seštevek" } ], "label.tablet": [ @@ -844,55 +844,55 @@ "label.team": [ { "type": 0, - "value": "Team" + "value": "Ekipa" } ], "label.team-guest": [ { "type": 0, - "value": "Team guest" + "value": "Gost ekipe" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "ID ekipe" } ], "label.team-member": [ { "type": 0, - "value": "Team member" + "value": "Član ekipe" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Ime ekipe" } ], "label.team-owner": [ { "type": 0, - "value": "Team owner" + "value": "Lastnik ekipe" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Spletna mesta ekipe" } ], "label.teams": [ { "type": 0, - "value": "Teams" + "value": "Ekipe" } ], "label.theme": [ { "type": 0, - "value": "Theme" + "value": "Tema" } ], "label.this-month": [ @@ -910,7 +910,7 @@ "label.this-year": [ { "type": 0, - "value": "Letos" + "value": "To leto" } ], "label.timezone": [ @@ -922,7 +922,7 @@ "label.title": [ { "type": 0, - "value": "Title" + "value": "Naslov" } ], "label.today": [ @@ -934,19 +934,19 @@ "label.toggle-charts": [ { "type": 0, - "value": "Toggle charts" + "value": "Preklopi grafe" } ], "label.total": [ { "type": 0, - "value": "Total" + "value": "Skupaj" } ], "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "Skupni zapisi" } ], "label.tracking-code": [ @@ -958,19 +958,19 @@ "label.true": [ { "type": 0, - "value": "True" + "value": "Pravilno" } ], "label.type": [ { "type": 0, - "value": "Type" + "value": "Vrsta" } ], "label.unique": [ { "type": 0, - "value": "Unique" + "value": "Unikatni" } ], "label.unique-visitors": [ @@ -988,25 +988,25 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "Brez naslova" } ], "label.url": [ { "type": 0, - "value": "URL" + "value": "Povezava" } ], "label.urls": [ { "type": 0, - "value": "URLs" + "value": "Povezave" } ], "label.user": [ { "type": 0, - "value": "User" + "value": "Uporabnik" } ], "label.username": [ @@ -1018,37 +1018,37 @@ "label.users": [ { "type": 0, - "value": "Users" + "value": "Uporabniki" } ], "label.value": [ { "type": 0, - "value": "Value" + "value": "Vrednost" } ], "label.view": [ { "type": 0, - "value": "View" + "value": "Poglej" } ], "label.view-details": [ { "type": 0, - "value": "Prikaži podrobnosti" + "value": "Poglej podrobnosti" } ], "label.view-only": [ { "type": 0, - "value": "View only" + "value": "Samo ogledovanje" } ], "label.views": [ { "type": 0, - "value": "Ogledi" + "value": "Obiski" } ], "label.visitors": [ @@ -1060,31 +1060,31 @@ "label.website": [ { "type": 0, - "value": "Website" + "value": "Spletno mesto" } ], "label.website-id": [ { "type": 0, - "value": "Website ID" + "value": "ID spletnega mesta" } ], "label.websites": [ { "type": 0, - "value": "Spletna mesta" + "value": "Spletnih mest" } ], "label.window": [ { "type": 0, - "value": "Window" + "value": "Okno" } ], "label.yesterday": [ { "type": 0, - "value": "Yesterday" + "value": "Včeraj" } ], "message.active-users": [ @@ -1138,7 +1138,7 @@ "message.confirm-leave": [ { "type": 0, - "value": "Are you sure you want to leave " + "value": "Ste prepričani, da želite zapustiti " }, { "type": 1, @@ -1152,7 +1152,7 @@ "message.confirm-reset": [ { "type": 0, - "value": "Are your sure you want to reset " + "value": "Ste prepričani, da želite ponastaviti statistiko " }, { "type": 1, @@ -1160,13 +1160,13 @@ }, { "type": 0, - "value": "'s statistics?" + "value": "?" } ], "message.delete-account": [ { "type": 0, - "value": "To delete this account, type " + "value": "Za potrditev izbrisa tega računa vnesite " }, { "type": 1, @@ -1174,13 +1174,13 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " v spodnje polje." } ], "message.delete-website": [ { "type": 0, - "value": "To delete this website, type " + "value": "Za potrditev izbrisa tega spletnega mesta vnesite " }, { "type": 1, @@ -1188,19 +1188,19 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " v spodnje polje." } ], "message.delete-website-warning": [ { "type": 0, - "value": "Izbrisani bodo tudi vsi povezani podatki." + "value": "Izbrisani bodo tudi vsi pripadajoči podatki." } ], "message.error": [ { "type": 0, - "value": "Prišlo je do napake." + "value": "Nekaj je šlo narobe." } ], "message.event-log": [ @@ -1210,7 +1210,7 @@ }, { "type": 0, - "value": " on " + "value": " na " }, { "type": 1, @@ -1226,7 +1226,7 @@ "message.incorrect-username-password": [ { "type": 0, - "value": "Nepravilno uporabniško ime/geslo" + "value": "Nepravilno uporabniško ime/geslo." } ], "message.invalid-domain": [ @@ -1238,7 +1238,7 @@ "message.min-password-length": [ { "type": 0, - "value": "Minimum length of " + "value": "Najmanjša dolžina je " }, { "type": 1, @@ -1246,13 +1246,13 @@ }, { "type": 0, - "value": " characters" + "value": " znakov" } ], "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Na voljo je nova verzija programa Umami " }, { "type": 1, @@ -1260,7 +1260,7 @@ }, { "type": 0, - "value": " is available!" + "value": "!" } ], "message.no-data-available": [ @@ -1272,7 +1272,7 @@ "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "Podatki o dogodku niso na voljo." } ], "message.no-match-password": [ @@ -1284,31 +1284,31 @@ "message.no-results-found": [ { "type": 0, - "value": "No results were found." + "value": "Rezultatov ni bilo mogoče najti." } ], "message.no-team-websites": [ { "type": 0, - "value": "This team does not have any websites." + "value": "Ta ekipa nima spletnih mest." } ], "message.no-teams": [ { "type": 0, - "value": "You have not created any teams." + "value": "Niste še ustvarili nobene ekipe." } ], "message.no-users": [ { "type": 0, - "value": "There are no users." + "value": "Ni uporabnikov." } ], "message.no-websites-configured": [ { "type": 0, - "value": "Ni nastavljenih spletnih mest." + "value": "Nimate nastavljenih nobenih spletnih mest." } ], "message.page-not-found": [ @@ -1320,7 +1320,7 @@ "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "Za ponastavitev izbrisa tega spletnega mesta vnesite " }, { "type": 1, @@ -1328,13 +1328,13 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " v spodnje polje." } ], "message.reset-website-warning": [ { "type": 0, - "value": "All statistics for this website will be deleted, but your tracking code will remain intact." + "value": "Vse statistike za to spletno mesto bodo izbrisane, koda za sledenje pa bo ostala nespremenjena." } ], "message.saved": [ @@ -1346,7 +1346,7 @@ "message.share-url": [ { "type": 0, - "value": "To je javno dostopen naslov URL za " + "value": "To je javno dostopna povezava za " }, { "type": 1, @@ -1360,19 +1360,19 @@ "message.team-already-member": [ { "type": 0, - "value": "You are already a member of the team." + "value": "Ste že član ekipe." } ], "message.team-not-found": [ { "type": 0, - "value": "Team not found." + "value": "Ekipa ni bila najdena." } ], "message.team-websites-info": [ { "type": 0, - "value": "Websites can be viewed by anyone on the team." + "value": "Spletne strani si lahko ogleda vsak član ekipe." } ], "message.tracking-code": [ @@ -1384,7 +1384,7 @@ "message.user-deleted": [ { "type": 0, - "value": "User deleted." + "value": "Uporabnik je izbrisan." } ], "message.visitor-log": [ diff --git a/src/lang/sl-SI.json b/src/lang/sl-SI.json index 4e7e4ad9..440b9fca 100644 --- a/src/lang/sl-SI.json +++ b/src/lang/sl-SI.json @@ -175,7 +175,7 @@ "label.websites": "Spletnih mest", "label.window": "Okno", "label.yesterday": "Včeraj", - "message.active-users": "{x} trenutni {x, plural, one {visitor} ostali {visitors}}", + "message.active-users": "{x} trenutni {x, plural, one {obiskovalec} other {obiskovalcev}}", "message.confirm-delete": "Ste prepričani, da želite izbrisati {target}?", "message.confirm-leave": "Ste prepričani, da želite zapustiti {target}?", "message.confirm-reset": "Ste prepričani, da želite ponastaviti statistiko {target}?", From b652ef3f7391ebdb5c1c7d947da5fa3d92401a2d Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 31 Aug 2023 14:33:39 -0700 Subject: [PATCH 28/47] Bump version v2.6.2. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9745b780..9759b2b8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "umami", - "version": "2.6.1", + "version": "2.6.2", "description": "A simple, fast, privacy-focused alternative to Google Analytics.", "author": "Mike Cao ", "license": "MIT", From 251a5e5a076ac5b601957aeb6813f8b45f22565f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20K=C3=B6ssler?= Date: Fri, 1 Sep 2023 09:26:10 +0200 Subject: [PATCH 29/47] i18n: update de-DE translations --- src/lang/de-DE.json | 110 ++++++++++++++++++++++---------------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 3307dfa4..ba797bbb 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -2,18 +2,18 @@ "label.access-code": "Zugangscode", "label.actions": "Aktionen", "label.activity-log": "Aktivitätsverlauf", - "label.add": "Add", + "label.add": "Hinzufügen", "label.add-description": "Beschreibung hinzufügen", - "label.add-website": "Webseite hinzufügen", + "label.add-website": "Website hinzufügen", "label.admin": "Administrator", - "label.after": "After", + "label.after": "Nach", "label.all": "Alle", "label.all-time": "Gesamter Zeitraum", "label.analytics": "Analytics", "label.average": "Durchschnitt", "label.average-visit-time": "Durchschn. Besuchszeit", "label.back": "Zurück", - "label.before": "Before", + "label.before": "Vor", "label.bounce-rate": "Absprungrate", "label.breakdown": "Breakdown", "label.browser": "Browser", @@ -21,15 +21,15 @@ "label.cancel": "Abbrechen", "label.change-password": "Passwort ändern", "label.cities": "Städte", - "label.city": "City", + "label.city": "Stadt", "label.clear-all": "Alles löschen", "label.confirm": "Bestätigen", "label.confirm-password": "Passwort wiederholen", - "label.contains": "Contains", + "label.contains": "Enthält", "label.continue": "Weiter", "label.countries": "Länder", - "label.country": "Country", - "label.create-report": "Report erstellen", + "label.country": "Land", + "label.create-report": "Bericht erstellen", "label.create-team": "Team erstellen", "label.create-user": "Benutzer erstellen", "label.created": "Erstellt", @@ -37,43 +37,43 @@ "label.custom-range": "Benutzerdefinierter Bereich", "label.dashboard": "Übersicht", "label.data": "Daten", - "label.date": "Date", + "label.date": "Datum", "label.date-range": "Datumsbereich", - "label.day": "Day", + "label.day": "Tag", "label.default-date-range": "Voreingestellter Datumsbereich", "label.delete": "Löschen", "label.delete-team": "Team löschen", "label.delete-user": "Benutzer löschen", - "label.delete-website": "Webseite löschen", + "label.delete-website": "Website löschen", "label.description": "Beschreibung", "label.desktop": "Desktop", "label.details": "Details", - "label.device": "Device", + "label.device": "Gerät", "label.devices": "Geräte", "label.dismiss": "Verwerfen", - "label.does-not-contain": "Does not contain", + "label.does-not-contain": "Enthält nicht", "label.domain": "Domain", "label.dropoff": "Dropoff", "label.edit": "Bearbeiten", "label.edit-dashboard": "Dashboard bearbeiten", "label.enable-share-url": "Freigabe-URL aktivieren", "label.event": "Event", - "label.event-data": "Event daten", + "label.event-data": "Eventdaten", "label.events": "Ereignisse", - "label.false": "False", - "label.field": "Field", - "label.fields": "Fields", + "label.false": "Falsch", + "label.field": "Feld", + "label.fields": "Felder", "label.filter-combined": "Kombiniert", "label.filter-raw": "Rohdaten", - "label.filters": "Filters", + "label.filters": "Filter", "label.funnel": "Funnel", "label.greater-than": "Größer als", "label.greater-than-equals": "Größer oder gleich", "label.insights": "Insights", - "label.is": "Is", - "label.is-not": "Is not", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", + "label.is": "Ist", + "label.is-not": "Ist nicht", + "label.is-not-set": "Ist nicht gesetzt", + "label.is-set": "Ist gesetzt", "label.join": "Beitreten", "label.join-team": "Team beitreten", "label.language": "Sprache", @@ -92,16 +92,16 @@ "label.min": "Min", "label.mobile": "Handy", "label.more": "Mehr", - "label.my-websites": "My websites", + "label.my-websites": "Meine Websites", "label.name": "Name", "label.new-password": "Neues Passwort", "label.none": "Keine", "label.os": "OS", "label.overview": "Übersicht", "label.owner": "Besitzer", - "label.page-of": "Page {current} of {total}", + "label.page-of": "Seite {current} von {total}", "label.page-views": "Seitenaufrufe", - "label.pageTitle": "Page title", + "label.pageTitle": "Seitentitel", "label.pages": "Seiten", "label.password": "Passwort", "label.powered-by": "Betrieben durch {name}", @@ -117,7 +117,7 @@ "label.region": "Region", "label.regions": "Regionen", "label.remove": "Entfernen", - "label.reports": "Reporte", + "label.reports": "Berichte", "label.required": "Erforderlich", "label.reset": "Zurücksetzen", "label.reset-website": "Statistik zurücksetzen", @@ -128,19 +128,19 @@ "label.screens": "Bildschirmauflösungen", "label.select-date": "Datum auswählen", "label.select-website": "Website auswählen", - "label.sessions": "Sessions", + "label.sessions": "Sitzungen", "label.settings": "Einstellungen", "label.share-url": "Freigabe-URL", "label.single-day": "Ein Tag", "label.sum": "Summe", "label.tablet": "Tablet", "label.team": "Team", - "label.team-guest": "Team Gast", - "label.team-id": "Team ID", - "label.team-member": "Team Mitglied", - "label.team-name": "Team name", - "label.team-owner": "Team Eigentümer", - "label.team-websites": "Team websites", + "label.team-guest": "Gast des Teams", + "label.team-id": "Team-ID", + "label.team-member": "Team-Mitglied", + "label.team-name": "Name des Teams", + "label.team-owner": "Team-Eigentümer", + "label.team-websites": "Team-Websites", "label.teams": "Teams", "label.theme": "Thema", "label.this-month": "Diesen Monat", @@ -150,61 +150,61 @@ "label.title": "Titel", "label.today": "Heute", "label.toggle-charts": "Schaubilder umschalten", - "label.total": "Total", - "label.total-records": "Total records", + "label.total": "Gesamt", + "label.total-records": "Datensätze insgesamt", "label.tracking-code": "Tracking Code", - "label.true": "True", - "label.type": "Type", - "label.unique": "Unique", + "label.true": "Wahr", + "label.type": "Typ", + "label.unique": "Eindeutig", "label.unique-visitors": "Eindeutige Besucher", "label.unknown": "Unbekannt", - "label.untitled": "Untitled", + "label.untitled": "Unbenannt", "label.url": "URL", "label.urls": "URLs", "label.user": "Benutzer", "label.username": "Benutzername", "label.users": "Benutzer", - "label.value": "Value", + "label.value": "Wert", "label.view": "Anzeigen", "label.view-details": "Details anzeigen", - "label.view-only": "View only", + "label.view-only": "Nur ansehen", "label.views": "Aufrufe", "label.visitors": "Besucher", - "label.website": "Webseite", - "label.website-id": "Webseite ID", - "label.websites": "Webseiten", - "label.window": "Window", + "label.website": "Website", + "label.website-id": "Website ID", + "label.websites": "Websites", + "label.window": "Fenster", "label.yesterday": "Gestern", "message.active-users": "{x} {x, plural, one {aktiver Besucher} other {aktive Besucher}}", "message.confirm-delete": "Sind Sie sich sicher, {target} zu löschen?", "message.confirm-leave": "Sind Sie sicher, dass die {target} verlassen möchten?", "message.confirm-reset": "Sind Sie sicher, dass Sie die Statistiken von {target} zurücksetzen wollen?", - "message.delete-account": "To delete this account, type {confirmation} in the box below to confirm.", - "message.delete-website": "To delete this website, type {confirmation} in the box below to confirm.", + "message.delete-account": "Um dieses Konto zu löschen, geben Sie zur Bestätigung {confirmation} in das Feld unten ein.", + "message.delete-website": "Um diese Website zu löschen, geben Sie zur Bestätigung {confirmation} in das Feld unten ein.", "message.delete-website-warning": "Alle zugehörigen Daten werden ebenfalls gelöscht.", "message.error": "Es ist ein Fehler aufgetreten.", "message.event-log": "{event} auf {url}", "message.go-to-settings": "Zu den Einstellungen", "message.incorrect-username-password": "Falsches Passwort oder Benutzername.", "message.invalid-domain": "Ungültige Domain", - "message.min-password-length": "Minimale länge von {n} Zeichen", - "message.new-version-available": "A new version of Umami {version} is available!", + "message.min-password-length": "Minimale Länge von {n} Zeichen", + "message.new-version-available": "Eine neue Version von Umami ist verfügbar: {version}", "message.no-data-available": "Keine Daten vorhanden.", - "message.no-event-data": "No event data is available.", + "message.no-event-data": "Es sind keine Ereignisdaten verfügbar.", "message.no-match-password": "Passwörter stimmen nicht überein", "message.no-results-found": "Keine Ergebnisse gefunden.", "message.no-team-websites": "Diesem Team sind keine Websites zugeordnet.", "message.no-teams": "Bisher wurden keine Teams erstellt.", "message.no-users": "Hier gibt es keine Benutzer.", - "message.no-websites-configured": "Es ist keine Webseite vorhanden.", + "message.no-websites-configured": "Es ist keine Website vorhanden.", "message.page-not-found": "Seite nicht gefunden.", - "message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.", - "message.reset-website-warning": "Alle Daten für diese Webseite werden gelöscht, jedoch bleibt der Tracking Code bestehen.", + "message.reset-website": "Um diese Website zurückzusetzen, geben Sie zur Bestätigung {confirmation} in das Feld unten ein.", + "message.reset-website-warning": "Alle Daten für diese Website werden gelöscht, jedoch bleibt der Tracking Code bestehen.", "message.saved": "Erfolgreich gespeichert.", - "message.share-url": "Ihre Webseitenstatistik ist unter der folgenden URL öffentlich zugänglich:", + "message.share-url": "Die Statistiken Ihrer Website sind unter folgender URL öffentlich zugänglich:", "message.team-already-member": "Sie sind bereits Mitglied des Teams.", "message.team-not-found": "Team nicht gefunden.", - "message.team-websites-info": "Webseiten können von jedem im Team eingesehen werden.", + "message.team-websites-info": "Websites können von jedem im Team eingesehen werden.", "message.tracking-code": "Tracking Code", "message.user-deleted": "Benutzer gelöscht.", "message.visitor-log": "Besucher aus {country} benutzt {browser} auf {os} {device}" From be886db0f271a70dd6136ba94d56e1b288f38507 Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Thu, 31 Aug 2023 16:32:17 +0000 Subject: [PATCH 30/47] update lang scripts --- package.json | 2 +- scripts/merge-messages.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 9759b2b8..8bb37201 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "check-db": "node scripts/check-db.js", "check-env": "node scripts/check-env.js", "copy-db-files": "node scripts/copy-db-files.js", - "extract-messages": "formatjs extract \"{pages,components}/**/*.js\" --out-file build/messages.json", + "extract-messages": "formatjs extract \"src/{pages,components}/**/*.js\" --out-file build/messages.json", "merge-messages": "node scripts/merge-messages.js", "generate-lang": "npm-run-all extract-messages merge-messages", "format-lang": "node scripts/format-lang.js", diff --git a/scripts/merge-messages.js b/scripts/merge-messages.js index a7415314..572e9a7e 100644 --- a/scripts/merge-messages.js +++ b/scripts/merge-messages.js @@ -4,7 +4,7 @@ const path = require('path'); const prettier = require('prettier'); const messages = require('../build/messages.json'); -const dest = path.resolve(__dirname, '../lang'); +const dest = path.resolve(__dirname, '../src/lang'); const files = fs.readdirSync(dest); const keys = Object.keys(messages).sort(); @@ -14,7 +14,7 @@ with the existing files under `lang`. Any newly added keys will be printed to the console. */ files.forEach(file => { - const lang = require(`../lang/${file}`); + const lang = require(`../src/lang/${file}`); console.log(`Merging ${file}`); From 440676ef210d451f58110d48c3e57b5487930369 Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Fri, 1 Sep 2023 09:14:51 +0000 Subject: [PATCH 31/47] add lang labels --- src/components/common/SettingsTable.js | 4 +- src/components/messages.js | 14 +++ .../pages/reports/ReportTemplates.js | 10 ++- src/lang/am-ET.json | 6 ++ src/lang/ar-SA.json | 6 ++ src/lang/be-BY.json | 6 ++ src/lang/bn-BD.json | 6 ++ src/lang/ca-ES.json | 6 ++ src/lang/cs-CZ.json | 6 ++ src/lang/da-DK.json | 6 ++ src/lang/de-CH.json | 6 ++ src/lang/de-DE.json | 6 ++ src/lang/el-GR.json | 6 ++ src/lang/en-GB.json | 6 ++ src/lang/en-US.json | 6 ++ src/lang/es-ES.json | 6 ++ src/lang/es-MX.json | 6 ++ src/lang/fa-IR.json | 6 ++ src/lang/fi-FI.json | 6 ++ src/lang/fo-FO.json | 6 ++ src/lang/fr-FR.json | 6 ++ src/lang/ga-ES.json | 6 ++ src/lang/he-IL.json | 6 ++ src/lang/hi-IN.json | 6 ++ src/lang/hr-HR.json | 6 ++ src/lang/hu-HU.json | 6 ++ src/lang/id-ID.json | 6 ++ src/lang/it-IT.json | 6 ++ src/lang/ja-JP.json | 6 ++ src/lang/km-KH.json | 6 ++ src/lang/ko-KR.json | 6 ++ src/lang/lt-LT.json | 6 ++ src/lang/mn-MN.json | 6 ++ src/lang/ms-MY.json | 6 ++ src/lang/my-MM.json | 90 ++++++++++++------- src/lang/nb-NO.json | 6 ++ src/lang/nl-NL.json | 6 ++ src/lang/pl-PL.json | 6 ++ src/lang/pt-BR.json | 6 ++ src/lang/pt-PT.json | 6 ++ src/lang/ro-RO.json | 6 ++ src/lang/ru-RU.json | 6 ++ src/lang/si-LK.json | 6 ++ src/lang/sk-SK.json | 6 ++ src/lang/sl-SI.json | 13 ++- src/lang/sv-SE.json | 6 ++ src/lang/ta-IN.json | 6 ++ src/lang/th-TH.json | 6 ++ src/lang/tr-TR.json | 6 ++ src/lang/uk-UA.json | 6 ++ src/lang/ur-PK.json | 6 ++ src/lang/vi-VN.json | 6 ++ src/lang/zh-CN.json | 6 ++ src/lang/zh-TW.json | 6 ++ 54 files changed, 381 insertions(+), 44 deletions(-) diff --git a/src/components/common/SettingsTable.js b/src/components/common/SettingsTable.js index 2df3b391..a74581ca 100644 --- a/src/components/common/SettingsTable.js +++ b/src/components/common/SettingsTable.js @@ -25,7 +25,7 @@ export function SettingsTable({ onPageSizeChange, filterValue, }) { - const { formatMessage, messages } = useMessages(); + const { formatMessage, labels, messages } = useMessages(); const [filter, setFilter] = useState(filterValue); const { data: value, page, count, pageSize } = data; @@ -42,7 +42,7 @@ export function SettingsTable({ delay={1000} value={filter} autoFocus={true} - placeholder="Search" + placeholder={formatMessage(labels.search)} style={{ maxWidth: '300px', marginBottom: '10px' }} /> )} diff --git a/src/components/messages.js b/src/components/messages.js index f52ed5c5..01c7e779 100644 --- a/src/components/messages.js +++ b/src/components/messages.js @@ -129,6 +129,10 @@ export const labels = defineMessages({ reports: { id: 'label.reports', defaultMessage: 'Reports' }, eventData: { id: 'label.event-data', defaultMessage: 'Event data' }, funnel: { id: 'label.funnel', defaultMessage: 'Funnel' }, + funnelDescription: { + id: 'label.funnel-description', + defaultMessage: 'Understand the conversion and drop-off rate of users.', + }, url: { id: 'label.url', defaultMessage: 'URL' }, urls: { id: 'label.urls', defaultMessage: 'URLs' }, add: { id: 'label.add', defaultMessage: 'Add' }, @@ -167,7 +171,15 @@ export const labels = defineMessages({ overview: { id: 'label.overview', defaultMessage: 'Overview' }, totalRecords: { id: 'label.total-records', defaultMessage: 'Total records' }, insights: { id: 'label.insights', defaultMessage: 'Insights' }, + insightsDescription: { + id: 'label.insights-description', + defaultMessage: 'Dive deeper into your data by using segments and filters.', + }, retention: { id: 'label.retention', defaultMessage: 'Retention' }, + retentionDescription: { + id: 'label.retention-description', + defaultMessage: 'Measure you website stickiness by tracking how often users return.', + }, dropoff: { id: 'label.dropoff', defaultMessage: 'Dropoff' }, referrer: { id: 'label.referrer', defaultMessage: 'Referrer' }, country: { id: 'label.country', defaultMessage: 'Country' }, @@ -179,6 +191,8 @@ export const labels = defineMessages({ day: { id: 'label.day', defaultMessage: 'Day' }, date: { id: 'label.date', defaultMessage: 'Date' }, pageOf: { id: 'label.page-of', defaultMessage: 'Page {current} of {total}' }, + create: { id: 'label.create', defaultMessage: 'Create' }, + search: { id: 'label.search', defaultMessage: 'Search' }, }); export const messages = defineMessages({ diff --git a/src/components/pages/reports/ReportTemplates.js b/src/components/pages/reports/ReportTemplates.js index 2b934434..59cc8b31 100644 --- a/src/components/pages/reports/ReportTemplates.js +++ b/src/components/pages/reports/ReportTemplates.js @@ -9,6 +9,8 @@ import styles from './ReportTemplates.module.css'; import { useMessages } from 'components/hooks'; function ReportItem({ title, description, url, icon }) { + const { formatMessage, labels } = useMessages(); + return (
@@ -22,7 +24,7 @@ function ReportItem({ title, description, url, icon }) { - Create + {formatMessage(labels.create)}
@@ -36,19 +38,19 @@ export function ReportTemplates({ showHeader = true }) { const reports = [ { title: formatMessage(labels.insights), - description: 'Dive deeper into your data by using segments and filters.', + description: formatMessage(labels.insightsDescription), url: '/reports/insights', icon: , }, { title: formatMessage(labels.funnel), - description: 'Understand the conversion and drop-off rate of users.', + description: formatMessage(labels.funnelDescription), url: '/reports/funnel', icon: , }, { title: formatMessage(labels.retention), - description: 'Measure you website stickiness by tracking how often users return.', + description: formatMessage(labels.retentionDescription), url: '/reports/retention', icon: , }, diff --git a/src/lang/am-ET.json b/src/lang/am-ET.json index 7bed1423..3765e5ba 100644 --- a/src/lang/am-ET.json +++ b/src/lang/am-ET.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Countries", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Combined", "label.filter-raw": "Raw", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Reset", "label.reset-website": "Reset statistics", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Save", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/ar-SA.json b/src/lang/ar-SA.json index 0efdfee7..ccfee1f3 100644 --- a/src/lang/ar-SA.json +++ b/src/lang/ar-SA.json @@ -29,6 +29,7 @@ "label.continue": "متابعة", "label.countries": "الدول", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "انشاء مجموعة", "label.create-user": "انشاء مستخدم", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "مجمعة", "label.filter-raw": "مفصلة", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "اعادة تعيين", "label.reset-website": "اعادة تعيين الإحصائيات", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "الصلاحية", "label.run-query": "Run query", "label.save": "حفظ", "label.screens": "الشاشات", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "اختيار موقع", "label.sessions": "الزيارات", diff --git a/src/lang/be-BY.json b/src/lang/be-BY.json index 32693ebd..88f673b9 100644 --- a/src/lang/be-BY.json +++ b/src/lang/be-BY.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Краіны", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Камбініаваны", "label.filter-raw": "Сырыя", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Скінуць", "label.reset-website": "Скінуць статыстыку", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Захаваць", "label.screens": "Экраны", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/bn-BD.json b/src/lang/bn-BD.json index 483d1008..29e1bb6f 100644 --- a/src/lang/bn-BD.json +++ b/src/lang/bn-BD.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "দেশ", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "সম্মিলিত", "label.filter-raw": "অপরিশোধিত", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "রিসেট", "label.reset-website": "ওয়েবসাইট রিসেট করুন", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "সংরক্ষণ", "label.screens": "স্ক্রিনগুলি", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/ca-ES.json b/src/lang/ca-ES.json index 51aee79d..271b9245 100644 --- a/src/lang/ca-ES.json +++ b/src/lang/ca-ES.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Països", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Combinat", "label.filter-raw": "En cru", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Restableix", "label.reset-website": "Restableix estadístiques", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Desa", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/cs-CZ.json b/src/lang/cs-CZ.json index 548ee817..73bc15b7 100644 --- a/src/lang/cs-CZ.json +++ b/src/lang/cs-CZ.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Země", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Kombinace", "label.filter-raw": "Nezpracované", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Reset", "label.reset-website": "Reset statistics", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Uložit", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/da-DK.json b/src/lang/da-DK.json index 9d4fe50e..2fba4f7a 100644 --- a/src/lang/da-DK.json +++ b/src/lang/da-DK.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Lande", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Kombineret", "label.filter-raw": "Rå", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Nulstil", "label.reset-website": "Nulstil statistikker", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Gem", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index 5c6c45d1..c07ddd2c 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -29,6 +29,7 @@ "label.continue": "Wiiter", "label.countries": "Länder", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Team erstelle", "label.create-user": "Benutzer erstelle", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Kombiniert", "label.filter-raw": "Rohdate", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Zruggsetze", "label.reset-website": "Statistik zruggsetze", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Rollä", "label.run-query": "Run query", "label.save": "Speichere", "label.screens": "Bildschirmuflösige", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Websiite uuswähle", "label.sessions": "Sessions", diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 3307dfa4..7bac1625 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -29,6 +29,7 @@ "label.continue": "Weiter", "label.countries": "Länder", "label.country": "Country", + "label.create": "Create", "label.create-report": "Report erstellen", "label.create-team": "Team erstellen", "label.create-user": "Benutzer erstellen", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Kombiniert", "label.filter-raw": "Rohdaten", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Größer als", "label.greater-than-equals": "Größer oder gleich", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Zurücksetzen", "label.reset-website": "Statistik zurücksetzen", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Rolle", "label.run-query": "Abfrage starten", "label.save": "Speichern", "label.screens": "Bildschirmauflösungen", + "label.search": "Search", "label.select-date": "Datum auswählen", "label.select-website": "Website auswählen", "label.sessions": "Sessions", diff --git a/src/lang/el-GR.json b/src/lang/el-GR.json index dd95c777..c5cea1be 100644 --- a/src/lang/el-GR.json +++ b/src/lang/el-GR.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Χώρες", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Σε συνδυασμό", "label.filter-raw": "Ακατέργαστο", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Επαναφορά", "label.reset-website": "Reset statistics", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Αποθήκευση", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/en-GB.json b/src/lang/en-GB.json index 4efaec5d..e93b3b23 100644 --- a/src/lang/en-GB.json +++ b/src/lang/en-GB.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Countries", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Combined", "label.filter-raw": "Raw", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Reset", "label.reset-website": "Reset statistics", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Save", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/en-US.json b/src/lang/en-US.json index b7c77a69..16dfa188 100644 --- a/src/lang/en-US.json +++ b/src/lang/en-US.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Countries", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Combined", "label.filter-raw": "Raw", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Reset", "label.reset-website": "Reset website", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Save", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/es-ES.json b/src/lang/es-ES.json index 7a401e51..001b9406 100644 --- a/src/lang/es-ES.json +++ b/src/lang/es-ES.json @@ -29,6 +29,7 @@ "label.continue": "Continuar", "label.countries": "Países", "label.country": "Country", + "label.create": "Create", "label.create-report": "Crear reporte", "label.create-team": "Crear equipo", "label.create-user": "Crear usuario", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Campo", "label.fields": "Campos", + "label.filter": "Filter", "label.filter-combined": "Combinado", "label.filter-raw": "En crudo", "label.filters": "Filtros", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Mayor que", "label.greater-than-equals": "Mayor que o igual a", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Es igual a", "label.is-not": "No es igual a", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Reiniciar", "label.reset-website": "Reiniciar estadísticas", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Rol", "label.run-query": "Ejecutar consulta", "label.save": "Guardar", "label.screens": "Pantallas", + "label.search": "Search", "label.select-date": "Seleccionar fecha", "label.select-website": "Seleccionar sitio web", "label.sessions": "Sesiones", diff --git a/src/lang/es-MX.json b/src/lang/es-MX.json index 499b2533..c1dacfa4 100644 --- a/src/lang/es-MX.json +++ b/src/lang/es-MX.json @@ -29,6 +29,7 @@ "label.continue": "Continuar", "label.countries": "Países", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Crear equipo", "label.create-user": "Crear usuario", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Combinado", "label.filter-raw": "Personalizado", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Reiniciar", "label.reset-website": "Reiniciar estadísticas", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Rol", "label.run-query": "Run query", "label.save": "Guardar", "label.screens": "Pantallas", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Seleccionar sitio web", "label.sessions": "Sesiones", diff --git a/src/lang/fa-IR.json b/src/lang/fa-IR.json index b263a7d1..32d985e3 100644 --- a/src/lang/fa-IR.json +++ b/src/lang/fa-IR.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "کشورها", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "ترکیب شده", "label.filter-raw": "خام", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "بازنشانی", "label.reset-website": "بازنشانی آمار", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "ذخیره", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/fi-FI.json b/src/lang/fi-FI.json index 9e9c1de0..8c447f8a 100644 --- a/src/lang/fi-FI.json +++ b/src/lang/fi-FI.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Maat", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Yhdistetty", "label.filter-raw": "Käsittelemätön", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Nollaa", "label.reset-website": "Nollaa tilastot", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Tallenna", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/fo-FO.json b/src/lang/fo-FO.json index 6259a555..e2626f1f 100644 --- a/src/lang/fo-FO.json +++ b/src/lang/fo-FO.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Lond", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Samansett", "label.filter-raw": "Óviðgjørt", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Nulstilla", "label.reset-website": "Reset statistics", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Goym", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index 558c1cd2..878e078a 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -29,6 +29,7 @@ "label.continue": "Continuer", "label.countries": "Pays", "label.country": "Country", + "label.create": "Create", "label.create-report": "Créer un rapport", "label.create-team": "Créer une équipe", "label.create-user": "Créer un utilisateur", @@ -63,13 +64,16 @@ "label.false": "Faux", "label.field": "Champ", "label.fields": "Champs", + "label.filter": "Filter", "label.filter-combined": "Combiné", "label.filter-raw": "Brut", "label.filters": "Filtres", "label.funnel": "Entonnoir", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Supérieur à", "label.greater-than-equals": "Supérieur ou égal à", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Est égal", "label.is-not": "N'est pas égal", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Réinitialiser", "label.reset-website": "Réinitialiser les statistiques", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Rôle", "label.run-query": "Éxécuter la requête", "label.save": "Enregistrer", "label.screens": "Résolutions d'écran", + "label.search": "Search", "label.select-date": "Choisir une période", "label.select-website": "Choisir un site", "label.sessions": "Sessions", diff --git a/src/lang/ga-ES.json b/src/lang/ga-ES.json index e6ceda8a..ae46fa2c 100644 --- a/src/lang/ga-ES.json +++ b/src/lang/ga-ES.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Países", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Combinado", "label.filter-raw": "Raw", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Restablecer", "label.reset-website": "To reset this website, type {confirmation} in the box below to confirm.", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Gardar", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/he-IL.json b/src/lang/he-IL.json index fd3e0b8b..b953fda6 100644 --- a/src/lang/he-IL.json +++ b/src/lang/he-IL.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "מדינות", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "משותף", "label.filter-raw": "גולמי", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "איפוס", "label.reset-website": "Reset statistics", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "שמירה", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/hi-IN.json b/src/lang/hi-IN.json index 6e268aa6..e296d87b 100644 --- a/src/lang/hi-IN.json +++ b/src/lang/hi-IN.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "देश", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "संयुक्त", "label.filter-raw": "रॉ", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "रीसेट", "label.reset-website": "Reset statistics", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "सहेजें", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/hr-HR.json b/src/lang/hr-HR.json index ecde7100..75bd8a4f 100644 --- a/src/lang/hr-HR.json +++ b/src/lang/hr-HR.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Countries", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Combined", "label.filter-raw": "Raw", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Resetirati", "label.reset-website": "Resetirati web stranicu", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Spremi", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/hu-HU.json b/src/lang/hu-HU.json index 0401afff..c6224b01 100644 --- a/src/lang/hu-HU.json +++ b/src/lang/hu-HU.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Országok", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Összevont", "label.filter-raw": "Nyers", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Visszaállítás", "label.reset-website": "Reset statistics", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Mentés", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/id-ID.json b/src/lang/id-ID.json index d0b8a064..85672765 100644 --- a/src/lang/id-ID.json +++ b/src/lang/id-ID.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Negara", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Gabungan", "label.filter-raw": "Mentah", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Atur ulang", "label.reset-website": "Atur ulang statistik", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Simpan", "label.screens": "Layar", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/it-IT.json b/src/lang/it-IT.json index 57d6d5ba..8bce2f4e 100644 --- a/src/lang/it-IT.json +++ b/src/lang/it-IT.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Nazioni", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Aggregati", "label.filter-raw": "Raw", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Reset", "label.reset-website": "Resetta le statistiche", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Salva", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/ja-JP.json b/src/lang/ja-JP.json index 770f6f07..3af2f7b0 100644 --- a/src/lang/ja-JP.json +++ b/src/lang/ja-JP.json @@ -29,6 +29,7 @@ "label.continue": "続ける", "label.countries": "国名", "label.country": "国", + "label.create": "Create", "label.create-report": "レポートの作成", "label.create-team": "チームの作成", "label.create-user": "ユーザーの作成", @@ -63,13 +64,16 @@ "label.false": "偽", "label.field": "フィールド", "label.fields": "フィールド", + "label.filter": "Filter", "label.filter-combined": "統合", "label.filter-raw": "RAW", "label.filters": "フィルター", "label.funnel": "分析", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "超過", "label.greater-than-equals": "以上", "label.insights": "見通し", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "に等しい", "label.is-not": "に等しくない", "label.is-not-set": "未設定", @@ -122,10 +126,12 @@ "label.reset": "リセット", "label.reset-website": "Webサイトをリセットする", "label.retention": "保持", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "ロール", "label.run-query": "クエリ実行", "label.save": "保存", "label.screens": "画面サイズ", + "label.search": "Search", "label.select-date": "日付を選択", "label.select-website": "Webサイトを選択", "label.sessions": "セッション", diff --git a/src/lang/km-KH.json b/src/lang/km-KH.json index 58f7926f..3f7d089d 100644 --- a/src/lang/km-KH.json +++ b/src/lang/km-KH.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "ប្រទេស", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "រួមបញ្ចូលគ្នា", "label.filter-raw": "ដើម", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "កំណត់ឡើងវិញ", "label.reset-website": "កំណត់ស្ថិតិឡើងវិញ", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "រក្សាទុក", "label.screens": "ប្រភេទឧបករណ៍", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/ko-KR.json b/src/lang/ko-KR.json index 767e8e22..dcbdd77c 100644 --- a/src/lang/ko-KR.json +++ b/src/lang/ko-KR.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "국가", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "합쳐서 보기", "label.filter-raw": "전체 보기", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "리셋", "label.reset-website": "Reset statistics", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "저장", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/lt-LT.json b/src/lang/lt-LT.json index c8161f1d..aa75f10f 100644 --- a/src/lang/lt-LT.json +++ b/src/lang/lt-LT.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Šalys", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Kombinuoti", "label.filter-raw": "Neapdoroti", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Atstatyti", "label.reset-website": "Atstatyti statistikos duomenis", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Išsaugoti", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/mn-MN.json b/src/lang/mn-MN.json index 1478c079..aad28ef2 100644 --- a/src/lang/mn-MN.json +++ b/src/lang/mn-MN.json @@ -29,6 +29,7 @@ "label.continue": "Үргэлжлүүлэх", "label.countries": "Улс", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Баг үүсгэх", "label.create-user": "Хэрэглэгч үүсгэх", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Нэгтгэсэн", "label.filter-raw": "Түүхий", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Дахин эхлүүлэх", "label.reset-website": "Тоон үзүүлэлтийг дахин эхлүүлэх", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Эрх", "label.run-query": "Run query", "label.save": "Хадгалах", "label.screens": "Дэлгэц", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Веб сонгох", "label.sessions": "Sessions", diff --git a/src/lang/ms-MY.json b/src/lang/ms-MY.json index 5b8769c5..af5c34f0 100644 --- a/src/lang/ms-MY.json +++ b/src/lang/ms-MY.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Negara", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Digabungkan", "label.filter-raw": "Mentah", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Tetapkan semula", "label.reset-website": "Reset statistics", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Simpan", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/my-MM.json b/src/lang/my-MM.json index de92b275..8253705a 100644 --- a/src/lang/my-MM.json +++ b/src/lang/my-MM.json @@ -6,21 +6,31 @@ "label.add-description": "အကြောင်းအရာဖော်ပြချက် ထည့်မည်", "label.add-website": "ဝက်ဘ်ဆိုဒ်ထည့်မည်", "label.admin": "အက်ဒမင်", + "label.after": "After", "label.all": "အားလုံး", "label.all-time": "အချိန်အစမှအခုထိ", "label.analytics": "အန်နလစ်တစ်", + "label.average": "Average", "label.average-visit-time": "ဝဘက်ဘ်ဆိုဒ်တွင် ပျမ်းမျှကုန်ဆုံးချိန်", "label.back": "နောက်သို့", + "label.before": "Before", "label.bounce-rate": "Bounce နှုန်း", + "label.breakdown": "Breakdown", + "label.browser": "Browser", "label.browsers": "ဝက်ဘ်ဘရောင်ဇာများ", "label.cancel": "မလုပ်တော့ပါ", "label.change-password": "စကားဝှက် ပြောင်းမည်", "label.cities": "မြို့များ", + "label.city": "City", "label.clear-all": "အားလုံးကိုဖျက်မည်", "label.confirm": "အတည်ပြုသည်", "label.confirm-password": "စကားဝှက်အတည်ပြုသည်", + "label.contains": "Contains", "label.continue": "ဆက်သွားမည်", "label.countries": "နိုင်ငံများ", + "label.country": "Country", + "label.create": "Create", + "label.create-report": "Create report", "label.create-team": "Team ပြုလုပ်မည်", "label.create-user": "အသုံးပြုသူထည့်မည်", "label.created": "ပြုလုပ်ပြီးသော", @@ -28,16 +38,21 @@ "label.custom-range": "အချိန်အပိုင်းအခြားရွေးရန်", "label.dashboard": "ဒက်ရှ်ဘုတ်", "label.data": "ဒေတာ", + "label.date": "Date", "label.date-range": "ရက်အပိုင်းအခြား", + "label.day": "Day", "label.default-date-range": "ပုံသေ ရက်အပိုင်းအခြား", "label.delete": "ဖျက်မည်", "label.delete-team": "Team ကိုဖျက်မည်", "label.delete-user": "အသုံးပြုသူကိုဖျက်မည်", "label.delete-website": "ဝက်ဘ်ဆိုဒ်ကိုဖျက်မည်", + "label.description": "Description", "label.desktop": "စားပွဲတင်ကွန်ပျူတာ", "label.details": "အသေးစိတ်", + "label.device": "Device", "label.devices": "အသုံးပြုသည့် ကိရိယာများ", "label.dismiss": "ပိတ်ပါ", + "label.does-not-contain": "Does not contain", "label.domain": "ဒိုမိန်း", "label.dropoff": "Dropoff", "label.edit": "ပြုပြင်မည်", @@ -46,12 +61,23 @@ "label.event": "အဖြစ်အပျက်", "label.event-data": "အဖြစ်အပျက် ဒေတာ", "label.events": "အဖြစ်အပျက်များ", + "label.false": "False", "label.field": "Field အမည်", "label.fields": "Field အမည်များ", + "label.filter": "Filter", "label.filter-combined": "ပေါင်းစပ်ပြီး", "label.filter-raw": "အရှိအတိုင်း", + "label.filters": "Filters", "label.funnel": "ဖန်နယ်", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.greater-than": "Greater than", + "label.greater-than-equals": "Greater than or equals", "label.insights": "အသေးစိတ်သိမြင်နိုင်ရန်", + "label.insights-description": "Dive deeper into your data by using segments and filters.", + "label.is": "Is", + "label.is-not": "Is not", + "label.is-not-set": "Is not set", + "label.is-set": "Is set", "label.join": "ဝင်မည်", "label.join-team": "အသင်းဝင်မည်", "label.language": "ဘာသာစကား", @@ -61,17 +87,25 @@ "label.last-hours": "လွန်ခဲ့သော {x} နာရီက", "label.leave": "ထွက်မည်", "label.leave-team": "အသင်းမှထွက်မည်", + "label.less-than": "Less than", + "label.less-than-equals": "Less than or equals", "label.login": "လော့ဂ်အင်", "label.logout": "လော့ဂ်အောက်လုပ်မည်", + "label.max": "Max", "label.members": "အဖွဲ့ဝင်များ", + "label.min": "Min", "label.mobile": "မိုဘိုင်း", "label.more": "နောက်ထပ်", + "label.my-websites": "My websites", "label.name": "အမည်", "label.new-password": "စကားဝှက်အသစ်", "label.none": "မရှိပါ", - "label.operating-systems": "ကွန်ပျူတာလည်ပတ်မှုစနစ်", + "label.os": "OS", + "label.overview": "Overview", "label.owner": "ပိုင်ဆိုင်သူ", + "label.page-of": "Page {current} of {total}", "label.page-views": "ဝင်ရောက်ကြည့်ရှုသူ", + "label.pageTitle": "Page title", "label.pages": "စာမျက်နှာများ", "label.password": "စကားဝှက်", "label.powered-by": "{name} ထောက်ပံ့သည်", @@ -80,31 +114,39 @@ "label.query": "Query (ကွာရီ)", "label.query-parameters": "Query parameters (ကွာရီပါရာမီတာများ)", "label.realtime": "အချိန်နှင့်တပြေးညီ", + "label.referrer": "Referrer", "label.referrers": "ရည်ညွှန်းမှုများ", "label.refresh": "Refresh လုပ်မည်", "label.regenerate": "ပြန်ထုတ်မည်", + "label.region": "Region", "label.regions": "ဒေသများ", "label.remove": "ဖျက်မည်", "label.reports": "တင်ပြမှုများ", "label.required": "လိုအပ်သည်", "label.reset": "ပြန်စမည်", "label.reset-website": "ဝက်ဘ်ဆိုဒ်ဒေတာကိုဖျက်မည်", + "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "အခန်းကဏ္ဍ", "label.run-query": "Query ကိုလုပ်ဆောင်မည်", "label.save": "သိမ်းဆည်းမည်", "label.screens": "မြင်ကွင်းများ", + "label.search": "Search", "label.select-date": "ရက်ရွေးပါ", "label.select-website": "ဝဘက်ဘ်ဆိုဒ်ရွေးပါ", "label.sessions": "ဆက်ရှင်များ", "label.settings": "ဆက်တင်များ", "label.share-url": "URL ကိုရှဲမည်", "label.single-day": "တစ်ရက်အတွင်း", + "label.sum": "Sum", "label.tablet": "တက်ဘလက်", "label.team": "အသင်း", "label.team-guest": "အသင်း ဧည့်သည်", "label.team-id": "အသင်း အိုင်ဒီ", "label.team-member": "အသင်းဝင်", + "label.team-name": "Team name", "label.team-owner": "အသင်းကိုပိုင်ဆိုင်သူ", + "label.team-websites": "Team websites", "label.teams": "အသင်းများ", "label.theme": "Theme (အပြင်အဆင်)", "label.this-month": "ယခုလ", @@ -114,14 +156,21 @@ "label.title": "ခေါင်းစဥ်", "label.today": "ယနေ့", "label.toggle-charts": "ဇယားများကို အဖွင့်အပိတ်လုပ်မည်", + "label.total": "Total", + "label.total-records": "Total records", "label.tracking-code": "ထရက်လုပ်သည့် ကုဒ်", + "label.true": "True", + "label.type": "Type", + "label.unique": "Unique", "label.unique-visitors": "ဝင်ရောက်သူ (ထပ်ခြင်းမရှိ)", "label.unknown": "မသိသော", + "label.untitled": "Untitled", "label.url": "URL", "label.urls": "URL များ", "label.user": "အသုံးပြုသူ", "label.username": "အသုံးပြုသူအမည်", "label.users": "အသုံးပြုသူများ", + "label.value": "Value", "label.view": "ဝင်ရောက်ကြည့်ရှုမှု", "label.view-details": "အသေးစိတ်ကို ကြည့်ရှုမည်", "label.view-only": "ဝင်ရောက်ကြည့်ရှုမှုများသာ", @@ -132,33 +181,6 @@ "label.websites": "ဝက်ဘ်ဆိုဒ်များ", "label.window": "ဝင်းဒိုး", "label.yesterday": "မနေ့က", - "labels.after": "ပြီးနောက်", - "labels.average": "ပျမ်းမျှ", - "labels.before": "မတိုင်မီ", - "labels.breakdown": "ခွဲခြမ်းစိတ်ဖြာမှု", - "labels.contains": "ပါဝင်သည်", - "labels.create-report": "ရီပို့လုပ်မည်", - "labels.description": "ရှင်းပြချက်", - "labels.does-not-contain": "မပါဝင်ပါ", - "labels.does-not-equal": "မတူညီပါ", - "labels.equals": "တူညီသည်", - "labels.false": "မှားသည်", - "labels.filters": "Filter များ", - "labels.greater-than": "ထက်ပို၍ကြီးသည်", - "labels.greater-than-equals": "ထက်ပို၍ကြီးသည်သို့မဟုတ်တူသည်", - "labels.less-than": "ထက်ပို၍ငယ်သည်", - "labels.less-than-equals": "ထက်ပို၍ငယ်သည်သို့မဟုတ်တူသည်", - "labels.max": "အများဆုံး", - "labels.min": "အနည်းဆုံး", - "labels.overview": "အပေါ်ယံမြင်ကွင်း", - "labels.sum": "ပေါင်းလဒ်", - "labels.total": "စုစုပေါင်း", - "labels.total-records": "မှတ်တမ်းစုစုပေါင်း", - "labels.true": "မှန်သည်", - "labels.type": "အမျိုးအစား", - "labels.unique": "Unique", - "labels.untitled": "ခေါင်းစဉ်မရှိ", - "labels.value": "တန်ဖိုး", "message.active-users": "{x} လက်ရှိအသုံးပြုနေသူ {x, plural, one {ယောက်} other {ယောက်}}", "message.confirm-delete": "{target} ကို ဖျက်ရန် သေချာပါသလား?", "message.confirm-leave": "{target} ကို ထွက်ရန် သေချာပါသလား?", @@ -172,11 +194,15 @@ "message.incorrect-username-password": "အသုံးပြုသူအမည် သို့မဟုတ် စကားဝှက် မှားနေသည်", "message.invalid-domain": "ဒိုမိန်း မမှန်ပါ http/https. မပါရပါ", "message.min-password-length": "အနည်းဆုံး {n} character ရှိရမည်", + "message.new-version-available": "အူမာမီ {version} အသစ်ထွက်နေပါပြီ", "message.no-data-available": "ဒေတာ မရှိပါ", "message.no-event-data": "အဖြစ်အပျက်ဒေတာ မရှိပါ", "message.no-match-password": "စကားဝှက် မှားနေသည်", + "message.no-results-found": "ရလဒ်မရှိပါ", + "message.no-team-websites": "ဤအသင်းတွင် ဝက်ဘ်ဆိုက်မရှိသေးပါ", "message.no-teams": "အသင်း မပြုလုပ်ရသေးပါ", "message.no-users": "အသုံးပြုသူ မရှိသေးပါ", + "message.no-websites-configured": "ဝက်ဘ်ဆိုဒ်တစ်ခုမှ မထည့်ရသေးပါ", "message.page-not-found": "ဤစာမျက်နှာသည် မရှိပါ", "message.reset-website": "ဤ ဝက်ဘ်ဆိုဒ်ဒေတာကိုဖျက်၍ ပြန်စလုပ်ရန် အောက်တွင် {confirmation} ကို ရိုက်ထည့်ပေးပါ", "message.reset-website-warning": "ဤဝက်ဘ်ဆိုဒ်က စာရင်းအချက်အလက်များကို ဖျက်မည်၊ ဆက်တင်ဒေတာများ မပါပါ", @@ -184,12 +210,8 @@ "message.share-url": "သင့်ဝက်ဆိုဒ်ဘ်၏ စာရင်းအချက်အလက်များကို အောက်ပါ URL တွင် ဝင်ရောက်ကြည့်ရှုနိုင်သည်", "message.team-already-member": "ဤအသင်းတွင် ဝင်ပြီးသားဖြစ်နေသည်", "message.team-not-found": "အသင်း မရှိပါ", + "message.team-websites-info": "ဤဝက်ဘ်ဆိုဒ်များကို အသင်းထဲမှ လူတိုင်းဝင်ကြည့်နိုင်သည်", "message.tracking-code": "ဤဝက်ဘ်ဆိုဒ်၏ ဒေတာကိုကောက်ခံရန် အောက်ပါ code ကို သင်၏ HTML တွင်ထည့်ပါ", "message.user-deleted": "အသုံးပြုသူ ဖျက်ပြီးပါပြီ", - "message.visitor-log": "{country} မှ {browser} ဖြင့် {os} {device} တွင် ဝင်ရောက်ကြည့်ရှုသူ", - "message.no-results-found": "ရလဒ်မရှိပါ", - "message.no-team-websites": "ဤအသင်းတွင် ဝက်ဘ်ဆိုက်မရှိသေးပါ", - "message.no-websites-configured": "ဝက်ဘ်ဆိုဒ်တစ်ခုမှ မထည့်ရသေးပါ", - "message.team-websites-info": "ဤဝက်ဘ်ဆိုဒ်များကို အသင်းထဲမှ လူတိုင်းဝင်ကြည့်နိုင်သည်", - "message.new-version-available": "အူမာမီ {version} အသစ်ထွက်နေပါပြီ" + "message.visitor-log": "{country} မှ {browser} ဖြင့် {os} {device} တွင် ဝင်ရောက်ကြည့်ရှုသူ" } diff --git a/src/lang/nb-NO.json b/src/lang/nb-NO.json index 654c3c79..18fa765e 100644 --- a/src/lang/nb-NO.json +++ b/src/lang/nb-NO.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Land", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Kombinert", "label.filter-raw": "Rå", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Nullstill", "label.reset-website": "Nullstill statistikk", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Lagre", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/nl-NL.json b/src/lang/nl-NL.json index ad30cf36..d0c3f678 100644 --- a/src/lang/nl-NL.json +++ b/src/lang/nl-NL.json @@ -29,6 +29,7 @@ "label.continue": "Doorgaan", "label.countries": "Landen", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Team aanmaken", "label.create-user": "Gebruiker maken", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Gecombineerd", "label.filter-raw": "Ruw", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Opnieuw instellen", "label.reset-website": "Statistieken opnieuw instellen", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Gebruikersrol", "label.run-query": "Run query", "label.save": "Opslaan", "label.screens": "Schermen", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Website selecteren", "label.sessions": "Sessies", diff --git a/src/lang/pl-PL.json b/src/lang/pl-PL.json index eb940613..8045af06 100644 --- a/src/lang/pl-PL.json +++ b/src/lang/pl-PL.json @@ -29,6 +29,7 @@ "label.continue": "Kontynuuj", "label.countries": "Kraje", "label.country": "Country", + "label.create": "Create", "label.create-report": "Stwórz raport", "label.create-team": "Utwórz zespół", "label.create-user": "Utwórz użytkownika", @@ -63,13 +64,16 @@ "label.false": "Fałsz", "label.field": "Pole", "label.fields": "Pola", + "label.filter": "Filter", "label.filter-combined": "Połączone", "label.filter-raw": "Surowe dane", "label.filters": "Filtry", "label.funnel": "Lejek", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Większe niż", "label.greater-than-equals": "Większe niż lub równe", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Równe", "label.is-not": "Nie jest równe", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Zresetuj", "label.reset-website": "Zresetuj statystyki", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Uruchom zapytanie", "label.save": "Zapisz", "label.screens": "Ekrany", + "label.search": "Search", "label.select-date": "Wybierz datę", "label.select-website": "Wybierz witrynę", "label.sessions": "Sesje", diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index b68d9615..22169e3a 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -29,6 +29,7 @@ "label.continue": "Continuar", "label.countries": "Países", "label.country": "Country", + "label.create": "Create", "label.create-report": "Criar relatório", "label.create-team": "Criar time", "label.create-user": "Criar usuário", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Campo", "label.fields": "Campos", + "label.filter": "Filter", "label.filter-combined": "Combinado", "label.filter-raw": "Dados brutos", "label.filters": "Filters", "label.funnel": "Funil", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Maior que", "label.greater-than-equals": "Maior que ou igual", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Redefinir", "label.reset-website": "Redefinir estatísticas", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Papel", "label.run-query": "Executar query", "label.save": "Salvar", "label.screens": "Telas", + "label.search": "Search", "label.select-date": "Selecionar data", "label.select-website": "Selecionar site", "label.sessions": "Sessões", diff --git a/src/lang/pt-PT.json b/src/lang/pt-PT.json index fcf7ff03..28a798e3 100644 --- a/src/lang/pt-PT.json +++ b/src/lang/pt-PT.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Países", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Combinado", "label.filter-raw": "Dados brutos", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Repor", "label.reset-website": "Repor estatísticas", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Guardar", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/ro-RO.json b/src/lang/ro-RO.json index 43a78ecd..9c8c8c3c 100644 --- a/src/lang/ro-RO.json +++ b/src/lang/ro-RO.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Țări", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Combinat", "label.filter-raw": "Brut", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Resetează", "label.reset-website": "Resetează statisticile pentru site", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Salvează", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/ru-RU.json b/src/lang/ru-RU.json index b9129beb..6eed3725 100644 --- a/src/lang/ru-RU.json +++ b/src/lang/ru-RU.json @@ -29,6 +29,7 @@ "label.continue": "Продолжить", "label.countries": "Страны", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Создать команду", "label.create-user": "Создать пользователя", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Объединенные", "label.filter-raw": "Сырые данные", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Сбросить", "label.reset-website": "Сбросить статистику", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Роль", "label.run-query": "Run query", "label.save": "Сохранить", "label.screens": "Экраны", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Выбрать сайт", "label.sessions": "Сессии", diff --git a/src/lang/si-LK.json b/src/lang/si-LK.json index 6f6dda6d..92bbe736 100644 --- a/src/lang/si-LK.json +++ b/src/lang/si-LK.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Countries", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Combined", "label.filter-raw": "Raw", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "යළි පිහිටුවන්න", "label.reset-website": "සංඛ්යා ලේඛන නැවත සකසන්න", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "සුරකින්න", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/sk-SK.json b/src/lang/sk-SK.json index 3f033923..534ace42 100644 --- a/src/lang/sk-SK.json +++ b/src/lang/sk-SK.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Zem", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Kombinácie", "label.filter-raw": "Nezpracované", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Reset", "label.reset-website": "Reset statistics", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Uložiť", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/sl-SI.json b/src/lang/sl-SI.json index 440b9fca..f73aa265 100644 --- a/src/lang/sl-SI.json +++ b/src/lang/sl-SI.json @@ -29,6 +29,7 @@ "label.continue": "Nadaljuj", "label.countries": "Države", "label.country": "Država", + "label.create": "Create", "label.create-report": "Ustvari poročilo", "label.create-team": "Ustvari ekipo", "label.create-user": "Ustvari uporabnika", @@ -63,13 +64,16 @@ "label.false": "Napačno", "label.field": "Polje", "label.fields": "Polja", + "label.filter": "Filter", "label.filter-combined": "Skupaj", "label.filter-raw": "Neobdelano", "label.filters": "Filtri", "label.funnel": "Prodajni lijak", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Večje od", "label.greater-than-equals": "Večje ali enako kot", "label.insights": "Vpogled", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Je", "label.is-not": "Ni", "label.is-not-set": "Ni nastavljeno", @@ -122,13 +126,14 @@ "label.reset": "Ponastavi", "label.reset-website": "Ponastavi statistiko", "label.retention": "Ohranjanje uporabnikov", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Vloga", "label.run-query": "Izvedi poizvedbo", "label.save": "Shrani", - "label.screens": "Zasloni", - "label.select-date": "Izberi datum", - "label.select-website": "Izberi spletno mesto", - "label.sessions": "Seje", + "label.screens": "Screens", + "label.select-date": "Select date", + "label.select-website": "Select website", + "label.sessions": "Sessions", "label.settings": "Nastavitve", "label.share-url": "Deli povezavo", "label.single-day": "En dan", diff --git a/src/lang/sv-SE.json b/src/lang/sv-SE.json index e6abb5bf..532b9039 100644 --- a/src/lang/sv-SE.json +++ b/src/lang/sv-SE.json @@ -29,6 +29,7 @@ "label.continue": "Fortsätt", "label.countries": "Länder", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Skapa team", "label.create-user": "Skapa användare", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Kombinerade", "label.filter-raw": "Rådata", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Återställ", "label.reset-website": "Återställ statistik", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Roll", "label.run-query": "Run query", "label.save": "Spara", "label.screens": "Upplösning", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Välj webbsajt", "label.sessions": "Sessions", diff --git a/src/lang/ta-IN.json b/src/lang/ta-IN.json index be3d5e81..64b6bf2b 100644 --- a/src/lang/ta-IN.json +++ b/src/lang/ta-IN.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "நாடுகள்", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "ஒருங்கிணைந்த", "label.filter-raw": "மூல", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "மீட்டமை", "label.reset-website": "Reset statistics", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "சேமி", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/th-TH.json b/src/lang/th-TH.json index 43f2f758..1ddaa4d0 100644 --- a/src/lang/th-TH.json +++ b/src/lang/th-TH.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "ประเทศ", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "ข้อมูลรวม", "label.filter-raw": "ข้อมูลดิบ", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "รีเซต", "label.reset-website": "รีเซตข้อมูลสถิติ", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "บันทึก", "label.screens": "ขนาดหน้าจอ", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/tr-TR.json b/src/lang/tr-TR.json index 0ec10e0b..b333131f 100644 --- a/src/lang/tr-TR.json +++ b/src/lang/tr-TR.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Ülkeler", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Birleşik", "label.filter-raw": "Ham", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Sıfırla", "label.reset-website": "Reset statistics", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Kaydet", "label.screens": "Ekranlar", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/uk-UA.json b/src/lang/uk-UA.json index 89079eff..e95815f1 100644 --- a/src/lang/uk-UA.json +++ b/src/lang/uk-UA.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Країни", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Об'єднані", "label.filter-raw": "Сирі дані", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Скинути", "label.reset-website": "Скинути статистику сайту", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Зберегти", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/ur-PK.json b/src/lang/ur-PK.json index 4d585dcb..9fbfb079 100644 --- a/src/lang/ur-PK.json +++ b/src/lang/ur-PK.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "ممالک", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "مشترکہ", "label.filter-raw": "خام", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "دوبارہ ترتیب دیں", "label.reset-website": "اعدادوشمار کو دوبارہ ترتیب دیں", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "محفوظ کریں", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/vi-VN.json b/src/lang/vi-VN.json index e9bce2d3..ff2915c7 100644 --- a/src/lang/vi-VN.json +++ b/src/lang/vi-VN.json @@ -29,6 +29,7 @@ "label.continue": "Continue", "label.countries": "Quốc gia", "label.country": "Country", + "label.create": "Create", "label.create-report": "Create report", "label.create-team": "Create team", "label.create-user": "Create user", @@ -63,13 +64,16 @@ "label.false": "False", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "Kết hợp", "label.filter-raw": "Gốc", "label.filters": "Filters", "label.funnel": "Funnel", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "Insights", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", "label.is-not": "Is not", "label.is-not-set": "Is not set", @@ -122,10 +126,12 @@ "label.reset": "Tái thiết lập", "label.reset-website": "Tái thiết lập thống kê", "label.retention": "Retention", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Lưu", "label.screens": "Screens", + "label.search": "Search", "label.select-date": "Select date", "label.select-website": "Select website", "label.sessions": "Sessions", diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index bab833c0..2ebe75f2 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -29,6 +29,7 @@ "label.continue": "继续", "label.countries": "国家/地区", "label.country": "国家/地区", + "label.create": "Create", "label.create-report": "创建报告", "label.create-team": "创建团队", "label.create-user": "创建用户", @@ -63,13 +64,16 @@ "label.false": "否", "label.field": "Field", "label.fields": "Fields", + "label.filter": "Filter", "label.filter-combined": "合并", "label.filter-raw": "原始", "label.filters": "筛选", "label.funnel": "分析", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "Greater than", "label.greater-than-equals": "Greater than or equals", "label.insights": "见解", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "等于", "label.is-not": "不等于", "label.is-not-set": "未设置", @@ -122,10 +126,12 @@ "label.reset": "重置", "label.reset-website": "重置统计数据", "label.retention": "保留", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "角色", "label.run-query": "查询", "label.save": "保存", "label.screens": "屏幕尺寸", + "label.search": "Search", "label.select-date": "选择数据", "label.select-website": "选择网站", "label.sessions": "会话", diff --git a/src/lang/zh-TW.json b/src/lang/zh-TW.json index 05b61c80..22291ed0 100644 --- a/src/lang/zh-TW.json +++ b/src/lang/zh-TW.json @@ -29,6 +29,7 @@ "label.continue": "繼續", "label.countries": "國家", "label.country": "國家", + "label.create": "Create", "label.create-report": "建立報告", "label.create-team": "建立團隊", "label.create-user": "建立使用者", @@ -63,13 +64,16 @@ "label.false": "否", "label.field": "欄位", "label.fields": "欄位", + "label.filter": "Filter", "label.filter-combined": "組合", "label.filter-raw": "原始", "label.filters": "篩選器", "label.funnel": "漏斗", + "label.funnel-description": "Understand the conversion and drop-off rate of users.", "label.greater-than": "大於", "label.greater-than-equals": "大於或等於", "label.insights": "洞察", + "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "是", "label.is-not": "不是", "label.is-not-set": "未設定", @@ -122,10 +126,12 @@ "label.reset": "重設", "label.reset-website": "重設網站", "label.retention": "保留", + "label.retention-description": "Measure you website stickiness by tracking how often users return.", "label.role": "角色", "label.run-query": "執行查詢", "label.save": "儲存", "label.screens": "螢幕", + "label.search": "Search", "label.select-date": "選擇日期", "label.select-website": "選擇網站", "label.sessions": "工作階段", From aa341d1dd295d69adb400960ba5f3fb0317e64f2 Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Fri, 1 Sep 2023 09:45:59 +0000 Subject: [PATCH 32/47] ensure translation of default report name --- src/components/hooks/useReport.js | 14 ++++++++------ src/components/pages/reports/ReportHeader.js | 5 +++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/components/hooks/useReport.js b/src/components/hooks/useReport.js index 72f90af3..7c698b4e 100644 --- a/src/components/hooks/useReport.js +++ b/src/components/hooks/useReport.js @@ -2,18 +2,20 @@ import { produce } from 'immer'; import { useCallback, useEffect, useState } from 'react'; import { useTimezone } from './useTimezone'; import useApi from './useApi'; - -const baseParameters = { - name: 'Untitled', - description: '', - parameters: {}, -}; +import useMessages from './useMessages'; export function useReport(reportId, defaultParameters) { const [report, setReport] = useState(null); const [isRunning, setIsRunning] = useState(false); const { get, post } = useApi(); const [timezone] = useTimezone(); + const { formatMessage, labels } = useMessages(); + + const baseParameters = { + name: formatMessage(labels.untitled), + description: '', + parameters: {}, + }; const loadReport = async id => { const data = await get(`/reports/${id}`); diff --git a/src/components/pages/reports/ReportHeader.js b/src/components/pages/reports/ReportHeader.js index e81d6ece..930f745b 100644 --- a/src/components/pages/reports/ReportHeader.js +++ b/src/components/pages/reports/ReportHeader.js @@ -20,6 +20,7 @@ export function ReportHeader({ icon }) { const { name, description, parameters } = report || {}; const { websiteId, dateRange } = parameters || {}; + const defaultName = formatMessage(labels.untitled); const handleSave = async () => { if (!report.id) { @@ -39,7 +40,7 @@ export function ReportHeader({ icon }) { }; const handleNameChange = name => { - updateReport({ name: name || 'Untitled' }); + updateReport({ name: name || defaultName }); }; const handleDescriptionChange = description => { @@ -54,7 +55,7 @@ export function ReportHeader({ icon }) { key={name} name="name" value={name} - placeholder={formatMessage(labels.untitled)} + placeholder={defaultName} onCommit={handleNameChange} /> From 34d3d166415aa0037d87baa91e26348c873ee96a Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Fri, 1 Sep 2023 12:25:13 +0000 Subject: [PATCH 33/47] display localized type in reports table --- src/components/pages/reports/ReportsTable.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/components/pages/reports/ReportsTable.js b/src/components/pages/reports/ReportsTable.js index 4073fbec..52488c11 100644 --- a/src/components/pages/reports/ReportsTable.js +++ b/src/components/pages/reports/ReportsTable.js @@ -5,6 +5,7 @@ import { useMessages } from 'components/hooks'; import useUser from 'components/hooks/useUser'; import { useState } from 'react'; import { Button, Flexbox, Icon, Icons, Modal, Text } from 'react-basics'; +import { REPORT_TYPES } from 'lib/constants'; export function ReportsTable({ data = [], @@ -34,6 +35,15 @@ export function ReportsTable({ { name: 'action', label: ' ' }, ]; + const cellRender = (row, data, key) => { + if (key === 'type') { + return formatMessage( + labels[Object.keys(REPORT_TYPES).find(key => REPORT_TYPES[key] === row.type)], + ); + } + return data[key]; + }; + const handleConfirm = () => { onDelete(report.id); }; @@ -42,6 +52,7 @@ export function ReportsTable({ <> Date: Fri, 1 Sep 2023 14:15:57 +0000 Subject: [PATCH 34/47] localize date in retention report --- src/components/pages/reports/retention/RetentionTable.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/pages/reports/retention/RetentionTable.js b/src/components/pages/reports/retention/RetentionTable.js index 09ef2948..ad1eaa6f 100644 --- a/src/components/pages/reports/retention/RetentionTable.js +++ b/src/components/pages/reports/retention/RetentionTable.js @@ -3,11 +3,13 @@ import classNames from 'classnames'; import { ReportContext } from '../Report'; import EmptyPlaceholder from 'components/common/EmptyPlaceholder'; import { useMessages } from 'components/hooks'; +import { useLocale } from 'components/hooks'; import { formatDate } from 'lib/date'; import styles from './RetentionTable.module.css'; export function RetentionTable() { const { formatMessage, labels } = useMessages(); + const { locale } = useLocale(); const { report } = useContext(ReportContext); const { data } = report || {}; @@ -51,7 +53,7 @@ export function RetentionTable() { {rows.map(({ date, visitors, records }, rowIndex) => { return (
-
{formatDate(`${date} 00:00:00`, 'PP')}
+
{formatDate(`${date} 00:00:00`, 'PP', locale)}
{visitors}
{days.map(day => { if (totalDays - rowIndex < day) { From ee6fcae152405262ff1b65ab0d46421f5e833c75 Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Fri, 1 Sep 2023 14:20:50 +0000 Subject: [PATCH 35/47] fix typo --- src/components/messages.js | 2 +- src/lang/am-ET.json | 2 +- src/lang/ar-SA.json | 2 +- src/lang/be-BY.json | 2 +- src/lang/bn-BD.json | 2 +- src/lang/ca-ES.json | 2 +- src/lang/cs-CZ.json | 2 +- src/lang/da-DK.json | 2 +- src/lang/de-CH.json | 2 +- src/lang/de-DE.json | 2 +- src/lang/el-GR.json | 2 +- src/lang/en-GB.json | 2 +- src/lang/en-US.json | 2 +- src/lang/es-ES.json | 2 +- src/lang/es-MX.json | 2 +- src/lang/fa-IR.json | 2 +- src/lang/fi-FI.json | 2 +- src/lang/fo-FO.json | 2 +- src/lang/fr-FR.json | 2 +- src/lang/ga-ES.json | 2 +- src/lang/he-IL.json | 2 +- src/lang/hi-IN.json | 2 +- src/lang/hr-HR.json | 2 +- src/lang/hu-HU.json | 2 +- src/lang/id-ID.json | 2 +- src/lang/it-IT.json | 2 +- src/lang/ja-JP.json | 2 +- src/lang/km-KH.json | 2 +- src/lang/ko-KR.json | 2 +- src/lang/lt-LT.json | 2 +- src/lang/mn-MN.json | 2 +- src/lang/ms-MY.json | 2 +- src/lang/my-MM.json | 2 +- src/lang/nb-NO.json | 2 +- src/lang/nl-NL.json | 2 +- src/lang/pl-PL.json | 2 +- src/lang/pt-BR.json | 2 +- src/lang/pt-PT.json | 2 +- src/lang/ro-RO.json | 2 +- src/lang/ru-RU.json | 2 +- src/lang/si-LK.json | 2 +- src/lang/sk-SK.json | 2 +- src/lang/sl-SI.json | 2 +- src/lang/sv-SE.json | 2 +- src/lang/ta-IN.json | 2 +- src/lang/th-TH.json | 2 +- src/lang/tr-TR.json | 2 +- src/lang/uk-UA.json | 2 +- src/lang/ur-PK.json | 2 +- src/lang/vi-VN.json | 2 +- src/lang/zh-CN.json | 2 +- src/lang/zh-TW.json | 2 +- 52 files changed, 52 insertions(+), 52 deletions(-) diff --git a/src/components/messages.js b/src/components/messages.js index 01c7e779..7f432eb3 100644 --- a/src/components/messages.js +++ b/src/components/messages.js @@ -178,7 +178,7 @@ export const labels = defineMessages({ retention: { id: 'label.retention', defaultMessage: 'Retention' }, retentionDescription: { id: 'label.retention-description', - defaultMessage: 'Measure you website stickiness by tracking how often users return.', + defaultMessage: 'Measure your website stickiness by tracking how often users return.', }, dropoff: { id: 'label.dropoff', defaultMessage: 'Dropoff' }, referrer: { id: 'label.referrer', defaultMessage: 'Referrer' }, diff --git a/src/lang/am-ET.json b/src/lang/am-ET.json index 3765e5ba..e79afb48 100644 --- a/src/lang/am-ET.json +++ b/src/lang/am-ET.json @@ -126,7 +126,7 @@ "label.reset": "Reset", "label.reset-website": "Reset statistics", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Save", diff --git a/src/lang/ar-SA.json b/src/lang/ar-SA.json index ccfee1f3..311e5430 100644 --- a/src/lang/ar-SA.json +++ b/src/lang/ar-SA.json @@ -126,7 +126,7 @@ "label.reset": "اعادة تعيين", "label.reset-website": "اعادة تعيين الإحصائيات", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "الصلاحية", "label.run-query": "Run query", "label.save": "حفظ", diff --git a/src/lang/be-BY.json b/src/lang/be-BY.json index 88f673b9..dc0be21d 100644 --- a/src/lang/be-BY.json +++ b/src/lang/be-BY.json @@ -126,7 +126,7 @@ "label.reset": "Скінуць", "label.reset-website": "Скінуць статыстыку", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Захаваць", diff --git a/src/lang/bn-BD.json b/src/lang/bn-BD.json index 29e1bb6f..201157ac 100644 --- a/src/lang/bn-BD.json +++ b/src/lang/bn-BD.json @@ -126,7 +126,7 @@ "label.reset": "রিসেট", "label.reset-website": "ওয়েবসাইট রিসেট করুন", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "সংরক্ষণ", diff --git a/src/lang/ca-ES.json b/src/lang/ca-ES.json index 271b9245..e55d90da 100644 --- a/src/lang/ca-ES.json +++ b/src/lang/ca-ES.json @@ -126,7 +126,7 @@ "label.reset": "Restableix", "label.reset-website": "Restableix estadístiques", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Desa", diff --git a/src/lang/cs-CZ.json b/src/lang/cs-CZ.json index 73bc15b7..86f2043a 100644 --- a/src/lang/cs-CZ.json +++ b/src/lang/cs-CZ.json @@ -126,7 +126,7 @@ "label.reset": "Reset", "label.reset-website": "Reset statistics", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Uložit", diff --git a/src/lang/da-DK.json b/src/lang/da-DK.json index 2fba4f7a..8df7dd6b 100644 --- a/src/lang/da-DK.json +++ b/src/lang/da-DK.json @@ -126,7 +126,7 @@ "label.reset": "Nulstil", "label.reset-website": "Nulstil statistikker", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Gem", diff --git a/src/lang/de-CH.json b/src/lang/de-CH.json index c07ddd2c..95ba3b6a 100644 --- a/src/lang/de-CH.json +++ b/src/lang/de-CH.json @@ -126,7 +126,7 @@ "label.reset": "Zruggsetze", "label.reset-website": "Statistik zruggsetze", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Rollä", "label.run-query": "Run query", "label.save": "Speichere", diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 7bac1625..0724c181 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -126,7 +126,7 @@ "label.reset": "Zurücksetzen", "label.reset-website": "Statistik zurücksetzen", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Rolle", "label.run-query": "Abfrage starten", "label.save": "Speichern", diff --git a/src/lang/el-GR.json b/src/lang/el-GR.json index c5cea1be..f93742fd 100644 --- a/src/lang/el-GR.json +++ b/src/lang/el-GR.json @@ -126,7 +126,7 @@ "label.reset": "Επαναφορά", "label.reset-website": "Reset statistics", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Αποθήκευση", diff --git a/src/lang/en-GB.json b/src/lang/en-GB.json index e93b3b23..b6cb2c9a 100644 --- a/src/lang/en-GB.json +++ b/src/lang/en-GB.json @@ -126,7 +126,7 @@ "label.reset": "Reset", "label.reset-website": "Reset statistics", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Save", diff --git a/src/lang/en-US.json b/src/lang/en-US.json index 16dfa188..e1d59230 100644 --- a/src/lang/en-US.json +++ b/src/lang/en-US.json @@ -126,7 +126,7 @@ "label.reset": "Reset", "label.reset-website": "Reset website", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Save", diff --git a/src/lang/es-ES.json b/src/lang/es-ES.json index 001b9406..ef8c31a8 100644 --- a/src/lang/es-ES.json +++ b/src/lang/es-ES.json @@ -126,7 +126,7 @@ "label.reset": "Reiniciar", "label.reset-website": "Reiniciar estadísticas", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Rol", "label.run-query": "Ejecutar consulta", "label.save": "Guardar", diff --git a/src/lang/es-MX.json b/src/lang/es-MX.json index c1dacfa4..d8110b40 100644 --- a/src/lang/es-MX.json +++ b/src/lang/es-MX.json @@ -126,7 +126,7 @@ "label.reset": "Reiniciar", "label.reset-website": "Reiniciar estadísticas", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Rol", "label.run-query": "Run query", "label.save": "Guardar", diff --git a/src/lang/fa-IR.json b/src/lang/fa-IR.json index 32d985e3..0458e3c6 100644 --- a/src/lang/fa-IR.json +++ b/src/lang/fa-IR.json @@ -126,7 +126,7 @@ "label.reset": "بازنشانی", "label.reset-website": "بازنشانی آمار", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "ذخیره", diff --git a/src/lang/fi-FI.json b/src/lang/fi-FI.json index 8c447f8a..52d88238 100644 --- a/src/lang/fi-FI.json +++ b/src/lang/fi-FI.json @@ -126,7 +126,7 @@ "label.reset": "Nollaa", "label.reset-website": "Nollaa tilastot", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Tallenna", diff --git a/src/lang/fo-FO.json b/src/lang/fo-FO.json index e2626f1f..ef5b0bc1 100644 --- a/src/lang/fo-FO.json +++ b/src/lang/fo-FO.json @@ -126,7 +126,7 @@ "label.reset": "Nulstilla", "label.reset-website": "Reset statistics", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Goym", diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index 878e078a..092837eb 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -126,7 +126,7 @@ "label.reset": "Réinitialiser", "label.reset-website": "Réinitialiser les statistiques", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Rôle", "label.run-query": "Éxécuter la requête", "label.save": "Enregistrer", diff --git a/src/lang/ga-ES.json b/src/lang/ga-ES.json index ae46fa2c..2a2d16c9 100644 --- a/src/lang/ga-ES.json +++ b/src/lang/ga-ES.json @@ -126,7 +126,7 @@ "label.reset": "Restablecer", "label.reset-website": "To reset this website, type {confirmation} in the box below to confirm.", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Gardar", diff --git a/src/lang/he-IL.json b/src/lang/he-IL.json index b953fda6..04912335 100644 --- a/src/lang/he-IL.json +++ b/src/lang/he-IL.json @@ -126,7 +126,7 @@ "label.reset": "איפוס", "label.reset-website": "Reset statistics", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "שמירה", diff --git a/src/lang/hi-IN.json b/src/lang/hi-IN.json index e296d87b..c872fd1a 100644 --- a/src/lang/hi-IN.json +++ b/src/lang/hi-IN.json @@ -126,7 +126,7 @@ "label.reset": "रीसेट", "label.reset-website": "Reset statistics", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "सहेजें", diff --git a/src/lang/hr-HR.json b/src/lang/hr-HR.json index 75bd8a4f..55feb48b 100644 --- a/src/lang/hr-HR.json +++ b/src/lang/hr-HR.json @@ -126,7 +126,7 @@ "label.reset": "Resetirati", "label.reset-website": "Resetirati web stranicu", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Spremi", diff --git a/src/lang/hu-HU.json b/src/lang/hu-HU.json index c6224b01..407687f2 100644 --- a/src/lang/hu-HU.json +++ b/src/lang/hu-HU.json @@ -126,7 +126,7 @@ "label.reset": "Visszaállítás", "label.reset-website": "Reset statistics", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Mentés", diff --git a/src/lang/id-ID.json b/src/lang/id-ID.json index 85672765..64fed9e1 100644 --- a/src/lang/id-ID.json +++ b/src/lang/id-ID.json @@ -126,7 +126,7 @@ "label.reset": "Atur ulang", "label.reset-website": "Atur ulang statistik", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Simpan", diff --git a/src/lang/it-IT.json b/src/lang/it-IT.json index 8bce2f4e..29c664b5 100644 --- a/src/lang/it-IT.json +++ b/src/lang/it-IT.json @@ -126,7 +126,7 @@ "label.reset": "Reset", "label.reset-website": "Resetta le statistiche", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Salva", diff --git a/src/lang/ja-JP.json b/src/lang/ja-JP.json index 3af2f7b0..8e26205e 100644 --- a/src/lang/ja-JP.json +++ b/src/lang/ja-JP.json @@ -126,7 +126,7 @@ "label.reset": "リセット", "label.reset-website": "Webサイトをリセットする", "label.retention": "保持", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "ロール", "label.run-query": "クエリ実行", "label.save": "保存", diff --git a/src/lang/km-KH.json b/src/lang/km-KH.json index 3f7d089d..2333fe6b 100644 --- a/src/lang/km-KH.json +++ b/src/lang/km-KH.json @@ -126,7 +126,7 @@ "label.reset": "កំណត់ឡើងវិញ", "label.reset-website": "កំណត់ស្ថិតិឡើងវិញ", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "រក្សាទុក", diff --git a/src/lang/ko-KR.json b/src/lang/ko-KR.json index dcbdd77c..b4b7d566 100644 --- a/src/lang/ko-KR.json +++ b/src/lang/ko-KR.json @@ -126,7 +126,7 @@ "label.reset": "리셋", "label.reset-website": "Reset statistics", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "저장", diff --git a/src/lang/lt-LT.json b/src/lang/lt-LT.json index aa75f10f..13f2b06b 100644 --- a/src/lang/lt-LT.json +++ b/src/lang/lt-LT.json @@ -126,7 +126,7 @@ "label.reset": "Atstatyti", "label.reset-website": "Atstatyti statistikos duomenis", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Išsaugoti", diff --git a/src/lang/mn-MN.json b/src/lang/mn-MN.json index aad28ef2..ecb4e1fb 100644 --- a/src/lang/mn-MN.json +++ b/src/lang/mn-MN.json @@ -126,7 +126,7 @@ "label.reset": "Дахин эхлүүлэх", "label.reset-website": "Тоон үзүүлэлтийг дахин эхлүүлэх", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Эрх", "label.run-query": "Run query", "label.save": "Хадгалах", diff --git a/src/lang/ms-MY.json b/src/lang/ms-MY.json index af5c34f0..256a4d0b 100644 --- a/src/lang/ms-MY.json +++ b/src/lang/ms-MY.json @@ -126,7 +126,7 @@ "label.reset": "Tetapkan semula", "label.reset-website": "Reset statistics", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Simpan", diff --git a/src/lang/my-MM.json b/src/lang/my-MM.json index 8253705a..bdfa3c6a 100644 --- a/src/lang/my-MM.json +++ b/src/lang/my-MM.json @@ -126,7 +126,7 @@ "label.reset": "ပြန်စမည်", "label.reset-website": "ဝက်ဘ်ဆိုဒ်ဒေတာကိုဖျက်မည်", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "အခန်းကဏ္ဍ", "label.run-query": "Query ကိုလုပ်ဆောင်မည်", "label.save": "သိမ်းဆည်းမည်", diff --git a/src/lang/nb-NO.json b/src/lang/nb-NO.json index 18fa765e..5744d211 100644 --- a/src/lang/nb-NO.json +++ b/src/lang/nb-NO.json @@ -126,7 +126,7 @@ "label.reset": "Nullstill", "label.reset-website": "Nullstill statistikk", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Lagre", diff --git a/src/lang/nl-NL.json b/src/lang/nl-NL.json index d0c3f678..9dfcbb92 100644 --- a/src/lang/nl-NL.json +++ b/src/lang/nl-NL.json @@ -126,7 +126,7 @@ "label.reset": "Opnieuw instellen", "label.reset-website": "Statistieken opnieuw instellen", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Gebruikersrol", "label.run-query": "Run query", "label.save": "Opslaan", diff --git a/src/lang/pl-PL.json b/src/lang/pl-PL.json index 8045af06..37a77b2e 100644 --- a/src/lang/pl-PL.json +++ b/src/lang/pl-PL.json @@ -126,7 +126,7 @@ "label.reset": "Zresetuj", "label.reset-website": "Zresetuj statystyki", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Uruchom zapytanie", "label.save": "Zapisz", diff --git a/src/lang/pt-BR.json b/src/lang/pt-BR.json index 22169e3a..ae345986 100644 --- a/src/lang/pt-BR.json +++ b/src/lang/pt-BR.json @@ -126,7 +126,7 @@ "label.reset": "Redefinir", "label.reset-website": "Redefinir estatísticas", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Papel", "label.run-query": "Executar query", "label.save": "Salvar", diff --git a/src/lang/pt-PT.json b/src/lang/pt-PT.json index 28a798e3..3e1df4de 100644 --- a/src/lang/pt-PT.json +++ b/src/lang/pt-PT.json @@ -126,7 +126,7 @@ "label.reset": "Repor", "label.reset-website": "Repor estatísticas", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Guardar", diff --git a/src/lang/ro-RO.json b/src/lang/ro-RO.json index 9c8c8c3c..d3b9d3db 100644 --- a/src/lang/ro-RO.json +++ b/src/lang/ro-RO.json @@ -126,7 +126,7 @@ "label.reset": "Resetează", "label.reset-website": "Resetează statisticile pentru site", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Salvează", diff --git a/src/lang/ru-RU.json b/src/lang/ru-RU.json index 6eed3725..3063cbfa 100644 --- a/src/lang/ru-RU.json +++ b/src/lang/ru-RU.json @@ -126,7 +126,7 @@ "label.reset": "Сбросить", "label.reset-website": "Сбросить статистику", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Роль", "label.run-query": "Run query", "label.save": "Сохранить", diff --git a/src/lang/si-LK.json b/src/lang/si-LK.json index 92bbe736..d9a61eb0 100644 --- a/src/lang/si-LK.json +++ b/src/lang/si-LK.json @@ -126,7 +126,7 @@ "label.reset": "යළි පිහිටුවන්න", "label.reset-website": "සංඛ්යා ලේඛන නැවත සකසන්න", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "සුරකින්න", diff --git a/src/lang/sk-SK.json b/src/lang/sk-SK.json index 534ace42..7d9073dd 100644 --- a/src/lang/sk-SK.json +++ b/src/lang/sk-SK.json @@ -126,7 +126,7 @@ "label.reset": "Reset", "label.reset-website": "Reset statistics", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Uložiť", diff --git a/src/lang/sl-SI.json b/src/lang/sl-SI.json index f73aa265..1863eb87 100644 --- a/src/lang/sl-SI.json +++ b/src/lang/sl-SI.json @@ -126,7 +126,7 @@ "label.reset": "Ponastavi", "label.reset-website": "Ponastavi statistiko", "label.retention": "Ohranjanje uporabnikov", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Vloga", "label.run-query": "Izvedi poizvedbo", "label.save": "Shrani", diff --git a/src/lang/sv-SE.json b/src/lang/sv-SE.json index 532b9039..1496594f 100644 --- a/src/lang/sv-SE.json +++ b/src/lang/sv-SE.json @@ -126,7 +126,7 @@ "label.reset": "Återställ", "label.reset-website": "Återställ statistik", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Roll", "label.run-query": "Run query", "label.save": "Spara", diff --git a/src/lang/ta-IN.json b/src/lang/ta-IN.json index 64b6bf2b..53b7659e 100644 --- a/src/lang/ta-IN.json +++ b/src/lang/ta-IN.json @@ -126,7 +126,7 @@ "label.reset": "மீட்டமை", "label.reset-website": "Reset statistics", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "சேமி", diff --git a/src/lang/th-TH.json b/src/lang/th-TH.json index 1ddaa4d0..ee2fc19c 100644 --- a/src/lang/th-TH.json +++ b/src/lang/th-TH.json @@ -126,7 +126,7 @@ "label.reset": "รีเซต", "label.reset-website": "รีเซตข้อมูลสถิติ", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "บันทึก", diff --git a/src/lang/tr-TR.json b/src/lang/tr-TR.json index b333131f..6eac527b 100644 --- a/src/lang/tr-TR.json +++ b/src/lang/tr-TR.json @@ -126,7 +126,7 @@ "label.reset": "Sıfırla", "label.reset-website": "Reset statistics", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Kaydet", diff --git a/src/lang/uk-UA.json b/src/lang/uk-UA.json index e95815f1..95995648 100644 --- a/src/lang/uk-UA.json +++ b/src/lang/uk-UA.json @@ -126,7 +126,7 @@ "label.reset": "Скинути", "label.reset-website": "Скинути статистику сайту", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Зберегти", diff --git a/src/lang/ur-PK.json b/src/lang/ur-PK.json index 9fbfb079..5edaddd8 100644 --- a/src/lang/ur-PK.json +++ b/src/lang/ur-PK.json @@ -126,7 +126,7 @@ "label.reset": "دوبارہ ترتیب دیں", "label.reset-website": "اعدادوشمار کو دوبارہ ترتیب دیں", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "محفوظ کریں", diff --git a/src/lang/vi-VN.json b/src/lang/vi-VN.json index ff2915c7..9c629100 100644 --- a/src/lang/vi-VN.json +++ b/src/lang/vi-VN.json @@ -126,7 +126,7 @@ "label.reset": "Tái thiết lập", "label.reset-website": "Tái thiết lập thống kê", "label.retention": "Retention", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "Role", "label.run-query": "Run query", "label.save": "Lưu", diff --git a/src/lang/zh-CN.json b/src/lang/zh-CN.json index 2ebe75f2..c4160280 100644 --- a/src/lang/zh-CN.json +++ b/src/lang/zh-CN.json @@ -126,7 +126,7 @@ "label.reset": "重置", "label.reset-website": "重置统计数据", "label.retention": "保留", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "角色", "label.run-query": "查询", "label.save": "保存", diff --git a/src/lang/zh-TW.json b/src/lang/zh-TW.json index 22291ed0..6a56ea78 100644 --- a/src/lang/zh-TW.json +++ b/src/lang/zh-TW.json @@ -126,7 +126,7 @@ "label.reset": "重設", "label.reset-website": "重設網站", "label.retention": "保留", - "label.retention-description": "Measure you website stickiness by tracking how often users return.", + "label.retention-description": "Measure your website stickiness by tracking how often users return.", "label.role": "角色", "label.run-query": "執行查詢", "label.save": "儲存", From f4f869f91977b922af0ff962162e7c31e51af605 Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Sat, 2 Sep 2023 08:58:25 +0000 Subject: [PATCH 36/47] localize visitors in map tooltip --- src/components/common/WorldMap.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/common/WorldMap.js b/src/components/common/WorldMap.js index b593099b..6ae84677 100644 --- a/src/components/common/WorldMap.js +++ b/src/components/common/WorldMap.js @@ -8,6 +8,7 @@ import { ISO_COUNTRIES, MAP_FILE } from 'lib/constants'; import useTheme from 'components/hooks/useTheme'; import useCountryNames from 'components/hooks/useCountryNames'; import useLocale from 'components/hooks/useLocale'; +import useMessages from 'components/hooks/useMessages'; import { formatLongNumber } from 'lib/format'; import { percentFilter } from 'lib/filters'; import styles from './WorldMap.module.css'; @@ -17,7 +18,9 @@ export function WorldMap({ data, className }) { const [tooltip, setTooltipPopup] = useState(); const { theme, colors } = useTheme(); const { locale } = useLocale(); + const { formatMessage, labels } = useMessages(); const countryNames = useCountryNames(locale); + const visitorsLabel = formatMessage(labels.visitors).toLocaleLowerCase(locale); const metrics = useMemo(() => (data ? percentFilter(data) : []), [data]); function getFillColor(code) { @@ -40,7 +43,7 @@ export function WorldMap({ data, className }) { function handleHover(code) { if (code === 'AQ') return; const country = metrics?.find(({ x }) => x === code); - setTooltipPopup(`${countryNames[code]}: ${formatLongNumber(country?.y || 0)} visitors`); + setTooltipPopup(`${countryNames[code]}: ${formatLongNumber(country?.y || 0)} ${visitorsLabel}`); } return ( From e41a83316adf2e99e750c6ba10afad37f8cf84d2 Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Sat, 2 Sep 2023 11:05:06 +0000 Subject: [PATCH 37/47] update fr-FR --- src/lang/fr-FR.json | 62 ++++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/src/lang/fr-FR.json b/src/lang/fr-FR.json index 092837eb..bb4a56a5 100644 --- a/src/lang/fr-FR.json +++ b/src/lang/fr-FR.json @@ -16,20 +16,20 @@ "label.before": "Avant", "label.bounce-rate": "Taux de rebond", "label.breakdown": "Répartition", - "label.browser": "Browser", + "label.browser": "Navigateur", "label.browsers": "Navigateurs", "label.cancel": "Annuler", "label.change-password": "Changer le mot de passe", "label.cities": "Villes", - "label.city": "City", + "label.city": "Ville", "label.clear-all": "Réinitialiser", "label.confirm": "Confirmer", "label.confirm-password": "Confirmation du mot de passe", "label.contains": "Contient", "label.continue": "Continuer", "label.countries": "Pays", - "label.country": "Country", - "label.create": "Create", + "label.country": "Pays", + "label.create": "Créer", "label.create-report": "Créer un rapport", "label.create-team": "Créer une équipe", "label.create-user": "Créer un utilisateur", @@ -40,7 +40,7 @@ "label.data": "Données", "label.date": "Date", "label.date-range": "Période", - "label.day": "Day", + "label.day": "Jour", "label.default-date-range": "Période par défaut", "label.delete": "Supprimer", "label.delete-team": "Supprimer l'équipe", @@ -49,35 +49,35 @@ "label.description": "Description", "label.desktop": "Ordinateur", "label.details": "Détails", - "label.device": "Device", + "label.device": "Appareil", "label.devices": "Appareils", "label.dismiss": "Ignorer", "label.does-not-contain": "Ne contient pas", "label.domain": "Domaine", - "label.dropoff": "Dropoff", + "label.dropoff": "Abandons", "label.edit": "Modifier", "label.edit-dashboard": "Modifier le tableau de bord", "label.enable-share-url": "Activer l'URL de partage", - "label.event": "Event", - "label.event-data": "Données d'événements", - "label.events": "Événements", + "label.event": "Évènement", + "label.event-data": "Données d'évènements", + "label.events": "Évènements", "label.false": "Faux", "label.field": "Champ", "label.fields": "Champs", - "label.filter": "Filter", + "label.filter": "Filtrer", "label.filter-combined": "Combiné", "label.filter-raw": "Brut", "label.filters": "Filtres", "label.funnel": "Entonnoir", - "label.funnel-description": "Understand the conversion and drop-off rate of users.", + "label.funnel-description": "Suivi des conversions et des taux d'abandons.", "label.greater-than": "Supérieur à", "label.greater-than-equals": "Supérieur ou égal à", "label.insights": "Insights", - "label.insights-description": "Dive deeper into your data by using segments and filters.", - "label.is": "Est égal", - "label.is-not": "N'est pas égal", - "label.is-not-set": "Is not set", - "label.is-set": "Is set", + "label.insights-description": "Analyse précise des données en utilisant des segments et des filtres.", + "label.is": "Est", + "label.is-not": "N'est pas", + "label.is-not-set": "N'est pas défini", + "label.is-set": "Est défini", "label.join": "Rejoindre", "label.join-team": "Rejoindre une équipe", "label.language": "Langue", @@ -96,42 +96,42 @@ "label.min": "Min", "label.mobile": "Téléphone", "label.more": "Plus", - "label.my-websites": "My websites", + "label.my-websites": "Mes sites", "label.name": "Nom", "label.new-password": "Nouveau mot de passe", "label.none": "Aucun·e", "label.os": "OS", "label.overview": "Vue d'ensemble", "label.owner": "Propriétaire", - "label.page-of": "Page {current} of {total}", + "label.page-of": "Page {current} sur {total}", "label.page-views": "Pages vues", - "label.pageTitle": "Page title", + "label.pageTitle": "Titre de page", "label.pages": "Pages", "label.password": "Mot de passe", "label.powered-by": "Propulsé par {name}", "label.profile": "Profil", "label.queries": "Requêtes", "label.query": "Requête", - "label.query-parameters": "Paramètres d'URL", + "label.query-parameters": "Paramètres de requête", "label.realtime": "Temps réel", - "label.referrer": "Referrer", + "label.referrer": "Site référent", "label.referrers": "Sites référents", "label.refresh": "Rafraîchir", "label.regenerate": "Régénérer", - "label.region": "Region", + "label.region": "Région", "label.regions": "Régions", "label.remove": "Retirer", "label.reports": "Rapports", "label.required": "Requis", "label.reset": "Réinitialiser", "label.reset-website": "Réinitialiser les statistiques", - "label.retention": "Retention", - "label.retention-description": "Measure your website stickiness by tracking how often users return.", + "label.retention": "Rétention", + "label.retention-description": "Mesure de l'atractivité du site en visualisant les taux d'utilisateurs qui reviennent.", "label.role": "Rôle", "label.run-query": "Éxécuter la requête", "label.save": "Enregistrer", "label.screens": "Résolutions d'écran", - "label.search": "Search", + "label.search": "Rechercher", "label.select-date": "Choisir une période", "label.select-website": "Choisir un site", "label.sessions": "Sessions", @@ -144,9 +144,9 @@ "label.team-guest": "Invité dans l'équipe", "label.team-id": "ID d'équipe", "label.team-member": "Membre de l'équipe", - "label.team-name": "Team name", + "label.team-name": "Nom de l'équipe", "label.team-owner": "Propriétaire de l'équipe", - "label.team-websites": "Team websites", + "label.team-websites": "Sites d'équipes", "label.teams": "Équipes", "label.theme": "Thème", "label.this-month": "Ce mois", @@ -176,7 +176,7 @@ "label.view-only": "Consultation", "label.views": "Vues", "label.visitors": "Visiteurs", - "label.website": "Website", + "label.website": "Site", "label.website-id": "ID de site", "label.websites": "Sites", "label.window": "Fenêtre", @@ -194,7 +194,7 @@ "message.incorrect-username-password": "Nom d'utilisateur/Mot de passe incorrect.", "message.invalid-domain": "Domaine invalide", "message.min-password-length": "Taille minimale de {n} caractères", - "message.new-version-available": "A new version of Umami {version} is available!", + "message.new-version-available": "Une nouvelle version d'Umami {version} est disponible !", "message.no-data-available": "Aucune donnée disponible.", "message.no-event-data": "Aucune donnée d'événement disponible.", "message.no-match-password": "Les mots de passe ne correspondent pas", @@ -206,7 +206,7 @@ "message.page-not-found": "Page non trouvée.", "message.reset-website": "Pour réinitialiser ce site, taper {confirmation} ci-dessous pour confirmer.", "message.reset-website-warning": "Toutes les statistiques pour ce site seront supprimées, mais votre code de suivi restera intact.", - "message.saved": "Enregistré avec succès.", + "message.saved": "Enregistré.", "message.share-url": "Les statistiques de votre site sont accessibles publiquement sur cette URL :", "message.team-already-member": "Vous êtes déjà membre de cette équipe.", "message.team-not-found": "Équipe non trouvée.", From 105b3c1e3180a5d3a2ce4eac63a79a91407fc67e Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Sat, 2 Sep 2023 12:39:23 +0000 Subject: [PATCH 38/47] restore lost translations --- src/lang/my-MM.json | 50 ++++++++++++++++++++++----------------------- src/lang/sl-SI.json | 8 ++++---- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/lang/my-MM.json b/src/lang/my-MM.json index bdfa3c6a..704e2949 100644 --- a/src/lang/my-MM.json +++ b/src/lang/my-MM.json @@ -6,16 +6,16 @@ "label.add-description": "အကြောင်းအရာဖော်ပြချက် ထည့်မည်", "label.add-website": "ဝက်ဘ်ဆိုဒ်ထည့်မည်", "label.admin": "အက်ဒမင်", - "label.after": "After", + "label.after": "ပြီးနောက်", "label.all": "အားလုံး", "label.all-time": "အချိန်အစမှအခုထိ", "label.analytics": "အန်နလစ်တစ်", - "label.average": "Average", + "label.average": "ပျမ်းမျှ", "label.average-visit-time": "ဝဘက်ဘ်ဆိုဒ်တွင် ပျမ်းမျှကုန်ဆုံးချိန်", "label.back": "နောက်သို့", - "label.before": "Before", + "label.before": "မတိုင်မီ", "label.bounce-rate": "Bounce နှုန်း", - "label.breakdown": "Breakdown", + "label.breakdown": "ခွဲခြမ်းစိတ်ဖြာမှု", "label.browser": "Browser", "label.browsers": "ဝက်ဘ်ဘရောင်ဇာများ", "label.cancel": "မလုပ်တော့ပါ", @@ -25,12 +25,12 @@ "label.clear-all": "အားလုံးကိုဖျက်မည်", "label.confirm": "အတည်ပြုသည်", "label.confirm-password": "စကားဝှက်အတည်ပြုသည်", - "label.contains": "Contains", + "label.contains": "ပါဝင်သည်", "label.continue": "ဆက်သွားမည်", "label.countries": "နိုင်ငံများ", "label.country": "Country", "label.create": "Create", - "label.create-report": "Create report", + "label.create-report": "ရီပို့လုပ်မည်", "label.create-team": "Team ပြုလုပ်မည်", "label.create-user": "အသုံးပြုသူထည့်မည်", "label.created": "ပြုလုပ်ပြီးသော", @@ -46,13 +46,13 @@ "label.delete-team": "Team ကိုဖျက်မည်", "label.delete-user": "အသုံးပြုသူကိုဖျက်မည်", "label.delete-website": "ဝက်ဘ်ဆိုဒ်ကိုဖျက်မည်", - "label.description": "Description", + "label.description": "ရှင်းပြချက်", "label.desktop": "စားပွဲတင်ကွန်ပျူတာ", "label.details": "အသေးစိတ်", "label.device": "Device", "label.devices": "အသုံးပြုသည့် ကိရိယာများ", "label.dismiss": "ပိတ်ပါ", - "label.does-not-contain": "Does not contain", + "label.does-not-contain": "မပါဝင်ပါ", "label.domain": "ဒိုမိန်း", "label.dropoff": "Dropoff", "label.edit": "ပြုပြင်မည်", @@ -61,17 +61,17 @@ "label.event": "အဖြစ်အပျက်", "label.event-data": "အဖြစ်အပျက် ဒေတာ", "label.events": "အဖြစ်အပျက်များ", - "label.false": "False", + "label.false": "မှားသည်", "label.field": "Field အမည်", "label.fields": "Field အမည်များ", "label.filter": "Filter", "label.filter-combined": "ပေါင်းစပ်ပြီး", "label.filter-raw": "အရှိအတိုင်း", - "label.filters": "Filters", + "label.filters": "Filter များ", "label.funnel": "ဖန်နယ်", "label.funnel-description": "Understand the conversion and drop-off rate of users.", - "label.greater-than": "Greater than", - "label.greater-than-equals": "Greater than or equals", + "label.greater-than": "ထက်ပို၍ကြီးသည်", + "label.greater-than-equals": "ထက်ပို၍ကြီးသည်သို့မဟုတ်တူသည်", "label.insights": "အသေးစိတ်သိမြင်နိုင်ရန်", "label.insights-description": "Dive deeper into your data by using segments and filters.", "label.is": "Is", @@ -87,21 +87,21 @@ "label.last-hours": "လွန်ခဲ့သော {x} နာရီက", "label.leave": "ထွက်မည်", "label.leave-team": "အသင်းမှထွက်မည်", - "label.less-than": "Less than", - "label.less-than-equals": "Less than or equals", + "label.less-than": "ထက်ပို၍ငယ်သည်", + "label.less-than-equals": "ထက်ပို၍ငယ်သည်သို့မဟုတ်တူသည်", "label.login": "လော့ဂ်အင်", "label.logout": "လော့ဂ်အောက်လုပ်မည်", - "label.max": "Max", + "label.max": "အများဆုံး", "label.members": "အဖွဲ့ဝင်များ", - "label.min": "Min", + "label.min": "အနည်းဆုံး", "label.mobile": "မိုဘိုင်း", "label.more": "နောက်ထပ်", "label.my-websites": "My websites", "label.name": "အမည်", "label.new-password": "စကားဝှက်အသစ်", "label.none": "မရှိပါ", - "label.os": "OS", - "label.overview": "Overview", + "label.os": "ကွန်ပျူတာလည်ပတ်မှုစနစ်", + "label.overview": "အပေါ်ယံမြင်ကွင်း", "label.owner": "ပိုင်ဆိုင်သူ", "label.page-of": "Page {current} of {total}", "label.page-views": "ဝင်ရောက်ကြည့်ရှုသူ", @@ -138,7 +138,7 @@ "label.settings": "ဆက်တင်များ", "label.share-url": "URL ကိုရှဲမည်", "label.single-day": "တစ်ရက်အတွင်း", - "label.sum": "Sum", + "label.sum": "ပေါင်းလဒ်", "label.tablet": "တက်ဘလက်", "label.team": "အသင်း", "label.team-guest": "အသင်း ဧည့်သည်", @@ -156,21 +156,21 @@ "label.title": "ခေါင်းစဥ်", "label.today": "ယနေ့", "label.toggle-charts": "ဇယားများကို အဖွင့်အပိတ်လုပ်မည်", - "label.total": "Total", - "label.total-records": "Total records", + "label.total": "စုစုပေါင်း", + "label.total-records": "မှတ်တမ်းစုစုပေါင်း", "label.tracking-code": "ထရက်လုပ်သည့် ကုဒ်", - "label.true": "True", - "label.type": "Type", + "label.true": "မှန်သည်", + "label.type": "အမျိုးအစား", "label.unique": "Unique", "label.unique-visitors": "ဝင်ရောက်သူ (ထပ်ခြင်းမရှိ)", "label.unknown": "မသိသော", - "label.untitled": "Untitled", + "label.untitled": "ခေါင်းစဉ်မရှိ", "label.url": "URL", "label.urls": "URL များ", "label.user": "အသုံးပြုသူ", "label.username": "အသုံးပြုသူအမည်", "label.users": "အသုံးပြုသူများ", - "label.value": "Value", + "label.value": "တန်ဖိုး", "label.view": "ဝင်ရောက်ကြည့်ရှုမှု", "label.view-details": "အသေးစိတ်ကို ကြည့်ရှုမည်", "label.view-only": "ဝင်ရောက်ကြည့်ရှုမှုများသာ", diff --git a/src/lang/sl-SI.json b/src/lang/sl-SI.json index 1863eb87..e7347bc4 100644 --- a/src/lang/sl-SI.json +++ b/src/lang/sl-SI.json @@ -130,10 +130,10 @@ "label.role": "Vloga", "label.run-query": "Izvedi poizvedbo", "label.save": "Shrani", - "label.screens": "Screens", - "label.select-date": "Select date", - "label.select-website": "Select website", - "label.sessions": "Sessions", + "label.screens": "Zasloni", + "label.select-date": "Izberi datum", + "label.select-website": "Izberi spletno mesto", + "label.sessions": "Seje", "label.settings": "Nastavitve", "label.share-url": "Deli povezavo", "label.single-day": "En dan", From a591eb867dcad30fddeabd07492c3138beeec0b9 Mon Sep 17 00:00:00 2001 From: Maxime-J Date: Sat, 2 Sep 2023 12:50:18 +0000 Subject: [PATCH 39/47] follow-up: add missing new label in sl-SI --- src/lang/sl-SI.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lang/sl-SI.json b/src/lang/sl-SI.json index e7347bc4..66ce08e0 100644 --- a/src/lang/sl-SI.json +++ b/src/lang/sl-SI.json @@ -131,6 +131,7 @@ "label.run-query": "Izvedi poizvedbo", "label.save": "Shrani", "label.screens": "Zasloni", + "label.search": "Search", "label.select-date": "Izberi datum", "label.select-website": "Izberi spletno mesto", "label.sessions": "Seje", From 4bce72350b234e4baebc5215246df66b7c41eff2 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Sat, 2 Sep 2023 16:53:26 -0700 Subject: [PATCH 40/47] Include HOSTNAME variable. --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index e0c7e8c3..6674163a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -53,6 +53,7 @@ USER nextjs EXPOSE 3000 +ENV HOSTNAME 0.0.0.0 ENV PORT 3000 CMD ["yarn", "start-docker"] From cec186e4c177ccfaa1a141de236802b3cd216d8d Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Mon, 4 Sep 2023 13:42:39 -0700 Subject: [PATCH 41/47] Added version to menu. --- src/components/input/ProfileButton.js | 4 +++- src/components/input/ProfileButton.module.css | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/components/input/ProfileButton.js b/src/components/input/ProfileButton.js index 015c0ad8..35b0eb45 100644 --- a/src/components/input/ProfileButton.js +++ b/src/components/input/ProfileButton.js @@ -3,8 +3,9 @@ import { useRouter } from 'next/router'; import Icons from 'components/icons'; import useMessages from 'components/hooks/useMessages'; import useUser from 'components/hooks/useUser'; -import styles from './ProfileButton.module.css'; import useLocale from 'components/hooks/useLocale'; +import { CURRENT_VERSION } from 'lib/constants'; +import styles from './ProfileButton.module.css'; export function ProfileButton() { const { formatMessage, labels } = useMessages(); @@ -51,6 +52,7 @@ export function ProfileButton() { {formatMessage(labels.logout)} )} +
{`v${CURRENT_VERSION}`}
diff --git a/src/components/input/ProfileButton.module.css b/src/components/input/ProfileButton.module.css index 8b1897bd..e7843344 100644 --- a/src/components/input/ProfileButton.module.css +++ b/src/components/input/ProfileButton.module.css @@ -8,3 +8,11 @@ gap: 12px; background: var(--base50); } + +.version { + font-family: monospace; + font-size: 11px; + color: var(--base600); + text-align: right; + margin-right: 10px; +} From ea43872dd0ea82c66325b92f2686e217c0d978b0 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Mon, 4 Sep 2023 22:50:53 -0700 Subject: [PATCH 42/47] Update message bundles. --- public/intl/messages/am-ET.json | 36 +++ public/intl/messages/ar-SA.json | 36 +++ public/intl/messages/be-BY.json | 36 +++ public/intl/messages/bn-BD.json | 36 +++ public/intl/messages/ca-ES.json | 36 +++ public/intl/messages/cs-CZ.json | 36 +++ public/intl/messages/da-DK.json | 36 +++ public/intl/messages/de-CH.json | 36 +++ public/intl/messages/de-DE.json | 158 ++++++----- public/intl/messages/el-GR.json | 36 +++ public/intl/messages/en-GB.json | 36 +++ public/intl/messages/en-US.json | 36 +++ public/intl/messages/es-ES.json | 36 +++ public/intl/messages/es-MX.json | 36 +++ public/intl/messages/fa-IR.json | 36 +++ public/intl/messages/fi-FI.json | 36 +++ public/intl/messages/fo-FO.json | 36 +++ public/intl/messages/fr-FR.json | 88 ++++-- public/intl/messages/ga-ES.json | 36 +++ public/intl/messages/he-IL.json | 36 +++ public/intl/messages/hi-IN.json | 36 +++ public/intl/messages/hr-HR.json | 36 +++ public/intl/messages/hu-HU.json | 36 +++ public/intl/messages/id-ID.json | 36 +++ public/intl/messages/it-IT.json | 36 +++ public/intl/messages/ja-JP.json | 36 +++ public/intl/messages/km-KH.json | 36 +++ public/intl/messages/ko-KR.json | 36 +++ public/intl/messages/lt-LT.json | 36 +++ public/intl/messages/mn-MN.json | 36 +++ public/intl/messages/ms-MY.json | 36 +++ public/intl/messages/my-MM.json | 470 +++++++++++++++++++++----------- public/intl/messages/nb-NO.json | 36 +++ public/intl/messages/nl-NL.json | 36 +++ public/intl/messages/pl-PL.json | 36 +++ public/intl/messages/pt-BR.json | 36 +++ public/intl/messages/pt-PT.json | 36 +++ public/intl/messages/ro-RO.json | 36 +++ public/intl/messages/ru-RU.json | 36 +++ public/intl/messages/si-LK.json | 36 +++ public/intl/messages/sk-SK.json | 36 +++ public/intl/messages/sl-SI.json | 36 +++ public/intl/messages/sv-SE.json | 36 +++ public/intl/messages/ta-IN.json | 36 +++ public/intl/messages/th-TH.json | 36 +++ public/intl/messages/tr-TR.json | 36 +++ public/intl/messages/uk-UA.json | 36 +++ public/intl/messages/ur-PK.json | 36 +++ public/intl/messages/vi-VN.json | 36 +++ public/intl/messages/zh-CN.json | 36 +++ public/intl/messages/zh-TW.json | 36 +++ src/lang/de-DE.json | 4 +- 52 files changed, 2195 insertions(+), 253 deletions(-) diff --git a/public/intl/messages/am-ET.json b/public/intl/messages/am-ET.json index f48fe83c..cb9ff4f9 100644 --- a/public/intl/messages/am-ET.json +++ b/public/intl/messages/am-ET.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ar-SA.json b/public/intl/messages/ar-SA.json index a9a12404..17a85916 100644 --- a/public/intl/messages/ar-SA.json +++ b/public/intl/messages/ar-SA.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "الشاشات" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/be-BY.json b/public/intl/messages/be-BY.json index 4978aa45..c8081e37 100644 --- a/public/intl/messages/be-BY.json +++ b/public/intl/messages/be-BY.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Экраны" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/bn-BD.json b/public/intl/messages/bn-BD.json index 938f6f98..6b8875ad 100644 --- a/public/intl/messages/bn-BD.json +++ b/public/intl/messages/bn-BD.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "স্ক্রিনগুলি" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ca-ES.json b/public/intl/messages/ca-ES.json index 694b49c2..f21a739c 100644 --- a/public/intl/messages/ca-ES.json +++ b/public/intl/messages/ca-ES.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/cs-CZ.json b/public/intl/messages/cs-CZ.json index 3fd34c31..e316e973 100644 --- a/public/intl/messages/cs-CZ.json +++ b/public/intl/messages/cs-CZ.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/da-DK.json b/public/intl/messages/da-DK.json index d8da1c3e..05b0c572 100644 --- a/public/intl/messages/da-DK.json +++ b/public/intl/messages/da-DK.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/de-CH.json b/public/intl/messages/de-CH.json index aa0b2d94..ecc15336 100644 --- a/public/intl/messages/de-CH.json +++ b/public/intl/messages/de-CH.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Bildschirmuflösige" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/de-DE.json b/public/intl/messages/de-DE.json index 136cd31d..5e74647c 100644 --- a/public/intl/messages/de-DE.json +++ b/public/intl/messages/de-DE.json @@ -20,7 +20,7 @@ "label.add": [ { "type": 0, - "value": "Add" + "value": "Hinzufügen" } ], "label.add-description": [ @@ -32,7 +32,7 @@ "label.add-website": [ { "type": 0, - "value": "Webseite hinzufügen" + "value": "Website hinzufügen" } ], "label.admin": [ @@ -44,7 +44,7 @@ "label.after": [ { "type": 0, - "value": "After" + "value": "Nach" } ], "label.all": [ @@ -86,7 +86,7 @@ "label.before": [ { "type": 0, - "value": "Before" + "value": "Vor" } ], "label.bounce-rate": [ @@ -134,7 +134,7 @@ "label.city": [ { "type": 0, - "value": "City" + "value": "Stadt" } ], "label.clear-all": [ @@ -158,7 +158,7 @@ "label.contains": [ { "type": 0, - "value": "Contains" + "value": "Enthält" } ], "label.continue": [ @@ -176,13 +176,19 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Land" + } + ], + "label.create": [ + { + "type": 0, + "value": "Create" } ], "label.create-report": [ { "type": 0, - "value": "Report erstellen" + "value": "Bericht erstellen" } ], "label.create-team": [ @@ -230,7 +236,7 @@ "label.date": [ { "type": 0, - "value": "Date" + "value": "Datum" } ], "label.date-range": [ @@ -242,7 +248,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "Tag" } ], "label.default-date-range": [ @@ -272,7 +278,7 @@ "label.delete-website": [ { "type": 0, - "value": "Webseite löschen" + "value": "Website löschen" } ], "label.description": [ @@ -296,7 +302,7 @@ "label.device": [ { "type": 0, - "value": "Device" + "value": "Gerät" } ], "label.devices": [ @@ -314,7 +320,7 @@ "label.does-not-contain": [ { "type": 0, - "value": "Does not contain" + "value": "Enthält nicht" } ], "label.domain": [ @@ -356,7 +362,7 @@ "label.event-data": [ { "type": 0, - "value": "Event daten" + "value": "Eventdaten" } ], "label.events": [ @@ -368,19 +374,25 @@ "label.false": [ { "type": 0, - "value": "False" + "value": "Falsch" } ], "label.field": [ { "type": 0, - "value": "Field" + "value": "Feld" } ], "label.fields": [ { "type": 0, - "value": "Fields" + "value": "Felder" + } + ], + "label.filter": [ + { + "type": 0, + "value": "Filter" } ], "label.filter-combined": [ @@ -398,7 +410,7 @@ "label.filters": [ { "type": 0, - "value": "Filters" + "value": "Filter" } ], "label.funnel": [ @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,28 +443,34 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, - "value": "Is" + "value": "Ist" } ], "label.is-not": [ { "type": 0, - "value": "Is not" + "value": "Ist nicht" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "Ist nicht gesetzt" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Ist gesetzt" } ], "label.join": [ @@ -576,7 +600,7 @@ "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Meine Websites" } ], "label.name": [ @@ -618,7 +642,7 @@ "label.page-of": [ { "type": 0, - "value": "Page " + "value": "Seite " }, { "type": 1, @@ -626,7 +650,7 @@ }, { "type": 0, - "value": " of " + "value": " von " }, { "type": 1, @@ -642,7 +666,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Seitentitel" } ], "label.pages": [ @@ -742,7 +766,7 @@ "label.reports": [ { "type": 0, - "value": "Reporte" + "value": "Berichte" } ], "label.required": [ @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Bildschirmauflösungen" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, @@ -808,7 +844,7 @@ "label.sessions": [ { "type": 0, - "value": "Sessions" + "value": "Sitzungen" } ], "label.settings": [ @@ -850,37 +886,37 @@ "label.team-guest": [ { "type": 0, - "value": "Team Gast" + "value": "Gast des Teams" } ], "label.team-id": [ { "type": 0, - "value": "Team ID" + "value": "Team-ID" } ], "label.team-member": [ { "type": 0, - "value": "Team Mitglied" + "value": "Team-Mitglied" } ], "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Name des Teams" } ], "label.team-owner": [ { "type": 0, - "value": "Team Eigentümer" + "value": "Team-Eigentümer" } ], "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Team-Websites" } ], "label.teams": [ @@ -940,13 +976,13 @@ "label.total": [ { "type": 0, - "value": "Total" + "value": "Gesamt" } ], "label.total-records": [ { "type": 0, - "value": "Total records" + "value": "Datensätze insgesamt" } ], "label.tracking-code": [ @@ -958,19 +994,19 @@ "label.true": [ { "type": 0, - "value": "True" + "value": "Wahr" } ], "label.type": [ { "type": 0, - "value": "Type" + "value": "Typ" } ], "label.unique": [ { "type": 0, - "value": "Unique" + "value": "Eindeutig" } ], "label.unique-visitors": [ @@ -988,7 +1024,7 @@ "label.untitled": [ { "type": 0, - "value": "Untitled" + "value": "Unbenannt" } ], "label.url": [ @@ -1024,7 +1060,7 @@ "label.value": [ { "type": 0, - "value": "Value" + "value": "Wert" } ], "label.view": [ @@ -1042,7 +1078,7 @@ "label.view-only": [ { "type": 0, - "value": "View only" + "value": "Nur ansehen" } ], "label.views": [ @@ -1060,25 +1096,25 @@ "label.website": [ { "type": 0, - "value": "Webseite" + "value": "Website" } ], "label.website-id": [ { "type": 0, - "value": "Webseite ID" + "value": "Website ID" } ], "label.websites": [ { "type": 0, - "value": "Webseiten" + "value": "Websites" } ], "label.window": [ { "type": 0, - "value": "Window" + "value": "Fenster" } ], "label.yesterday": [ @@ -1166,7 +1202,7 @@ "message.delete-account": [ { "type": 0, - "value": "To delete this account, type " + "value": "Um dieses Konto zu löschen, geben Sie zur Bestätigung " }, { "type": 1, @@ -1174,13 +1210,13 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " in das Feld unten ein." } ], "message.delete-website": [ { "type": 0, - "value": "To delete this website, type " + "value": "Um diese Website zu löschen, geben Sie zur Bestätigung " }, { "type": 1, @@ -1188,7 +1224,7 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " in das Feld unten ein." } ], "message.delete-website-warning": [ @@ -1238,7 +1274,7 @@ "message.min-password-length": [ { "type": 0, - "value": "Minimale länge von " + "value": "Minimale Länge von " }, { "type": 1, @@ -1252,15 +1288,11 @@ "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Eine neue Version von Umami ist verfügbar: " }, { "type": 1, "value": "version" - }, - { - "type": 0, - "value": " is available!" } ], "message.no-data-available": [ @@ -1272,7 +1304,7 @@ "message.no-event-data": [ { "type": 0, - "value": "No event data is available." + "value": "Es sind keine Ereignisdaten verfügbar." } ], "message.no-match-password": [ @@ -1308,7 +1340,7 @@ "message.no-websites-configured": [ { "type": 0, - "value": "Es ist keine Webseite vorhanden." + "value": "Es ist keine Website vorhanden." } ], "message.page-not-found": [ @@ -1320,7 +1352,7 @@ "message.reset-website": [ { "type": 0, - "value": "To reset this website, type " + "value": "Um diese Website zurückzusetzen, geben Sie zur Bestätigung " }, { "type": 1, @@ -1328,13 +1360,13 @@ }, { "type": 0, - "value": " in the box below to confirm." + "value": " in das Feld unten ein." } ], "message.reset-website-warning": [ { "type": 0, - "value": "Alle Daten für diese Webseite werden gelöscht, jedoch bleibt der Tracking Code bestehen." + "value": "Alle Daten für diese Website werden gelöscht, jedoch bleibt der Tracking Code bestehen." } ], "message.saved": [ @@ -1346,7 +1378,7 @@ "message.share-url": [ { "type": 0, - "value": "Ihre Webseitenstatistik ist unter der folgenden URL öffentlich zugänglich:" + "value": "Die Statistiken Ihrer Website sind unter folgender URL öffentlich zugänglich:" } ], "message.team-already-member": [ @@ -1364,7 +1396,7 @@ "message.team-websites-info": [ { "type": 0, - "value": "Webseiten können von jedem im Team eingesehen werden." + "value": "Websites können von jedem im Team eingesehen werden." } ], "message.tracking-code": [ diff --git a/public/intl/messages/el-GR.json b/public/intl/messages/el-GR.json index d3ff5e42..eb6b73ce 100644 --- a/public/intl/messages/el-GR.json +++ b/public/intl/messages/el-GR.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/en-GB.json b/public/intl/messages/en-GB.json index 0e6ac614..68f24248 100644 --- a/public/intl/messages/en-GB.json +++ b/public/intl/messages/en-GB.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/en-US.json b/public/intl/messages/en-US.json index 64a99ae1..0ee5b1e6 100644 --- a/public/intl/messages/en-US.json +++ b/public/intl/messages/en-US.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/es-ES.json b/public/intl/messages/es-ES.json index 43e10170..0e131621 100644 --- a/public/intl/messages/es-ES.json +++ b/public/intl/messages/es-ES.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Campos" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Pantallas" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/es-MX.json b/public/intl/messages/es-MX.json index c238951f..c3ef099d 100644 --- a/public/intl/messages/es-MX.json +++ b/public/intl/messages/es-MX.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Pantallas" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/fa-IR.json b/public/intl/messages/fa-IR.json index 757b5ae8..e09b155b 100644 --- a/public/intl/messages/fa-IR.json +++ b/public/intl/messages/fa-IR.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/fi-FI.json b/public/intl/messages/fi-FI.json index 5fdf5b19..2130f82c 100644 --- a/public/intl/messages/fi-FI.json +++ b/public/intl/messages/fi-FI.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/fo-FO.json b/public/intl/messages/fo-FO.json index 3eb3f452..bc11c56e 100644 --- a/public/intl/messages/fo-FO.json +++ b/public/intl/messages/fo-FO.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/fr-FR.json b/public/intl/messages/fr-FR.json index 326c99a4..99937de7 100644 --- a/public/intl/messages/fr-FR.json +++ b/public/intl/messages/fr-FR.json @@ -104,7 +104,7 @@ "label.browser": [ { "type": 0, - "value": "Browser" + "value": "Navigateur" } ], "label.browsers": [ @@ -134,7 +134,7 @@ "label.city": [ { "type": 0, - "value": "City" + "value": "Ville" } ], "label.clear-all": [ @@ -176,7 +176,13 @@ "label.country": [ { "type": 0, - "value": "Country" + "value": "Pays" + } + ], + "label.create": [ + { + "type": 0, + "value": "Créer" } ], "label.create-report": [ @@ -242,7 +248,7 @@ "label.day": [ { "type": 0, - "value": "Day" + "value": "Jour" } ], "label.default-date-range": [ @@ -296,7 +302,7 @@ "label.device": [ { "type": 0, - "value": "Device" + "value": "Appareil" } ], "label.devices": [ @@ -326,7 +332,7 @@ "label.dropoff": [ { "type": 0, - "value": "Dropoff" + "value": "Abandons" } ], "label.edit": [ @@ -350,19 +356,19 @@ "label.event": [ { "type": 0, - "value": "Event" + "value": "Évènement" } ], "label.event-data": [ { "type": 0, - "value": "Données d'événements" + "value": "Données d'évènements" } ], "label.events": [ { "type": 0, - "value": "Événements" + "value": "Évènements" } ], "label.false": [ @@ -383,6 +389,12 @@ "value": "Champs" } ], + "label.filter": [ + { + "type": 0, + "value": "Filtrer" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Entonnoir" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Suivi des conversions et des taux d'abandons." + } + ], "label.greater-than": [ { "type": 0, @@ -425,28 +443,34 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Analyse précise des données en utilisant des segments et des filtres." + } + ], "label.is": [ { "type": 0, - "value": "Est égal" + "value": "Est" } ], "label.is-not": [ { "type": 0, - "value": "N'est pas égal" + "value": "N'est pas" } ], "label.is-not-set": [ { "type": 0, - "value": "Is not set" + "value": "N'est pas défini" } ], "label.is-set": [ { "type": 0, - "value": "Is set" + "value": "Est défini" } ], "label.join": [ @@ -568,7 +592,7 @@ "label.my-websites": [ { "type": 0, - "value": "My websites" + "value": "Mes sites" } ], "label.name": [ @@ -618,7 +642,7 @@ }, { "type": 0, - "value": " of " + "value": " sur " }, { "type": 1, @@ -634,7 +658,7 @@ "label.pageTitle": [ { "type": 0, - "value": "Page title" + "value": "Titre de page" } ], "label.pages": [ @@ -680,7 +704,7 @@ "label.query-parameters": [ { "type": 0, - "value": "Paramètres d'URL" + "value": "Paramètres de requête" } ], "label.realtime": [ @@ -692,7 +716,7 @@ "label.referrer": [ { "type": 0, - "value": "Referrer" + "value": "Site référent" } ], "label.referrers": [ @@ -716,7 +740,7 @@ "label.region": [ { "type": 0, - "value": "Region" + "value": "Région" } ], "label.regions": [ @@ -758,7 +782,13 @@ "label.retention": [ { "type": 0, - "value": "Retention" + "value": "Rétention" + } + ], + "label.retention-description": [ + { + "type": 0, + "value": "Mesure de l'atractivité du site en visualisant les taux d'utilisateurs qui reviennent." } ], "label.role": [ @@ -785,6 +815,12 @@ "value": "Résolutions d'écran" } ], + "label.search": [ + { + "type": 0, + "value": "Rechercher" + } + ], "label.select-date": [ { "type": 0, @@ -860,7 +896,7 @@ "label.team-name": [ { "type": 0, - "value": "Team name" + "value": "Nom de l'équipe" } ], "label.team-owner": [ @@ -872,7 +908,7 @@ "label.team-websites": [ { "type": 0, - "value": "Team websites" + "value": "Sites d'équipes" } ], "label.teams": [ @@ -1052,7 +1088,7 @@ "label.website": [ { "type": 0, - "value": "Website" + "value": "Site" } ], "label.website-id": [ @@ -1248,7 +1284,7 @@ "message.new-version-available": [ { "type": 0, - "value": "A new version of Umami " + "value": "Une nouvelle version d'Umami " }, { "type": 1, @@ -1256,7 +1292,7 @@ }, { "type": 0, - "value": " is available!" + "value": " est disponible !" } ], "message.no-data-available": [ @@ -1336,7 +1372,7 @@ "message.saved": [ { "type": 0, - "value": "Enregistré avec succès." + "value": "Enregistré." } ], "message.share-url": [ diff --git a/public/intl/messages/ga-ES.json b/public/intl/messages/ga-ES.json index d086b57f..b5fabeff 100644 --- a/public/intl/messages/ga-ES.json +++ b/public/intl/messages/ga-ES.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -777,6 +801,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -801,6 +831,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/he-IL.json b/public/intl/messages/he-IL.json index dc206268..16f62525 100644 --- a/public/intl/messages/he-IL.json +++ b/public/intl/messages/he-IL.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -761,6 +785,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -785,6 +815,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/hi-IN.json b/public/intl/messages/hi-IN.json index 91f1f026..df3bcb40 100644 --- a/public/intl/messages/hi-IN.json +++ b/public/intl/messages/hi-IN.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/hr-HR.json b/public/intl/messages/hr-HR.json index cd8d4d38..8388dd48 100644 --- a/public/intl/messages/hr-HR.json +++ b/public/intl/messages/hr-HR.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/hu-HU.json b/public/intl/messages/hu-HU.json index e39182b1..c3da1af0 100644 --- a/public/intl/messages/hu-HU.json +++ b/public/intl/messages/hu-HU.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/id-ID.json b/public/intl/messages/id-ID.json index 97526840..eda5c0b3 100644 --- a/public/intl/messages/id-ID.json +++ b/public/intl/messages/id-ID.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -761,6 +785,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -785,6 +815,12 @@ "value": "Layar" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/it-IT.json b/public/intl/messages/it-IT.json index a93715d3..bdc015f5 100644 --- a/public/intl/messages/it-IT.json +++ b/public/intl/messages/it-IT.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ja-JP.json b/public/intl/messages/ja-JP.json index 63b49aa5..4e2a8fc4 100644 --- a/public/intl/messages/ja-JP.json +++ b/public/intl/messages/ja-JP.json @@ -179,6 +179,12 @@ "value": "国" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "フィールド" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "分析" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "見通し" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "保持" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "画面サイズ" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/km-KH.json b/public/intl/messages/km-KH.json index 1f7b82ca..68c71ebb 100644 --- a/public/intl/messages/km-KH.json +++ b/public/intl/messages/km-KH.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -761,6 +785,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -785,6 +815,12 @@ "value": "ប្រភេទឧបករណ៍" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ko-KR.json b/public/intl/messages/ko-KR.json index 26413708..5a3c9034 100644 --- a/public/intl/messages/ko-KR.json +++ b/public/intl/messages/ko-KR.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -773,6 +797,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -797,6 +827,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/lt-LT.json b/public/intl/messages/lt-LT.json index 21610b7b..6369cd3c 100644 --- a/public/intl/messages/lt-LT.json +++ b/public/intl/messages/lt-LT.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -874,6 +898,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -898,6 +928,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/mn-MN.json b/public/intl/messages/mn-MN.json index 013e5c88..fd7294f3 100644 --- a/public/intl/messages/mn-MN.json +++ b/public/intl/messages/mn-MN.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Дэлгэц" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ms-MY.json b/public/intl/messages/ms-MY.json index e022e122..874f3a3d 100644 --- a/public/intl/messages/ms-MY.json +++ b/public/intl/messages/ms-MY.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -761,6 +785,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -785,6 +815,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/my-MM.json b/public/intl/messages/my-MM.json index 3995a22b..33b44979 100644 --- a/public/intl/messages/my-MM.json +++ b/public/intl/messages/my-MM.json @@ -41,6 +41,12 @@ "value": "အက်ဒမင်" } ], + "label.after": [ + { + "type": 0, + "value": "ပြီးနောက်" + } + ], "label.all": [ { "type": 0, @@ -59,6 +65,12 @@ "value": "အန်နလစ်တစ်" } ], + "label.average": [ + { + "type": 0, + "value": "ပျမ်းမျှ" + } + ], "label.average-visit-time": [ { "type": 0, @@ -71,12 +83,30 @@ "value": "နောက်သို့" } ], + "label.before": [ + { + "type": 0, + "value": "မတိုင်မီ" + } + ], "label.bounce-rate": [ { "type": 0, "value": "Bounce နှုန်း" } ], + "label.breakdown": [ + { + "type": 0, + "value": "ခွဲခြမ်းစိတ်ဖြာမှု" + } + ], + "label.browser": [ + { + "type": 0, + "value": "Browser" + } + ], "label.browsers": [ { "type": 0, @@ -101,6 +131,12 @@ "value": "မြို့များ" } ], + "label.city": [ + { + "type": 0, + "value": "City" + } + ], "label.clear-all": [ { "type": 0, @@ -119,6 +155,12 @@ "value": "စကားဝှက်အတည်ပြုသည်" } ], + "label.contains": [ + { + "type": 0, + "value": "ပါဝင်သည်" + } + ], "label.continue": [ { "type": 0, @@ -131,6 +173,24 @@ "value": "နိုင်ငံများ" } ], + "label.country": [ + { + "type": 0, + "value": "Country" + } + ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], + "label.create-report": [ + { + "type": 0, + "value": "ရီပို့လုပ်မည်" + } + ], "label.create-team": [ { "type": 0, @@ -173,12 +233,24 @@ "value": "ဒေတာ" } ], + "label.date": [ + { + "type": 0, + "value": "Date" + } + ], "label.date-range": [ { "type": 0, "value": "ရက်အပိုင်းအခြား" } ], + "label.day": [ + { + "type": 0, + "value": "Day" + } + ], "label.default-date-range": [ { "type": 0, @@ -209,6 +281,12 @@ "value": "ဝက်ဘ်ဆိုဒ်ကိုဖျက်မည်" } ], + "label.description": [ + { + "type": 0, + "value": "ရှင်းပြချက်" + } + ], "label.desktop": [ { "type": 0, @@ -221,6 +299,12 @@ "value": "အသေးစိတ်" } ], + "label.device": [ + { + "type": 0, + "value": "Device" + } + ], "label.devices": [ { "type": 0, @@ -233,6 +317,12 @@ "value": "ပိတ်ပါ" } ], + "label.does-not-contain": [ + { + "type": 0, + "value": "မပါဝင်ပါ" + } + ], "label.domain": [ { "type": 0, @@ -281,6 +371,12 @@ "value": "အဖြစ်အပျက်များ" } ], + "label.false": [ + { + "type": 0, + "value": "မှားသည်" + } + ], "label.field": [ { "type": 0, @@ -293,6 +389,12 @@ "value": "Field အမည်များ" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -305,18 +407,72 @@ "value": "အရှိအတိုင်း" } ], + "label.filters": [ + { + "type": 0, + "value": "Filter များ" + } + ], "label.funnel": [ { "type": 0, "value": "ဖန်နယ်" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], + "label.greater-than": [ + { + "type": 0, + "value": "ထက်ပို၍ကြီးသည်" + } + ], + "label.greater-than-equals": [ + { + "type": 0, + "value": "ထက်ပို၍ကြီးသည်သို့မဟုတ်တူသည်" + } + ], "label.insights": [ { "type": 0, "value": "အသေးစိတ်သိမြင်နိုင်ရန်" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], + "label.is": [ + { + "type": 0, + "value": "Is" + } + ], + "label.is-not": [ + { + "type": 0, + "value": "Is not" + } + ], + "label.is-not-set": [ + { + "type": 0, + "value": "Is not set" + } + ], + "label.is-set": [ + { + "type": 0, + "value": "Is set" + } + ], "label.join": [ { "type": 0, @@ -387,6 +543,18 @@ "value": "အသင်းမှထွက်မည်" } ], + "label.less-than": [ + { + "type": 0, + "value": "ထက်ပို၍ငယ်သည်" + } + ], + "label.less-than-equals": [ + { + "type": 0, + "value": "ထက်ပို၍ငယ်သည်သို့မဟုတ်တူသည်" + } + ], "label.login": [ { "type": 0, @@ -399,12 +567,24 @@ "value": "လော့ဂ်အောက်လုပ်မည်" } ], + "label.max": [ + { + "type": 0, + "value": "အများဆုံး" + } + ], "label.members": [ { "type": 0, "value": "အဖွဲ့ဝင်များ" } ], + "label.min": [ + { + "type": 0, + "value": "အနည်းဆုံး" + } + ], "label.mobile": [ { "type": 0, @@ -417,6 +597,12 @@ "value": "နောက်ထပ်" } ], + "label.my-websites": [ + { + "type": 0, + "value": "My websites" + } + ], "label.name": [ { "type": 0, @@ -435,24 +621,54 @@ "value": "မရှိပါ" } ], - "label.operating-systems": [ + "label.os": [ { "type": 0, "value": "ကွန်ပျူတာလည်ပတ်မှုစနစ်" } ], + "label.overview": [ + { + "type": 0, + "value": "အပေါ်ယံမြင်ကွင်း" + } + ], "label.owner": [ { "type": 0, "value": "ပိုင်ဆိုင်သူ" } ], + "label.page-of": [ + { + "type": 0, + "value": "Page " + }, + { + "type": 1, + "value": "current" + }, + { + "type": 0, + "value": " of " + }, + { + "type": 1, + "value": "total" + } + ], "label.page-views": [ { "type": 0, "value": "ဝင်ရောက်ကြည့်ရှုသူ" } ], + "label.pageTitle": [ + { + "type": 0, + "value": "Page title" + } + ], "label.pages": [ { "type": 0, @@ -505,6 +721,12 @@ "value": "အချိန်နှင့်တပြေးညီ" } ], + "label.referrer": [ + { + "type": 0, + "value": "Referrer" + } + ], "label.referrers": [ { "type": 0, @@ -523,6 +745,12 @@ "value": "ပြန်ထုတ်မည်" } ], + "label.region": [ + { + "type": 0, + "value": "Region" + } + ], "label.regions": [ { "type": 0, @@ -559,6 +787,18 @@ "value": "ဝက်ဘ်ဆိုဒ်ဒေတာကိုဖျက်မည်" } ], + "label.retention": [ + { + "type": 0, + "value": "Retention" + } + ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -583,6 +823,12 @@ "value": "မြင်ကွင်းများ" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, @@ -619,6 +865,12 @@ "value": "တစ်ရက်အတွင်း" } ], + "label.sum": [ + { + "type": 0, + "value": "ပေါင်းလဒ်" + } + ], "label.tablet": [ { "type": 0, @@ -649,12 +901,24 @@ "value": "အသင်းဝင်" } ], + "label.team-name": [ + { + "type": 0, + "value": "Team name" + } + ], "label.team-owner": [ { "type": 0, "value": "အသင်းကိုပိုင်ဆိုင်သူ" } ], + "label.team-websites": [ + { + "type": 0, + "value": "Team websites" + } + ], "label.teams": [ { "type": 0, @@ -709,12 +973,42 @@ "value": "ဇယားများကို အဖွင့်အပိတ်လုပ်မည်" } ], + "label.total": [ + { + "type": 0, + "value": "စုစုပေါင်း" + } + ], + "label.total-records": [ + { + "type": 0, + "value": "မှတ်တမ်းစုစုပေါင်း" + } + ], "label.tracking-code": [ { "type": 0, "value": "ထရက်လုပ်သည့် ကုဒ်" } ], + "label.true": [ + { + "type": 0, + "value": "မှန်သည်" + } + ], + "label.type": [ + { + "type": 0, + "value": "အမျိုးအစား" + } + ], + "label.unique": [ + { + "type": 0, + "value": "Unique" + } + ], "label.unique-visitors": [ { "type": 0, @@ -727,6 +1021,12 @@ "value": "မသိသော" } ], + "label.untitled": [ + { + "type": 0, + "value": "ခေါင်းစဉ်မရှိ" + } + ], "label.url": [ { "type": 0, @@ -757,6 +1057,12 @@ "value": "အသုံးပြုသူများ" } ], + "label.value": [ + { + "type": 0, + "value": "တန်ဖိုး" + } + ], "label.view": [ { "type": 0, @@ -817,168 +1123,6 @@ "value": "မနေ့က" } ], - "labels.after": [ - { - "type": 0, - "value": "ပြီးနောက်" - } - ], - "labels.average": [ - { - "type": 0, - "value": "ပျမ်းမျှ" - } - ], - "labels.before": [ - { - "type": 0, - "value": "မတိုင်မီ" - } - ], - "labels.breakdown": [ - { - "type": 0, - "value": "ခွဲခြမ်းစိတ်ဖြာမှု" - } - ], - "labels.contains": [ - { - "type": 0, - "value": "ပါဝင်သည်" - } - ], - "labels.create-report": [ - { - "type": 0, - "value": "ရီပို့လုပ်မည်" - } - ], - "labels.description": [ - { - "type": 0, - "value": "ရှင်းပြချက်" - } - ], - "labels.does-not-contain": [ - { - "type": 0, - "value": "မပါဝင်ပါ" - } - ], - "labels.does-not-equal": [ - { - "type": 0, - "value": "မတူညီပါ" - } - ], - "labels.equals": [ - { - "type": 0, - "value": "တူညီသည်" - } - ], - "labels.false": [ - { - "type": 0, - "value": "မှားသည်" - } - ], - "labels.filters": [ - { - "type": 0, - "value": "Filter များ" - } - ], - "labels.greater-than": [ - { - "type": 0, - "value": "ထက်ပို၍ကြီးသည်" - } - ], - "labels.greater-than-equals": [ - { - "type": 0, - "value": "ထက်ပို၍ကြီးသည်သို့မဟုတ်တူသည်" - } - ], - "labels.less-than": [ - { - "type": 0, - "value": "ထက်ပို၍ငယ်သည်" - } - ], - "labels.less-than-equals": [ - { - "type": 0, - "value": "ထက်ပို၍ငယ်သည်သို့မဟုတ်တူသည်" - } - ], - "labels.max": [ - { - "type": 0, - "value": "အများဆုံး" - } - ], - "labels.min": [ - { - "type": 0, - "value": "အနည်းဆုံး" - } - ], - "labels.overview": [ - { - "type": 0, - "value": "အပေါ်ယံမြင်ကွင်း" - } - ], - "labels.sum": [ - { - "type": 0, - "value": "ပေါင်းလဒ်" - } - ], - "labels.total": [ - { - "type": 0, - "value": "စုစုပေါင်း" - } - ], - "labels.total-records": [ - { - "type": 0, - "value": "မှတ်တမ်းစုစုပေါင်း" - } - ], - "labels.true": [ - { - "type": 0, - "value": "မှန်သည်" - } - ], - "labels.type": [ - { - "type": 0, - "value": "အမျိုးအစား" - } - ], - "labels.unique": [ - { - "type": 0, - "value": "Unique" - } - ], - "labels.untitled": [ - { - "type": 0, - "value": "ခေါင်းစဉ်မရှိ" - } - ], - "labels.value": [ - { - "type": 0, - "value": "တန်ဖိုး" - } - ], "message.active-users": [ { "type": 1, diff --git a/public/intl/messages/nb-NO.json b/public/intl/messages/nb-NO.json index 82576ff8..010bd2ad 100644 --- a/public/intl/messages/nb-NO.json +++ b/public/intl/messages/nb-NO.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/nl-NL.json b/public/intl/messages/nl-NL.json index 5ee25206..66c5f4fa 100644 --- a/public/intl/messages/nl-NL.json +++ b/public/intl/messages/nl-NL.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Schermen" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/pl-PL.json b/public/intl/messages/pl-PL.json index 6da1ff7a..4621a918 100644 --- a/public/intl/messages/pl-PL.json +++ b/public/intl/messages/pl-PL.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Pola" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Lejek" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Ekrany" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/pt-BR.json b/public/intl/messages/pt-BR.json index ba508a50..790e1316 100644 --- a/public/intl/messages/pt-BR.json +++ b/public/intl/messages/pt-BR.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Campos" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funil" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Telas" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/pt-PT.json b/public/intl/messages/pt-PT.json index a6431fb3..511d74fc 100644 --- a/public/intl/messages/pt-PT.json +++ b/public/intl/messages/pt-PT.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ro-RO.json b/public/intl/messages/ro-RO.json index 1438ab41..9181c103 100644 --- a/public/intl/messages/ro-RO.json +++ b/public/intl/messages/ro-RO.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ru-RU.json b/public/intl/messages/ru-RU.json index b3213e67..93b89291 100644 --- a/public/intl/messages/ru-RU.json +++ b/public/intl/messages/ru-RU.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Экраны" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/si-LK.json b/public/intl/messages/si-LK.json index f4e5bca2..578a8abe 100644 --- a/public/intl/messages/si-LK.json +++ b/public/intl/messages/si-LK.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/sk-SK.json b/public/intl/messages/sk-SK.json index b7e2914a..6b375afe 100644 --- a/public/intl/messages/sk-SK.json +++ b/public/intl/messages/sk-SK.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/sl-SI.json b/public/intl/messages/sl-SI.json index ee62a315..6d435020 100644 --- a/public/intl/messages/sl-SI.json +++ b/public/intl/messages/sl-SI.json @@ -179,6 +179,12 @@ "value": "Država" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Polja" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Prodajni lijak" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Vpogled" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Ohranjanje uporabnikov" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Zasloni" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/sv-SE.json b/public/intl/messages/sv-SE.json index 4a7f4130..9824be15 100644 --- a/public/intl/messages/sv-SE.json +++ b/public/intl/messages/sv-SE.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Upplösning" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ta-IN.json b/public/intl/messages/ta-IN.json index 90fb9ebf..9726b46d 100644 --- a/public/intl/messages/ta-IN.json +++ b/public/intl/messages/ta-IN.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/th-TH.json b/public/intl/messages/th-TH.json index c30a9d61..6988c653 100644 --- a/public/intl/messages/th-TH.json +++ b/public/intl/messages/th-TH.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -761,6 +785,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -785,6 +815,12 @@ "value": "ขนาดหน้าจอ" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/tr-TR.json b/public/intl/messages/tr-TR.json index 138681ad..f15a3b73 100644 --- a/public/intl/messages/tr-TR.json +++ b/public/intl/messages/tr-TR.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Ekranlar" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/uk-UA.json b/public/intl/messages/uk-UA.json index bdc2d345..2c602c94 100644 --- a/public/intl/messages/uk-UA.json +++ b/public/intl/messages/uk-UA.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/ur-PK.json b/public/intl/messages/ur-PK.json index 2005bc71..23195ffc 100644 --- a/public/intl/messages/ur-PK.json +++ b/public/intl/messages/ur-PK.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -769,6 +793,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -793,6 +823,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/vi-VN.json b/public/intl/messages/vi-VN.json index 9fe0dd4e..4c3ef05c 100644 --- a/public/intl/messages/vi-VN.json +++ b/public/intl/messages/vi-VN.json @@ -179,6 +179,12 @@ "value": "Country" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "Funnel" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "Insights" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -761,6 +785,12 @@ "value": "Retention" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -785,6 +815,12 @@ "value": "Screens" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/zh-CN.json b/public/intl/messages/zh-CN.json index ec5c441b..acc98be2 100644 --- a/public/intl/messages/zh-CN.json +++ b/public/intl/messages/zh-CN.json @@ -179,6 +179,12 @@ "value": "国家/地区" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "Fields" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "分析" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "见解" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -777,6 +801,12 @@ "value": "保留" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -801,6 +831,12 @@ "value": "屏幕尺寸" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/public/intl/messages/zh-TW.json b/public/intl/messages/zh-TW.json index c980c4bb..49e43821 100644 --- a/public/intl/messages/zh-TW.json +++ b/public/intl/messages/zh-TW.json @@ -179,6 +179,12 @@ "value": "國家" } ], + "label.create": [ + { + "type": 0, + "value": "Create" + } + ], "label.create-report": [ { "type": 0, @@ -383,6 +389,12 @@ "value": "欄位" } ], + "label.filter": [ + { + "type": 0, + "value": "Filter" + } + ], "label.filter-combined": [ { "type": 0, @@ -407,6 +419,12 @@ "value": "漏斗" } ], + "label.funnel-description": [ + { + "type": 0, + "value": "Understand the conversion and drop-off rate of users." + } + ], "label.greater-than": [ { "type": 0, @@ -425,6 +443,12 @@ "value": "洞察" } ], + "label.insights-description": [ + { + "type": 0, + "value": "Dive deeper into your data by using segments and filters." + } + ], "label.is": [ { "type": 0, @@ -773,6 +797,12 @@ "value": "保留" } ], + "label.retention-description": [ + { + "type": 0, + "value": "Measure your website stickiness by tracking how often users return." + } + ], "label.role": [ { "type": 0, @@ -797,6 +827,12 @@ "value": "螢幕" } ], + "label.search": [ + { + "type": 0, + "value": "Search" + } + ], "label.select-date": [ { "type": 0, diff --git a/src/lang/de-DE.json b/src/lang/de-DE.json index 68889803..1e98b14c 100644 --- a/src/lang/de-DE.json +++ b/src/lang/de-DE.json @@ -29,6 +29,7 @@ "label.continue": "Weiter", "label.countries": "Länder", "label.country": "Land", + "label.create": "Create", "label.create-report": "Bericht erstellen", "label.create-team": "Team erstellen", "label.create-user": "Benutzer erstellen", @@ -62,7 +63,8 @@ "label.events": "Ereignisse", "label.false": "Falsch", "label.field": "Feld", - "label.fields": "Felder", "label.filter": "Filter", + "label.fields": "Felder", + "label.filter": "Filter", "label.filter-combined": "Kombiniert", "label.filter-raw": "Rohdaten", "label.filters": "Filter", From 661fc9223097a24d841f86661d8d84da7476b60b Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Tue, 5 Sep 2023 11:09:27 -0700 Subject: [PATCH 43/47] fix session metrics to show visitors instead of views --- src/queries/analytics/sessions/getSessionMetrics.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/queries/analytics/sessions/getSessionMetrics.ts b/src/queries/analytics/sessions/getSessionMetrics.ts index af358c52..43d9ef5a 100644 --- a/src/queries/analytics/sessions/getSessionMetrics.ts +++ b/src/queries/analytics/sessions/getSessionMetrics.ts @@ -31,7 +31,7 @@ async function relationalQuery(websiteId: string, column: string, filters: Query ` select ${column} x, - count(*) y + count(distinct website_event.session_id) y ${includeCountry ? ', country' : ''} from website_event ${joinSession} From 99cfc68e88222b2452a9cb989d55794f3571953f Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Tue, 5 Sep 2023 12:22:51 -0700 Subject: [PATCH 44/47] exclude website domain from referrers table --- .../analytics/pageviews/getPageviewMetrics.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/queries/analytics/pageviews/getPageviewMetrics.ts b/src/queries/analytics/pageviews/getPageviewMetrics.ts index b365d3f6..3cf6c122 100644 --- a/src/queries/analytics/pageviews/getPageviewMetrics.ts +++ b/src/queries/analytics/pageviews/getPageviewMetrics.ts @@ -24,6 +24,12 @@ async function relationalQuery(websiteId: string, column: string, filters: Query { joinSession: SESSION_COLUMNS.includes(column) }, ); + let excludeDomain = ''; + if (column === 'referrer_domain') { + excludeDomain = + 'and (website_event.referrer_domain != {{websiteDomain}} or website_event.referrer_domain is null)'; + } + return rawQuery( ` select ${column} x, count(*) y @@ -32,6 +38,7 @@ async function relationalQuery(websiteId: string, column: string, filters: Query where website_event.website_id = {{websiteId::uuid}} and website_event.created_at between {{startDate}} and {{endDate}} and event_type = {{eventType}} + ${excludeDomain} ${filterQuery} group by 1 order by 2 desc @@ -48,6 +55,11 @@ async function clickhouseQuery(websiteId: string, column: string, filters: Query eventType: column === 'event_name' ? EVENT_TYPE.customEvent : EVENT_TYPE.pageView, }); + let excludeDomain = ''; + if (column === 'referrer_domain') { + excludeDomain = 'and referrer_domain != {websiteDomain:String}'; + } + return rawQuery( ` select ${column} x, count(*) y @@ -55,6 +67,7 @@ async function clickhouseQuery(websiteId: string, column: string, filters: Query where website_id = {websiteId:UUID} and created_at between {startDate:DateTime} and {endDate:DateTime} and event_type = {eventType:UInt32} + ${excludeDomain} ${filterQuery} group by x order by y desc From da3cc9b06567c17ae6c7726a99c9bdc3be9ab040 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Tue, 5 Sep 2023 13:53:58 -0700 Subject: [PATCH 45/47] fix isLoading param for SubmitButton --- src/components/pages/reports/event-data/EventDataParameters.js | 2 +- src/components/pages/reports/funnel/FunnelParameters.js | 2 +- src/components/pages/reports/insights/InsightsParameters.js | 2 +- src/components/pages/reports/retention/RetentionParameters.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/pages/reports/event-data/EventDataParameters.js b/src/components/pages/reports/event-data/EventDataParameters.js index a01a2972..e0fadb8b 100644 --- a/src/components/pages/reports/event-data/EventDataParameters.js +++ b/src/components/pages/reports/event-data/EventDataParameters.js @@ -134,7 +134,7 @@ export function EventDataParameters() { ); })} - + {formatMessage(labels.runQuery)} diff --git a/src/components/pages/reports/funnel/FunnelParameters.js b/src/components/pages/reports/funnel/FunnelParameters.js index 2c99a032..a3fbe663 100644 --- a/src/components/pages/reports/funnel/FunnelParameters.js +++ b/src/components/pages/reports/funnel/FunnelParameters.js @@ -80,7 +80,7 @@ export function FunnelParameters() { - + {formatMessage(labels.runQuery)} diff --git a/src/components/pages/reports/insights/InsightsParameters.js b/src/components/pages/reports/insights/InsightsParameters.js index db0c1d4e..3ddc0367 100644 --- a/src/components/pages/reports/insights/InsightsParameters.js +++ b/src/components/pages/reports/insights/InsightsParameters.js @@ -137,7 +137,7 @@ export function InsightsParameters() { ); })} - + {formatMessage(labels.runQuery)} diff --git a/src/components/pages/reports/retention/RetentionParameters.js b/src/components/pages/reports/retention/RetentionParameters.js index aa81cf47..e87108d1 100644 --- a/src/components/pages/reports/retention/RetentionParameters.js +++ b/src/components/pages/reports/retention/RetentionParameters.js @@ -35,7 +35,7 @@ export function RetentionParameters() { - + {formatMessage(labels.runQuery)} From acb7fdcae8eba2152d8246517d711e4af67bf4bf Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Tue, 5 Sep 2023 14:27:06 -0700 Subject: [PATCH 46/47] add version endpoint --- src/pages/api/version.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/pages/api/version.ts diff --git a/src/pages/api/version.ts b/src/pages/api/version.ts new file mode 100644 index 00000000..4453b56f --- /dev/null +++ b/src/pages/api/version.ts @@ -0,0 +1,17 @@ +import { NextApiRequest, NextApiResponse } from 'next'; +import { ok, methodNotAllowed } from 'next-basics'; +import { CURRENT_VERSION } from 'lib/constants'; + +export interface VersionResponse { + version: string; +} + +export default async (req: NextApiRequest, res: NextApiResponse) => { + if (req.method === 'GET') { + return ok(res, { + version: CURRENT_VERSION, + }); + } + + return methodNotAllowed(res); +}; From 0e0788b0a1b13e133840fe7c12576cfba2e4325c Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Wed, 6 Sep 2023 11:34:12 -0700 Subject: [PATCH 47/47] Fix v1 check error showing in postgres logs --- scripts/check-db.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/scripts/check-db.js b/scripts/check-db.js index a84a775c..757843ac 100644 --- a/scripts/check-db.js +++ b/scripts/check-db.js @@ -66,12 +66,16 @@ async function checkDatabaseVersion() { async function checkV1Tables() { try { - await prisma.$queryRaw`select * from account limit 1`; + // check for v1 migrations before v2 release date + const record = + await prisma.$queryRaw`select * from _prisma_migrations where started_at < '2023-04-17'`; - error( - 'Umami v1 tables detected. For how to upgrade from v1 to v2 go to https://umami.is/docs/migrate-v1-v2.', - ); - process.exit(1); + if (record.length > 0) { + error( + 'Umami v1 tables detected. For how to upgrade from v1 to v2 go to https://umami.is/docs/migrate-v1-v2.', + ); + process.exit(1); + } } catch (e) { // Ignore }