mirror of
https://github.com/kremalicious/umami.git
synced 2024-11-22 09:57:00 +01:00
Merge branch 'dev' into analytics
This commit is contained in:
commit
6e37a5b610
@ -21,7 +21,7 @@
|
||||
"build-components": "rollup -c rollup.components.config.mjs",
|
||||
"build-tracker": "rollup -c rollup.tracker.config.mjs",
|
||||
"build-db": "npm-run-all copy-db-files build-db-client",
|
||||
"build-lang": "npm-run-all format-lang compile-lang download-country-names download-language-names",
|
||||
"build-lang": "npm-run-all format-lang compile-lang clean-lang download-country-names download-language-names",
|
||||
"build-geo": "node scripts/build-geo.js",
|
||||
"build-db-schema": "prisma db pull",
|
||||
"build-db-client": "prisma generate",
|
||||
@ -35,6 +35,7 @@
|
||||
"generate-lang": "npm-run-all extract-messages merge-messages",
|
||||
"format-lang": "node scripts/format-lang.js",
|
||||
"compile-lang": "formatjs compile-folder --ast build/messages public/intl/messages",
|
||||
"clean-lang": "prettier --write ./public/intl/messages/*.json",
|
||||
"check-lang": "node scripts/check-lang.js",
|
||||
"download-country-names": "node scripts/download-country-names.js",
|
||||
"download-language-names": "node scripts/download-language-names.js",
|
||||
@ -61,7 +62,7 @@
|
||||
],
|
||||
"dependencies": {
|
||||
"@fontsource/inter": "^4.5.15",
|
||||
"@prisma/client": "5.0.0",
|
||||
"@prisma/client": "5.2.0",
|
||||
"@tanstack/react-query": "^4.33.0",
|
||||
"@umami/prisma-client": "^0.2.0",
|
||||
"@umami/redis-client": "^0.5.0",
|
||||
@ -145,7 +146,7 @@
|
||||
"postcss-preset-env": "7.8.3",
|
||||
"postcss-rtlcss": "^4.0.1",
|
||||
"prettier": "^2.6.2",
|
||||
"prisma": "5.0.0",
|
||||
"prisma": "5.2.0",
|
||||
"prompts": "2.4.2",
|
||||
"rollup": "^3.28.0",
|
||||
"rollup-plugin-copy": "^3.4.0",
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -54,21 +54,18 @@ export function MetricsTable({
|
||||
city,
|
||||
},
|
||||
],
|
||||
() =>
|
||||
get(`/websites/${websiteId}/metrics`, {
|
||||
() => {
|
||||
const filters = { url, title, referrer, os, browser, device, country, region, city };
|
||||
|
||||
filters[type] = undefined;
|
||||
|
||||
return get(`/websites/${websiteId}/metrics`, {
|
||||
type,
|
||||
startAt: +startDate,
|
||||
endAt: +endDate,
|
||||
url,
|
||||
title,
|
||||
referrer,
|
||||
os,
|
||||
browser,
|
||||
device,
|
||||
country,
|
||||
region,
|
||||
city,
|
||||
}),
|
||||
...filters,
|
||||
});
|
||||
},
|
||||
{ onSuccess: onDataLoad, retryDelay: delay || DEFAULT_ANIMATION_DURATION },
|
||||
);
|
||||
|
||||
|
@ -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の<head>...</head>セクションに以下のコードを記述します。",
|
||||
"message.user-deleted": "ユーザーが削除されました。",
|
||||
"message.visitor-log": "{os}({device})で{browser}を使用している{country}からの訪問者"
|
||||
}
|
||||
|
@ -1,211 +1,211 @@
|
||||
{
|
||||
"label.access-code": "Access code",
|
||||
"label.actions": "用戶行為",
|
||||
"label.activity-log": "Activity log",
|
||||
"label.add": "Add",
|
||||
"label.add-description": "Add description",
|
||||
"label.add-website": "增加網站",
|
||||
"label.access-code": "存取碼",
|
||||
"label.actions": "行動",
|
||||
"label.activity-log": "活動日誌",
|
||||
"label.add": "新增",
|
||||
"label.add-description": "新增描述",
|
||||
"label.add-website": "新增網站",
|
||||
"label.admin": "管理員",
|
||||
"label.after": "After",
|
||||
"label.all": "所有",
|
||||
"label.all-time": "所有時間段",
|
||||
"label.analytics": "Analytics",
|
||||
"label.average": "Average",
|
||||
"label.average-visit-time": "平均訪問時間",
|
||||
"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.change-password": "更改密碼",
|
||||
"label.cities": "城市",
|
||||
"label.city": "城市",
|
||||
"label.clear-all": "全部清除",
|
||||
"label.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.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.dashboard": "管理面板",
|
||||
"label.data": "Data",
|
||||
"label.date": "Date",
|
||||
"label.date-range": "多日",
|
||||
"label.day": "Day",
|
||||
"label.default-date-range": "默認日期範圍",
|
||||
"label.custom-range": "自訂範圍",
|
||||
"label.dashboard": "儀表板",
|
||||
"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": "刪除網站",
|
||||
"label.description": "Description",
|
||||
"label.desktop": "桌機",
|
||||
"label.details": "Details",
|
||||
"label.device": "Device",
|
||||
"label.description": "描述",
|
||||
"label.desktop": "桌上型電腦",
|
||||
"label.details": "詳細資訊",
|
||||
"label.device": "裝置",
|
||||
"label.devices": "裝置",
|
||||
"label.dismiss": "關閉",
|
||||
"label.does-not-contain": "Does not contain",
|
||||
"label.domain": "域名",
|
||||
"label.dropoff": "Dropoff",
|
||||
"label.does-not-contain": "不包含",
|
||||
"label.domain": "網域",
|
||||
"label.dropoff": "退出",
|
||||
"label.edit": "編輯",
|
||||
"label.edit-dashboard": "編輯管理面板",
|
||||
"label.enable-share-url": "啟用分享連結",
|
||||
"label.event": "Event",
|
||||
"label.event-data": "Event data",
|
||||
"label.events": "行為類別",
|
||||
"label.false": "False",
|
||||
"label.field": "Field",
|
||||
"label.fields": "Fields",
|
||||
"label.filter-combined": "總和",
|
||||
"label.edit-dashboard": "編輯儀表板",
|
||||
"label.enable-share-url": "啟用分享網址",
|
||||
"label.event": "事件",
|
||||
"label.event-data": "事件資料",
|
||||
"label.events": "事件",
|
||||
"label.false": "否",
|
||||
"label.field": "欄位",
|
||||
"label.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.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": "筆記本",
|
||||
"label.laptop": "筆記型電腦",
|
||||
"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.mobile": "手機",
|
||||
"label.logout": "登出",
|
||||
"label.max": "最大",
|
||||
"label.members": "成員",
|
||||
"label.min": "最小",
|
||||
"label.mobile": "行動裝置",
|
||||
"label.more": "更多",
|
||||
"label.my-websites": "My websites",
|
||||
"label.name": "名字",
|
||||
"label.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": "網頁流量",
|
||||
"label.pageTitle": "Page title",
|
||||
"label.pages": "網頁",
|
||||
"label.page-of": "頁面 {current} / {total}",
|
||||
"label.page-views": "頁面瀏覽",
|
||||
"label.pageTitle": "頁面標題",
|
||||
"label.pages": "頁面",
|
||||
"label.password": "密碼",
|
||||
"label.powered-by": "運行 {name}",
|
||||
"label.powered-by": "由 {name} 提供",
|
||||
"label.profile": "個人資料",
|
||||
"label.queries": "Queries",
|
||||
"label.query": "Query",
|
||||
"label.queries": "查詢",
|
||||
"label.query": "查詢",
|
||||
"label.query-parameters": "查詢參數",
|
||||
"label.realtime": "實時",
|
||||
"label.referrer": "Referrer",
|
||||
"label.referrers": "指入域名",
|
||||
"label.refresh": "刷新",
|
||||
"label.regenerate": "Regenerate",
|
||||
"label.region": "Region",
|
||||
"label.regions": "Regions",
|
||||
"label.remove": "Remove",
|
||||
"label.reports": "Reports",
|
||||
"label.realtime": "即時",
|
||||
"label.referrer": "參照來源",
|
||||
"label.referrers": "參照來源",
|
||||
"label.refresh": "重新整理",
|
||||
"label.regenerate": "重新產生",
|
||||
"label.region": "區域",
|
||||
"label.regions": "區域",
|
||||
"label.remove": "移除",
|
||||
"label.reports": "報告",
|
||||
"label.required": "必填",
|
||||
"label.reset": "重置",
|
||||
"label.reset-website": "重置統計數據",
|
||||
"label.retention": "Retention",
|
||||
"label.role": "Role",
|
||||
"label.run-query": "Run query",
|
||||
"label.save": "保存",
|
||||
"label.screens": "屏幕尺寸",
|
||||
"label.select-date": "Select date",
|
||||
"label.select-website": "Select website",
|
||||
"label.sessions": "Sessions",
|
||||
"label.settings": "設置",
|
||||
"label.share-url": "分享連結",
|
||||
"label.reset": "重設",
|
||||
"label.reset-website": "重設網站",
|
||||
"label.retention": "保留",
|
||||
"label.role": "角色",
|
||||
"label.run-query": "執行查詢",
|
||||
"label.save": "儲存",
|
||||
"label.screens": "螢幕",
|
||||
"label.select-date": "選擇日期",
|
||||
"label.select-website": "選擇網站",
|
||||
"label.sessions": "工作階段",
|
||||
"label.settings": "設定",
|
||||
"label.share-url": "分享網址",
|
||||
"label.single-day": "單日",
|
||||
"label.sum": "Sum",
|
||||
"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.team": "團隊",
|
||||
"label.team-guest": "團隊訪客",
|
||||
"label.team-id": "團隊 ID",
|
||||
"label.team-member": "團隊成員",
|
||||
"label.team-name": "團隊名稱",
|
||||
"label.team-owner": "團隊擁有者",
|
||||
"label.team-websites": "團隊網站",
|
||||
"label.teams": "團隊",
|
||||
"label.theme": "主題",
|
||||
"label.this-month": "本月",
|
||||
"label.this-week": "本週",
|
||||
"label.this-year": "今年",
|
||||
"label.timezone": "時區",
|
||||
"label.title": "Title",
|
||||
"label.title": "標題",
|
||||
"label.today": "今天",
|
||||
"label.toggle-charts": "切換圖表",
|
||||
"label.total": "Total",
|
||||
"label.total-records": "Total records",
|
||||
"label.total": "總計",
|
||||
"label.total-records": "總記錄",
|
||||
"label.tracking-code": "追蹤代碼",
|
||||
"label.true": "True",
|
||||
"label.type": "Type",
|
||||
"label.unique": "Unique",
|
||||
"label.true": "是",
|
||||
"label.type": "類型",
|
||||
"label.unique": "獨立",
|
||||
"label.unique-visitors": "獨立訪客",
|
||||
"label.unknown": "未知",
|
||||
"label.untitled": "Untitled",
|
||||
"label.url": "URL",
|
||||
"label.urls": "URLs",
|
||||
"label.user": "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.untitled": "無標題",
|
||||
"label.url": "網址",
|
||||
"label.urls": "網址",
|
||||
"label.user": "使用者",
|
||||
"label.username": "使用者名稱",
|
||||
"label.users": "使用者",
|
||||
"label.value": "值",
|
||||
"label.view": "檢視",
|
||||
"label.view-details": "檢視詳細資訊",
|
||||
"label.view-only": "僅供檢視",
|
||||
"label.views": "檢視",
|
||||
"label.visitors": "訪客",
|
||||
"label.website": "網站",
|
||||
"label.website-id": "網站 ID",
|
||||
"label.websites": "網站",
|
||||
"label.window": "Window",
|
||||
"label.yesterday": "Yesterday",
|
||||
"message.active-users": "當前線上 {x} 人",
|
||||
"message.confirm-delete": "你確定要刪除 {target} 嗎?",
|
||||
"message.confirm-leave": "Are you sure you want to leave {target}?",
|
||||
"message.confirm-reset": "您確定要重置 {target} 的數據嗎?",
|
||||
"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.no-data-available": "無可用數據。",
|
||||
"message.no-event-data": "No event data is available.",
|
||||
"message.no-match-password": "密碼不一致",
|
||||
"message.no-results-found": "No results were found.",
|
||||
"message.no-team-websites": "This team does not have any websites.",
|
||||
"message.no-teams": "You have not created any teams.",
|
||||
"message.no-users": "There are no users.",
|
||||
"message.no-websites-configured": "目前無任何網站設定。",
|
||||
"message.page-not-found": "網頁未找到。",
|
||||
"message.reset-website": "To reset this website, type {confirmation} in the box below to confirm.",
|
||||
"message.reset-website-warning": "本網站的所有統計數據將被刪除,但您的跟蹤代碼將保持不變。",
|
||||
"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": "來自{country}的訪客在搭載 {os} 的{device}上使用 {browser} 進行訪問。"
|
||||
"label.window": "視窗",
|
||||
"label.yesterday": "昨天",
|
||||
"message.active-users": "目前有 {x} 個活躍的訪客",
|
||||
"message.confirm-delete": "您確定要刪除 {target} 嗎?",
|
||||
"message.confirm-leave": "您確定要離開 {target} 嗎?",
|
||||
"message.confirm-reset": "您確定要重設 {target} 嗎?",
|
||||
"message.delete-account": "要刪除此帳戶,請在下方的方框中輸入 {confirmation} 以確認。",
|
||||
"message.delete-website": "要刪除此網站,請在下方的方框中輸入 {confirmation} 以確認。",
|
||||
"message.delete-website-warning": "所有網站資料將被刪除。",
|
||||
"message.error": "發生錯誤。",
|
||||
"message.event-log": "{event} 在 {url}",
|
||||
"message.go-to-settings": "前往設定",
|
||||
"message.incorrect-username-password": "使用者名稱和/或密碼不正確。",
|
||||
"message.invalid-domain": "無效的網域。請不要包含 http/https。",
|
||||
"message.min-password-length": "最少需要 {n} 個字元",
|
||||
"message.new-version-available": "Umami {version} 的新版本已經可以使用!",
|
||||
"message.no-data-available": "沒有可用的資料。",
|
||||
"message.no-event-data": "沒有可用的事件資料。",
|
||||
"message.no-match-password": "密碼不一致。",
|
||||
"message.no-results-found": "找不到結果。",
|
||||
"message.no-team-websites": "此團隊沒有任何網站。",
|
||||
"message.no-teams": "您尚未建立任何團隊。",
|
||||
"message.no-users": "沒有使用者。",
|
||||
"message.no-websites-configured": "您尚未設定任何網站。",
|
||||
"message.page-not-found": "找不到頁面",
|
||||
"message.reset-website": "要重設此網站,請在下方的方框中輸入 {confirmation} 以確認。",
|
||||
"message.reset-website-warning": "此網站的所有統計將被刪除,但您的設定將保持不變。",
|
||||
"message.saved": "已儲存。",
|
||||
"message.share-url": "您的網站統計資料可以在以下網址公開檢視:",
|
||||
"message.team-already-member": "您已經是團隊的成員。",
|
||||
"message.team-not-found": "找不到團隊。",
|
||||
"message.team-websites-info": "團隊的任何成員都可以檢視網站。",
|
||||
"message.tracking-code": "要追蹤此網站的統計,請將以下代碼放在您的 HTML 的 <head>...</head> 區段中。",
|
||||
"message.user-deleted": "使用者已刪除。",
|
||||
"message.visitor-log": "來自 {country} 的訪客在 {device} 上的 {os} 使用 {browser} 瀏覽。"
|
||||
}
|
||||
|
@ -13,23 +13,26 @@ export interface WebsiteMetricsRequestQuery {
|
||||
type: string;
|
||||
startAt: number;
|
||||
endAt: number;
|
||||
url: string;
|
||||
referrer: string;
|
||||
title: string;
|
||||
query: string;
|
||||
event: string;
|
||||
os: string;
|
||||
browser: string;
|
||||
device: string;
|
||||
country: string;
|
||||
region: string;
|
||||
city: string;
|
||||
language: string;
|
||||
url?: string;
|
||||
referrer?: string;
|
||||
title?: string;
|
||||
query?: string;
|
||||
os?: string;
|
||||
browser?: string;
|
||||
device?: string;
|
||||
country?: string;
|
||||
region?: string;
|
||||
city?: string;
|
||||
language?: string;
|
||||
event?: string;
|
||||
}
|
||||
|
||||
const schema = {
|
||||
GET: yup.object().shape({
|
||||
id: yup.string().uuid().required(),
|
||||
type: yup.string().required(),
|
||||
startAt: yup.number().required(),
|
||||
endAt: yup.number().required(),
|
||||
}),
|
||||
};
|
||||
|
||||
@ -50,7 +53,6 @@ export default async (
|
||||
referrer,
|
||||
title,
|
||||
query,
|
||||
event,
|
||||
os,
|
||||
browser,
|
||||
device,
|
||||
@ -58,6 +60,7 @@ export default async (
|
||||
region,
|
||||
city,
|
||||
language,
|
||||
event,
|
||||
} = req.query;
|
||||
|
||||
if (req.method === 'GET') {
|
||||
@ -74,7 +77,6 @@ export default async (
|
||||
referrer,
|
||||
title,
|
||||
query,
|
||||
event,
|
||||
os,
|
||||
browser,
|
||||
device,
|
||||
@ -82,10 +84,9 @@ export default async (
|
||||
region,
|
||||
city,
|
||||
language,
|
||||
event,
|
||||
};
|
||||
|
||||
filters[type] = undefined;
|
||||
|
||||
const column = FILTER_COLUMNS[type] || type;
|
||||
|
||||
if (SESSION_COLUMNS.includes(type)) {
|
||||
|
36
yarn.lock
36
yarn.lock
@ -1832,22 +1832,22 @@
|
||||
"@nodelib/fs.scandir" "2.1.5"
|
||||
fastq "^1.6.0"
|
||||
|
||||
"@prisma/client@5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.0.0.tgz#9f0cd4164f4ffddb28bb1811c27eb7fa1e01a087"
|
||||
integrity sha512-XlO5ELNAQ7rV4cXIDJUNBEgdLwX3pjtt9Q/RHqDpGf43szpNJx2hJnggfFs7TKNx0cOFsl6KJCSfqr5duEU/bQ==
|
||||
"@prisma/client@5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.2.0.tgz#cbfdd440614b38736563a7999f39922fcde0ed50"
|
||||
integrity sha512-AiTjJwR4J5Rh6Z/9ZKrBBLel3/5DzUNntMohOy7yObVnVoTNVFi2kvpLZlFuKO50d7yDspOtW6XBpiAd0BVXbQ==
|
||||
dependencies:
|
||||
"@prisma/engines-version" "4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584"
|
||||
"@prisma/engines-version" "5.2.0-25.2804dc98259d2ea960602aca6b8e7fdc03c1758f"
|
||||
|
||||
"@prisma/engines-version@4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584":
|
||||
version "4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584.tgz#b36eda5620872d3fac810c302a7e46cf41daa033"
|
||||
integrity sha512-HHiUF6NixsldsP3JROq07TYBLEjXFKr6PdH8H4gK/XAoTmIplOJBCgrIUMrsRAnEuGyRoRLXKXWUb943+PFoKQ==
|
||||
"@prisma/engines-version@5.2.0-25.2804dc98259d2ea960602aca6b8e7fdc03c1758f":
|
||||
version "5.2.0-25.2804dc98259d2ea960602aca6b8e7fdc03c1758f"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.2.0-25.2804dc98259d2ea960602aca6b8e7fdc03c1758f.tgz#11366e7ff031c908debf4983248d40046016de37"
|
||||
integrity sha512-jsnKT5JIDIE01lAeCj2ghY9IwxkedhKNvxQeoyLs6dr4ZXynetD0vTy7u6wMJt8vVPv8I5DPy/I4CFaoXAgbtg==
|
||||
|
||||
"@prisma/engines@5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.0.0.tgz#5249650eabe77c458c90f2be97d8210353c2e22e"
|
||||
integrity sha512-kyT/8fd0OpWmhAU5YnY7eP31brW1q1YrTGoblWrhQJDiN/1K+Z8S1kylcmtjqx5wsUGcP1HBWutayA/jtyt+sg==
|
||||
"@prisma/engines@5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.2.0.tgz#e5dff48eb324c8137393933292d44ea5c3bc2ce7"
|
||||
integrity sha512-dT7FOLUCdZmq+AunLqB1Iz+ZH/IIS1Fz2THmKZQ6aFONrQD/BQ5ecJ7g2wGS2OgyUFf4OaLam6/bxmgdOBDqig==
|
||||
|
||||
"@react-spring/animated@~9.7.3":
|
||||
version "9.7.3"
|
||||
@ -7523,12 +7523,12 @@ pretty-bytes@^5.6.0:
|
||||
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
|
||||
integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==
|
||||
|
||||
prisma@5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.0.0.tgz#f6571c46dc2478172cb7bc1bb62d74026a2c2630"
|
||||
integrity sha512-KYWk83Fhi1FH59jSpavAYTt2eoMVW9YKgu8ci0kuUnt6Dup5Qy47pcB4/TLmiPAbhGrxxSz7gsSnJcCmkyPANA==
|
||||
prisma@5.2.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.2.0.tgz#a302dc2635cdec1d22d552ece837fb29a03563b9"
|
||||
integrity sha512-FfFlpjVCkZwrqxDnP4smlNYSH1so+CbfjgdpioFzGGqlQAEm6VHAYSzV7jJgC3ebtY9dNOhDMS2+4/1DDSM7bQ==
|
||||
dependencies:
|
||||
"@prisma/engines" "5.0.0"
|
||||
"@prisma/engines" "5.2.0"
|
||||
|
||||
promise.series@^0.2.0:
|
||||
version "0.2.0"
|
||||
|
Loading…
Reference in New Issue
Block a user