mirror of
https://github.com/kremalicious/umami.git
synced 2025-02-14 21:10:34 +01:00
Merge remote-tracking branch 'upstream/master' into fix-font-family
This commit is contained in:
commit
01fc293d3f
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "umami",
|
||||
"version": "2.13.1",
|
||||
"version": "2.13.2",
|
||||
"description": "A simple, fast, privacy-focused alternative to Google Analytics.",
|
||||
"author": "Umami Software, Inc. <hello@umami.is>",
|
||||
"license": "MIT",
|
||||
|
@ -1180,7 +1180,7 @@
|
||||
"label.team-manager": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Responsable d'Equip"
|
||||
"value": "Responsable d'equip"
|
||||
}
|
||||
],
|
||||
"label.team-member": [
|
||||
|
@ -404,19 +404,19 @@
|
||||
"label.entry": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Eintrags-URL"
|
||||
"value": "Eingangs-URL"
|
||||
}
|
||||
],
|
||||
"label.event": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Event"
|
||||
"value": "Ereigniss"
|
||||
}
|
||||
],
|
||||
"label.event-data": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Eventdaten"
|
||||
"value": "Ereignissdaten"
|
||||
}
|
||||
],
|
||||
"label.events": [
|
||||
@ -476,19 +476,19 @@
|
||||
"label.first-seen": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "First seen"
|
||||
"value": "Erstmalig gesehen"
|
||||
}
|
||||
],
|
||||
"label.funnel": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Funnel"
|
||||
"value": "Trichter"
|
||||
}
|
||||
],
|
||||
"label.funnel-description": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Verstehe die Konversions- und Abbruchrate der Nutzer."
|
||||
"value": "Verstehen Sie die Konversions- und Absprungrate Ihrer Nutzer."
|
||||
}
|
||||
],
|
||||
"label.goal": [
|
||||
@ -542,7 +542,7 @@
|
||||
"label.insights-description": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Vertiefen Sie Ihre Daten mit Hilfe von Segmenten und Filtern."
|
||||
"value": "Vertiefen Sie sich mit Hilfe von Segmenten und Filtern in Ihre Daten."
|
||||
}
|
||||
],
|
||||
"label.is": [
|
||||
@ -590,7 +590,7 @@
|
||||
"label.journey-description": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Verstehe, wie Nutzer auf der Webseite navigieren"
|
||||
"value": "Verstehen Sie, wie Nutzer auf Ihrer Website navigieren."
|
||||
}
|
||||
],
|
||||
"label.language": [
|
||||
@ -656,7 +656,7 @@
|
||||
"label.last-seen": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Last seen"
|
||||
"value": "Zuletzt gesehen"
|
||||
}
|
||||
],
|
||||
"label.leave": [
|
||||
@ -752,7 +752,7 @@
|
||||
"label.my-websites": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Meine Webseiten"
|
||||
"value": "Meine Websites"
|
||||
}
|
||||
],
|
||||
"label.name": [
|
||||
@ -876,13 +876,13 @@
|
||||
"label.path": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Path"
|
||||
"value": "Pfad"
|
||||
}
|
||||
],
|
||||
"label.paths": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Paths"
|
||||
"value": "Pfade"
|
||||
}
|
||||
],
|
||||
"label.powered-by": [
|
||||
@ -898,7 +898,7 @@
|
||||
"label.previous": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Vorheriges"
|
||||
"value": "Vorherig"
|
||||
}
|
||||
],
|
||||
"label.previous-period": [
|
||||
@ -922,7 +922,7 @@
|
||||
"label.properties": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Properties"
|
||||
"value": "Eigenschaften"
|
||||
}
|
||||
],
|
||||
"label.property": [
|
||||
@ -958,13 +958,13 @@
|
||||
"label.referrer": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Referrer"
|
||||
"value": "Übermittler"
|
||||
}
|
||||
],
|
||||
"label.referrers": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Referrer"
|
||||
"value": "Übermittler"
|
||||
}
|
||||
],
|
||||
"label.refresh": [
|
||||
@ -1030,7 +1030,7 @@
|
||||
"label.retention": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Bewahrung"
|
||||
"value": "Erhalt"
|
||||
}
|
||||
],
|
||||
"label.retention-description": [
|
||||
@ -1042,19 +1042,19 @@
|
||||
"label.revenue": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Revenue"
|
||||
"value": "Umsatz"
|
||||
}
|
||||
],
|
||||
"label.revenue-description": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Look into your revenue across time."
|
||||
"value": "Haben Sie einen Blick auf Ihre Umsätze im Laufe der Zeit."
|
||||
}
|
||||
],
|
||||
"label.revenue-property": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Revenue Property"
|
||||
"value": "Umsatzeigenschaften"
|
||||
}
|
||||
],
|
||||
"label.role": [
|
||||
@ -1108,13 +1108,13 @@
|
||||
"label.select-website": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Webseite auswählen"
|
||||
"value": "Website auswählen"
|
||||
}
|
||||
],
|
||||
"label.session": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Session"
|
||||
"value": "Sitzung"
|
||||
}
|
||||
],
|
||||
"label.sessions": [
|
||||
@ -1204,7 +1204,7 @@
|
||||
"label.team-view-only": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Nur für Team sichtbar"
|
||||
"value": "Nur für Team-Mitglieder sichtbar"
|
||||
}
|
||||
],
|
||||
"label.team-websites": [
|
||||
@ -1288,7 +1288,7 @@
|
||||
"label.transactions": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Transactions"
|
||||
"value": "Transaktionen"
|
||||
}
|
||||
],
|
||||
"label.transfer": [
|
||||
@ -1318,19 +1318,19 @@
|
||||
"label.unique": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Eindeutig"
|
||||
"value": "Einzigartig"
|
||||
}
|
||||
],
|
||||
"label.unique-visitors": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Eindeutige Besucher"
|
||||
"value": "Einzigartige Besucher"
|
||||
}
|
||||
],
|
||||
"label.uniqueCustomers": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Unique Customers"
|
||||
"value": "Einzigartige Kunden"
|
||||
}
|
||||
],
|
||||
"label.unknown": [
|
||||
@ -1372,7 +1372,7 @@
|
||||
"label.user-property": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "User Property"
|
||||
"value": "Benutzereigenschaften"
|
||||
}
|
||||
],
|
||||
"label.username": [
|
||||
@ -1396,7 +1396,7 @@
|
||||
"label.utm-description": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Tracke deine Kampagnen mit UTM parameterns."
|
||||
"value": "Tracken Sie Ihre Kampagnen mit UTM Parametern."
|
||||
}
|
||||
],
|
||||
"label.value": [
|
||||
@ -1456,19 +1456,19 @@
|
||||
"label.website": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Webseite"
|
||||
"value": "Website"
|
||||
}
|
||||
],
|
||||
"label.website-id": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Webseiten-ID"
|
||||
"value": "Website-ID"
|
||||
}
|
||||
],
|
||||
"label.websites": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Webseiten"
|
||||
"value": "Websites"
|
||||
}
|
||||
],
|
||||
"label.window": [
|
||||
@ -1596,7 +1596,7 @@
|
||||
"message.delete-team-warning": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Ein Team zu löschen, wird auch alle Team-Webseiten löschen."
|
||||
"value": "Ein Team zu löschen, wird auch alle Team-Websites löschen."
|
||||
}
|
||||
],
|
||||
"message.delete-website-warning": [
|
||||
@ -1780,25 +1780,25 @@
|
||||
"message.transfer-team-website-to-user": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Diese Webseite zu deinem Account transferieren?"
|
||||
"value": "Diese Website zu Ihrem Account transferieren?"
|
||||
}
|
||||
],
|
||||
"message.transfer-user-website-to-team": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Wähle ein Team aus, zu dem die Webseite transferiert werden soll."
|
||||
"value": "Wählen Sie ein Team aus, zu dem die Website transferiert werden soll."
|
||||
}
|
||||
],
|
||||
"message.transfer-website": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Übertrage die Eigentümerrechte zu deinem Account oder einem anderen Team."
|
||||
"value": "Übertragen Sie die Eigentümerrechte zu Ihrem Account oder einem anderen Team."
|
||||
}
|
||||
],
|
||||
"message.triggered-event": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Ausgelöstes Event"
|
||||
"value": "Ausgelöstes Ereigniss"
|
||||
}
|
||||
],
|
||||
"message.user-deleted": [
|
||||
@ -1810,7 +1810,7 @@
|
||||
"message.viewed-page": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Besuchte Seite"
|
||||
"value": "Seite besucht"
|
||||
}
|
||||
],
|
||||
"message.visitor-log": [
|
||||
|
@ -8,13 +8,13 @@
|
||||
"label.actions": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "액션"
|
||||
"value": "동작"
|
||||
}
|
||||
],
|
||||
"label.activity": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "활동 기록"
|
||||
"value": "활동"
|
||||
}
|
||||
],
|
||||
"label.add": [
|
||||
@ -128,7 +128,7 @@
|
||||
"label.change-password": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "비밀번호 변경하기"
|
||||
"value": "비밀번호 변경"
|
||||
}
|
||||
],
|
||||
"label.cities": [
|
||||
@ -200,25 +200,25 @@
|
||||
"label.create": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "생성"
|
||||
"value": "만들기"
|
||||
}
|
||||
],
|
||||
"label.create-report": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "리포트 생성"
|
||||
"value": "보고서 만들기"
|
||||
}
|
||||
],
|
||||
"label.create-team": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "팀 생성"
|
||||
"value": "팀 만들기"
|
||||
}
|
||||
],
|
||||
"label.create-user": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "사용자 생성"
|
||||
"value": "사용자 만들기"
|
||||
}
|
||||
],
|
||||
"label.created": [
|
||||
@ -296,7 +296,7 @@
|
||||
"label.delete-report": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "리포트 삭제"
|
||||
"value": "보고서 삭제"
|
||||
}
|
||||
],
|
||||
"label.delete-team": [
|
||||
@ -326,13 +326,13 @@
|
||||
"label.desktop": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "데스크탑"
|
||||
"value": "데스크톱"
|
||||
}
|
||||
],
|
||||
"label.details": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "세부 사항"
|
||||
"value": "세부 정보"
|
||||
}
|
||||
],
|
||||
"label.device": [
|
||||
@ -386,7 +386,7 @@
|
||||
"label.edit-member": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "회원 편집"
|
||||
"value": "멤버 편집"
|
||||
}
|
||||
],
|
||||
"label.enable-share-url": [
|
||||
@ -398,7 +398,7 @@
|
||||
"label.end-step": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "종료 단계"
|
||||
"value": "마지막 단계"
|
||||
}
|
||||
],
|
||||
"label.entry": [
|
||||
@ -458,7 +458,7 @@
|
||||
"label.filter-combined": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "합쳐서 보기"
|
||||
"value": "합쳐 보기"
|
||||
}
|
||||
],
|
||||
"label.filter-raw": [
|
||||
@ -476,7 +476,7 @@
|
||||
"label.first-seen": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "First seen"
|
||||
"value": "첫 접속"
|
||||
}
|
||||
],
|
||||
"label.funnel": [
|
||||
@ -506,7 +506,7 @@
|
||||
"label.goals-description": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "페이지뷰 및 이벤트 목표를 추적합니다."
|
||||
"value": "페이지 조회 및 이벤트 목표를 추적합니다."
|
||||
}
|
||||
],
|
||||
"label.greater-than": [
|
||||
@ -572,13 +572,13 @@
|
||||
"label.join": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "가입"
|
||||
"value": "가입하기"
|
||||
}
|
||||
],
|
||||
"label.join-team": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "팀 가입"
|
||||
"value": "팀 가입하기"
|
||||
}
|
||||
],
|
||||
"label.journey": [
|
||||
@ -614,7 +614,7 @@
|
||||
"label.last-days": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "최근 "
|
||||
"value": "지난 "
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
@ -622,13 +622,13 @@
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": " 일"
|
||||
"value": "일"
|
||||
}
|
||||
],
|
||||
"label.last-hours": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "최근 "
|
||||
"value": "지난 "
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
@ -636,13 +636,13 @@
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": " 시간"
|
||||
"value": "시간"
|
||||
}
|
||||
],
|
||||
"label.last-months": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "최근 "
|
||||
"value": "지난 "
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
@ -650,13 +650,13 @@
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": " 개월"
|
||||
"value": "개월"
|
||||
}
|
||||
],
|
||||
"label.last-seen": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Last seen"
|
||||
"value": "마지막 접속"
|
||||
}
|
||||
],
|
||||
"label.leave": [
|
||||
@ -780,31 +780,7 @@
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": " "
|
||||
},
|
||||
{
|
||||
"offset": 0,
|
||||
"options": {
|
||||
"one": {
|
||||
"value": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "record"
|
||||
}
|
||||
]
|
||||
},
|
||||
"other": {
|
||||
"value": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "레코드"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"pluralType": "cardinal",
|
||||
"type": 6,
|
||||
"value": "x"
|
||||
"value": "개 레코드"
|
||||
}
|
||||
],
|
||||
"label.ok": [
|
||||
@ -816,7 +792,7 @@
|
||||
"label.os": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "운영체제"
|
||||
"value": "운영 체제"
|
||||
}
|
||||
],
|
||||
"label.overview": [
|
||||
@ -832,13 +808,9 @@
|
||||
}
|
||||
],
|
||||
"label.page-of": [
|
||||
{
|
||||
"type": 1,
|
||||
"value": "total"
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": " 중 "
|
||||
"value": "페이지 "
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
@ -846,13 +818,17 @@
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": " 페이지"
|
||||
"value": "/"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"value": "total"
|
||||
}
|
||||
],
|
||||
"label.page-views": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "페이지 뷰"
|
||||
"value": "페이지 조회"
|
||||
}
|
||||
],
|
||||
"label.pageTitle": [
|
||||
@ -876,27 +852,23 @@
|
||||
"label.path": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Path"
|
||||
"value": "패스"
|
||||
}
|
||||
],
|
||||
"label.paths": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Paths"
|
||||
"value": "패스"
|
||||
}
|
||||
],
|
||||
"label.powered-by": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "이 시스템은 "
|
||||
"value": "Powered by "
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"value": "name"
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": "에서 구동되고 있습니다."
|
||||
}
|
||||
],
|
||||
"label.previous": [
|
||||
@ -926,7 +898,7 @@
|
||||
"label.properties": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Properties"
|
||||
"value": "속성"
|
||||
}
|
||||
],
|
||||
"label.property": [
|
||||
@ -950,7 +922,7 @@
|
||||
"label.query-parameters": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "쿼리 매개변수"
|
||||
"value": "쿼리 매개 변수"
|
||||
}
|
||||
],
|
||||
"label.realtime": [
|
||||
@ -974,7 +946,7 @@
|
||||
"label.refresh": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "새로고침"
|
||||
"value": "새로 고침"
|
||||
}
|
||||
],
|
||||
"label.regenerate": [
|
||||
@ -1010,7 +982,7 @@
|
||||
"label.reports": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "리포트"
|
||||
"value": "보고서"
|
||||
}
|
||||
],
|
||||
"label.required": [
|
||||
@ -1022,7 +994,7 @@
|
||||
"label.reset": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "리셋"
|
||||
"value": "초기화"
|
||||
}
|
||||
],
|
||||
"label.reset-website": [
|
||||
@ -1046,19 +1018,19 @@
|
||||
"label.revenue": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Revenue"
|
||||
"value": "수익"
|
||||
}
|
||||
],
|
||||
"label.revenue-description": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Look into your revenue across time."
|
||||
"value": "시간대별 수익을 살펴보세요."
|
||||
}
|
||||
],
|
||||
"label.revenue-property": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Revenue Property"
|
||||
"value": "수익 속성"
|
||||
}
|
||||
],
|
||||
"label.role": [
|
||||
@ -1082,7 +1054,7 @@
|
||||
"label.screens": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "스크린"
|
||||
"value": "화면"
|
||||
}
|
||||
],
|
||||
"label.search": [
|
||||
@ -1118,7 +1090,7 @@
|
||||
"label.session": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Session"
|
||||
"value": "세션"
|
||||
}
|
||||
],
|
||||
"label.sessions": [
|
||||
@ -1280,7 +1252,7 @@
|
||||
"label.total-records": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "총 레코드"
|
||||
"value": "전체 레코드"
|
||||
}
|
||||
],
|
||||
"label.tracking-code": [
|
||||
@ -1292,7 +1264,7 @@
|
||||
"label.transactions": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Transactions"
|
||||
"value": "거래"
|
||||
}
|
||||
],
|
||||
"label.transfer": [
|
||||
@ -1328,13 +1300,13 @@
|
||||
"label.unique-visitors": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "순방문자(UV)"
|
||||
"value": "고유 방문자"
|
||||
}
|
||||
],
|
||||
"label.uniqueCustomers": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "Unique Customers"
|
||||
"value": "고유 고객"
|
||||
}
|
||||
],
|
||||
"label.unknown": [
|
||||
@ -1376,13 +1348,13 @@
|
||||
"label.user-property": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "User Property"
|
||||
"value": "사용자 속성"
|
||||
}
|
||||
],
|
||||
"label.username": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "사용자명"
|
||||
"value": "사용자 이름"
|
||||
}
|
||||
],
|
||||
"label.users": [
|
||||
@ -1418,7 +1390,7 @@
|
||||
"label.view-details": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "상세보기"
|
||||
"value": "자세히 보기"
|
||||
}
|
||||
],
|
||||
"label.view-only": [
|
||||
@ -1430,13 +1402,13 @@
|
||||
"label.views": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "조회수"
|
||||
"value": "조회"
|
||||
}
|
||||
],
|
||||
"label.views-per-visit": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "방문당 조회수"
|
||||
"value": "방문당 조회"
|
||||
}
|
||||
],
|
||||
"label.visit-duration": [
|
||||
@ -1448,7 +1420,7 @@
|
||||
"label.visitors": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "방문객"
|
||||
"value": "방문자"
|
||||
}
|
||||
],
|
||||
"label.visits": [
|
||||
@ -1498,17 +1470,21 @@
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": "을(를) 입력하십시오."
|
||||
"value": "을(를) 입력하세요."
|
||||
}
|
||||
],
|
||||
"message.active-users": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "현재 방문자 "
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"value": "x"
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": "명의 사용자가 보는 중입니다."
|
||||
"value": "명"
|
||||
}
|
||||
],
|
||||
"message.collected-data": [
|
||||
@ -1572,7 +1548,7 @@
|
||||
"message.error": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "오류가 발생하였습니다."
|
||||
"value": "오류가 발생했습니다."
|
||||
}
|
||||
],
|
||||
"message.event-log": [
|
||||
@ -1598,19 +1574,19 @@
|
||||
"message.incorrect-username-password": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "사용자 이름/비밀번호가 잘못되었습니다."
|
||||
"value": "사용자 이름 또는 비밀번호를 잘못 입력했습니다."
|
||||
}
|
||||
],
|
||||
"message.invalid-domain": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "잘못된 도메인"
|
||||
"value": "잘못된 도메인입니다. http/https를 포함하지 마세요."
|
||||
}
|
||||
],
|
||||
"message.min-password-length": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "최소 길이는 "
|
||||
"value": "최소 "
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
@ -1618,35 +1594,39 @@
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": "자입니다"
|
||||
"value": "자여야 합니다"
|
||||
}
|
||||
],
|
||||
"message.new-version-available": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "새 버전이 사용 가능합니다! - Umami "
|
||||
"value": "Umami의 새 버전 "
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"value": "version"
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": "을(를) 사용할 수 있습니다!"
|
||||
}
|
||||
],
|
||||
"message.no-data-available": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "사용 가능한 데이터가 없습니다."
|
||||
"value": "사용할 수 있는 데이터가 없습니다."
|
||||
}
|
||||
],
|
||||
"message.no-event-data": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "사용 가능한 이벤트 데이터가 없습니다."
|
||||
"value": "사용할 수 있는 이벤트 데이터가 없습니다."
|
||||
}
|
||||
],
|
||||
"message.no-match-password": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "비밀번호가 일치하지 않음"
|
||||
"value": "비밀번호가 일치하지 않습니다."
|
||||
}
|
||||
],
|
||||
"message.no-results-found": [
|
||||
@ -1658,13 +1638,13 @@
|
||||
"message.no-team-websites": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "이 팀에는 웹사이트가 없습니다."
|
||||
"value": "팀에 웹사이트가 없습니다."
|
||||
}
|
||||
],
|
||||
"message.no-teams": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "생성된 팀이 없습니다."
|
||||
"value": "만든 팀이 없습니다."
|
||||
}
|
||||
],
|
||||
"message.no-users": [
|
||||
@ -1682,13 +1662,13 @@
|
||||
"message.page-not-found": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "페이지를 찾을 수 없습니다."
|
||||
"value": "페이지를 찾을 수 없음"
|
||||
}
|
||||
],
|
||||
"message.reset-website": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "이 웹사이트를 초기화하려면, 아래 상자에 "
|
||||
"value": "이 웹사이트를 초기화하려면 아래 상자에 "
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
@ -1696,7 +1676,7 @@
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": "을(를) 입력하십시오."
|
||||
"value": "을(를) 입력하세요."
|
||||
}
|
||||
],
|
||||
"message.reset-website-warning": [
|
||||
@ -1708,7 +1688,7 @@
|
||||
"message.saved": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "성공적으로 저장되었습니다."
|
||||
"value": "저장했습니다."
|
||||
}
|
||||
],
|
||||
"message.share-url": [
|
||||
@ -1720,7 +1700,7 @@
|
||||
"message.team-already-member": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "이미 팀의 회원입니다."
|
||||
"value": "이미 팀 멤버입니다."
|
||||
}
|
||||
],
|
||||
"message.team-not-found": [
|
||||
@ -1732,13 +1712,13 @@
|
||||
"message.team-websites-info": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "웹사이트는 팀의 누구나 볼 수 있습니다."
|
||||
"value": "웹사이트는 팀 멤버 누구나 볼 수 있습니다."
|
||||
}
|
||||
],
|
||||
"message.tracking-code": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "이 웹사이트의 통계를 추적하려면, 다음 코드를 HTML의 "
|
||||
"value": "이 웹사이트의 통계를 추적하려면 다음 코드를 HTML의 "
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
@ -1752,7 +1732,7 @@
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": " 섹션에 추가하십시오."
|
||||
"value": " 부분에 추가하세요."
|
||||
}
|
||||
],
|
||||
"message.transfer-team-website-to-user": [
|
||||
@ -1764,7 +1744,7 @@
|
||||
"message.transfer-user-website-to-team": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "이 웹사이트를 전송받을 팀을 선택하십시오."
|
||||
"value": "이 웹사이트를 전송받을 팀을 선택하세요."
|
||||
}
|
||||
],
|
||||
"message.transfer-website": [
|
||||
@ -1782,32 +1762,16 @@
|
||||
"message.user-deleted": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "사용자가 삭제되었습니다."
|
||||
"value": "사용자를 삭제했습니다."
|
||||
}
|
||||
],
|
||||
"message.viewed-page": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "페이지 조회"
|
||||
"value": "조회한 페이지"
|
||||
}
|
||||
],
|
||||
"message.visitor-log": [
|
||||
{
|
||||
"type": 1,
|
||||
"value": "country"
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": "의 "
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"value": "browser"
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": " 브라우저를 사용하는 "
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"value": "os"
|
||||
@ -1822,13 +1786,29 @@
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": " 방문자"
|
||||
"value": "에서 "
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"value": "browser"
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": "을(를) 사용하는 "
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"value": "country"
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"value": "의 방문자"
|
||||
}
|
||||
],
|
||||
"message.visitors-dropped-off": [
|
||||
{
|
||||
"type": 0,
|
||||
"value": "방문자가 이탈했습니다"
|
||||
"value": "방문자 이탈함"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -58,13 +58,13 @@ export function RetentionTable({ days = DAYS }) {
|
||||
if (totalDays - rowIndex < day) {
|
||||
return null;
|
||||
}
|
||||
const percentage = records[day]?.percentage;
|
||||
const percentage = records.filter(a => a.day === day)[0]?.percentage;
|
||||
return (
|
||||
<div
|
||||
key={day}
|
||||
className={classNames(styles.cell, { [styles.empty]: !percentage })}
|
||||
>
|
||||
{percentage ? `${percentage.toFixed(2)}%` : ''}
|
||||
{percentage ? `${Number(percentage).toFixed(2)}%` : ''}
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
|
@ -47,7 +47,7 @@ export default function WebsiteChartList({
|
||||
</Button>
|
||||
</Link>
|
||||
</WebsiteHeader>
|
||||
<WebsiteMetricsBar websiteId={id} />
|
||||
<WebsiteMetricsBar websiteId={id} showChange={true} />
|
||||
{showCharts && <WebsiteChart websiteId={id} />}
|
||||
</div>
|
||||
) : null;
|
||||
|
@ -13,7 +13,7 @@ export default function EventsDataTable({
|
||||
const queryResult = useWebsiteEvents(websiteId);
|
||||
|
||||
return (
|
||||
<DataTable queryResult={queryResult} allowSearch={true}>
|
||||
<DataTable queryResult={queryResult} allowSearch={true} autoFocus={false}>
|
||||
{({ data }) => <EventsTable data={data} />}
|
||||
</DataTable>
|
||||
);
|
||||
|
@ -1,9 +1,8 @@
|
||||
import { useMemo } from 'react';
|
||||
import { useTheme } from 'components/hooks';
|
||||
import Chart, { ChartProps } from 'components/charts/Chart';
|
||||
import { renderNumberLabels } from 'lib/charts';
|
||||
import { useState } from 'react';
|
||||
import BarChartTooltip from 'components/charts/BarChartTooltip';
|
||||
import Chart, { ChartProps } from 'components/charts/Chart';
|
||||
import { useTheme } from 'components/hooks';
|
||||
import { renderNumberLabels } from 'lib/charts';
|
||||
import { useMemo, useState } from 'react';
|
||||
|
||||
export interface BarChartProps extends ChartProps {
|
||||
unit: string;
|
||||
@ -36,7 +35,7 @@ export function BarChart(props: BarChartProps) {
|
||||
x: {
|
||||
type: XAxisType,
|
||||
stacked: true,
|
||||
min: minDate,
|
||||
min: minDate && new Date(minDate).getSeconds() === 0 ? minDate : '',
|
||||
max: maxDate,
|
||||
time: {
|
||||
unit,
|
||||
|
@ -15,6 +15,7 @@ export interface DataTableProps {
|
||||
searchDelay?: number;
|
||||
allowSearch?: boolean;
|
||||
allowPaging?: boolean;
|
||||
autoFocus?: boolean;
|
||||
renderEmpty?: () => ReactNode;
|
||||
children: ReactNode | ((data: any) => ReactNode);
|
||||
}
|
||||
@ -24,6 +25,7 @@ export function DataTable({
|
||||
searchDelay = 600,
|
||||
allowSearch = true,
|
||||
allowPaging = true,
|
||||
autoFocus = true,
|
||||
renderEmpty,
|
||||
children,
|
||||
}: DataTableProps) {
|
||||
@ -57,7 +59,7 @@ export function DataTable({
|
||||
value={query}
|
||||
onSearch={handleSearch}
|
||||
delay={searchDelay || DEFAULT_SEARCH_DELAY}
|
||||
autoFocus={true}
|
||||
autoFocus={autoFocus}
|
||||
placeholder={formatMessage(labels.search)}
|
||||
/>
|
||||
)}
|
||||
|
@ -47,6 +47,8 @@ export function EventsChart({ websiteId, className }: EventsChartProps) {
|
||||
|
||||
return (
|
||||
<BarChart
|
||||
minDate={startDate.toISOString()}
|
||||
maxDate={endDate.toISOString()}
|
||||
className={className}
|
||||
data={chartData}
|
||||
unit={unit}
|
||||
|
@ -184,7 +184,7 @@
|
||||
"label.tablet": "Tauleta",
|
||||
"label.team": "Equip",
|
||||
"label.team-id": "ID del equip",
|
||||
"label.team-manager": "Responsable d'Equip",
|
||||
"label.team-manager": "Responsable d'equip",
|
||||
"label.team-member": "Membre de l'equip",
|
||||
"label.team-name": "Nom de l'equip",
|
||||
"label.team-owner": "Propietari de l'equip",
|
||||
|
@ -66,9 +66,9 @@
|
||||
"label.edit-member": "Mitglied bearbeiten",
|
||||
"label.enable-share-url": "Freigabe-URL aktivieren",
|
||||
"label.end-step": "Schlussschritt",
|
||||
"label.entry": "Eintrags-URL",
|
||||
"label.event": "Event",
|
||||
"label.event-data": "Eventdaten",
|
||||
"label.entry": "Eingangs-URL",
|
||||
"label.event": "Ereigniss",
|
||||
"label.event-data": "Ereignissdaten",
|
||||
"label.events": "Ereignisse",
|
||||
"label.exit": "Ausgangs-URL",
|
||||
"label.false": "Falsch",
|
||||
@ -78,9 +78,9 @@
|
||||
"label.filter-combined": "Kombiniert",
|
||||
"label.filter-raw": "Rohdaten",
|
||||
"label.filters": "Filter",
|
||||
"label.first-seen": "First seen",
|
||||
"label.funnel": "Funnel",
|
||||
"label.funnel-description": "Verstehe die Konversions- und Abbruchrate der Nutzer.",
|
||||
"label.first-seen": "Erstmalig gesehen",
|
||||
"label.funnel": "Trichter",
|
||||
"label.funnel-description": "Verstehen Sie die Konversions- und Absprungrate Ihrer Nutzer.",
|
||||
"label.goal": "Ziel",
|
||||
"label.goals": "Ziele",
|
||||
"label.goals-description": "Verfolgen Sie Ihre Ziele für Seitenaufrufe und Ereignisse.",
|
||||
@ -89,7 +89,7 @@
|
||||
"label.host": "Host",
|
||||
"label.hosts": "Hosts",
|
||||
"label.insights": "Einblicke",
|
||||
"label.insights-description": "Vertiefen Sie Ihre Daten mit Hilfe von Segmenten und Filtern.",
|
||||
"label.insights-description": "Vertiefen Sie sich mit Hilfe von Segmenten und Filtern in Ihre Daten.",
|
||||
"label.is": "Ist",
|
||||
"label.is-not": "Ist nicht",
|
||||
"label.is-not-set": "Ist nicht gesetzt",
|
||||
@ -97,14 +97,14 @@
|
||||
"label.join": "Beitreten",
|
||||
"label.join-team": "Team beitreten",
|
||||
"label.journey": "Reise",
|
||||
"label.journey-description": "Verstehe, wie Nutzer auf der Webseite navigieren",
|
||||
"label.journey-description": "Verstehen Sie, wie Nutzer auf Ihrer Website navigieren.",
|
||||
"label.language": "Sprache",
|
||||
"label.languages": "Sprachen",
|
||||
"label.laptop": "Laptop",
|
||||
"label.last-days": "Letzten {x} Tage",
|
||||
"label.last-hours": "Letzten {x} Stunden",
|
||||
"label.last-months": "Letzten {x} Monate",
|
||||
"label.last-seen": "Last seen",
|
||||
"label.last-seen": "Zuletzt gesehen",
|
||||
"label.leave": "Verlassen",
|
||||
"label.leave-team": "Team verlassen",
|
||||
"label.less-than": "Kleiner als",
|
||||
@ -120,7 +120,7 @@
|
||||
"label.mobile": "Handy",
|
||||
"label.more": "Mehr",
|
||||
"label.my-account": "Mein Account",
|
||||
"label.my-websites": "Meine Webseiten",
|
||||
"label.my-websites": "Meine Websites",
|
||||
"label.name": "Name",
|
||||
"label.new-password": "Neues Passwort",
|
||||
"label.none": "Keine",
|
||||
@ -134,21 +134,21 @@
|
||||
"label.pageTitle": "Seitentitel",
|
||||
"label.pages": "Seiten",
|
||||
"label.password": "Passwort",
|
||||
"label.path": "Path",
|
||||
"label.paths": "Paths",
|
||||
"label.path": "Pfad",
|
||||
"label.paths": "Pfade",
|
||||
"label.powered-by": "Betrieben durch {name}",
|
||||
"label.previous": "Vorheriges",
|
||||
"label.previous": "Vorherig",
|
||||
"label.previous-period": "Vorherige Periode",
|
||||
"label.previous-year": "Vorheriges Jahr",
|
||||
"label.profile": "Profil",
|
||||
"label.properties": "Properties",
|
||||
"label.properties": "Eigenschaften",
|
||||
"label.property": "Eigentum",
|
||||
"label.queries": "Abfragen",
|
||||
"label.query": "Abfrage",
|
||||
"label.query-parameters": "Abfrageparameter",
|
||||
"label.realtime": "Echtzeit",
|
||||
"label.referrer": "Referrer",
|
||||
"label.referrers": "Referrer",
|
||||
"label.referrer": "Übermittler",
|
||||
"label.referrers": "Übermittler",
|
||||
"label.refresh": "Aktualisieren",
|
||||
"label.regenerate": "Erneuern",
|
||||
"label.region": "Region",
|
||||
@ -159,11 +159,11 @@
|
||||
"label.required": "Erforderlich",
|
||||
"label.reset": "Zurücksetzen",
|
||||
"label.reset-website": "Statistik zurücksetzen",
|
||||
"label.retention": "Bewahrung",
|
||||
"label.retention": "Erhalt",
|
||||
"label.retention-description": "Messen Sie die Verweildauer auf Ihrer Website, indem Sie verfolgen, wie oft die Nutzer zurückkehren.",
|
||||
"label.revenue": "Revenue",
|
||||
"label.revenue-description": "Look into your revenue across time.",
|
||||
"label.revenue-property": "Revenue Property",
|
||||
"label.revenue": "Umsatz",
|
||||
"label.revenue-description": "Haben Sie einen Blick auf Ihre Umsätze im Laufe der Zeit.",
|
||||
"label.revenue-property": "Umsatzeigenschaften",
|
||||
"label.role": "Rolle",
|
||||
"label.run-query": "Abfrage starten",
|
||||
"label.save": "Speichern",
|
||||
@ -172,8 +172,8 @@
|
||||
"label.select": "Auswählen",
|
||||
"label.select-date": "Datum auswählen",
|
||||
"label.select-role": "Rolle auswählen",
|
||||
"label.select-website": "Webseite auswählen",
|
||||
"label.session": "Session",
|
||||
"label.select-website": "Website auswählen",
|
||||
"label.session": "Sitzung",
|
||||
"label.sessions": "Sitzungen",
|
||||
"label.settings": "Einstellungen",
|
||||
"label.share-url": "Freigabe-URL",
|
||||
@ -188,7 +188,7 @@
|
||||
"label.team-member": "Team-Mitglied",
|
||||
"label.team-name": "Name des Teams",
|
||||
"label.team-owner": "Team-Eigentümer",
|
||||
"label.team-view-only": "Nur für Team sichtbar",
|
||||
"label.team-view-only": "Nur für Team-Mitglieder sichtbar",
|
||||
"label.team-websites": "Team-Websites",
|
||||
"label.teams": "Teams",
|
||||
"label.theme": "Thema",
|
||||
@ -202,25 +202,25 @@
|
||||
"label.total": "Gesamt",
|
||||
"label.total-records": "Datensätze insgesamt",
|
||||
"label.tracking-code": "Tracking Code",
|
||||
"label.transactions": "Transactions",
|
||||
"label.transactions": "Transaktionen",
|
||||
"label.transfer": "Übertragung",
|
||||
"label.transfer-website": "Website übertragen",
|
||||
"label.true": "Wahr",
|
||||
"label.type": "Typ",
|
||||
"label.unique": "Eindeutig",
|
||||
"label.unique-visitors": "Eindeutige Besucher",
|
||||
"label.uniqueCustomers": "Unique Customers",
|
||||
"label.unique": "Einzigartig",
|
||||
"label.unique-visitors": "Einzigartige Besucher",
|
||||
"label.uniqueCustomers": "Einzigartige Kunden",
|
||||
"label.unknown": "Unbekannt",
|
||||
"label.untitled": "Unbenannt",
|
||||
"label.update": "Update",
|
||||
"label.url": "URL",
|
||||
"label.urls": "URLs",
|
||||
"label.user": "Benutzer",
|
||||
"label.user-property": "User Property",
|
||||
"label.user-property": "Benutzereigenschaften",
|
||||
"label.username": "Benutzername",
|
||||
"label.users": "Benutzer",
|
||||
"label.utm": "UTM",
|
||||
"label.utm-description": "Tracke deine Kampagnen mit UTM parameterns.",
|
||||
"label.utm-description": "Tracken Sie Ihre Kampagnen mit UTM Parametern.",
|
||||
"label.value": "Wert",
|
||||
"label.view": "Anzeigen",
|
||||
"label.view-details": "Details anzeigen",
|
||||
@ -230,9 +230,9 @@
|
||||
"label.visit-duration": "Durchschn. Besuchszeit",
|
||||
"label.visitors": "Besucher",
|
||||
"label.visits": "Besuche",
|
||||
"label.website": "Webseite",
|
||||
"label.website-id": "Webseiten-ID",
|
||||
"label.websites": "Webseiten",
|
||||
"label.website": "Website",
|
||||
"label.website-id": "Website-ID",
|
||||
"label.websites": "Websites",
|
||||
"label.window": "Fenster",
|
||||
"label.yesterday": "Gestern",
|
||||
"message.action-confirmation": "Schreibe {confirmation} in die Box zur bestätigung.",
|
||||
@ -242,7 +242,7 @@
|
||||
"message.confirm-leave": "Sind Sie sicher, dass die {target} verlassen möchten?",
|
||||
"message.confirm-remove": "Sind Sie sicher, {target} zu entfernen?",
|
||||
"message.confirm-reset": "Sind Sie sicher, dass Sie die Statistiken von {target} zurücksetzen wollen?",
|
||||
"message.delete-team-warning": "Ein Team zu löschen, wird auch alle Team-Webseiten löschen.",
|
||||
"message.delete-team-warning": "Ein Team zu löschen, wird auch alle Team-Websites löschen.",
|
||||
"message.delete-website-warning": "Alle zugehörigen Daten werden ebenfalls gelöscht.",
|
||||
"message.error": "Es ist ein Fehler aufgetreten.",
|
||||
"message.event-log": "{event} auf {url}",
|
||||
@ -268,12 +268,12 @@
|
||||
"message.team-not-found": "Team nicht gefunden.",
|
||||
"message.team-websites-info": "Websites können von jedem im Team eingesehen werden.",
|
||||
"message.tracking-code": "Tracking Code",
|
||||
"message.transfer-team-website-to-user": "Diese Webseite zu deinem Account transferieren?",
|
||||
"message.transfer-user-website-to-team": "Wähle ein Team aus, zu dem die Webseite transferiert werden soll.",
|
||||
"message.transfer-website": "Übertrage die Eigentümerrechte zu deinem Account oder einem anderen Team.",
|
||||
"message.triggered-event": "Ausgelöstes Event",
|
||||
"message.transfer-team-website-to-user": "Diese Website zu Ihrem Account transferieren?",
|
||||
"message.transfer-user-website-to-team": "Wählen Sie ein Team aus, zu dem die Website transferiert werden soll.",
|
||||
"message.transfer-website": "Übertragen Sie die Eigentümerrechte zu Ihrem Account oder einem anderen Team.",
|
||||
"message.triggered-event": "Ausgelöstes Ereigniss",
|
||||
"message.user-deleted": "Benutzer gelöscht.",
|
||||
"message.viewed-page": "Besuchte Seite",
|
||||
"message.viewed-page": "Seite besucht",
|
||||
"message.visitor-log": "Besucher aus {country} benutzt {browser} auf {os} {device}",
|
||||
"message.visitors-dropped-off": "Besucherverlust"
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"label.access-code": "액세스 코드",
|
||||
"label.actions": "액션",
|
||||
"label.activity": "활동 기록",
|
||||
"label.actions": "동작",
|
||||
"label.activity": "활동",
|
||||
"label.add": "추가",
|
||||
"label.add-description": "설명 추가",
|
||||
"label.add-member": "멤버 추가",
|
||||
@ -20,7 +20,7 @@
|
||||
"label.browser": "브라우저",
|
||||
"label.browsers": "브라우저",
|
||||
"label.cancel": "취소",
|
||||
"label.change-password": "비밀번호 변경하기",
|
||||
"label.change-password": "비밀번호 변경",
|
||||
"label.cities": "도시",
|
||||
"label.city": "도시",
|
||||
"label.clear-all": "모두 지우기",
|
||||
@ -32,10 +32,10 @@
|
||||
"label.count": "수",
|
||||
"label.countries": "국가",
|
||||
"label.country": "국가",
|
||||
"label.create": "생성",
|
||||
"label.create-report": "리포트 생성",
|
||||
"label.create-team": "팀 생성",
|
||||
"label.create-user": "사용자 생성",
|
||||
"label.create": "만들기",
|
||||
"label.create-report": "보고서 만들기",
|
||||
"label.create-team": "팀 만들기",
|
||||
"label.create-user": "사용자 만들기",
|
||||
"label.created": "생성됨",
|
||||
"label.created-by": "작성자",
|
||||
"label.current": "현재",
|
||||
@ -48,13 +48,13 @@
|
||||
"label.day": "일",
|
||||
"label.default-date-range": "기본 날짜 범위",
|
||||
"label.delete": "삭제",
|
||||
"label.delete-report": "리포트 삭제",
|
||||
"label.delete-report": "보고서 삭제",
|
||||
"label.delete-team": "팀 삭제",
|
||||
"label.delete-user": "사용자 삭제",
|
||||
"label.delete-website": "웹사이트 삭제",
|
||||
"label.description": "설명",
|
||||
"label.desktop": "데스크탑",
|
||||
"label.details": "세부 사항",
|
||||
"label.desktop": "데스크톱",
|
||||
"label.details": "세부 정보",
|
||||
"label.device": "기기",
|
||||
"label.devices": "기기",
|
||||
"label.dismiss": "무시하기",
|
||||
@ -63,9 +63,9 @@
|
||||
"label.dropoff": "이탈",
|
||||
"label.edit": "편집",
|
||||
"label.edit-dashboard": "대시보드 편집",
|
||||
"label.edit-member": "회원 편집",
|
||||
"label.edit-member": "멤버 편집",
|
||||
"label.enable-share-url": "URL 공유 활성화",
|
||||
"label.end-step": "종료 단계",
|
||||
"label.end-step": "마지막 단계",
|
||||
"label.entry": "입장 URL",
|
||||
"label.event": "이벤트",
|
||||
"label.event-data": "이벤트 데이터",
|
||||
@ -75,15 +75,15 @@
|
||||
"label.field": "필드",
|
||||
"label.fields": "필드",
|
||||
"label.filter": "필터",
|
||||
"label.filter-combined": "합쳐서 보기",
|
||||
"label.filter-combined": "합쳐 보기",
|
||||
"label.filter-raw": "전체 보기",
|
||||
"label.filters": "필터",
|
||||
"label.first-seen": "First seen",
|
||||
"label.first-seen": "첫 접속",
|
||||
"label.funnel": "퍼널",
|
||||
"label.funnel-description": "사용자 전환율 및 이탈률을 살펴보세요.",
|
||||
"label.goal": "목표",
|
||||
"label.goals": "목표",
|
||||
"label.goals-description": "페이지뷰 및 이벤트 목표를 추적합니다.",
|
||||
"label.goals-description": "페이지 조회 및 이벤트 목표를 추적합니다.",
|
||||
"label.greater-than": "이상",
|
||||
"label.greater-than-equals": "이상",
|
||||
"label.host": "호스트",
|
||||
@ -94,17 +94,17 @@
|
||||
"label.is-not": "해당하지 않음",
|
||||
"label.is-not-set": "설정되지 않음",
|
||||
"label.is-set": "설정됨",
|
||||
"label.join": "가입",
|
||||
"label.join-team": "팀 가입",
|
||||
"label.join": "가입하기",
|
||||
"label.join-team": "팀 가입하기",
|
||||
"label.journey": "여정",
|
||||
"label.journey-description": "사용자가 웹사이트를 탐색하는 경로를 살펴보세요.",
|
||||
"label.language": "언어",
|
||||
"label.languages": "언어",
|
||||
"label.laptop": "노트북",
|
||||
"label.last-days": "최근 {x} 일",
|
||||
"label.last-hours": "최근 {x} 시간",
|
||||
"label.last-months": "최근 {x} 개월",
|
||||
"label.last-seen": "Last seen",
|
||||
"label.last-days": "지난 {x}일",
|
||||
"label.last-hours": "지난 {x}시간",
|
||||
"label.last-months": "지난 {x}개월",
|
||||
"label.last-seen": "마지막 접속",
|
||||
"label.leave": "떠나기",
|
||||
"label.leave-team": "팀 떠나기",
|
||||
"label.less-than": "미만",
|
||||
@ -124,56 +124,56 @@
|
||||
"label.name": "이름",
|
||||
"label.new-password": "새 비밀번호",
|
||||
"label.none": "없음",
|
||||
"label.number-of-records": "{x} {x, plural, one {record} other {레코드}}",
|
||||
"label.number-of-records": "{x}개 레코드",
|
||||
"label.ok": "확인",
|
||||
"label.os": "운영체제",
|
||||
"label.os": "운영 체제",
|
||||
"label.overview": "개요",
|
||||
"label.owner": "소유자",
|
||||
"label.page-of": "{total} 중 {current} 페이지",
|
||||
"label.page-views": "페이지 뷰",
|
||||
"label.page-of": "페이지 {current}/{total}",
|
||||
"label.page-views": "페이지 조회",
|
||||
"label.pageTitle": "페이지 제목",
|
||||
"label.pages": "페이지",
|
||||
"label.password": "비밀번호",
|
||||
"label.path": "Path",
|
||||
"label.paths": "Paths",
|
||||
"label.powered-by": "이 시스템은 {name}에서 구동되고 있습니다.",
|
||||
"label.path": "패스",
|
||||
"label.paths": "패스",
|
||||
"label.powered-by": "Powered by {name}",
|
||||
"label.previous": "이전",
|
||||
"label.previous-period": "이전 기간",
|
||||
"label.previous-year": "이전 연도",
|
||||
"label.profile": "프로필",
|
||||
"label.properties": "Properties",
|
||||
"label.properties": "속성",
|
||||
"label.property": "속성",
|
||||
"label.queries": "쿼리",
|
||||
"label.query": "쿼리",
|
||||
"label.query-parameters": "쿼리 매개변수",
|
||||
"label.query-parameters": "쿼리 매개 변수",
|
||||
"label.realtime": "실시간",
|
||||
"label.referrer": "리퍼러",
|
||||
"label.referrers": "리퍼러",
|
||||
"label.refresh": "새로고침",
|
||||
"label.refresh": "새로 고침",
|
||||
"label.regenerate": "다시 생성",
|
||||
"label.region": "지역",
|
||||
"label.regions": "지역",
|
||||
"label.remove": "제거",
|
||||
"label.remove-member": "멤버 제거",
|
||||
"label.reports": "리포트",
|
||||
"label.reports": "보고서",
|
||||
"label.required": "필수",
|
||||
"label.reset": "리셋",
|
||||
"label.reset": "초기화",
|
||||
"label.reset-website": "웹사이트 초기화",
|
||||
"label.retention": "리텐션",
|
||||
"label.retention-description": "사용자가 얼마나 자주 돌아오는지를 추적하여 웹사이트의 리텐션을 측정하십시오.",
|
||||
"label.revenue": "Revenue",
|
||||
"label.revenue-description": "Look into your revenue across time.",
|
||||
"label.revenue-property": "Revenue Property",
|
||||
"label.revenue": "수익",
|
||||
"label.revenue-description": "시간대별 수익을 살펴보세요.",
|
||||
"label.revenue-property": "수익 속성",
|
||||
"label.role": "역할",
|
||||
"label.run-query": "쿼리 실행",
|
||||
"label.save": "저장",
|
||||
"label.screens": "스크린",
|
||||
"label.screens": "화면",
|
||||
"label.search": "검색",
|
||||
"label.select": "선택",
|
||||
"label.select-date": "날짜 선택",
|
||||
"label.select-role": "역할 선택",
|
||||
"label.select-website": "웹사이트 선택",
|
||||
"label.session": "Session",
|
||||
"label.session": "세션",
|
||||
"label.sessions": "세션",
|
||||
"label.settings": "설정",
|
||||
"label.share-url": "공유 URL",
|
||||
@ -200,43 +200,43 @@
|
||||
"label.today": "오늘",
|
||||
"label.toggle-charts": "차트 전환",
|
||||
"label.total": "합계",
|
||||
"label.total-records": "총 레코드",
|
||||
"label.total-records": "전체 레코드",
|
||||
"label.tracking-code": "추적 코드",
|
||||
"label.transactions": "Transactions",
|
||||
"label.transactions": "거래",
|
||||
"label.transfer": "전송",
|
||||
"label.transfer-website": "웹사이트 전송",
|
||||
"label.true": "참",
|
||||
"label.type": "유형",
|
||||
"label.unique": "고유",
|
||||
"label.unique-visitors": "순방문자(UV)",
|
||||
"label.uniqueCustomers": "Unique Customers",
|
||||
"label.unique-visitors": "고유 방문자",
|
||||
"label.uniqueCustomers": "고유 고객",
|
||||
"label.unknown": "알 수 없음",
|
||||
"label.untitled": "제목 없음",
|
||||
"label.update": "업데이트",
|
||||
"label.url": "URL",
|
||||
"label.urls": "URL",
|
||||
"label.user": "사용자",
|
||||
"label.user-property": "User Property",
|
||||
"label.username": "사용자명",
|
||||
"label.user-property": "사용자 속성",
|
||||
"label.username": "사용자 이름",
|
||||
"label.users": "사용자",
|
||||
"label.utm": "UTM",
|
||||
"label.utm-description": "UTM 매개변수를 통해 캠페인을 추적합니다.",
|
||||
"label.value": "값",
|
||||
"label.view": "보기",
|
||||
"label.view-details": "상세보기",
|
||||
"label.view-details": "자세히 보기",
|
||||
"label.view-only": "보기 전용",
|
||||
"label.views": "조회수",
|
||||
"label.views-per-visit": "방문당 조회수",
|
||||
"label.views": "조회",
|
||||
"label.views-per-visit": "방문당 조회",
|
||||
"label.visit-duration": "평균 방문 시간",
|
||||
"label.visitors": "방문객",
|
||||
"label.visitors": "방문자",
|
||||
"label.visits": "방문",
|
||||
"label.website": "웹사이트",
|
||||
"label.website-id": "웹사이트 ID",
|
||||
"label.websites": "웹사이트",
|
||||
"label.window": "창",
|
||||
"label.yesterday": "어제",
|
||||
"message.action-confirmation": "확인을 위해 아래 상자에 {confirmation}을(를) 입력하십시오.",
|
||||
"message.active-users": "{x}명의 사용자가 보는 중입니다.",
|
||||
"message.action-confirmation": "확인을 위해 아래 상자에 {confirmation}을(를) 입력하세요.",
|
||||
"message.active-users": "현재 방문자 {x}명",
|
||||
"message.collected-data": "수집된 데이터",
|
||||
"message.confirm-delete": "{target}을(를) 삭제하시겠습니까?",
|
||||
"message.confirm-leave": "{target}을(를) 떠나시겠습니까?",
|
||||
@ -244,36 +244,36 @@
|
||||
"message.confirm-reset": "{target}을(를) 초기화하시겠습니까?",
|
||||
"message.delete-team-warning": "팀을 삭제하면 팀에 등록된 모든 웹사이트도 삭제됩니다.",
|
||||
"message.delete-website-warning": "관련된 모든 데이터가 삭제됩니다.",
|
||||
"message.error": "오류가 발생하였습니다.",
|
||||
"message.error": "오류가 발생했습니다.",
|
||||
"message.event-log": "{event} - {url}",
|
||||
"message.go-to-settings": "설정으로 이동",
|
||||
"message.incorrect-username-password": "사용자 이름/비밀번호가 잘못되었습니다.",
|
||||
"message.invalid-domain": "잘못된 도메인",
|
||||
"message.min-password-length": "최소 길이는 {n}자입니다",
|
||||
"message.new-version-available": "새 버전이 사용 가능합니다! - Umami {version}",
|
||||
"message.no-data-available": "사용 가능한 데이터가 없습니다.",
|
||||
"message.no-event-data": "사용 가능한 이벤트 데이터가 없습니다.",
|
||||
"message.no-match-password": "비밀번호가 일치하지 않음",
|
||||
"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-team-websites": "팀에 웹사이트가 없습니다.",
|
||||
"message.no-teams": "만든 팀이 없습니다.",
|
||||
"message.no-users": "사용자가 없습니다.",
|
||||
"message.no-websites-configured": "설정된 웹사이트가 없습니다.",
|
||||
"message.page-not-found": "페이지를 찾을 수 없습니다.",
|
||||
"message.reset-website": "이 웹사이트를 초기화하려면, 아래 상자에 {confirmation}을(를) 입력하십시오.",
|
||||
"message.page-not-found": "페이지를 찾을 수 없음",
|
||||
"message.reset-website": "이 웹사이트를 초기화하려면 아래 상자에 {confirmation}을(를) 입력하세요.",
|
||||
"message.reset-website-warning": "이 웹사이트의 모든 통계가 삭제되지만 설정은 그대로 유지됩니다.",
|
||||
"message.saved": "성공적으로 저장되었습니다.",
|
||||
"message.saved": "저장했습니다.",
|
||||
"message.share-url": "아래 링크를 통해 웹사이트의 통계를 누구나 볼 수 있습니다.",
|
||||
"message.team-already-member": "이미 팀의 회원입니다.",
|
||||
"message.team-already-member": "이미 팀 멤버입니다.",
|
||||
"message.team-not-found": "팀을 찾을 수 없습니다.",
|
||||
"message.team-websites-info": "웹사이트는 팀의 누구나 볼 수 있습니다.",
|
||||
"message.tracking-code": "이 웹사이트의 통계를 추적하려면, 다음 코드를 HTML의 <head>...</head> 섹션에 추가하십시오.",
|
||||
"message.team-websites-info": "웹사이트는 팀 멤버 누구나 볼 수 있습니다.",
|
||||
"message.tracking-code": "이 웹사이트의 통계를 추적하려면 다음 코드를 HTML의 <head>...</head> 부분에 추가하세요.",
|
||||
"message.transfer-team-website-to-user": "이 웹사이트를 당신의 계정으로 전송하시겠습니까?",
|
||||
"message.transfer-user-website-to-team": "이 웹사이트를 전송받을 팀을 선택하십시오.",
|
||||
"message.transfer-user-website-to-team": "이 웹사이트를 전송받을 팀을 선택하세요.",
|
||||
"message.transfer-website": "웹사이트 소유권을 계정이나 다른 팀으로 전송합니다.",
|
||||
"message.triggered-event": "트리거된 이벤트",
|
||||
"message.user-deleted": "사용자가 삭제되었습니다.",
|
||||
"message.viewed-page": "페이지 조회",
|
||||
"message.visitor-log": "{country}의 {browser} 브라우저를 사용하는 {os} {device} 방문자",
|
||||
"message.visitors-dropped-off": "방문자가 이탈했습니다"
|
||||
"message.user-deleted": "사용자를 삭제했습니다.",
|
||||
"message.viewed-page": "조회한 페이지",
|
||||
"message.visitor-log": "{os} {device}에서 {browser}을(를) 사용하는 {country}의 방문자",
|
||||
"message.visitors-dropped-off": "방문자 이탈함"
|
||||
}
|
||||
|
@ -63,9 +63,9 @@ function getDateStringSQL(data: any, unit: string = 'utc', timezone?: string) {
|
||||
|
||||
function getDateSQL(field: string, unit: string, timezone?: string) {
|
||||
if (timezone) {
|
||||
return `date_trunc('${unit}', ${field}, '${timezone}')`;
|
||||
return `toDateTime(date_trunc('${unit}', ${field}, '${timezone}'), '${timezone}')`;
|
||||
}
|
||||
return `date_trunc('${unit}', ${field})`;
|
||||
return `toDateTime(date_trunc('${unit}', ${field}))`;
|
||||
}
|
||||
|
||||
function mapFilter(column: string, operator: string, name: string, type: string = 'String') {
|
||||
|
@ -14,17 +14,17 @@ const log = debug('umami:prisma');
|
||||
const MYSQL_DATE_FORMATS = {
|
||||
minute: '%Y-%m-%dT%H:%i:00',
|
||||
hour: '%Y-%m-%d %H:00:00',
|
||||
day: '%Y-%m-%d',
|
||||
month: '%Y-%m-01',
|
||||
year: '%Y-01-01',
|
||||
day: '%Y-%m-%d 00:00:00',
|
||||
month: '%Y-%m-01 00:00:00',
|
||||
year: '%Y-01-01 00:00:00',
|
||||
};
|
||||
|
||||
const POSTGRESQL_DATE_FORMATS = {
|
||||
minute: 'YYYY-MM-DD HH24:MI:00',
|
||||
hour: 'YYYY-MM-DD HH24:00:00',
|
||||
day: 'YYYY-MM-DD',
|
||||
month: 'YYYY-MM-01',
|
||||
year: 'YYYY-01-01',
|
||||
day: 'YYYY-MM-DD HH24:00:00',
|
||||
month: 'YYYY-MM-01 HH24:00:00',
|
||||
year: 'YYYY-01-01 HH24:00:00',
|
||||
};
|
||||
|
||||
function getAddIntervalQuery(field: string, interval: string): string {
|
||||
|
@ -41,8 +41,8 @@ async function clickhouseQuery(
|
||||
websiteId: string,
|
||||
filters: QueryFilters,
|
||||
): Promise<{ x: string; y: number }[]> {
|
||||
const { unit = 'day' } = filters;
|
||||
const { parseFilters, rawQuery } = clickhouse;
|
||||
const { timezone = 'utc', unit = 'day' } = filters;
|
||||
const { parseFilters, rawQuery, getDateSQL } = clickhouse;
|
||||
const { filterQuery, params } = await parseFilters(websiteId, {
|
||||
...filters,
|
||||
eventType: EVENT_TYPE.pageView,
|
||||
@ -57,7 +57,7 @@ async function clickhouseQuery(
|
||||
g.y as y
|
||||
from (
|
||||
select
|
||||
date_trunc('${unit}', created_at) as t,
|
||||
${getDateSQL('website_event.created_at', unit, timezone)} as t,
|
||||
count(*) as y
|
||||
from website_event
|
||||
where website_id = {websiteId:UUID}
|
||||
@ -75,7 +75,7 @@ async function clickhouseQuery(
|
||||
g.y as y
|
||||
from (
|
||||
select
|
||||
date_trunc('${unit}', created_at) as t,
|
||||
${getDateSQL('website_event.created_at', unit, timezone)} as t,
|
||||
sum(views)as y
|
||||
from website_event_stats_hourly website_event
|
||||
where website_id = {websiteId:UUID}
|
||||
|
@ -110,7 +110,7 @@ async function clickhouseQuery(
|
||||
}[]
|
||||
> {
|
||||
const { startDate, endDate, timezone = 'UTC' } = filters;
|
||||
const { getDateSQL, getDateStringSQL, rawQuery } = clickhouse;
|
||||
const { getDateSQL, rawQuery } = clickhouse;
|
||||
const unit = 'day';
|
||||
|
||||
return rawQuery(
|
||||
@ -152,7 +152,7 @@ async function clickhouseQuery(
|
||||
group by 1, 2
|
||||
)
|
||||
select
|
||||
${getDateStringSQL('c.cohort_date', unit)} as date,
|
||||
c.cohort_date as date,
|
||||
c.day_number as day,
|
||||
s.visitors as visitors,
|
||||
c.visitors returnVisitors,
|
||||
|
@ -41,8 +41,8 @@ async function clickhouseQuery(
|
||||
websiteId: string,
|
||||
filters: QueryFilters,
|
||||
): Promise<{ x: string; y: number }[]> {
|
||||
const { unit = 'day' } = filters;
|
||||
const { parseFilters, rawQuery } = clickhouse;
|
||||
const { timezone = 'utc', unit = 'day' } = filters;
|
||||
const { parseFilters, rawQuery, getDateSQL } = clickhouse;
|
||||
const { filterQuery, params } = await parseFilters(websiteId, {
|
||||
...filters,
|
||||
eventType: EVENT_TYPE.pageView,
|
||||
@ -57,7 +57,7 @@ async function clickhouseQuery(
|
||||
g.y as y
|
||||
from (
|
||||
select
|
||||
date_trunc('${unit}', created_at) as t,
|
||||
${getDateSQL('website_event.created_at', unit, timezone)} as t,
|
||||
count(distinct session_id) as y
|
||||
from website_event
|
||||
where website_id = {websiteId:UUID}
|
||||
@ -75,7 +75,7 @@ async function clickhouseQuery(
|
||||
g.y as y
|
||||
from (
|
||||
select
|
||||
date_trunc('${unit}', created_at) as t,
|
||||
${getDateSQL('website_event.created_at', unit, timezone)} as t,
|
||||
uniq(session_id) as y
|
||||
from website_event_stats_hourly website_event
|
||||
where website_id = {websiteId:UUID}
|
||||
|
@ -222,6 +222,16 @@
|
||||
}
|
||||
};
|
||||
|
||||
const init = () => {
|
||||
if (!initialized) {
|
||||
track();
|
||||
handlePathChanges();
|
||||
handleTitleChanges();
|
||||
handleClicks();
|
||||
initialized = true;
|
||||
}
|
||||
};
|
||||
|
||||
const track = (obj, data) => {
|
||||
if (typeof obj === 'string') {
|
||||
return send({
|
||||
@ -255,19 +265,10 @@
|
||||
let initialized;
|
||||
|
||||
if (autoTrack && !trackingDisabled()) {
|
||||
handlePathChanges();
|
||||
handleTitleChanges();
|
||||
handleClicks();
|
||||
|
||||
const init = () => {
|
||||
if (document.readyState === 'complete' && !initialized) {
|
||||
track();
|
||||
initialized = true;
|
||||
}
|
||||
};
|
||||
|
||||
document.addEventListener('readystatechange', init, true);
|
||||
|
||||
if (document.readyState === 'complete') {
|
||||
init();
|
||||
} else {
|
||||
document.addEventListener('readystatechange', init, true);
|
||||
}
|
||||
}
|
||||
})(window);
|
||||
|
Loading…
x
Reference in New Issue
Block a user