Merge pull request #405 from mikecao/dev

v1.9.0
This commit is contained in:
Mike Cao 2020-12-04 23:48:11 -08:00 committed by GitHub
commit fe084756b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 767 additions and 577 deletions

View File

@ -17,7 +17,7 @@ export default function EventsTable({ websiteId, ...props }) {
}
const Label = ({ value }) => {
const [event, label] = value.split(':');
const [event, label] = value.split('\t');
return (
<>
<Tag>{event}</Tag>

View File

@ -60,7 +60,7 @@
"message.confirm-delete": "Sind sie sich sicher {target} zu löschen?",
"message.copied": "In Zwischenablage kopiert!",
"message.delete-warning": "Alle zugehörigen Daten werden auch gelöscht.",
"message.failure": "Es it ein Fehler aufgetreten.",
"message.failure": "Es ist ein Fehler aufgetreten.",
"message.get-share-url": "Freigabe-URL abrufen",
"message.get-tracking-code": "Erstelle Tracking Kennung",
"message.go-to-settings": "Zu den Einstellungen",
@ -72,7 +72,7 @@
"message.page-not-found": "Seite nicht gefunden.",
"message.powered-by": "Ermöglicht durch {name}",
"message.save-success": "Erfolgreich gespeichert.",
"message.share-url": "Dies ist der öffentliche URL zum Teilen für {target}.",
"message.share-url": "Dies ist die öffentliche URL zum Teilen für {target}.",
"message.track-stats": "Um die Statistiken für {target} zu übermitteln, platzieren Sie bitte den folgenden Quelltext im {head} ihrer Homepage.",
"message.type-delete": "Geben Sie {delete} in das Feld unten ein um zu bestätigen.",
"metrics.actions": "Aktionen",

99
lang/he-IL.json Normal file
View File

@ -0,0 +1,99 @@
{
"label.accounts": "חשבונות",
"label.add-account": "הוספה",
"label.add-website": "הוספת אתר",
"label.administrator": "מנהל",
"label.all": "הכל",
"label.all-websites": "כל האתרים",
"label.back": "חזרה",
"label.cancel": "ביטול",
"label.change-password": "שינוי סיסמה",
"label.confirm-password": "אישור סיסמה",
"label.copy-to-clipboard": "העתקה",
"label.current-password": "סיסמה נוכחית",
"label.custom-range": "טווח מותאם",
"label.dashboard": "דשבורד",
"label.date-range": "טווח תאריכים",
"label.default-date-range": "טווח תאריכים בברירת מחדל",
"label.delete": "הסרה",
"label.delete-account": "הסרת חשבון",
"label.delete-website": "הסרת אתר",
"label.dismiss": "שיחרור",
"label.domain": "דומיין",
"label.edit": "עריכה",
"label.edit-account": "עריכת חשבון",
"label.edit-website": "עריכת אתר",
"label.enable-share-url": "הפעלת URL שיתוף",
"label.invalid": "לא תקין",
"label.invalid-domain": "דומיין לא תקין",
"label.last-days": "{x} ימים אחרונים",
"label.last-hours": "{x} שעות אחרונות",
"label.logged-in-as": "מחובר כ-{username}",
"label.login": "התחברות",
"label.logout": "התנתקות",
"label.more": "עוד",
"label.name": "שם",
"label.new-password": "סיסמה חדשה",
"label.password": "סיסמה",
"label.passwords-dont-match": "סיסמאות לא תואמות",
"label.profile": "פרופיל",
"label.realtime": "זמן אמת",
"label.realtime-logs": "לוגים - זמן אמת",
"label.refresh": "רענון",
"label.required": "נדרש",
"label.reset": "איפוס",
"label.save": "שמירה",
"label.settings": "הגדרות",
"label.share-url": "שיתוף URL",
"label.single-day": "יום בודד",
"label.this-month": "החודש",
"label.this-week": "השבוע",
"label.this-year": "השנה",
"label.timezone": "אזור זמן",
"label.today": "היום",
"label.tracking-code": "קוד מעקב",
"label.unknown": "לא ידוע",
"label.username": "שם משתמש",
"label.view-details": "פרטים נוספים",
"label.websites": "אתרים",
"message.active-users": "{x} נוכחיים {x, plural, one {מבקר} other {מבקרים}}",
"message.confirm-delete": "האם באמת למחוק את {target}?",
"message.copied": "הועתק!",
"message.delete-warning": "כל המידע המקושר יימחק",
"message.failure": "משהו השתבש",
"message.get-share-url": "קבלת URL שיתוף",
"message.get-tracking-code": "קבלת קוד מעקב",
"message.go-to-settings": "להדרותג",
"message.incorrect-username-password": "שם משתמש או סיסמה לא נכונים",
"message.log.visitor": "מבקר ממדינת {country} משתמבש בדפדפן {browser} ב-{os} {device}",
"message.new-version-available": "גרסה חדשה של Umami {version} זמינה!",
"message.no-data-available": "אין מידע זמין",
"message.no-websites-configured": "לא מוגדרים אתרים",
"message.page-not-found": "דף לא נמצא",
"message.powered-by": "Powered by {name}",
"message.save-success": "נשמר בהצלחה",
"message.share-url": "זהו URL ציבורי עבור {target}",
"message.track-stats": "יש להוסיף את הקוד הבא לאזור ה-{head} של האתר",
"message.type-delete": "הקלידו {delete} בתיבה על מנת לאשר",
"metrics.actions": "פעולות",
"metrics.average-visit-time": "זמן ביקור ממוצע",
"metrics.bounce-rate": "Bounce rate",
"metrics.browsers": "דפדפנים",
"metrics.countries": "מדינות",
"metrics.device.desktop": "דסקטופ",
"metrics.device.laptop": "לפטופ",
"metrics.device.mobile": "מובייל",
"metrics.device.tablet": "טאבלט",
"metrics.devices": "מכשירים",
"metrics.events": "אירועים",
"metrics.filter.combined": "משותף",
"metrics.filter.domain-only": "דומיין בלבד",
"metrics.filter.raw": "גולמי",
"metrics.operating-systems": "מערכות הפעלה",
"metrics.page-views": "צפיות בדפים",
"metrics.pages": "דפים",
"metrics.referrers": "מפנים",
"metrics.unique-visitors": "מבקרים ייחודיים",
"metrics.views": "צפיות",
"metrics.visitors": "מבקרים"
}

View File

@ -8,6 +8,7 @@ import {
es,
fi,
fr,
he,
hi,
id,
ja,
@ -49,6 +50,7 @@ import csMessages from 'lang-compiled/cs-CZ.json';
import plMessages from 'lang-compiled/pl-PL.json';
import taMessages from 'lang-compiled/ta-IN.json';
import hiMessages from 'lang-compiled/hi-IN.json';
import heMessages from 'lang-compiled/he-IL.json';
export const messages = {
'en-US': enMessages,
@ -76,6 +78,7 @@ export const messages = {
'pl-PL': plMessages,
'ta-IN': taMessages,
'hi-IN': hiMessages,
'he-IL': heMessages,
};
export const dateLocales = {
@ -104,6 +107,7 @@ export const dateLocales = {
'pl-PL': pl,
'ta-In': ta,
'hi-IN': hi,
'he-IL': he,
};
export const menuOptions = [
@ -117,6 +121,7 @@ export const menuOptions = [
{ label: 'Føroyskt', value: 'fo-FO', display: 'fo' },
{ label: 'Français', value: 'fr-FR', display: 'fr' },
{ label: 'Ελληνικά', value: 'el-GR', display: 'el' },
{ label: 'עברית', value: 'he-IL', display: 'he' },
{ label: 'हिन्दी', value: 'hi-IN', display: 'hi' },
{ label: 'Bahasa Indonesia', value: 'id-ID', display: 'id' },
{ label: '日本語', value: 'ja-JP', display: 'ja' },

View File

@ -6,6 +6,7 @@ module.exports = {
VERSION: pkg.version,
FORCE_SSL: !!process.env.FORCE_SSL,
},
basePath: process.env.BASE_PATH,
webpack(config) {
config.module.rules.push({
test: /\.svg$/,
@ -28,6 +29,6 @@ module.exports = {
},
],
},
]
];
},
};

View File

@ -1,6 +1,6 @@
{
"name": "umami",
"version": "1.8.0",
"version": "1.9.0",
"description": "A simple, fast, website analytics alternative to Google Analytics. ",
"author": "Mike Cao <mike@mikecao.com>",
"license": "MIT",
@ -57,7 +57,7 @@
},
"dependencies": {
"@prisma/client": "2.12.1",
"@reduxjs/toolkit": "^1.4.0",
"@reduxjs/toolkit": "^1.5.0",
"bcrypt": "^5.0.0",
"chalk": "^4.1.0",
"chart.js": "^2.9.4",
@ -69,10 +69,10 @@
"detect-browser": "^5.2.0",
"dotenv": "^8.2.0",
"formik": "^2.2.5",
"immer": "^7.0.14",
"immer": "^8.0.0",
"is-localhost-ip": "^1.4.0",
"isbot-fast": "^1.2.0",
"jose": "^2.0.3",
"jose": "2.0.3",
"maxmind": "^4.3.1",
"moment-timezone": "^0.5.32",
"next": "^10.0.3",
@ -89,7 +89,7 @@
"redux": "^4.0.5",
"redux-thunk": "^2.3.0",
"request-ip": "^2.1.3",
"semver": "^7.3.2",
"semver": "^7.3.4",
"thenby": "^1.3.4",
"timezone-support": "^2.0.2",
"tinycolor2": "^1.4.2",
@ -99,10 +99,10 @@
"@formatjs/cli": "^2.13.15",
"@prisma/cli": "2.12.1",
"@rollup/plugin-buble": "^0.21.3",
"@rollup/plugin-node-resolve": "^10.0.0",
"@rollup/plugin-node-resolve": "^11.0.0",
"@rollup/plugin-replace": "^2.3.4",
"@svgr/webpack": "^5.4.0",
"cross-env": "^7.0.2",
"@svgr/webpack": "^5.5.0",
"cross-env": "^7.0.3",
"del": "^6.0.0",
"dotenv-cli": "^4.0.0",
"eslint": "^7.14.0",
@ -115,7 +115,7 @@
"lint-staged": "^10.5.2",
"loadtest": "5.1.0",
"npm-run-all": "^4.1.5",
"postcss-flexbugs-fixes": "^4.2.1",
"postcss-flexbugs-fixes": "^5.0.2",
"postcss-import": "^13.0.0",
"postcss-preset-env": "^6.7.0",
"prettier": "^2.2.1",

View File

@ -1,5 +1,5 @@
import React from 'react';
import Head from "next/head";
import Head from 'next/head';
import { IntlProvider } from 'react-intl';
import { Provider } from 'react-redux';
import { useStore } from 'redux/store';
@ -10,7 +10,6 @@ import 'styles/variables.css';
import 'styles/bootstrap-grid.css';
import 'styles/index.css';
const Intl = ({ children }) => {
const [locale] = useLocale();
@ -29,15 +28,15 @@ export default function App({ Component, pageProps }) {
return (
<Provider store={store}>
<Head>
<Head>
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/>
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
<link rel="manifest" href="/site.webmanifest" />
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5" />
<meta name="msapplication-TileColor" content="#da532c" />
<meta name="theme-color" content="#ffffff" />
</Head>
</Head>
<Intl>
<Component {...pageProps} />
</Intl>

View File

@ -20,7 +20,7 @@ function getTable(type) {
function getColumn(type) {
if (type === 'event') {
return `concat(event_type, ':', event_value)`;
return `concat(event_type, '\t', event_value)`;
}
return type;
}

File diff suppressed because one or more lines are too long

View File

@ -35,7 +35,7 @@ import { removeTrailingSlash } from '../lib/url';
const root = hostUrl
? removeTrailingSlash(hostUrl)
: new URL(script.src).href.split('/').slice(0, -1).join('/');
: script.src.split('/').slice(0, -1).join('/');
const screen = `${width}x${height}`;
const listeners = [];
let currentUrl = `${pathname}${search}`;
@ -139,8 +139,7 @@ import { removeTrailingSlash } from '../lib/url';
const newUrl = url.toString();
if (newUrl.substring(0, 4) === 'http') {
const { pathname, search } = new URL(newUrl);
currentUrl = `${pathname}${search}`;
currentUrl = '/' + newUrl.split('/').splice(3).join('/');
} else {
currentUrl = newUrl;
}
@ -156,6 +155,8 @@ import { removeTrailingSlash } from '../lib/url';
const umami = event_value => trackEvent(event_value);
umami.trackView = trackView;
umami.trackEvent = trackEvent;
umami.addEvents = addEvents;
umami.removeEvents = removeEvents;
window.umami = umami;
}

1182
yarn.lock

File diff suppressed because it is too large Load Diff