From b10bf3d04543e27d6ebcd9b8e3851d333f3dd0a9 Mon Sep 17 00:00:00 2001
From: Petr
Date: Thu, 22 Oct 2020 17:02:11 +0200
Subject: [PATCH 1/8] Czech translation
---
lang/cs-CZ.json | 99 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 99 insertions(+)
create mode 100644 lang/cs-CZ.json
diff --git a/lang/cs-CZ.json b/lang/cs-CZ.json
new file mode 100644
index 00000000..57493e98
--- /dev/null
+++ b/lang/cs-CZ.json
@@ -0,0 +1,99 @@
+{
+ "label.accounts": "Účty",
+ "label.add-account": "Přidat účet",
+ "label.add-website": "Přidat web",
+ "label.administrator": "Administrátor",
+ "label.all": "Vše",
+ "label.all-websites": "Všechny weby",
+ "label.back": "Zpět",
+ "label.cancel": "Zrušit",
+ "label.change-password": "Změnit heslo",
+ "label.confirm-password": "Potvrdit heslo",
+ "label.copy-to-clipboard": "Kopírovat do schránky",
+ "label.current-password": "Aktuální heslo",
+ "label.custom-range": "Vlastní rozsah",
+ "label.dashboard": "Přehled",
+ "label.date-range": "Období",
+ "label.default-date-range": "Výchozí období",
+ "label.delete": "Smazat",
+ "label.delete-account": "Smazat účet",
+ "label.delete-website": "Smazat web",
+ "label.dismiss": "Odejít",
+ "label.domain": "Doména",
+ "label.edit": "Upravit",
+ "label.edit-account": "Upravit účet",
+ "label.edit-website": "Upravit web",
+ "label.enable-share-url": "Povolit sdílení URL",
+ "label.invalid": "Neplatný",
+ "label.invalid-domain": "Neplatná doména",
+ "label.last-days": "Posledních {x} dnů",
+ "label.last-hours": "Posledních {x} hodin",
+ "label.logged-in-as": "Přihlášený jako {username}",
+ "label.login": "Přihlásit",
+ "label.logout": "Odhlásit",
+ "label.more": "Více",
+ "label.name": "Jméno",
+ "label.new-password": "Nové heslo",
+ "label.password": "Heslo",
+ "label.passwords-dont-match": "Hesla se neschodují",
+ "label.profile": "Profil",
+ "label.realtime": "Aktuálně",
+ "label.realtime-logs": "Aktuální záznamy",
+ "label.refresh": "Obnovit",
+ "label.required": "Vyžadováno",
+ "label.reset": "Reset",
+ "label.save": "Uložit",
+ "label.settings": "Nastavení",
+ "label.share-url": "Sdílet URL",
+ "label.single-day": "Jeden den",
+ "label.this-month": "Tento měsíc",
+ "label.this-week": "Tento týden",
+ "label.this-year": "Tento rok",
+ "label.timezone": "Časová zóna",
+ "label.today": "Dnes",
+ "label.tracking-code": "Sledovací kód",
+ "label.unknown": "Neznámý",
+ "label.username": "Uživatelské jméno",
+ "label.view-details": "Zobrazit detaily",
+ "label.websites": "Weby",
+ "message.active-users": "{x} aktuálně {x, plural, one {návštěvník} other {návštěvníci}}",
+ "message.confirm-delete": "Opravdu smazat {target}?",
+ "message.copied": "Zkopírováno!",
+ "message.delete-warning": "Všechna související data budou také smazána.",
+ "message.failure": "Něco se pokazilo.",
+ "message.get-share-url": "Získat sdílené URL",
+ "message.get-tracking-code": "Získat měřící kód",
+ "message.go-to-settings": "Jít do nastavení",
+ "message.incorrect-username-password": "Nesprávné jméno/heslo.",
+ "message.log.visitor": "Návštěvník z {country} s prohlížečem {browser} na {os} {device}",
+ "message.new-version-available": "Nová verze umami {version} je k dispozici!",
+ "message.no-data-available": "Žádná data.",
+ "message.no-websites-configured": "Nemáte nastavený žádný web.",
+ "message.page-not-found": "Stránka nenalezena.",
+ "message.powered-by": "Běží na {name}",
+ "message.save-success": "Úspěšně uloženo.",
+ "message.share-url": "Toto je sdílené URL pro {target}.",
+ "message.track-stats": "Pro sledování návštěv na {target}, přidejte následující kód do {head} části vašeho webu.",
+ "message.type-delete": "Napište {delete} pro potvrzení.",
+ "metrics.actions": "Akce",
+ "metrics.average-visit-time": "Průměrný čas návštěvy",
+ "metrics.bounce-rate": "Okamžité opuštění",
+ "metrics.browsers": "Prohlížeč",
+ "metrics.countries": "Země",
+ "metrics.device.desktop": "Stolní počítač",
+ "metrics.device.laptop": "Přenosný počítač",
+ "metrics.device.mobile": "Mobilní telefon",
+ "metrics.device.tablet": "Tablet",
+ "metrics.devices": "Zařízení",
+ "metrics.events": "Události",
+ "metrics.filter.combined": "Kombinace",
+ "metrics.filter.domain-only": "Domény",
+ "metrics.filter.raw": "Nezpracované",
+ "metrics.operating-systems": "Operační systém",
+ "metrics.page-views": "Zobrazení stránek",
+ "metrics.pages": "Stránky",
+ "metrics.referrers": "Odkazy",
+ "metrics.unique-visitors": "Jedinečné návštěvy",
+ "metrics.views": "Zobrazení",
+ "metrics.visitors": "Návštěvy"
+}
From 5b84378731d0fb3a170df913a27a3f2542b5aa23 Mon Sep 17 00:00:00 2001
From: Mike Cao
Date: Thu, 22 Oct 2020 10:36:08 -0700
Subject: [PATCH 2/8] Added Czech language.
---
lang-ignore.json | 1 +
lib/lang.js | 33 +++++++++++++++++++--------------
package.json | 2 +-
scripts/check-lang.js | 5 +++++
4 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/lang-ignore.json b/lang-ignore.json
index 56042b8d..8a01beb9 100644
--- a/lang-ignore.json
+++ b/lang-ignore.json
@@ -1,4 +1,5 @@
{
+ "cs-CZ": ["label.reset", "metrics.device.tablet"],
"de-DE": [
"label.administrator",
"label.name",
diff --git a/lib/lang.js b/lib/lang.js
index 25fcb5d7..07df1837 100644
--- a/lib/lang.js
+++ b/lib/lang.js
@@ -1,24 +1,25 @@
import { format } from 'date-fns';
import {
- enUS,
- nl,
- zhCN,
- zhTW,
- tr,
- ru,
- de,
- ja,
- es,
- fr,
+ cs,
da,
- sv,
+ de,
el,
+ enUS,
+ es,
+ fi,
+ fr,
+ id,
+ ja,
+ nb,
+ nl,
pt,
ro,
- nb,
- id,
+ ru,
+ sv,
+ tr,
uk,
- fi,
+ zhCN,
+ zhTW,
} from 'date-fns/locale';
import enMessages from 'lang-compiled/en-US.json';
import nlMessages from 'lang-compiled/nl-NL.json';
@@ -41,6 +42,7 @@ import nbNOMessages from 'lang-compiled/nb-NO.json';
import idMessages from 'lang-compiled/id-ID.json';
import ukMessages from 'lang-compiled/uk-UA.json';
import fiMessages from 'lang-compiled/fi-FI.json';
+import csMessages from 'lang-compiled/cs-CZ.json';
export const messages = {
'en-US': enMessages,
@@ -64,6 +66,7 @@ export const messages = {
'id-ID': idMessages,
'uk-UA': ukMessages,
'fi-FI': fiMessages,
+ 'cs-CZ': csMessages,
};
export const dateLocales = {
@@ -88,11 +91,13 @@ export const dateLocales = {
'id-ID': id,
'uk-UA': uk,
'fi-FI': fi,
+ 'cs-CZ': cs,
};
export const menuOptions = [
{ label: '中文', value: 'zh-CN', display: 'cn' },
{ label: '中文(繁體)', value: 'zh-TW', display: 'tw' },
+ { label: 'Čeština', value: 'cs-CZ', display: 'cs' },
{ label: 'Dansk', value: 'da-DK', display: 'da' },
{ label: 'Deutsch', value: 'de-DE', display: 'de' },
{ label: 'English', value: 'en-US', display: 'en' },
diff --git a/package.json b/package.json
index b6dea4b1..889afc1b 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "umami",
- "version": "1.0.0",
+ "version": "1.1.0",
"description": "A simple, fast, website analytics alternative to Google Analytics. ",
"author": "Mike Cao ",
"license": "MIT",
diff --git a/scripts/check-lang.js b/scripts/check-lang.js
index b843efeb..823d7115 100644
--- a/scripts/check-lang.js
+++ b/scripts/check-lang.js
@@ -7,12 +7,17 @@ const ignore = require('../lang-ignore.json');
const dir = path.resolve(__dirname, '../lang');
const files = fs.readdirSync(dir);
const keys = Object.keys(messages).sort();
+const filter = process.argv?.[2];
files.forEach(file => {
if (file !== 'en-US.json') {
const lang = require(`../lang/${file}`);
const id = file.replace('.json', '');
+ if (filter && filter !== id) {
+ return;
+ }
+
console.log(chalk.yellowBright(`\n## ${file.replace('.json', '')}`));
let count = 0;
keys.forEach(key => {
From 57d459f78fa5eee605f572b41464754361df5cf4 Mon Sep 17 00:00:00 2001
From: Arnelle Balane
Date: Fri, 23 Oct 2020 02:00:58 +0800
Subject: [PATCH 3/8] Position error tooltip below form field on narrow screen
sizes
---
components/forms/AccountEditForm.js | 12 ++++++++----
components/forms/ChangePasswordForm.js | 18 ++++++++++++------
components/forms/DeleteForm.js | 6 ++++--
components/forms/LoginForm.js | 12 ++++++++----
components/forms/WebsiteEditForm.js | 12 ++++++++----
components/layout/FormLayout.module.css | 20 ++++++++++++++++++--
6 files changed, 58 insertions(+), 22 deletions(-)
diff --git a/components/forms/AccountEditForm.js b/components/forms/AccountEditForm.js
index 63949f00..cc000cf7 100644
--- a/components/forms/AccountEditForm.js
+++ b/components/forms/AccountEditForm.js
@@ -58,15 +58,19 @@ export default function AccountEditForm({ values, onSave, onClose }) {
-
-
+
+
+
+
-
-
+
+
+
+
-
-
+
+
+
+
-
-
+
+
+
+
-
-
+
+
+
+
diff --git a/components/forms/WebsiteEditForm.js b/components/forms/WebsiteEditForm.js
index dc87999e..7be89f79 100644
--- a/components/forms/WebsiteEditForm.js
+++ b/components/forms/WebsiteEditForm.js
@@ -63,15 +63,19 @@ export default function WebsiteEditForm({ values, onSave, onClose }) {
-
-
+
+
+
+
-
-
+
+
+
+
diff --git a/components/layout/FormLayout.module.css b/components/layout/FormLayout.module.css
index 90e1b8c2..1ae393bb 100644
--- a/components/layout/FormLayout.module.css
+++ b/components/layout/FormLayout.module.css
@@ -17,6 +17,10 @@
line-height: 1.8;
}
+.row > div {
+ position: relative;
+}
+
.buttons {
display: flex;
justify-content: center;
@@ -33,9 +37,9 @@
justify-content: center;
align-items: center;
top: 0;
- left: 100%;
+ left: calc(100% + 16px);
bottom: 0;
- margin-left: 16px;
+ z-index: 1;
}
.msg {
@@ -68,3 +72,15 @@
color: var(--gray50);
background: var(--gray800);
}
+
+@media only screen and (max-width: 576px) {
+ .error {
+ align-items: flex-start;
+ top: calc(100% + 7px);
+ left: 0;
+ }
+
+ .error:after {
+ left: 10px;
+ }
+}
From 55c73c57fe931f41fa4129e59c922fbe81eeabee Mon Sep 17 00:00:00 2001
From: Diogo Correia
Date: Sat, 24 Oct 2020 13:14:41 +0100
Subject: [PATCH 4/8] Update pt_PT translations to match newer strings
Signed-off-by: Diogo Correia
---
lang/pt-PT.json | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/lang/pt-PT.json b/lang/pt-PT.json
index 05cf5396..3ba2cccf 100644
--- a/lang/pt-PT.json
+++ b/lang/pt-PT.json
@@ -3,8 +3,8 @@
"label.add-account": "Adicionar conta",
"label.add-website": "Adicionar website",
"label.administrator": "Administrador",
- "label.all": "All",
- "label.all-websites": "All websites",
+ "label.all": "Todos",
+ "label.all-websites": "Todos os websites",
"label.back": "Voltar",
"label.cancel": "Cancelar",
"label.change-password": "Alterar palavra-passe",
@@ -37,8 +37,8 @@
"label.password": "Palavra-passe",
"label.passwords-dont-match": "Palavra-passes não correspondem",
"label.profile": "Perfil",
- "label.realtime": "Realtime",
- "label.realtime-logs": "Realtime logs",
+ "label.realtime": "Tempo real",
+ "label.realtime-logs": "Relatório em tempo real",
"label.refresh": "Atualizar",
"label.required": "Obrigatório",
"label.reset": "Repor",
@@ -65,7 +65,7 @@
"message.get-tracking-code": "Obter código de tracking",
"message.go-to-settings": "Ir para as definições",
"message.incorrect-username-password": "Nome de utilizador/palavra-passe incorretos.",
- "message.log.visitor": "Visitor from {country} using {browser} on {os} {device}",
+ "message.log.visitor": "Visitante de {country} a usar {browser} no {device} {os}",
"message.new-version-available": "Uma nova versão de umami {version} está disponível!",
"message.no-data-available": "Sem dados disponíveis.",
"message.no-websites-configured": "Não tens nenhum website configurado.",
From 9a31c637529507204494df28261a34db116c935b Mon Sep 17 00:00:00 2001
From: Paul Walker
Date: Sun, 25 Oct 2020 22:58:56 +0000
Subject: [PATCH 5/8] Add Procfile to tell Heroku how to start the app
---
Procfile | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Procfile
diff --git a/Procfile b/Procfile
new file mode 100644
index 00000000..edc6c9a0
--- /dev/null
+++ b/Procfile
@@ -0,0 +1 @@
+web: npm run start-env
From b432b2c22e6db6ef1494ea0ed19706042359a090 Mon Sep 17 00:00:00 2001
From: Paul Walker
Date: Mon, 26 Oct 2020 11:03:48 +0000
Subject: [PATCH 6/8] Default to '0.0.0.0' in start-env.js
---
scripts/start-env.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/start-env.js b/scripts/start-env.js
index 05823b7a..63b66369 100644
--- a/scripts/start-env.js
+++ b/scripts/start-env.js
@@ -1,3 +1,3 @@
const cli = require('next/dist/cli/next-start');
-cli.nextStart(['-p', process.env.PORT || 3000, '-H', process.env.HOSTNAME || 'localhost']);
+cli.nextStart(['-p', process.env.PORT || 3000, '-H', process.env.HOSTNAME || '0.0.0.0']);
From ce6af4621917e84626f5db6eff54505febdefe54 Mon Sep 17 00:00:00 2001
From: Florens Verschelde
Date: Mon, 26 Oct 2020 15:27:01 +0100
Subject: [PATCH 7/8] WebsiteHeader title: fix mispelled CSS variable
---
components/metrics/WebsiteHeader.module.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/metrics/WebsiteHeader.module.css b/components/metrics/WebsiteHeader.module.css
index 67d23e61..5b5876c6 100644
--- a/components/metrics/WebsiteHeader.module.css
+++ b/components/metrics/WebsiteHeader.module.css
@@ -1,5 +1,5 @@
.title {
- color: var(--gray-900);
+ color: var(--gray900);
font-size: var(--font-size-large);
line-height: var(--font-size-large);
}
From aaf4c605be21a5a9d3b4b2670ecce63c7abc581e Mon Sep 17 00:00:00 2001
From: Mike Cao
Date: Mon, 26 Oct 2020 09:10:50 -0700
Subject: [PATCH 8/8] Bump version.
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 889afc1b..7426e33a 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "umami",
- "version": "1.1.0",
+ "version": "1.2.0",
"description": "A simple, fast, website analytics alternative to Google Analytics. ",
"author": "Mike Cao ",
"license": "MIT",