Compare commits

..

85 Commits

Author SHA1 Message Date
Louis Lam
b31af8a15c update to 1.12.1 2022-02-26 17:05:13 +08:00
Louis Lam
60f67ccb35 Revert commit: a6fd626f 2022-02-26 16:57:13 +08:00
Louis Lam
81a9807a0a Update release procedures 2022-02-26 16:03:43 +08:00
Louis Lam
3681934d05 Update Apprise to 0.9.7 2022-02-26 15:57:26 +08:00
Louis Lam
d5d63474d8 update to 1.12.0 2022-02-26 15:41:32 +08:00
Louis Lam
a6fd626fb8 Locked Russian language, ask Putin to stop the war and unlock it 2022-02-26 14:56:57 +08:00
Louis Lam
3a5b413af4 Update axios to 0.26.0 due to vulnerability 2022-02-26 14:36:38 +08:00
Louis Lam
595cd93220 Check invalid interval 2022-02-24 15:11:17 +08:00
Louis Lam
e12c1511db Merge pull request #1330 from BCsabaEngine/master
fix: hu lang
2022-02-23 22:36:05 +08:00
Balázs Csaba
f3112c0b85 fix: hu lang 2022-02-23 09:35:56 +01:00
Louis Lam
af07850ddf Merge pull request #1287 from sovushik/patch-5
Update ru-RU.js
2022-02-21 15:12:27 +08:00
Louis Lam
211b44269c Do not close feature-request 2022-02-21 11:48:03 +08:00
Louis Lam
7638b73645 Fix #1300 2022-02-15 23:30:07 +08:00
Louis Lam
d0ed99a310 Merge pull request #1298 from ananthkamath/master
Fix mattermost couldn't find channel issue
2022-02-13 23:56:12 +08:00
Ananth Kamath
258d93be72 Fix mattermost couldn't find channel issue 2022-02-13 21:17:02 +05:30
Louis Lam
986ddd92ff Merge pull request #1198 from Buchtic/master
CSY translation
2022-02-13 14:11:00 +08:00
sovushik
79f99ce215 Update ru-RU.js
Add new string
2022-02-09 21:19:00 +05:00
Louis Lam
e7e30bf497 update to 1.11.4 2022-02-09 21:54:33 +08:00
Louis Lam
efaa55ad1f Merge pull request #1269 from holao09/master
Update Vietnamese language
2022-02-09 21:42:02 +08:00
Louis Lam
32a898bee5 Merge pull request #1270 from rovast/master
Update zh-CN  translation for setting module.
2022-02-09 21:36:07 +08:00
Louis Lam
561a0a3c9a Merge pull request #1278 from jamesmacwhite/disable-auth-lang
Fix minor typos on disable auth warning
2022-02-09 21:35:37 +08:00
Việt Nguyễn
daac9ddffc Update Vietnamese language
Cập nhật một số thông tin tiếng Việt
2022-02-09 16:17:10 +07:00
James White
6bd2ee8c69 Fix minor typos on disable auth warning 2022-02-08 21:53:15 +00:00
rovast
45dca072b2 Update zh-CN translation for setting module. 2022-02-07 15:28:21 +08:00
Louis Lam
742ad083e5 Fix security vulnerabilities 2022-02-03 12:26:50 +08:00
Louis Lam
27f4f5ee0b Merge remote-tracking branch 'origin/master' 2022-02-03 12:20:29 +08:00
Louis Lam
41f1686147 Fix security vulnerabilities 2022-02-03 12:20:15 +08:00
Louis Lam
faab1ead92 Merge pull request #1251 from dave9123/patch-2
id-ID.js - Fixed the grammar issue
2022-02-03 12:11:31 +08:00
dave9123
c1c1e2ba5b Fixed the grammar issue
Here's my pull request
2022-02-02 10:13:55 +07:00
Louis Lam
2f7e24191a Merge pull request #1237 from dave9123/patch-1
[id-ID] Fixed some grammar error
2022-02-02 00:31:50 +08:00
vfaergestad
0fce1b4b9b Update nb-NO.js (#1232)
Improved and finished the translation.
2022-02-02 00:31:00 +08:00
dave9123
65896ed035 Fixed some grammar error
I fixed at some part of the text.
2022-01-31 08:01:45 +07:00
Phuong Nguyen Minh
a9df7b4a14 Update vi.js (#1226)
* update vi.js
2022-01-28 21:23:37 +08:00
Louis Lam
c3c4db52ec Merge pull request #1184 from Khord/patch-1
Rename 2FA/TOTP field ID for password manager filling compatibility
2022-01-20 15:18:42 +08:00
Louis Lam
aba6cb2c52 Merge pull request #1169 from jbenguira/patch-1
Fixed #1024
2022-01-19 14:41:15 +08:00
Louis Lam
ff0e85737f Merge pull request #1182 from sovushik/patch-4
Update ru-RU.js
2022-01-19 14:37:08 +08:00
Buchtič
4713820da7 first csy translation 2022-01-18 14:44:11 +01:00
Buchtič
a99e87c02c cs-CZ 2022-01-18 08:50:11 +01:00
Buchtič
3f8ca82434 cs-CZ translation 2022-01-18 08:48:39 +01:00
Buchtič
60f1eb7b45 new cs-CZ.js 2022-01-17 18:42:32 +01:00
Louis
55a593f75d Merge remote-tracking branch 'origin/master' 2022-01-18 01:24:28 +08:00
Louis
a0d51a15cf Fix security vulnerabilities 2022-01-18 01:24:07 +08:00
Louis Lam
5a08b42e4f Merge pull request #1194 from Rayzggz/master
Update zh-CN.js
2022-01-18 01:17:33 +08:00
Louis
6961af005e eslint 2022-01-18 01:12:25 +08:00
Roy Feng
847a19afc1 Update zh-CN.js 2022-01-17 15:03:39 +08:00
Louis Lam
7532e7fd3e Merge pull request #1192 from drodmantras/master
Update sl-SI.js
2022-01-17 14:18:27 +08:00
Erik
63a3704836 Update sl-SI.js 2022-01-16 12:29:00 +01:00
Louis
bd8fa17887 Merge remote-tracking branch 'origin/master' 2022-01-15 01:25:50 +08:00
Louis
d1a99b0a22 Check Node.js version, better error message 2022-01-15 01:25:28 +08:00
Joseph Benguira
3b9fac2942 Update server/prometheus.js
removed useless spaces

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-01-14 08:51:45 +02:00
Dylan Khor
812e80030b revert Token because of language file 2022-01-13 23:43:57 -05:00
Dylan Khor
b89efa49aa retain Token verbiage in display name
since "Token" is used in several places in the 2FA setup screen
2022-01-13 16:58:46 -05:00
Dylan Khor
6490ef3787 rename 2fa input element id and display name 2022-01-13 16:46:09 -05:00
sovushik
329c8cbc2d Update ru-RU.js
Add new string
2022-01-13 22:07:21 +05:00
Louis Lam
2bf9764cec Merge pull request #1175 from sovushik/patch-3
Update ru-RU.js
2022-01-13 13:18:23 +08:00
Louis Lam
c116754360 Merge pull request #1171 from Saibamen/patch-1
Update pl.js
2022-01-13 13:17:06 +08:00
Louis Lam
2c7a701c84 Merge remote-tracking branch 'origin/master' 2022-01-13 11:24:21 +08:00
Louis Lam
fd1fce0143 Update stylelint from 13.13.x to 14.2.x 2022-01-13 11:15:38 +08:00
sovushik
52e0d74a1e Update ru-RU.js
Add new string
2022-01-12 20:49:41 +05:00
Adam Stachowicz
23532aaafe Update pl.js
Addendum to ab61acab63
2022-01-12 12:26:23 +01:00
Louis Lam
ab61acab63 Merge pull request #1170 from NixNotCastey/update-pl
Update pl.js
2022-01-12 17:39:12 +08:00
Łukasz Szczepański
06aab3dee8 Added missing text and fix typos 2022-01-12 09:48:37 +01:00
Joseph Benguira
13acdd4c65 Fix for issue in logs
This fix address the issue described here: https://github.com/louislam/uptime-kuma/issues/1024
2022-01-12 10:12:12 +02:00
Louis Lam
fe0bce268d Merge pull request #1164 from ledeuns/master
Fix comment (FreeBSD->*BSD)
2022-01-12 01:49:57 +08:00
Louis
ed64853125 Keep FBSD, BSD for ping only 2022-01-12 01:44:01 +08:00
Denis
0f822d3b2a FBSD does not exists anymore 2022-01-11 13:42:51 +01:00
Denis
6bda5c6329 update comment 2022-01-11 13:39:45 +01:00
Denis Fondras
44bc98a453 Merge branch 'louislam:master' into master 2022-01-11 13:37:54 +01:00
Louis
f9751d0c01 Fix FBSD to BSD https://github.com/louislam/uptime-kuma/pull/1155#issuecomment-1009544236 2022-01-11 19:15:28 +08:00
Denis
53df9a36e3 reintroduce exports.FBSD 2022-01-11 10:07:00 +01:00
Louis Lam
ccfd04a431 Merge pull request #1155 from ledeuns/master
ping path is common to all BSDs
2022-01-10 18:20:06 +08:00
Louis Lam
9324137123 Merge pull request #1151 from sovushik/patch-2
Update ru-RU.js
2022-01-10 18:19:04 +08:00
Louis Lam
9f063cf477 Merge branch 'master' into patch-2 2022-01-10 17:56:47 +08:00
Louis Lam
b83c896d0c Merge pull request #1150 from sovushik/patch-1
Update ru-RU.js
2022-01-10 17:55:46 +08:00
Louis Lam
aa37383065 Merge pull request #1154 from jamesmacwhite/pull-request-guidelines
Update PULL_REQUEST_TEMPLATE.md
2022-01-10 17:54:55 +08:00
Louis Lam
5e2c39eb4b Merge pull request #1144 from alex3025/master
Fixed italian (it-IT) translations
2022-01-10 17:54:22 +08:00
Louis Lam
2a1f011f05 Merge pull request #1153 from drodmantras/master
Update sl-SI.js
2022-01-10 17:53:03 +08:00
Denis
8063449f49 ping path is common to all BSDs 2022-01-09 17:27:24 +01:00
James White
b6ad4c845a Update PULL_REQUEST_TEMPLATE.md
Correct checklist item and make the UI type of change consistent with all others.
2022-01-09 15:31:26 +00:00
Erik
cdcdf377ec Update sl-SI.js
Small langue updates
2022-01-09 11:39:05 +01:00
sovushik
30a345d8b6 Update ru-RU.js
Updated language files and added new lines
2022-01-08 23:00:18 +05:00
sovushik
83d60fea29 Update ru-RU.js
1. Updated the language lines (in the correct declension)
2. Added new lines for the "Create Incident" functionality
2022-01-08 22:46:05 +05:00
Matteo D
2304c53c8d Fixed some translations
And made them more user-friendly.
2022-01-08 13:28:48 +01:00
Louis Lam
d4b86dc472 Merge pull request #1133 from thomasleveil/patch-1
fix `TypeError: Cannot read property 'id' of null`
2022-01-06 16:19:36 +08:00
Thomas LÉVEIL
46fa6a56fa fix TypeError: Cannot read property 'id' of null
when testing a Google Chat notification

see https://github.com/louislam/uptime-kuma/issues/1126#issuecomment-1006343423
2022-01-06 08:48:12 +01:00
29 changed files with 1260 additions and 2384 deletions

View File

@@ -4,10 +4,10 @@ Fixes #(issue)
## Type of change ## Type of change
Please delete options that are not relevant. Please delete any options that are not relevant.
- Bug fix (non-breaking change which fixes an issue) - Bug fix (non-breaking change which fixes an issue)
- User Interface - User interface (UI)
- New feature (non-breaking change which adds functionality) - New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing functionality to not work as expected) - Breaking change (fix or feature that would cause existing functionality to not work as expected)
- Translation update - Translation update
@@ -18,7 +18,7 @@ Please delete options that are not relevant.
- [ ] My code follows the style guidelines of this project - [ ] My code follows the style guidelines of this project
- [ ] I ran ESLint and other linters for modified files - [ ] I ran ESLint and other linters for modified files
- [ ] I have performed a self-review of my own code and test it - [ ] I have performed a self-review of my own code and tested it
- [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] My changes generate no new warnings - [ ] My changes generate no new warnings
- [ ] My code needed automated testing. I have added them (this is optional task) - [ ] My code needed automated testing. I have added them (this is optional task)

View File

@@ -15,8 +15,8 @@ jobs:
close-issue-message: 'This issue was closed because it has been stalled for 7 days with no activity.' close-issue-message: 'This issue was closed because it has been stalled for 7 days with no activity.'
close-pr-message: 'This PR was closed because it has been stalled for 7 days with no activity.' close-pr-message: 'This PR was closed because it has been stalled for 7 days with no activity.'
days-before-stale: 180 days-before-stale: 180
days-before-close: 7 days-before-close: 0
exempt-issue-labels: 'News,Medium,High,discussion,bug,doc,' exempt-issue-labels: 'News,Medium,High,discussion,bug,doc,'
exempt-pr-labels: 'awaiting-approval,work-in-progress,enhancement,' exempt-pr-labels: 'awaiting-approval,work-in-progress,enhancement,feature-request'
exempt-issue-assignees: 'louislam' exempt-issue-assignees: 'louislam'
exempt-pr-assignees: 'louislam' exempt-pr-assignees: 'louislam'

View File

@@ -227,7 +227,7 @@ https://github.com/louislam/uptime-kuma/issues?q=sort%3Aupdated-desc
1. `npm run build-docker` 1. `npm run build-docker`
1. `git push` 1. `git push`
1. Publish the release note as 1.X.X 1. Publish the release note as 1.X.X
1. `npm run upload-artifacts` 1. `npm run upload-artifacts` with env vars VERSION=1.X.X;GITHUB_TOKEN=XXXX
1. SSH to demo site server and update to 1.X.X 1. SSH to demo site server and update to 1.X.X
Checking: Checking:

View File

@@ -4,5 +4,5 @@ WORKDIR /app
# Install apprise, iputils for non-root ping, setpriv # Install apprise, iputils for non-root ping, setpriv
RUN apk add --no-cache iputils setpriv dumb-init python3 py3-cryptography py3-pip py3-six py3-yaml py3-click py3-markdown py3-requests py3-requests-oauthlib && \ RUN apk add --no-cache iputils setpriv dumb-init python3 py3-cryptography py3-pip py3-six py3-yaml py3-click py3-markdown py3-requests py3-requests-oauthlib && \
pip3 --no-cache-dir install apprise==0.9.6 && \ pip3 --no-cache-dir install apprise==0.9.7 && \
rm -rf /root/.cache rm -rf /root/.cache

View File

@@ -8,5 +8,5 @@ WORKDIR /app
RUN apt update && \ RUN apt update && \
apt --yes --no-install-recommends install python3 python3-pip python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib \ apt --yes --no-install-recommends install python3 python3-pip python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib \
sqlite3 iputils-ping util-linux dumb-init && \ sqlite3 iputils-ping util-linux dumb-init && \
pip3 --no-cache-dir install apprise==0.9.6 && \ pip3 --no-cache-dir install apprise==0.9.7 && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*

View File

@@ -20,7 +20,7 @@ if (sslKey && sslCert) {
// Dual-stack support for (::) // Dual-stack support for (::)
let hostname = process.env.UPTIME_KUMA_HOST; let hostname = process.env.UPTIME_KUMA_HOST;
// Also read HOST if not FreeBSD, as HOST is a system environment variable in FreeBSD // Also read HOST if not *BSD, as HOST is a system environment variable in FreeBSD
if (!hostname && !FBSD) { if (!hostname && !FBSD) {
hostname = process.env.HOST; hostname = process.env.HOST;
} }

2535
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "uptime-kuma", "name": "uptime-kuma",
"version": "1.11.3", "version": "1.12.1",
"license": "MIT", "license": "MIT",
"repository": { "repository": {
"type": "git", "type": "git",
@@ -30,13 +30,13 @@
"build-docker": "npm run build && npm run build-docker-debian && npm run build-docker-alpine", "build-docker": "npm run build && npm run build-docker-debian && npm run build-docker-alpine",
"build-docker-alpine-base": "docker buildx build -f docker/alpine-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base-alpine . --push", "build-docker-alpine-base": "docker buildx build -f docker/alpine-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base-alpine . --push",
"build-docker-debian-base": "docker buildx build -f docker/debian-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base-debian . --push", "build-docker-debian-base": "docker buildx build -f docker/debian-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base-debian . --push",
"build-docker-alpine": "docker buildx build -f docker/dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:1.11.3-alpine --target release . --push", "build-docker-alpine": "docker buildx build -f docker/dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:1.12.1-alpine --target release . --push",
"build-docker-debian": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.11.3 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.11.3-debian --target release . --push", "build-docker-debian": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.12.1 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.12.1-debian --target release . --push",
"build-docker-nightly": "npm run build && docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push", "build-docker-nightly": "npm run build && docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-nightly-alpine": "docker buildx build -f docker/dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly-alpine --target nightly . --push", "build-docker-nightly-alpine": "docker buildx build -f docker/dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly-alpine --target nightly . --push",
"build-docker-nightly-amd64": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain", "build-docker-nightly-amd64": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
"upload-artifacts": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:upload-artifact --build-arg VERSION --build-arg GITHUB_TOKEN --target upload-artifact . --progress plain", "upload-artifacts": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:upload-artifact --build-arg VERSION --build-arg GITHUB_TOKEN --target upload-artifact . --progress plain",
"setup": "git checkout 1.11.3 && npm ci --production && npm run download-dist", "setup": "git checkout 1.12.1 && npm ci --production && npm run download-dist",
"download-dist": "node extra/download-dist.js", "download-dist": "node extra/download-dist.js",
"update-version": "node extra/update-version.js", "update-version": "node extra/update-version.js",
"mark-as-nightly": "node extra/mark-as-nightly.js", "mark-as-nightly": "node extra/mark-as-nightly.js",
@@ -61,7 +61,7 @@
"@louislam/sqlite3": "~6.0.1", "@louislam/sqlite3": "~6.0.1",
"@popperjs/core": "~2.10.2", "@popperjs/core": "~2.10.2",
"args-parser": "~1.3.0", "args-parser": "~1.3.0",
"axios": "~0.21.4", "axios": "~0.26.0",
"bcryptjs": "~2.4.3", "bcryptjs": "~2.4.3",
"bootstrap": "5.1.3", "bootstrap": "5.1.3",
"bree": "~7.1.0", "bree": "~7.1.0",
@@ -89,15 +89,15 @@
"prometheus-api-metrics": "~3.2.0", "prometheus-api-metrics": "~3.2.0",
"qrcode": "~1.5.0", "qrcode": "~1.5.0",
"redbean-node": "0.1.3", "redbean-node": "0.1.3",
"socket.io": "~4.2.0", "socket.io": "~4.4.1",
"socket.io-client": "~4.2.0", "socket.io-client": "~4.4.1",
"tar": "^6.1.11", "tar": "^6.1.11",
"tcp-ping": "~0.1.1", "tcp-ping": "~0.1.1",
"thirty-two": "~1.0.2", "thirty-two": "~1.0.2",
"timezones-list": "~3.0.1", "timezones-list": "~3.0.1",
"v-pagination-3": "~0.1.7", "v-pagination-3": "~0.1.7",
"vue": "next", "vue": "next",
"vue-chart-3": "~0.5.11", "vue-chart-3": "3.0.9",
"vue-confirm-dialog": "~1.0.2", "vue-confirm-dialog": "~1.0.2",
"vue-contenteditable": "~3.0.4", "vue-contenteditable": "~3.0.4",
"vue-i18n": "~9.1.9", "vue-i18n": "~9.1.9",
@@ -124,10 +124,10 @@
"eslint-plugin-vue": "~7.18.0", "eslint-plugin-vue": "~7.18.0",
"jest": "~27.2.5", "jest": "~27.2.5",
"jest-puppeteer": "~6.0.0", "jest-puppeteer": "~6.0.0",
"puppeteer": "~10.4.0", "puppeteer": "~13.1.3",
"sass": "~1.42.1", "sass": "~1.42.1",
"stylelint": "~13.13.1", "stylelint": "~14.2.0",
"stylelint-config-standard": "~22.0.0", "stylelint-config-standard": "~24.0.0",
"typescript": "~4.4.4", "typescript": "~4.4.4",
"vite": "~2.6.14" "vite": "~2.6.14"
} }

View File

@@ -119,6 +119,19 @@ class Monitor extends BeanModel {
const beat = async () => { const beat = async () => {
let beatInterval = this.interval;
if (! beatInterval) {
beatInterval = 1;
}
if (demoMode) {
if (beatInterval < 20) {
console.log("beat interval too low, reset to 20s");
beatInterval = 20;
}
}
// Expose here for prometheus update // Expose here for prometheus update
// undefined if not https // undefined if not https
let tlsInfo = undefined; let tlsInfo = undefined;
@@ -303,7 +316,7 @@ class Monitor extends BeanModel {
} else { } else {
// No need to insert successful heartbeat for push type, so end here // No need to insert successful heartbeat for push type, so end here
retries = 0; retries = 0;
this.heartbeatInterval = setTimeout(beat, this.interval * 1000); this.heartbeatInterval = setTimeout(beat, beatInterval * 1000);
return; return;
} }
@@ -377,8 +390,6 @@ class Monitor extends BeanModel {
} }
} }
let beatInterval = this.interval;
debug(`[${this.name}] Check isImportant`); debug(`[${this.name}] Check isImportant`);
let isImportant = Monitor.isImportantBeat(isFirstBeat, previousBeat?.status, bean.status); let isImportant = Monitor.isImportantBeat(isFirstBeat, previousBeat?.status, bean.status);
@@ -422,14 +433,6 @@ class Monitor extends BeanModel {
previousBeat = bean; previousBeat = bean;
if (! this.isStop) { if (! this.isStop) {
if (demoMode) {
if (beatInterval < 20) {
console.log("beat interval too low, reset to 20s");
beatInterval = 20;
}
}
debug(`[${this.name}] SetTimeout for next check.`); debug(`[${this.name}] SetTimeout for next check.`);
this.heartbeatInterval = setTimeout(safeBeat, beatInterval * 1000); this.heartbeatInterval = setTimeout(safeBeat, beatInterval * 1000);
} else { } else {

View File

@@ -27,7 +27,7 @@ class GoogleChat extends NotificationProvider {
textMsg += `${msg}`; textMsg += `${msg}`;
const baseURL = await setting("primaryBaseURL"); const baseURL = await setting("primaryBaseURL");
if (baseURL) { if (baseURL && monitorJSON) {
textMsg += `\n${baseURL + getMonitorRelativeURL(monitorJSON.id)}`; textMsg += `\n${baseURL + getMonitorRelativeURL(monitorJSON.id)}`;
} }

View File

@@ -20,7 +20,7 @@ class Mattermost extends NotificationProvider {
return okMsg; return okMsg;
} }
const mattermostChannel = notification.mattermostchannel; const mattermostChannel = notification.mattermostchannel.toLowerCase();
const mattermostIconEmoji = notification.mattermosticonemo; const mattermostIconEmoji = notification.mattermosticonemo;
const mattermostIconUrl = notification.mattermosticonurl; const mattermostIconUrl = notification.mattermosticonurl;

View File

@@ -48,7 +48,7 @@ function Ping(host, options) {
this._args = (options.args) ? options.args : [ "-n", "-t", timeout, "-c", "1", host ]; this._args = (options.args) ? options.args : [ "-n", "-t", timeout, "-c", "1", host ];
this._regmatch = /=([0-9.]+?) ms/; this._regmatch = /=([0-9.]+?) ms/;
} else if (util.FBSD) { } else if (util.BSD) {
this._bin = "/sbin/ping"; this._bin = "/sbin/ping";
const defaultArgs = [ "-n", "-t", timeout, "-c", "1", host ]; const defaultArgs = [ "-n", "-t", timeout, "-c", "1", host ];

View File

@@ -60,7 +60,9 @@ class Prometheus {
} }
try { try {
monitor_cert_days_remaining.set(this.monitorLabelValues, tlsInfo.certInfo.daysRemaining); if (tlsInfo.certInfo != null) {
monitor_cert_days_remaining.set(this.monitorLabelValues, tlsInfo.certInfo.daysRemaining);
}
} catch (e) { } catch (e) {
console.error(e); console.error(e);
} }

View File

@@ -1,4 +1,15 @@
console.log("Welcome to Uptime Kuma"); console.log("Welcome to Uptime Kuma");
// Check Node.js Version
const nodeVersion = parseInt(process.versions.node.split(".")[0]);
const requiredVersion = 14;
console.log(`Your Node.js version: ${nodeVersion}`);
if (nodeVersion < requiredVersion) {
console.error(`Error: Your Node.js version is not supported, please upgrade to Node.js >= ${requiredVersion}.`);
process.exit(-1);
}
const args = require("args-parser")(process.argv); const args = require("args-parser")(process.argv);
const { sleep, debug, getRandomInt, genSecret } = require("../src/util"); const { sleep, debug, getRandomInt, genSecret } = require("../src/util");
const config = require("./config"); const config = require("./config");

View File

@@ -16,6 +16,7 @@ exports.WIN = /^win/.test(process.platform);
exports.LIN = /^linux/.test(process.platform); exports.LIN = /^linux/.test(process.platform);
exports.MAC = /^darwin/.test(process.platform); exports.MAC = /^darwin/.test(process.platform);
exports.FBSD = /^freebsd/.test(process.platform); exports.FBSD = /^freebsd/.test(process.platform);
exports.BSD = /bsd$/.test(process.platform);
/** /**
* Init or reset JWT secret * Init or reset JWT secret

View File

@@ -16,8 +16,8 @@
<div v-if="tokenRequired"> <div v-if="tokenRequired">
<div class="form-floating mt-3"> <div class="form-floating mt-3">
<input id="floatingToken" v-model="token" type="text" maxlength="6" class="form-control" placeholder="123456"> <input id="otp" v-model="token" type="text" maxlength="6" class="form-control" placeholder="123456">
<label for="floatingToken">{{ $t("Token") }}</label> <label for="otp">{{ $t("Token") }}</label>
</div> </div>
</div> </div>

View File

@@ -63,9 +63,9 @@ export default {
let update = res.data.result[res.data.result.length - 1]; let update = res.data.result[res.data.result.length - 1];
if (update.channel_post) { if (update.channel_post) {
this.notification.telegramChatID = update.channel_post.chat.id; this.$parent.notification.telegramChatID = update.channel_post.chat.id;
} else if (update.message) { } else if (update.message) {
this.notification.telegramChatID = update.message.chat.id; this.$parent.notification.telegramChatID = update.message.chat.id;
} else { } else {
throw new Error(this.$t("chatIDNotFound")); throw new Error(this.$t("chatIDNotFound"));
} }

View File

@@ -175,9 +175,9 @@
</template> </template>
<template v-else-if="$i18n.locale === 'it-IT' "> <template v-else-if="$i18n.locale === 'it-IT' ">
<p>Si è certi di voler <strong>disabilitare l'autenticazione</strong>?</p> <p><strong>Disabilitare l'autenticazione?</strong></p>
<p>È per <strong>chi ha l'autenticazione gestita da terze parti</strong> messa davanti ad Uptime Kuma, ad esempio Cloudflare Access.</p> <p><strong>Questa opzione è per chi un sistema di autenticazione gestito da terze parti</strong> messo davanti ad Uptime Kuma, ad esempio Cloudflare Access.</p>
<p>Utilizzare con attenzione.</p> <p>Utilizzare con attenzione!</p>
</template> </template>
<template v-else-if="$i18n.locale === 'id-ID' "> <template v-else-if="$i18n.locale === 'id-ID' ">
@@ -216,11 +216,23 @@
<p>Vennligst vær forsiktig.</p> <p>Vennligst vær forsiktig.</p>
</template> </template>
<template v-else-if="$i18n.locale === 'cs-CZ' ">
<p>Opravdu chcete <strong>deaktivovat autentifikaci</strong>?</p>
<p>Tato možnost je určena pro případy, kdy <strong>máte autentifikaci zajištěnou třetí stranou</strong> ještě před přístupem do Uptime Kuma, například prostřednictvím Cloudflare Access.</p>
<p>Používejte ji prosím s rozmyslem.</p>
</template>
<template v-else-if="$i18n.locale === 'vi-VN' ">
<p>Bạn muốn <strong>TẮT XÁC THỰC</strong> không?</p>
<p>Điều này rất nguy hiểm<strong>BẤT KỲ AI</strong> cũng thể truy cập cướp quyền điều khiển.</p>
<p>Vui lòng <strong>cẩn thận</strong>.</p>
</template>
<!-- English (en) --> <!-- English (en) -->
<template v-else> <template v-else>
<p>Are you sure want to <strong>disable auth</strong>?</p> <p>Are you sure want to <strong>disable authentication</strong>?</p>
<p>It is for <strong>someone who have 3rd-party auth</strong> in front of Uptime Kuma such as Cloudflare Access.</p> <p>It is designed for scenarios <strong>where you intend to implement third-party authentication</strong> in front of Uptime Kuma such as Cloudflare Access, Authelia or other authentication mechanisms.</p>
<p>Please use it carefully.</p> <p>Please use this option carefully!</p>
</template> </template>
</Confirm> </Confirm>
</div> </div>

View File

@@ -2,6 +2,7 @@ import { createI18n } from "vue-i18n/index";
import en from "./languages/en"; import en from "./languages/en";
const languageList = { const languageList = {
"cs-CZ": "Čeština",
"zh-HK": "繁體中文 (香港)", "zh-HK": "繁體中文 (香港)",
"bg-BG": "Български", "bg-BG": "Български",
"de-DE": "Deutsch (Deutschland)", "de-DE": "Deutsch (Deutschland)",
@@ -27,7 +28,7 @@ const languageList = {
"zh-CN": "简体中文", "zh-CN": "简体中文",
"pl": "Polski", "pl": "Polski",
"et-EE": "eesti", "et-EE": "eesti",
"vi": "Vietnamese", "vi-VN": "Tiếng Việt",
"zh-TW": "繁體中文 (台灣)" "zh-TW": "繁體中文 (台灣)"
}; };

364
src/languages/cs-CZ.js Normal file
View File

@@ -0,0 +1,364 @@
export default {
languageName: "Czech",
checkEverySecond: "Kontrolovat každých {0} sekund",
retryCheckEverySecond: "Opakovat každých {0} sekund",
retriesDescription: "Maximální počet pokusů před označením služby jako nedostupné a odesláním oznámení",
ignoreTLSError: "Ignorovat TLS/SSL chyby na HTTPS stránkách",
upsideDownModeDescription: "Pomocí této možnosti změníte způsob vyhodnocování stavu. Pokud je služba dosažitelná, je NEDOSTUPNÁ.",
maxRedirectDescription: "Maximální počet přesměrování, která se mají následovat. Nastavením hodnoty 0 zakážete přesměrování.",
acceptedStatusCodesDescription: "Vyberte stavové kódy, které jsou považovány za úspěšnou odpověď.",
passwordNotMatchMsg: "Hesla se neshodují",
notificationDescription: "Pro zajištění funkčnosti oznámení je nutné je přiřadit dohledu.",
keywordDescription: "Vyhledat klíčové slovo v prosté odpovědi HTML nebo JSON. Při hledání se rozlišuje velikost písmen.",
pauseDashboardHome: "Pozastavit",
deleteMonitorMsg: "Opravdu chcete odstranit tento dohled?",
deleteNotificationMsg: "Opravdu chcete odstranit toto oznámení pro všechny dohledy?",
resoverserverDescription: "Cloudflare je výchozí server. Resolver server můžete kdykoli změnit.",
rrtypeDescription: "Vyberte typ záznamu o prostředku, který chcete monitorovat",
pauseMonitorMsg: "Opravdu chcete dohled pozastavit?",
enableDefaultNotificationDescription: "Toto oznámení bude standardně aktivní pro nové dohledy. V případě potřeby můžete oznámení stále zakázat na úrovni jednotlivých dohledů.",
clearEventsMsg: "Opravdu chcete odstranit všechny události pro tento dohled?",
clearHeartbeatsMsg: "Opravdu chcete odstranit všechny heartbeaty pro tento dohled?",
confirmClearStatisticsMsg: "Opravdu chcete smazat VŠECHNY statistiky?",
importHandleDescription: "Možnost 'Přeskočit existující' vyberte v případě, že chcete přeskočit všechny dohledy nebo oznámení se stejným názvem. Vybráním možnosti 'Přepsat' dojde k odstranění všech existujících dohledů a oznámení.",
confirmImportMsg: "Opravdu chcete importovat zálohu? Prosím ověřte, zda jste vybrali správnou možnost importu.",
twoFAVerifyLabel: "Prosím, zadejte svůj token pro ověření 2FA:",
tokenValidSettingsMsg: "Token je platný! Nyní můžete uložit nastavení 2FA.",
confirmEnableTwoFAMsg: "Opravdu chcete zapnout 2FA?",
confirmDisableTwoFAMsg: "Opravdu chcete deaktivovat 2FA?",
Settings: "Nastavení",
Dashboard: "Nástěnka",
"New Update": "Nová aktualizace",
Language: "Jazyk",
Appearance: "Vzhled",
Theme: "Motiv",
General: "Obecné",
"Primary Base URL": "Primární URL adresa",
Version: "Verze",
"Check Update On GitHub": "Zkontrolovat aktualizace na GitHubu",
List: "Seznam",
Add: "Přidat",
"Add New Monitor": "Přidat nový dohled",
"Quick Stats": "Rychlé statistiky",
Up: "Běží",
Down: "Nedostupný",
Pending: "Čekám",
Unknown: "Neznámý",
Pause: "Pozastavit",
Name: "Název",
Status: "Stav",
DateTime: "DateTime",
Message: "Zpráva",
"No important events": "Žádné důležité události",
Resume: "Pokračovat",
Edit: "Změnit",
Delete: "Vymazat",
Current: "Aktuální",
Uptime: "Doba provozu",
"Cert Exp.": "Platnost certifikátu",
days: "dny/í",
day: "den",
"-day": "-dní",
hour: "hodina",
"-hour": "-hodin",
Response: "Odpověď",
Ping: "Ping",
"Monitor Type": "Typ dohledu",
Keyword: "Klíčové slovo",
"Friendly Name": "Obecný název",
URL: "URL",
Hostname: "Adresa serveru",
Port: "Port",
"Heartbeat Interval": "Heartbeat interval",
Retries: "Počet pokusů",
"Heartbeat Retry Interval": "Interval opakování prezenčního signálu",
Advanced: "Rozšířené",
"Upside Down Mode": "Inverzní režim",
"Max. Redirects": "Max. Přesměrování",
"Accepted Status Codes": "Akceptované stavové kódy",
"Push URL": "Push URL",
needPushEvery: "Tuto URL adresu byste měli volat každých {0} sekund.",
pushOptionalParams: "Volitelné parametry: {0}",
Save: "Uložit",
Notifications: "Oznámení",
"Not available, please setup.": "Není k dispozici, prosím nastavte.",
"Setup Notification": "Nastavení oznámení",
Light: "Světlý",
Dark: "Tmavý",
Auto: "Automaticky",
"Theme - Heartbeat Bar": "Motiv Heartbeat panel",
Normal: "Normální",
Bottom: "Dole",
None: "Žádné",
Timezone: "Časové pásmo",
"Search Engine Visibility": "Viditelnost pro vyhledávače",
"Allow indexing": "Povolit indexování",
"Discourage search engines from indexing site": "Zabránit vyhledávačům v indexování stránky",
"Change Password": "Změnit heslo",
"Current Password": "Aktuální heslo",
"New Password": "Nové heslo",
"Repeat New Password": "Znovu zadat nové heslo",
"Update Password": "Aktualizovat heslo",
"Disable Auth": "Deaktivovat ověřování",
"Enable Auth": "Povolit ověřování",
Logout: "Odhlášení",
Leave: "Odejít",
"I understand, please disable": "Rozumím, chci ji deaktivovat",
Confirm: "Potvrzení",
Yes: "Ano",
No: "Ne",
Username: "Uživatelské jméno",
Password: "Heslo",
"Remember me": "Zapamatovat si mě",
Login: "Přihlášení",
"No Monitors, please": "Žádné dohledy, prosím",
"add one": "přidat jeden",
"Notification Type": "Typ oznámení",
Email: "E-mail",
Test: "Test",
"Certificate Info": "Informace o certifikátu",
"Resolver Server": "Resolver Server",
"Resource Record Type": "Typ záznamu o prostředku",
"Last Result": "Poslední výsledek",
"Create your admin account": "Vytvořit účet administrátora",
"Repeat Password": "Znovu zadat heslo",
"Import Backup": "Importovat zálohu",
"Export Backup": "Exportovat zálohu",
Export: "Exportovat",
Import: "Importovat",
respTime: "Odezva Čas (ms)",
notAvailableShort: "N/A",
"Default enabled": "Standardně povoleno",
"Apply on all existing monitors": "Použít pro všechny existující dohledy",
Create: "Vytvořit",
"Clear Data": "Vymazat data",
Events: "Události",
Heartbeats: "Heartbeaty",
"Auto Get": "Získat automaticky",
backupDescription: "Všechny dohledy a oznámení můžete zálohovat do souboru ve formátu JSON.",
backupDescription2: "Poznámka: Nezahrnuje historii a data událostí.",
backupDescription3: "Součástí exportovaného souboru jsou citlivá data jako tokeny oznámení; export si prosím bezpečně uložte.",
alertNoFile: "Vyberte soubor, který chcete importovat.",
alertWrongFileType: "Vyberte soubor ve formátu JSON.",
"Clear all statistics": "Vymazat všechny statistiky",
"Skip existing": "Přeskočit existující",
Overwrite: "Přepsat",
Options: "Možnosti",
"Keep both": "Ponechat obojí",
"Verify Token": "Ověřit token",
"Setup 2FA": "Nastavení 2FA",
"Enable 2FA": "Povolit 2FA",
"Disable 2FA": "Deaktivovat 2FA",
"2FA Settings": "Nastavení 2FA",
"Two Factor Authentication": "Dvoufaktorová autentifikace",
Active: "Zapnuto",
Inactive: "Neaktivní",
Token: "Token",
"Show URI": "Zobrazit URI",
Tags: "Štítky",
"Add New below or Select...": "Níže přidejte nový nebo vyberte existující…",
"Tag with this name already exist.": "Štítek s tímto názvem již existuje.",
"Tag with this value already exist.": "Štítek touto hodnotou již existuje.",
color: "barva",
"value (optional)": "hodnota (volitelné)",
Gray: "Šedá",
Red: "Červená",
Orange: "Oranžová",
Green: "Zelená",
Blue: "Modrá",
Indigo: "Indigo",
Purple: "Purpurová",
Pink: "Růžová",
"Search...": "Hledat…",
"Avg. Ping": "Průměr Ping",
"Avg. Response": "Průměr Odpověď",
"Entry Page": "Vstupní stránka",
statusPageNothing: "Nic tady není, přidejte prosím skupinu nebo dohled.",
"No Services": "Žádné služby",
"All Systems Operational": "Všechny systémy běží",
"Partially Degraded Service": "Částečně zhoršená služba",
"Degraded Service": "Zhoršená služba",
"Add Group": "Přidat skupinu",
"Add a monitor": "Přidání dohledu",
"Edit Status Page": "Upravit stavovou stránku",
"Go to Dashboard": "Přejít na nástěnku",
"Status Page": "Stavová stránka",
defaultNotificationName: "Moje {notification} upozornění ({číslo})",
here: "sem",
Required: "Vyžadováno",
telegram: "Telegram",
"Bot Token": "Token robota",
wayToGetTelegramToken: "Token můžete získat od {0}.",
"Chat ID": "ID chatu",
supportTelegramChatID: "Podpora přímého chatu / skupiny / ID chatu kanálu",
wayToGetTelegramChatID: "ID chatu můžete získat tak, že robotovi zašlete zprávu a přejdete na tuto adresu URL, kde zobrazíte chat_id:",
"YOUR BOT TOKEN HERE": "YOUR BOT TOKEN HERE",
chatIDNotFound: "ID chatu nebylo nalezeno; nejprve tomuto robotovi zašlete zprávu",
webhook: "Webhook",
"Post URL": "URL adresa příspěvku",
"Content Type": "Typ obsahu",
webhookJsonDesc: "{0} je vhodný pro všechny moderní servery HTTP, jako je Express.js",
webhookFormDataDesc: "{multipart} je vhodné pro PHP. JSON bude nutné analyzovat prostřednictvím {decodeFunction}",
smtp: "E-mail (SMTP)",
secureOptionNone: "Žádné / STARTTLS (25, 587)",
secureOptionTLS: "TLS (465)",
"Ignore TLS Error": "Ignorovat chybu TLS",
"From Email": "Odesílatel",
emailCustomSubject: "Vlastní předmět",
"To Email": "Příjemce",
smtpCC: "Kopie",
smtpBCC: "Skrytá kopie",
discord: "Discord",
"Discord Webhook URL": "Discord Webhook URL",
wayToGetDiscordURL: "Získáte tak, že přejdete do Nastavení serveru - > Integrace - > Vytvořit Webhook",
"Bot Display Name": "Zobrazované jméno robota",
"Prefix Custom Message": "Předpona vlastní zprávy",
"Hello @everyone is...": "Dobrý den, {'@'}všichni jsou…",
teams: "Microsoft Teams",
"Webhook URL": "URL adresa webhooku",
wayToGetTeamsURL: "Informace o tom, jak vytvořit URL adresu webhooku naleznete {0}.",
signal: "Signal",
Number: "Číslo",
Recipients: "Příjemci",
needSignalAPI: "Musíte mít Signal klienta s REST API.",
wayToCheckSignalURL: "Pro zobrazení instrukcí, jak službu nastavit, přejděte na následující adresu:",
signalImportant: "Důležité V seznamu příjemců není možné současně použít skupiny a čísla!",
gotify: "Gotify",
"Application Token": "Token aplikace",
"Server URL": "URL adresa serveru",
Priority: "Priorita",
slack: "Slack",
"Icon Emoji": "Ikona smajlíka",
"Channel Name": "Název kanálu",
"Uptime Kuma URL": "Uptime Kuma URL",
aboutWebhooks: "Více informací o Webhoocích naleznete na adrese: {0}",
aboutChannelName: "Pro vynechání Webhook kanálu zadejte jeho název do pole Název kanálu {0}. Příklad: #jiny-kanal",
aboutKumaURL: "Pokud ponecháte pole URL adresa Uptime Kuma prázdné, použije se domovská stránka GitHub projektu.",
emojiCheatSheet: "Tahák smajlíků: {0}",
"rocket.chat": "Rocket.Chat",
pushover: "Pushover",
pushy: "Pushy",
octopush: "Octopush",
promosms: "PromoSMS",
clicksendsms: "ClickSend SMS",
lunasea: "LunaSea",
apprise: "Apprise (podpora více než 50 oznamovacích služeb)",
GoogleChat: "Google Chat (pouze Google Workspace)",
pushbullet: "Pushbullet",
line: "Line Messenger",
mattermost: "Mattermost",
"User Key": "Klíč uživatele",
Device: "Zařízení",
"Message Title": "Nadpis zprávy",
"Notification Sound": "Zvuk oznámení",
"More info on:": "Více informací naleznete na adrese: {0}",
pushoverDesc1: "Výchozí časový limit pro emergency prioritu (2) je 30 sekund mezi opakovanými pokusy a vyprší po 1 hodině.",
pushoverDesc2: "Pokud chcete odesílat oznámení do různých zařízení, vyplňte pole Zařízení.",
"SMS Type": "Typ SMS",
octopushTypePremium: "Premium (rychlé doporučeno pro upozornění)",
octopushTypeLowCost: "Nízké náklady (pomalé někdy blokované operátorem)",
checkPrice: "Ceny {0} zjistíte na adrese:",
apiCredentials: "API přihlašovací údaje",
octopushLegacyHint: "Používáte starší verzi Octopush (2011-2020) nebo novou verzi?",
"Check octopush prices": "Ceny octopush naleznete na adrese {0}.",
octopushPhoneNumber: "Telefonní číslo (v mezinárodním formátu, např: +42012345678) ",
octopushSMSSender: "Odesílatel SMS: 3-11 alfanumerických znaků a mezera (a-zA-Z0-9)",
"LunaSea Device ID": "ID zařízení LunaSea",
"Apprise URL": "Apprise URL",
"Example:": "Příklad: {0}",
"Read more:": "Více informací: {0}",
"Status:": "Stav: {0}",
"Read more": "Více informací",
appriseInstalled: "Apprise je nainstalován.",
appriseNotInstalled: "Apprise není nainstalován. {0}",
"Access Token": "Přístupový token",
"Channel access token": "Přístupový token ke kanálu",
"Line Developers Console": "Konzole Line Developers",
lineDevConsoleTo: "Konzole Line Developers - {0}",
"Basic Settings": "Obecné nastavení",
"User ID": "ID uživatele",
"Messaging API": "Messaging API",
wayToGetLineChannelToken: "Nejprve otevřete {0}, vytvořte poskytovatele a kanál (Messaging API). Poté můžete získat přístupový token ke kanálu a ID uživatele, v sekci uvedené výše.",
"Icon URL": "URL adresa ikony",
aboutIconURL: "Pro přepsání výchozího profilového obrázku můžete do pole \"URL adresa ikony\" zadat odkaz na obrázek. Nebude použito, pokud je nastavena ikona smajlíka.",
aboutMattermostChannelName: "Výchozí kanál, do kterého jsou zasílány Webhook příspěvky, můžete přepsat zadáním názvu kanálu do pole \"Název kanálu\". Tato možnost musí být povolena v nastavení Mattermost Webhooku. Příklad: #jiny-kanal",
matrix: "Matrix",
promosmsTypeEco: "SMS ECO levné, ale pomalé a často přetížené. Omezeno pouze na polské příjemce.",
promosmsTypeFlash: "SMS FLASH zpráva se automaticky zobrazí na zařízení příjemce. Omezeno pouze na polské příjemce.",
promosmsTypeFull: "SMS FULL prémiová úroveň SMS. Můžete definovat odesílatele (vyžadována registrace jména). Spolehlivý pro výstrahy.",
promosmsTypeSpeed: "SMS SPEED nejvyšší priorita v systému. Velmi rychlé a spolehlivé, ale nákladné (přibližně dvojnásobek ceny SMS FULL).",
promosmsPhoneNumber: "Telefonní číslo (polští příjemci mohou vynechat telefonní předvolbu)",
promosmsSMSSender: "Odesílatel SMS: Předem zaregistrovaný název nebo jeden z výchozích: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
"Feishu WebHookUrl": "Feishu WebHookURL",
matrixHomeserverURL: "URL adresa domácího serveru (s http(s):// a volitelně portem)",
"Internal Room Id": "ID interní místnosti",
matrixDesc1: "ID interní místnosti naleznete v Matrix klientovi v rozšířeném nastavení místnosti. Mělo by být ve tvaru !QMdRCpUIfLwsfjxye6:home.server.",
matrixDesc2: "Důrazně doporučujeme vytvořit nového uživatele a nepoužívat váš vlastní přístupový token uživatele Matrix. Pomocí něj je možné získat přístup k vašemu účtu a všem místnostem, ke kterým jste se připojili. Místo toho vytvořte nového uživatele a pozvěte jej pouze do místnosti, do které chcete oznámení dostávat. Přístupový token můžete získat spuštěním {0}",
Method: "Metoda",
Body: "Tělo",
Headers: "Hlavičky",
PushUrl: "Push URL",
HeadersInvalidFormat: "The request headers are not valid JSON: ",
BodyInvalidFormat: "The request body is not valid JSON: ",
"Monitor History": "Historie dohledu",
clearDataOlderThan: "Historie dohledu bude uchovávána po dobu {0} dní.",
PasswordsDoNotMatch: "Hesla se neshodují.",
records: "záznamů",
"One record": "Jeden záznam",
steamApiKeyDescription: "For monitoring a Steam Game Server you need a Steam Web-API key. You can register your API key here: ",
"Current User": "Aktuálně přihlášený uživatel",
recent: "Poslední",
Done: "Hotovo",
Info: "Informace",
Security: "Bezpečnost",
"Steam API Key": "API klíč služby Steam",
"Shrink Database": "Zmenšit databázi",
"Pick a RR-Type...": "Vyberte typ záznamu o prostředku…",
"Pick Accepted Status Codes...": "Vyberte stavové kódy, které chcete akceptovat…",
Default: "Standardní",
"HTTP Options": "Možnosti protokolu HTTP",
"Create Incident": "Vytvořit incident",
Title: "Předmět",
Content: "Obsah",
Style: "Styl",
info: "informace",
warning: "upozornění",
danger: "riziko",
primary: "primární",
light: "světlý",
dark: "tmavý",
Post: "Publikovat",
"Please input title and content": "Zadejte prosím název a obsah",
Created: "Vytvořen",
"Last Updated": "Poslední aktualizace",
Unpin: "Odepnout",
"Switch to Light Theme": "Přepnout na světlý motiv",
"Switch to Dark Theme": "Přepnutí na tmavý motiv",
"Show Tags": "Zobrazit štítky",
"Hide Tags": "Skrýt štítky",
Description: "Popis",
"No monitors available.": "Není dostupný žádný dohled.",
"Add one": "Přidat jeden",
"No Monitors": "Žádný dohled",
"Untitled Group": "Skupina bez názvu",
Services: "Služby",
Discard: "Zahodit",
Cancel: "Zrušit",
"Powered by": "Poskytuje",
shrinkDatabaseDescription: "Pomocí této možnosti provedete příkaz VACUUM nad SQLite databází. Pokud byla databáze vytvořena po vydání verze 1.10.0, AUTO_VACUUM je již povolena a tato akce není vyžadována.",
serwersms: "SerwerSMS.pl",
serwersmsAPIUser: "API uživatelské jméno (včetně předpony webapi_)",
serwersmsAPIPassword: "API heslo",
serwersmsPhoneNumber: "Telefonní číslo",
serwersmsSenderName: "Odesílatel SMS (registrováno prostřednictvím zákaznického portálu)",
"stackfield": "Stackfield",
smtpDkimSettings: "Nastavení DKIM",
smtpDkimDesc: "Informace o použití naleznete v {0} Nodemailer DKIM.",
documentation: "dokumentaci",
smtpDkimDomain: "Název domény",
smtpDkimKeySelector: "Selector klíče",
smtpDkimPrivateKey: "Privátní klíč",
smtpDkimHashAlgo: "Hashovací algoritmus (volitelné)",
smtpDkimheaderFieldNames: "Podepisovat tyto hlavičky (volitelné)",
smtpDkimskipFields: "Nepodepisovat tyto hlavičky (volitelné)",
};

View File

@@ -350,4 +350,15 @@ export default {
serwersmsAPIPassword: "API jelszó", serwersmsAPIPassword: "API jelszó",
serwersmsPhoneNumber: "Telefonszám", serwersmsPhoneNumber: "Telefonszám",
serwersmsSenderName: "SMS feladó neve (regisztrált név az oldalon)", serwersmsSenderName: "SMS feladó neve (regisztrált név az oldalon)",
GoogleChat: "Google Chat (csak Google Workspace)",
stackfield: "Stackfield",
smtpDkimSettings: "DKIM beállítások",
smtpDkimDesc: "Nézze meg a Nodemailer DKIM {0} használati szabályokat.",
documentation: "dokumentáció",
smtpDkimDomain: "Domain név",
smtpDkimKeySelector: "Kulcs választó",
smtpDkimPrivateKey: "Privát kulcs",
smtpDkimHashAlgo: "Hash algoritmus (nem kötelező)",
smtpDkimheaderFieldNames: "Fejléc kulcsok a bejelentkezéshez (nem kötelező)",
smtpDkimskipFields: "Fejléc kulcsok egyéb esetben (nem kötelező)",
}; };

View File

@@ -7,12 +7,12 @@ export default {
upsideDownModeDescription: "Balikkan statusnya. Jika layanan dapat dijangkau, TIDAK AKTIF.", upsideDownModeDescription: "Balikkan statusnya. Jika layanan dapat dijangkau, TIDAK AKTIF.",
maxRedirectDescription: "Jumlah maksimum pengalihan untuk diikuti. Setel ke 0 untuk menonaktifkan pengalihan.", maxRedirectDescription: "Jumlah maksimum pengalihan untuk diikuti. Setel ke 0 untuk menonaktifkan pengalihan.",
acceptedStatusCodesDescription: "Pilih kode status yang dianggap sebagai tanggapan yang berhasil.", acceptedStatusCodesDescription: "Pilih kode status yang dianggap sebagai tanggapan yang berhasil.",
passwordNotMatchMsg: "Sandi kedua tidak cocok.", passwordNotMatchMsg: "Kata sandi kedua tidak cocok.",
notificationDescription: "Harap atur notifikasi ke monitor agar berfungsi.", notificationDescription: "Harap atur notifikasi ke monitor agar berfungsi.",
keywordDescription: "Cari kata kunci dalam code html atau JSON huruf besar-kecil berpengaruh", keywordDescription: "Cari kata kunci dalam code html atau JSON huruf besar-kecil berpengaruh",
pauseDashboardHome: "Jeda", pauseDashboardHome: "Jeda",
deleteMonitorMsg: "Apakah Anda mau menghapus monitor ini?", deleteMonitorMsg: "Apakah Anda mau menghapus monitor ini?",
deleteNotificationMsg: "Apakah Anda mau menghapus notifikasi ini untuk semua monitor?", deleteNotificationMsg: "Apakah Anda mau menghapus notifikasi untuk semua monitor?",
resoverserverDescription: "Cloudflare adalah server bawaan, Anda dapat mengubah server resolver kapan saja.", resoverserverDescription: "Cloudflare adalah server bawaan, Anda dapat mengubah server resolver kapan saja.",
rrtypeDescription: "Pilih RR-Type yang mau Anda monitor", rrtypeDescription: "Pilih RR-Type yang mau Anda monitor",
pauseMonitorMsg: "Apakah Anda yakin mau menjeda?", pauseMonitorMsg: "Apakah Anda yakin mau menjeda?",
@@ -23,9 +23,9 @@ export default {
importHandleDescription: "Pilih 'Lewati yang ada' jika Anda ingin melewati setiap monitor atau notifikasi dengan nama yang sama. 'Timpa' akan menghapus setiap monitor dan notifikasi yang ada.", importHandleDescription: "Pilih 'Lewati yang ada' jika Anda ingin melewati setiap monitor atau notifikasi dengan nama yang sama. 'Timpa' akan menghapus setiap monitor dan notifikasi yang ada.",
confirmImportMsg: "Apakah Anda yakin untuk mengimpor cadangan? Pastikan Anda telah memilih opsi impor yang tepat.", confirmImportMsg: "Apakah Anda yakin untuk mengimpor cadangan? Pastikan Anda telah memilih opsi impor yang tepat.",
twoFAVerifyLabel: "Silakan ketik token Anda untuk memverifikasi bahwa 2FA berfungsi", twoFAVerifyLabel: "Silakan ketik token Anda untuk memverifikasi bahwa 2FA berfungsi",
tokenValidSettingsMsg: "Tokennya benar! Anda sekarang dapat menyimpan pengaturan 2FA.", tokenValidSettingsMsg: "Token benar! Anda sekarang dapat menyimpan pengaturan 2FA.",
confirmEnableTwoFAMsg: "Apakah Anda yakin ingin mengaktifkan 2FA?", confirmEnableTwoFAMsg: "Apakah anda yakin ingin mengaktifkan 2FA?",
confirmDisableTwoFAMsg: "Apakah Anda yakin ingin menonaktifkan 2FA?", confirmDisableTwoFAMsg: "Apakah anda yakin ingin menonaktifkan 2FA?",
Settings: "Pengaturan", Settings: "Pengaturan",
Dashboard: "Dasbor", Dashboard: "Dasbor",
"New Update": "Pembaruan Baru", "New Update": "Pembaruan Baru",
@@ -276,7 +276,7 @@ export default {
promosmsTypeEco: "SMS ECO - murah tapi lambat dan sering kelebihan beban. Terbatas hanya untuk penerima Polandia.", promosmsTypeEco: "SMS ECO - murah tapi lambat dan sering kelebihan beban. Terbatas hanya untuk penerima Polandia.",
promosmsTypeFlash: "SMS FLASH - Pesan akan otomatis muncul di perangkat penerima. Terbatas hanya untuk penerima Polandia.", promosmsTypeFlash: "SMS FLASH - Pesan akan otomatis muncul di perangkat penerima. Terbatas hanya untuk penerima Polandia.",
promosmsTypeFull: "SMS FULL - SMS tingkat premium, Anda dapat menggunakan Nama Pengirim Anda (Anda harus mendaftarkan nama terlebih dahulu). Dapat diAndalkan untuk peringatan.", promosmsTypeFull: "SMS FULL - SMS tingkat premium, Anda dapat menggunakan Nama Pengirim Anda (Anda harus mendaftarkan nama terlebih dahulu). Dapat diAndalkan untuk peringatan.",
promosmsTypeSpeed: "SMS SPEED - Prioritas tertinggi dalam sistem. Sangat cepat dan dapat diAndalkan tetapi mahal (sekitar dua kali lipat dari harga SMS FULL).", promosmsTypeSpeed: "SMS SPEED - Prioritas tertinggi dalam sistem. Sangat cepat dan dapat diandalkan tetapi mahal (sekitar dua kali lipat dari harga SMS FULL).",
promosmsPhoneNumber: "Nomor telepon (untuk penerima Polandia Anda dapat melewati kode area)", promosmsPhoneNumber: "Nomor telepon (untuk penerima Polandia Anda dapat melewati kode area)",
promosmsSMSSender: "Nama Pengirim SMS : Nama pra-registrasi atau salah satu bawaan: InfoSMS, Info SMS, MaxSMS, INFO, SMS", promosmsSMSSender: "Nama Pengirim SMS : Nama pra-registrasi atau salah satu bawaan: InfoSMS, Info SMS, MaxSMS, INFO, SMS",
"Feishu WebHookUrl": "Feishu WebHookUrl", "Feishu WebHookUrl": "Feishu WebHookUrl",

View File

@@ -2,11 +2,11 @@ export default {
languageName: "Italiano (Italian)", languageName: "Italiano (Italian)",
checkEverySecond: "controlla ogni {0} secondi", checkEverySecond: "controlla ogni {0} secondi",
retryCheckEverySecond: "Riprova ogni {0} secondi.", retryCheckEverySecond: "Riprova ogni {0} secondi.",
retriesDescription: "Tentativi da fare prima che il servizio venga marcato come \"giù\" e che una notifica venga inviata.", retriesDescription: "Tentativi prima che il servizio venga marcato come \"DOWN\" e che una notifica venga inviata.",
ignoreTLSError: "Ignora gli errori TLS/SSL per i siti in HTTPS.", ignoreTLSError: "Ignora gli errori TLS/SSL per i siti HTTPS.",
upsideDownModeDescription: "Capovolgi lo stato. Se il servizio è raggiungibile viene marcato come \"GIÙ\".", upsideDownModeDescription: "Se il servizio risulta raggiungibile viene marcato come \"DOWN\".",
maxRedirectDescription: "Numero massimo di redirezionamenti consentito. Per disabilitare impostare \"0\".", maxRedirectDescription: "Numero massimo di redirezionamenti consentito. Per disabilitare, impostare \"0\".",
acceptedStatusCodesDescription: "Inserire i codici di stato considerati come risposte corrette.", acceptedStatusCodesDescription: "Elenco di codici di stato HTTP che sono considerati validi.",
passwordNotMatchMsg: "La password non coincide.", passwordNotMatchMsg: "La password non coincide.",
notificationDescription: "Assegnare la notifica a uno o più oggetti monitorati per metterla in funzione.", notificationDescription: "Assegnare la notifica a uno o più oggetti monitorati per metterla in funzione.",
keywordDescription: "Cerca la parola chiave nella risposta in html o JSON e fai distinzione tra maiuscole e minuscole", keywordDescription: "Cerca la parola chiave nella risposta in html o JSON e fai distinzione tra maiuscole e minuscole",
@@ -16,35 +16,35 @@ export default {
resoverserverDescription: "Cloudflare è il server predefinito, è possibile cambiare il server DNS.", resoverserverDescription: "Cloudflare è il server predefinito, è possibile cambiare il server DNS.",
rrtypeDescription: "Scegliere il tipo di RR che si vuole monitorare", rrtypeDescription: "Scegliere il tipo di RR che si vuole monitorare",
pauseMonitorMsg: "Si è certi di voler mettere in pausa?", pauseMonitorMsg: "Si è certi di voler mettere in pausa?",
enableDefaultNotificationDescription: "Per ogni nuovo oggetto monitorato questa notifica sarà abilitata di default. È comunque possibile disabilitare la notifica separatamente per ogni oggetto.", enableDefaultNotificationDescription: "Per ogni nuovo monitor questa notifica sarà abilitata di default. È comunque possibile disabilitare la notifica singolarmente.",
clearEventsMsg: "Si è certi di voler eliminare tutti gli eventi per questo servizio?", clearEventsMsg: "Si è certi di voler eliminare tutti gli eventi per questo servizio?",
clearHeartbeatsMsg: "Si è certi di voler eliminare tutti gli intervalli di controllo per questo servizio?", clearHeartbeatsMsg: "Si è certi di voler eliminare tutti gli intervalli di controllo per questo servizio?",
confirmClearStatisticsMsg: "Si è certi di voler eliminare TUTTE le statistiche?", confirmClearStatisticsMsg: "Si è certi di voler eliminare TUTTE le statistiche?",
importHandleDescription: "Selezionare 'Ignora gli esistenti' si vuole ignorare l'importazione degli oggetti monitorati o delle notifiche con lo stesso nome. 'Sovrascrivi' eliminerà ogni oggetto e notifica esistente.", importHandleDescription: "Selezionare \"Ignora esistenti\" se si vuole ignorare l'importazione dei monitor o delle notifiche con lo stesso nome. \"Sovrascrivi\" rimpiazzerà tutti i monitor e le notifiche presenti con quelli nel backup.",
confirmImportMsg: "Si è certi di voler importare il backup? Essere certi di aver selezionato l'opzione corretta di importazione.", confirmImportMsg: "Si è certi di voler importare il backup? Essere certi di aver selezionato l'opzione corretta di importazione.",
twoFAVerifyLabel: "Scrivi il token per verificare che l'autenticazione a due fattori funzioni", twoFAVerifyLabel: "Digita il token per verificare che l'autenticazione a due fattori funzioni correttamente:",
tokenValidSettingsMsg: "Il token è valido! È ora possibile salvare le impostazioni.", tokenValidSettingsMsg: "Il token è valido! È ora possibile salvare le impostazioni.",
confirmEnableTwoFAMsg: "Si è certi di voler abilitare l'autenticazione a due fattori?", confirmEnableTwoFAMsg: "Si è certi di voler abilitare l'autenticazione a due fattori?",
confirmDisableTwoFAMsg: "Si è certi di voler disabilitare l'autenticazione a due fattori?", confirmDisableTwoFAMsg: "Si è certi di voler disabilitare l'autenticazione a due fattori?",
Settings: "Impostazioni", Settings: "Impostazioni",
Dashboard: "Cruscotto", Dashboard: "Dashboard",
"New Update": "Nuovo Aggiornamento Disponibile", "New Update": "Nuovo aggiornamento disponibile!",
Language: "Lingua", Language: "Lingua",
Appearance: "Aspetto", Appearance: "Aspetto",
Theme: "Tema", Theme: "Tema",
General: "Generali", General: "Generale",
"Primary Base URL": "URL base primario", "Primary Base URL": "URL base primario",
Version: "Versione", Version: "Versione",
"Check Update On GitHub": "Controlla aggiornamenti su GitHub", "Check Update On GitHub": "Controlla aggiornamenti su GitHub",
List: "Lista", List: "Lista",
Add: "Aggiungi", Add: "Aggiungi",
"Add New Monitor": "Aggiungi un nuovo oggetto da monitorare", "Add New Monitor": "Aggiungi nuovo monitor",
"Quick Stats": "Statistiche rapide", "Quick Stats": "Statistiche rapide",
Up: "Su", Up: "Up",
Down: "Giù", Down: "Down",
Pending: "Pendente", Pending: "In attesa",
Unknown: "Sconosciuti", Unknown: "Sconosciuti",
Pause: "Metti in Pausa", Pause: "Metti in pausa",
Name: "Nome", Name: "Nome",
Status: "Stato", Status: "Stato",
DateTime: "Data e Ora", DateTime: "Data e Ora",
@@ -65,15 +65,15 @@ export default {
Ping: "Ping", Ping: "Ping",
"Monitor Type": "Modalità di monitoraggio", "Monitor Type": "Modalità di monitoraggio",
Keyword: "Parola chiave", Keyword: "Parola chiave",
"Friendly Name": "Nomignolo", "Friendly Name": "Nome",
URL: "URL", URL: "URL",
Hostname: "Nome Host", Hostname: "Nome Host",
Port: "Porta", Port: "Porta",
"Heartbeat Interval": "Intervallo di controllo", "Heartbeat Interval": "Intervallo di controllo",
Retries: "Tentativi", Retries: "Tentativi",
"Heartbeat Retry Interval": "Intervallo tra un tentativo di controllo e l'altro", "Heartbeat Retry Interval": "Intervallo tra i tentativo di controllo",
Advanced: "Avanzate", Advanced: "Avanzate",
"Upside Down Mode": "Modalità capovolta", "Upside Down Mode": "Modalità invertita",
"Max. Redirects": "Reindirizzamenti massimi", "Max. Redirects": "Reindirizzamenti massimi",
"Accepted Status Codes": "Codici di stato accettati", "Accepted Status Codes": "Codici di stato accettati",
"Push URL": "Push URL", "Push URL": "Push URL",
@@ -81,52 +81,52 @@ export default {
pushOptionalParams: "Parametri aggiuntivi: {0}", pushOptionalParams: "Parametri aggiuntivi: {0}",
Save: "Salva", Save: "Salva",
Notifications: "Notifiche", Notifications: "Notifiche",
"Not available, please setup.": "Non disponibili, da impostare.", "Not available, please setup.": "Non disponibili, da configurare.",
"Setup Notification": "Imposta le notifiche", "Setup Notification": "Configura le notifiche",
Light: "Chiaro", Light: "Chiaro",
Dark: "Scuro", Dark: "Scuro",
Auto: "Automatico", Auto: "Automatico",
"Theme - Heartbeat Bar": "Tema - Barra di Stato", "Theme - Heartbeat Bar": "Tema (barra di stato)",
Normal: "Normale", Normal: "Normale",
Bottom: "Sotto", Bottom: "Sotto",
None: "Nessuna", None: "Nessuna",
Timezone: "Fuso Orario", Timezone: "Fuso Orario",
"Search Engine Visibility": "Visibilità ai motori di ricerca", "Search Engine Visibility": "Visibilità ai motori di ricerca",
"Allow indexing": "Permetti l'indicizzazione", "Allow indexing": "Consenti l'indicizzazione",
"Discourage search engines from indexing site": "Scoraggia l'indicizzazione da parte dei motori di ricerca", "Discourage search engines from indexing site": "Evita l'indicizzazione ai motori di ricerca",
"Change Password": "Cambio Password", "Change Password": "Cambia password",
"Current Password": "Password Corrente", "Current Password": "Password corrente",
"New Password": "Nuova Password", "New Password": "Nuova password",
"Repeat New Password": "Ripetere la nuova Password", "Repeat New Password": "Ripeti nuova password",
"Update Password": "Modifica Password", "Update Password": "Modifica password",
"Disable Auth": "Disabilita l'autenticazione", "Disable Auth": "Disabilita autenticazione",
"Enable Auth": "Abilita Autenticazione", "Enable Auth": "Abilita autenticazione",
Logout: "Esci", Logout: "Esci",
Leave: "Annulla", Leave: "Annulla",
"I understand, please disable": "Lo capisco, disabilitare l'autenticazione.", "I understand, please disable": "Lo capisco, disabilitare l'autenticazione.",
Confirm: "Conferma", Confirm: "Conferma",
Yes: "Sì", Yes: "Sì",
No: "No", No: "No",
Username: "Nome Utente", Username: "Nome utente",
Password: "Password", Password: "Password",
"Remember me": "Ricordami", "Remember me": "Ricorda credenziali",
Login: "Accesso", Login: "Accesso",
"No Monitors, please": "Nessun oggetto monitorato,", "No Monitors, please": "Nessun monitor presente,",
"add one": "aggiungerne uno", "add one": "aggiungine uno!",
"Notification Type": "Tipo di notifica", "Notification Type": "Servizio di notifica",
Email: "E-mail", Email: "E-mail",
Test: "Prova", Test: "Fai una prova",
"Certificate Info": "Informazioni sul certificato", "Certificate Info": "Informazioni sul certificato",
"Resolver Server": "Server DNS", "Resolver Server": "Server DNS",
"Resource Record Type": "Tipo di Resource Record", "Resource Record Type": "Tipo di Resource Record",
"Last Result": "Ultimo risultato", "Last Result": "Ultimo risultato",
"Create your admin account": "Crea l'account amministratore", "Create your admin account": "Crea l'account amministratore",
"Repeat Password": "Ripeti Password", "Repeat Password": "Ripeti password",
"Import Backup": "Importa Backup", "Import Backup": "Importa backup",
"Export Backup": "Esporta Backup", "Export Backup": "Esporta backup",
Export: "Esporta", Export: "Esporta",
Import: "Importa", Import: "Importa",
respTime: "Tempo di Risposta (ms)", respTime: "Tempo di risposta (ms)",
notAvailableShort: "N/D", notAvailableShort: "N/D",
"Default enabled": "Abilitato di default", "Default enabled": "Abilitato di default",
"Apply on all existing monitors": "Applica su tutti i monitoraggi", "Apply on all existing monitors": "Applica su tutti i monitoraggi",
@@ -136,21 +136,21 @@ export default {
Heartbeats: "Controlli", Heartbeats: "Controlli",
"Auto Get": "Rileva", "Auto Get": "Rileva",
backupDescription: "È possibile fare il backup di tutti i monitoraggi e di tutte le notifiche in un file JSON.", backupDescription: "È possibile fare il backup di tutti i monitoraggi e di tutte le notifiche in un file JSON.",
backupDescription2: "P.S.: lo storico e i dati relativi agli eventi non saranno inclusi", backupDescription2: "NOTA: lo storico e i dati relativi agli eventi non saranno inclusi nel backup",
backupDescription3: "Dati sensibili come i token di autenticazione saranno inclusi nel backup, tenere quindi in un luogo sicuro.", backupDescription3: "Dati sensibili come i token di autenticazione saranno inclusi nel backup, custodisci il file in un luogo sicuro!",
alertNoFile: "Selezionare il file da importare.", alertNoFile: "Selezionare il file da importare.",
alertWrongFileType: "Selezionare un file JSON.", alertWrongFileType: "Selezionare un file JSON.",
"Clear all statistics": "Pulisci tutte le statistiche", "Clear all statistics": "Cancella tutte le statistiche",
"Skip existing": "Ignora gli esistenti", "Skip existing": "Ignora esistenti",
Overwrite: "Sovrascrivi", Overwrite: "Sovrascrivi",
Options: "Opzioni", Options: "Opzioni",
"Keep both": "Mantieni entrambi", "Keep both": "Mantieni entrambi",
"Verify Token": "Verifica Token", "Verify Token": "Verifica token",
"Setup 2FA": "Imposta l'autenticazione a due fattori", "Setup 2FA": "Configura 2FA",
"Enable 2FA": "Abilita l'autenticazione a due fattori", "Enable 2FA": "Abilita 2FA",
"Disable 2FA": "Disabilita l'autenticazione a due fattori", "Disable 2FA": "Disabilita 2FA",
"2FA Settings": "Impostazioni autenticazione a due fattori", "2FA Settings": "Gestisci l'autenticazione a due fattori",
"Two Factor Authentication": "Autenticazione a due fattori", "Two Factor Authentication": "Autenticazione a due fattori (2FA)",
Active: "Attivata", Active: "Attivata",
Inactive: "Disattivata", Inactive: "Disattivata",
Token: "Token", Token: "Token",
@@ -173,31 +173,31 @@ export default {
"Avg. Ping": "Tempo medio di risposta al ping", "Avg. Ping": "Tempo medio di risposta al ping",
"Avg. Response": "Tempo medio di risposta", "Avg. Response": "Tempo medio di risposta",
"Entry Page": "Pagina Principale", "Entry Page": "Pagina Principale",
statusPageNothing: "Non c'è nulla qui, aggiungere un gruppo oppure un oggetto da monitorare.", statusPageNothing: "Non c'è nulla qui, aggiungi un gruppo oppure un monitor.",
"No Services": "Nessun Servizio", "No Services": "Nessun servizio",
"All Systems Operational": "Tutti i sistemi sono funzionali", "All Systems Operational": "Tutti i sistemi sono funzionali",
"Partially Degraded Service": "Servizio parzialmente degradato", "Partially Degraded Service": "Servizio parzialmente degradato",
"Degraded Service": "Servizio degradato", "Degraded Service": "Servizio degradato",
"Add Group": "Aggiungi Gruppo", "Add Group": "Aggiungi gruppo",
"Add a monitor": "Aggiungi un oggetto", "Add a monitor": "Aggiungi monitor",
"Edit Status Page": "Modifica pagina di stato", "Edit Status Page": "Modifica pagina di stato",
"Go to Dashboard": "Vai al Cruscotto", "Go to Dashboard": "Vai alla dashboard",
"Status Page": "Pagina di stato", "Status Page": "Pagina di stato",
defaultNotificationName: "Allarme {notification} ({number})", defaultNotificationName: "Notifica {notification} ({number})",
here: "qui", here: "qui",
Required: "Richiesto", Required: "Obbligatorio",
telegram: "Telegram", telegram: "Telegram",
"Bot Token": "Token del Bot", "Bot Token": "Token del bot",
wayToGetTelegramToken: "È possibile ricevere un token da {0}.", wayToGetTelegramToken: "Puoi ottenere il token da {0}.",
"Chat ID": "ID Chat", "Chat ID": "ID Chat",
supportTelegramChatID: "Supporta Chat dirette / di Gruppo / ID Canale", supportTelegramChatID: "Supporta chat private, gruppi e canali.",
wayToGetTelegramChatID: "È possibile ricereve l'ID chat mandando un messaggio al bot e poi andando in questo URL per visualizzare il chat_id:", wayToGetTelegramChatID: "È possibile ricereve l'ID chat mandando un messaggio al bot e poi andando in questo URL per visualizzare il chat_id:",
"YOUR BOT TOKEN HERE": "QUI IL TOKEN DEL BOT", "YOUR BOT TOKEN HERE": "QUI IL TOKEN DEL BOT",
chatIDNotFound: "Non trovo l'ID chat. Prima bisogna mandare un messaggio al bot", chatIDNotFound: "Non trovo l'ID chat. Prima bisogna mandare un messaggio al bot",
webhook: "Webhook", webhook: "Webhook",
"Post URL": "Post URL", "Post URL": "Post URL",
"Content Type": "Content Type", "Content Type": "Content Type",
webhookJsonDesc: "{0} va bene per qualsiasi server http moderno ad esempio express.js", webhookJsonDesc: "{0} va bene per qualsiasi server HTTP moderno ad esempio express.js",
webhookFormDataDesc: "{multipart} va bene per PHP, c'è solo bisogno di analizzare il json con {decodeFunction}", webhookFormDataDesc: "{multipart} va bene per PHP, c'è solo bisogno di analizzare il json con {decodeFunction}",
smtp: "E-mail (SMTP)", smtp: "E-mail (SMTP)",
secureOptionNone: "Nessuno / STARTTLS (25, 587)", secureOptionNone: "Nessuno / STARTTLS (25, 587)",
@@ -294,29 +294,29 @@ export default {
matrixDesc1: "È possibile recuperare l'ID della stanza all'interno delle impostazioni avanzate della stanza nel client Matrix. Dovrebbe essere simile a !QMdRCpUIfLwsfjxye6:server.di.casa.", matrixDesc1: "È possibile recuperare l'ID della stanza all'interno delle impostazioni avanzate della stanza nel client Matrix. Dovrebbe essere simile a !QMdRCpUIfLwsfjxye6:server.di.casa.",
matrixDesc2: "È altamente raccomandata la creazione di un nuovo utente e di non utilizare il proprio token di accesso Matrix poiché darà pieno controllo al proprio account e a tutte le stanze in cui si ha accesso. Piuttosto, si crei un nuovo utente per invitarlo nella stanza dove si vuole ricevere le notifiche. Si può accedere al token eseguendo {0}", matrixDesc2: "È altamente raccomandata la creazione di un nuovo utente e di non utilizare il proprio token di accesso Matrix poiché darà pieno controllo al proprio account e a tutte le stanze in cui si ha accesso. Piuttosto, si crei un nuovo utente per invitarlo nella stanza dove si vuole ricevere le notifiche. Si può accedere al token eseguendo {0}",
Method: "Metodo", Method: "Metodo",
Body: "Corpo", Body: "Body",
Headers: "Intestazioni", Headers: "Intestazioni",
PushUrl: "URL di Push", PushUrl: "URL di Push",
HeadersInvalidFormat: "L'intestazione di richiesta non è un JSON valido: ", HeadersInvalidFormat: "L'intestazione di richiesta non è un JSON valido: ",
BodyInvalidFormat: "Il corpo di richiesta non è un JSON valido: ", BodyInvalidFormat: "Il corpo di richiesta non è un JSON valido: ",
"Monitor History": "Storicizzazione", "Monitor History": "Storico monitor",
clearDataOlderThan: "Mantieni lo storico per {0} giorni.", clearDataOlderThan: "Mantieni lo storico per {0} giorni.",
PasswordsDoNotMatch: "Le password non corrispondono.", PasswordsDoNotMatch: "Le password non corrispondono!",
records: "records", records: "records",
"One record": "One record", "One record": "One record",
steamApiKeyDescription: "Per monitorare un server di gioco Steam si necessita della chiave Web-API di Steam. È possibile registrare la propria chiave API qui: ", steamApiKeyDescription: "Per monitorare un server di gioco Steam è necessaria una Web-API Key di Steam. È possibile registrarne una qui: ",
"Current User": "Utente corrente", "Current User": "Utente corrente",
recent: "Recenti", recent: "Recenti",
Done: "Fatto", Done: "Fatto",
Info: "Info", Info: "Info",
Security: "Sicurezza", Security: "Sicurezza",
"Steam API Key": "Chiave API di Steam", "Steam API Key": "API Key di Steam",
"Shrink Database": "Comprimi Database", "Shrink Database": "Comprimi database",
"Pick a RR-Type...": "Scegli un tipo di RR...", "Pick a RR-Type...": "Scegli un tipo di RR...",
"Pick Accepted Status Codes...": "Scegli i codici di Stato Accettati...", "Pick Accepted Status Codes...": "Scegli i codici di Stato Accettati...",
Default: "Predefinito", Default: "Predefinito",
"HTTP Options": "Opzioni HTTP", "HTTP Options": "Opzioni HTTP",
"Create Incident": "Crea Incident", "Create Incident": "Segnala incidente",
Title: "Titolo", Title: "Titolo",
Content: "Contenuto", Content: "Contenuto",
Style: "Stile", Style: "Stile",
@@ -331,20 +331,20 @@ export default {
Created: "Creato", Created: "Creato",
"Last Updated": "Ultima modifica", "Last Updated": "Ultima modifica",
Unpin: "Rimuovi", Unpin: "Rimuovi",
"Switch to Light Theme": "Utilizza tema chiaro", "Switch to Light Theme": "Utilizza il tema chiaro",
"Switch to Dark Theme": "Utilizza tema scuro", "Switch to Dark Theme": "Utilizza il tema scuro",
"Show Tags": "Mostra etichette", "Show Tags": "Mostra etichette",
"Hide Tags": "Nascondi etichette", "Hide Tags": "Nascondi etichette",
Description: "Descrizione", Description: "Descrizione",
"No monitors available.": "Nessun oggetto monitorato disponibile.", "No monitors available.": "Nessun monitor disponibile.",
"Add one": "Aggiungi", "Add one": "Aggiungine uno!",
"No Monitors": "Nessun oggetto monitorato inserito", "No Monitors": "Nessun monitor presente.",
"Untitled Group": "Gruppo senza titolo", "Untitled Group": "Gruppo senza titolo",
Services: "Servizi", Services: "Servizi",
Discard: "Scarta", Discard: "Scarta modifiche",
Cancel: "Annulla", Cancel: "Annulla",
"Powered by": "Servito da", "Powered by": "Powered by",
shrinkDatabaseDescription: "Lancia il comando VACUUM sul database SQLite. Se il database è stato creato dopo la versione 1.10.0, AUTO_VACUUM è già abilitato e questa azione non è necessaria.", shrinkDatabaseDescription: "Lancia il comando \"VACUUM\" sul database SQLite. Se il database è stato creato dopo la versione 1.10.0, la funzione \"AUTO_VACUUM\" è già abilitata di default e quindi questa azione non è necessaria.",
serwersms: "SerwerSMS.pl", serwersms: "SerwerSMS.pl",
serwersmsAPIUser: "Nome utente API (incl. prefisso webapi_)", serwersmsAPIUser: "Nome utente API (incl. prefisso webapi_)",
serwersmsAPIPassword: "Password API", serwersmsAPIPassword: "Password API",
@@ -360,4 +360,5 @@ export default {
smtpDkimHashAlgo: "Algoritmo di hashing (opzionale)", smtpDkimHashAlgo: "Algoritmo di hashing (opzionale)",
smtpDkimheaderFieldNames: "Campi Intestazione da firmare (opzionale)", smtpDkimheaderFieldNames: "Campi Intestazione da firmare (opzionale)",
smtpDkimskipFields: "Campi Intestazione da non firmare (opzionale)", smtpDkimskipFields: "Campi Intestazione da non firmare (opzionale)",
GoogleChat: "Google Chat (solo per Google Workspace)",
}; };

View File

@@ -4,24 +4,24 @@ export default {
retryCheckEverySecond: "Prøv igjen hvert {0} sekund.", retryCheckEverySecond: "Prøv igjen hvert {0} sekund.",
retriesDescription: "Maksimalt antall forsøk før tjenesten er merket som nede og et varsel sendes", retriesDescription: "Maksimalt antall forsøk før tjenesten er merket som nede og et varsel sendes",
ignoreTLSError: "Ignorer TLS/SSL-feil for HTTPS-nettsteder", ignoreTLSError: "Ignorer TLS/SSL-feil for HTTPS-nettsteder",
upsideDownModeDescription: "Snu statusen opp ned. Hvis tjenesten er tilgjengelig, er den NED.", upsideDownModeDescription: "Snu statusen opp ned. Hvis tjenesten er tilgjengelig, er den NEDE.",
maxRedirectDescription: "Maksimalt antall viderekoblinger å følge. Sett til 0 for å deaktivere viderekoblinger.", maxRedirectDescription: "Maksimalt antall viderekoblinger å følge. Sett til 0 for å deaktivere viderekoblinger.",
acceptedStatusCodesDescription: "Velg statuskoder som anses som et vellykket svar.", acceptedStatusCodesDescription: "Velg statuskoder som anses som en vellykket respons.",
passwordNotMatchMsg: "Passordene stemmer ikke overens.", passwordNotMatchMsg: "Passordene stemmer ikke overens.",
notificationDescription: "Tilordne et varsel for å overvåkningen for å få det til å fungere.", notificationDescription: "Varsler må tilordnes en overvåkning for å fungere.",
keywordDescription: "Søk etter nøkkelord i vanlig HTML eller JSON, og det er versalfølsom", keywordDescription: "Søk etter nøkkelord i ren HTML eller JSON. Søket skiller mellom store og små bokstaver.",
pauseDashboardHome: "Pause", pauseDashboardHome: "Pause",
deleteMonitorMsg: "Er du sikker på at du vil slette denne overvåkningen?", deleteMonitorMsg: "Er du sikker på at du vil slette denne overvåkningen?",
deleteNotificationMsg: "Er du sikker på at du vil slette dette varselet for alle overvåkningene?", deleteNotificationMsg: "Er du sikker på at du vil slette dette varselet for alle overvåkningene?",
resoverserverDescription: "Cloudflare er standardserveren, kan du når som helst endre DNS-serveren.", resoverserverDescription: "Cloudflare er standardserveren. Du kan endre DNS-serveren når som helst.",
rrtypeDescription: "Velg RR-typen du vil overvåke", rrtypeDescription: "Velg RR-typen du vil overvåke",
pauseMonitorMsg: "Er du sikker på at du vil sette en pause?", pauseMonitorMsg: "Er du sikker på at du vil sette pause?",
enableDefaultNotificationDescription: "For hver ny overvåkning vil denne varslingen være aktivert som standard. Du kan fortsatt deaktivere varselet separat for hver overvåkning.", enableDefaultNotificationDescription: "For hver ny overvåkning vil denne varslingen være aktivert som standard. Du kan fortsatt deaktivere varselet separat for hver overvåkning.",
clearEventsMsg: "Er du sikker på at du vil slette alle hendelser for denne overvåkningen?", clearEventsMsg: "Er du sikker på at du vil slette alle hendelser for denne overvåkningen?",
clearHeartbeatsMsg: "Er du sikker på at du vil slette alle hjerteslag for denne overvåkningen?", clearHeartbeatsMsg: "Er du sikker på at du vil slette alle hjerteslag for denne overvåkningen?",
confirmClearStatisticsMsg: "Er du sikker på at du vil slette ALL statistikk?", confirmClearStatisticsMsg: "Er du sikker på at du vil slette ALL statistikk?",
importHandleDescription: "Velg 'Hopp over eksisterende' hvis du vil hoppe over hver overvåkning eller varsel med samme navn. 'Overskriv' sletter alle eksisterende overvåkninger og varsler.", importHandleDescription: "Velg 'Hopp over eksisterende' hvis du vil hoppe over hver overvåkning eller varsel med samme navn. 'Overskriv' sletter alle eksisterende overvåkninger og varsler.",
confirmImportMsg: "Er du sikker på å importere sikkerhetskopien? Sørg for at du har valgt riktig importalternativ.", confirmImportMsg: "Er du sikker på at du vil importere denne sikkerhetskopien? Sørg for at du har valgt riktig importalternativ.",
twoFAVerifyLabel: "Skriv inn tokenet ditt for å bekrefte at 2FA fungerer", twoFAVerifyLabel: "Skriv inn tokenet ditt for å bekrefte at 2FA fungerer",
tokenValidSettingsMsg: "Token er gyldig! Du kan nå lagre 2FA-innstillingene.", tokenValidSettingsMsg: "Token er gyldig! Du kan nå lagre 2FA-innstillingene.",
confirmEnableTwoFAMsg: "Er du sikker på at du vil aktivere 2FA?", confirmEnableTwoFAMsg: "Er du sikker på at du vil aktivere 2FA?",
@@ -50,7 +50,7 @@ export default {
Message: "Melding", Message: "Melding",
"No important events": "Ingen viktige hendelser", "No important events": "Ingen viktige hendelser",
Resume: "Fortsett", Resume: "Fortsett",
Edit: "Endre", Edit: "Rediger",
Delete: "Slett", Delete: "Slett",
Current: "Nåværende", Current: "Nåværende",
Uptime: "Oppetid", Uptime: "Oppetid",
@@ -77,7 +77,7 @@ export default {
"Accepted Status Codes": "Godkjente statuskoder", "Accepted Status Codes": "Godkjente statuskoder",
Save: "Lagre", Save: "Lagre",
Notifications: "Varsler", Notifications: "Varsler",
"Not available, please setup.": "Ikke tilgjengelig, sett opp.", "Not available, please setup.": "Ikke tilgjengelig, venligst sett opp.",
"Setup Notification": "Sett opp varsel", "Setup Notification": "Sett opp varsel",
Light: "Lys", Light: "Lys",
Dark: "Mørk", Dark: "Mørk",
@@ -87,9 +87,9 @@ export default {
Bottom: "Bunn", Bottom: "Bunn",
None: "Ingen", None: "Ingen",
Timezone: "Tidssone", Timezone: "Tidssone",
"Search Engine Visibility": "Søkemotor synlighet", "Search Engine Visibility": "Søkemotor-synlighet",
"Allow indexing": "Tillat indeksering", "Allow indexing": "Tillat indeksering",
"Discourage search engines from indexing site": "Avskrekk søkemotorer fra å indeksere nettstedet", "Discourage search engines from indexing site": "Fraråd søkemotorer fra å indeksere nettstedet",
"Change Password": "Endre passord", "Change Password": "Endre passord",
"Current Password": "Nåværende passord", "Current Password": "Nåværende passord",
"New Password": "Nytt passord", "New Password": "Nytt passord",
@@ -99,7 +99,7 @@ export default {
"Enable Auth": "Aktiver autentisering", "Enable Auth": "Aktiver autentisering",
Logout: "Logg ut", Logout: "Logg ut",
Leave: "Forlat", Leave: "Forlat",
"I understand, please disable": "Jeg forstår, deaktiver", "I understand, please disable": "Jeg forstår, vennligst deaktiver",
Confirm: "Bekreft", Confirm: "Bekreft",
Yes: "Ja", Yes: "Ja",
No: "Nei", No: "Nei",
@@ -125,15 +125,15 @@ export default {
respTime: "Svartid (ms)", respTime: "Svartid (ms)",
notAvailableShort: "N/A", notAvailableShort: "N/A",
"Default enabled": "Standard aktivert", "Default enabled": "Standard aktivert",
"Apply on all existing monitors": "Påfør på alle eksisterende overvåkninger", "Apply on all existing monitors": "Anvend for alle eksisterende overvåkninger",
Create: "Opprett", Create: "Opprett",
"Clear Data": "Slett data", "Clear Data": "Slett data",
Events: "Hendelser", Events: "Hendelser",
Heartbeats: "Hjerteslag", Heartbeats: "Hjerteslag",
"Auto Get": "Auto Get", "Auto Get": "Auto Hent",
backupDescription: "Du kan sikkerhetskopiere alle overvåkninger og alle varsler til en JSON-fil.", backupDescription: "Du kan sikkerhetskopiere alle overvåkninger og alle varsler til en JSON-fil.",
backupDescription2: "PS: Historikk og hendelsesdata er ikke inkludert.", backupDescription2: "PS: Historikk og hendelsesdata er ikke inkludert.",
backupDescription3: "Følsomme data som varslingstokener er inkludert i eksportfilen. Vennligst oppbevar dem nøye.", backupDescription3: "Følsomme data som varslingstokener er inkludert i eksportfilen. Vennligst oppbevar dem sikkert.",
alertNoFile: "Velg en fil som skal importeres.", alertNoFile: "Velg en fil som skal importeres.",
alertWrongFileType: "Velg en JSON-fil.", alertWrongFileType: "Velg en JSON-fil.",
"Clear all statistics": "Fjern all statistikk", "Clear all statistics": "Fjern all statistikk",
@@ -154,7 +154,7 @@ export default {
Tags: "Etiketter", Tags: "Etiketter",
"Add New below or Select...": "Legg til nytt nedenfor eller Velg ...", "Add New below or Select...": "Legg til nytt nedenfor eller Velg ...",
"Tag with this name already exist.": "Etikett med dette navnet eksisterer allerede.", "Tag with this name already exist.": "Etikett med dette navnet eksisterer allerede.",
"Tag with this value already exist.": "Etikett med denne verdien finnes allerede.", "Tag with this value already exist.": "Etikett med denne verdien eksisterer allerede.",
color: "farge", color: "farge",
"value (optional)": "verdi (valgfritt)", "value (optional)": "verdi (valgfritt)",
Gray: "Grå", Gray: "Grå",
@@ -172,29 +172,29 @@ export default {
statusPageNothing: "Ingenting her, vennligst legg til en gruppe eller en overvåkning.", statusPageNothing: "Ingenting her, vennligst legg til en gruppe eller en overvåkning.",
"No Services": "Ingen tjenester", "No Services": "Ingen tjenester",
"All Systems Operational": "Alle systemer i drift", "All Systems Operational": "Alle systemer i drift",
"Partially Degraded Service": "Delvis degradert drift", "Partially Degraded Service": "Delvis degradert tjeneste",
"Degraded Service": "Degradert drift", "Degraded Service": "Degradert tjeneste",
"Add Group": "Legg til gruppe", "Add Group": "Legg til gruppe",
"Add a monitor": "Legg til en overvåkning", "Add a monitor": "Legg til en overvåkning",
"Edit Status Page": "Rediger statusside", "Edit Status Page": "Rediger statusside",
"Go to Dashboard": "Gå til Dashboard", "Go to Dashboard": "Gå til Dashboard",
"Status Page": "Statusside", "Status Page": "Statusside",
defaultNotificationName: "Min {notification} varsling ({number})", defaultNotificationName: "Min {notification} varsling ({number})",
here: "here", here: "her",
Required: "Obligatorisk", Required: "Obligatorisk",
telegram: "Telegram", telegram: "Telegram",
"Bot Token": "Bot Token", "Bot Token": "Bot Token",
wayToGetTelegramToken: "Du kan få et token fra {0}.", wayToGetTelegramToken: "Du kan få et token fra {0}.",
"Chat ID": "Chat ID", "Chat ID": "Chat ID",
supportTelegramChatID: "Support Direct Chat / Group / Channel's Chat ID", supportTelegramChatID: "Support Direct Chat / Group / Channel's Chat ID",
wayToGetTelegramChatID: "Du kan få chat-ID-en din ved å sende meldingen til boten og gå til denne nettadressen for å se chat_id:", wayToGetTelegramChatID: "Du kan få chat-ID-en din ved å sende en melding til boten og gå til denne nettadressen for å se chat_id:",
"YOUR BOT TOKEN HERE": "DITT BOT TOKEN HER", "YOUR BOT TOKEN HERE": "DITT BOT TOKEN HER",
chatIDNotFound: "Chat-ID ble ikke funnet. Send en melding til denne boten først", chatIDNotFound: "Chat-ID ble ikke funnet. Send en melding til denne boten først",
webhook: "Webhook", webhook: "Webhook",
"Post URL": "Post URL", "Post URL": "Post URL",
"Content Type": "Content Type", "Content Type": "Innholdstype",
webhookJsonDesc: "{0} er bra for alle moderne HTTP-servere som express.js", webhookJsonDesc: "{0} er bra for alle moderne HTTP-servere som express.js",
webhookFormDataDesc: "{multipart} er bra for PHP, du trenger bare å analysere JSON etter {decodeFunction}", webhookFormDataDesc: "{multipart} er bra for PHP. JSON trenger å bli analysert med {decodeFunction}",
smtp: "E-post (SMTP)", smtp: "E-post (SMTP)",
secureOptionNone: "None / STARTTLS (25, 587)", secureOptionNone: "None / STARTTLS (25, 587)",
secureOptionTLS: "TLS (465)", secureOptionTLS: "TLS (465)",
@@ -205,7 +205,7 @@ export default {
smtpBCC: "BCC", smtpBCC: "BCC",
discord: "Discord", discord: "Discord",
"Discord Webhook URL": "Discord Webhook URL", "Discord Webhook URL": "Discord Webhook URL",
wayToGetDiscordURL: "Du kan få dette ved å gå til Serverinnstillinger -> Integrasjoner -> Webhooks -> Ny webhook", wayToGetDiscordURL: "Du kan få denne ved å gå til Serverinnstillinger -> Integrasjoner -> Opprett en Webhook",
"Bot Display Name": "Bot Visningsnavn", "Bot Display Name": "Bot Visningsnavn",
"Prefix Custom Message": "Prefiks tilpasset melding", "Prefix Custom Message": "Prefiks tilpasset melding",
"Hello @everyone is...": "Hei {'@'}everyone det er...", "Hello @everyone is...": "Hei {'@'}everyone det er...",
@@ -240,43 +240,43 @@ export default {
pushbullet: "Pushbullet", pushbullet: "Pushbullet",
line: "Line Messenger", line: "Line Messenger",
mattermost: "Mattermost", mattermost: "Mattermost",
"User Key": "User Key", "User Key": "Bruker-nøkkel",
Device: "Device", Device: "Enhet",
"Message Title": "Message Title", "Message Title": "Meldingstittel",
"Notification Sound": "Notification Sound", "Notification Sound": "Notifikasjonslyd",
"More info on:": "More info on: {0}", "More info on:": "Mer info : {0}",
pushoverDesc1: "Emergency priority (2) has default 30 second timeout between retries and will expire after 1 hour.", pushoverDesc1: "Nødsprioritet (2) har en standard 30 sekunders tidsavbrudd mellom forsøk og vil utløpe etter 1 time.",
pushoverDesc2: "If you want to send notifications to different devices, fill out Device field.", pushoverDesc2: "Hvis du vil sende varsler til forskjellige enheteter, fyll ut Enhet-feltet.",
"SMS Type": "SMS Type", "SMS Type": "SMS Type",
octopushTypePremium: "Premium (Fast - recommended for alerting)", octopushTypePremium: "Premium (Raskt - anbefalt for varsling)",
octopushTypeLowCost: "Low Cost (Slow, sometimes blocked by operator)", octopushTypeLowCost: "Lav kostnad (Sakte, noen ganger blokkert av leverandør)",
"Check octopush prices": "Check octopush prices {0}.", "Check octopush prices": "Sjekk octopush priser {0}.",
octopushPhoneNumber: "Phone number (intl format, eg : +33612345678) ", octopushPhoneNumber: "Telefonnummer (intl format, eg : +4791234567) ",
octopushSMSSender: "SMS Sender Name : 3-11 alphanumeric characters and space (a-zA-Z0-9)", octopushSMSSender: "SMS Avsendernavn : 3-11 alphanumeriske tegn og mellomrom (a-zA-Z0-9)",
"LunaSea Device ID": "LunaSea Device ID", "LunaSea Device ID": "LunaSea Enhet ID",
"Apprise URL": "Apprise URL", "Apprise URL": "Apprise URL",
"Example:": "Example: {0}", "Example:": "Eksempel: {0}",
"Read more:": "Read more: {0}", "Read more:": "Les mer: {0}",
"Status:": "Status: {0}", "Status:": "Status: {0}",
"Read more": "Read more", "Read more": "Les mer",
appriseInstalled: "Apprise is installed.", appriseInstalled: "Apprise er installert.",
appriseNotInstalled: "Apprise is not installed. {0}", appriseNotInstalled: "Apprise ikke installert. {0}",
"Access Token": "Access Token", "Access Token": "Tilgangs-Token",
"Channel access token": "Channel access token", "Channel access token": "Kanal tilgangs-token",
"Line Developers Console": "Line Developers Console", "Line Developers Console": "Line Utviklserskonsoll",
lineDevConsoleTo: "Line Developers Console - {0}", lineDevConsoleTo: "Line Utviklserskonsoll - {0}",
"Basic Settings": "Basic Settings", "Basic Settings": "Grunnleggende instillinger",
"User ID": "User ID", "User ID": "Bruker-ID",
"Messaging API": "Messaging API", "Messaging API": "Meldings-API",
wayToGetLineChannelToken: "First access the {0}, create a provider and channel (Messaging API), then you can get the channel access token and user id from the above mentioned menu items.", wayToGetLineChannelToken: "Først, få tilgang til {0}, lag en leverandør og kanal (Meldings-API), deretter kan du hente kanaltilgangs-token og bruker id fra menu-valgene nevnt over.",
"Icon URL": "Icon URL", "Icon URL": "Ikon URL",
aboutIconURL: "You can provide a link to a picture in \"Icon URL\" to override the default profile picture. Will not be used if Icon Emoji is set.", aboutIconURL: "Du kan gi en link til et bilde i \"Ikon URL\" for å overskrive det standard profilbildet. Vil ikke bli brukt hvis Ikon Emoji ikke er satt.",
aboutMattermostChannelName: "You can override the default channel that webhook posts to by entering the channel name into \"Channel Name\" field. This needs to be enabled in Mattermost webhook settings. Ex: #other-channel", aboutMattermostChannelName: "Du kan overskrive standardkanalen som webhook-en poster i ved å skrive enn kanalnavnet i \"Kanalnavn\" feltet. Dette må være skrudd på i Mattermost webhook-instillingene. Eks: #other-channel",
matrix: "Matrix", matrix: "Matrix",
promosmsTypeEco: "SMS ECO - cheap but slow and often overloaded. Limited only to Polish recipients.", promosmsTypeEco: "SMS ECO - billig, men treg og ofte overbelastet. Begrenset til bare polske mottakere.",
promosmsTypeFlash: "SMS FLASH - Message will automatically show on recipient device. Limited only to Polish recipients.", promosmsTypeFlash: "SMS FLASH - Melding vil automatisk vises på mottakker-enhet. Begrenset til bare polske mottakere.",
promosmsTypeFull: "SMS FULL - Premium tier of SMS, You can use Your Sender Name (You need to register name first). Reliable for alerts.", promosmsTypeFull: "SMS FULL - Premuimnivå SMS. Du kan bruke dit avsendernavn (Du må registerere et navn først). Pålitelig for alle varslinger.",
promosmsTypeSpeed: "SMS SPEED - Highest priority in system. Very quick and reliable but costly (about twice of SMS FULL price).", promosmsTypeSpeed: "SMS SPEED - Høyest prioritet i systemet.Veldig rask på pålitelig, men dyrt (omtrent det dobbeltet av SMS FULL pris).",
promosmsPhoneNumber: "Phone number (for Polish recipient You can skip area codes)", promosmsPhoneNumber: "Telefonnummber (for polske mottakere. Du trenger ikke områdekode.)",
promosmsSMSSender: "SMS Sender Name : Pre-registred name or one of defaults: InfoSMS, SMS Info, MaxSMS, INFO, SMS", promosmsSMSSender: "SMS Avsendernavn : Forhåndsregistert navn eller en av standardnavnene: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
}; };

View File

@@ -22,8 +22,8 @@ export default {
confirmClearStatisticsMsg: "Jesteś pewien, że chcesz usunąć WSZYSTKIE statystyki?", confirmClearStatisticsMsg: "Jesteś pewien, że chcesz usunąć WSZYSTKIE statystyki?",
importHandleDescription: "Wybierz 'Pomiń istniejące', jeśli chcesz pominąć każdy monitor lub powiadomienie o tej samej nazwie. 'Nadpisz' spowoduje usunięcie każdego istniejącego monitora i powiadomienia.", importHandleDescription: "Wybierz 'Pomiń istniejące', jeśli chcesz pominąć każdy monitor lub powiadomienie o tej samej nazwie. 'Nadpisz' spowoduje usunięcie każdego istniejącego monitora i powiadomienia.",
confirmImportMsg: "Czy na pewno chcesz zaimportować kopię zapasową? Upewnij się, że wybrałeś właściwą opcję importu.", confirmImportMsg: "Czy na pewno chcesz zaimportować kopię zapasową? Upewnij się, że wybrałeś właściwą opcję importu.",
twoFAVerifyLabel: "Proszę podaj swój token 2FA, aby sprawdzić czy 2FA działa.", twoFAVerifyLabel: "Proszę, podaj swój token 2FA, aby sprawdzić, czy 2FA działa.",
tokenValidSettingsMsg: "Token jest prawdiłowy! Teraz możesz zapisać ustawienia 2FA.", tokenValidSettingsMsg: "Token jest prawidłowy! Teraz możesz zapisać ustawienia 2FA.",
confirmEnableTwoFAMsg: "Jesteś pewien, że chcesz włączyć 2FA?", confirmEnableTwoFAMsg: "Jesteś pewien, że chcesz włączyć 2FA?",
confirmDisableTwoFAMsg: "Jesteś pewien, że chcesz wyłączyć 2FA?", confirmDisableTwoFAMsg: "Jesteś pewien, że chcesz wyłączyć 2FA?",
Settings: "Ustawienia", Settings: "Ustawienia",
@@ -68,7 +68,7 @@ export default {
URL: "URL", URL: "URL",
Hostname: "Hostname", Hostname: "Hostname",
Port: "Port", Port: "Port",
"Heartbeat Interval": "Czętotliwość bicia serca", "Heartbeat Interval": "Częstotliwość bicia serca",
Retries: "Prób", Retries: "Prób",
"Heartbeat Retry Interval": "Częstotliwość ponawiania bicia serca", "Heartbeat Retry Interval": "Częstotliwość ponawiania bicia serca",
Advanced: "Zaawansowane", Advanced: "Zaawansowane",
@@ -110,7 +110,7 @@ export default {
"No Monitors, please": "Brak monitorów, proszę", "No Monitors, please": "Brak monitorów, proszę",
"add one": "dodać jeden", "add one": "dodać jeden",
"Notification Type": "Rodzaj powiadomienia", "Notification Type": "Rodzaj powiadomienia",
Email: "Email", Email: "E-mail",
Test: "Test", Test: "Test",
"Certificate Info": "Informacje o certyfikacie", "Certificate Info": "Informacje o certyfikacie",
"Resolver Server": "Serwer rozwiązywania nazw", "Resolver Server": "Serwer rozwiązywania nazw",
@@ -188,13 +188,13 @@ export default {
"Chat ID": "Identyfikator czatu", "Chat ID": "Identyfikator czatu",
supportTelegramChatID: "Czat wsparcia technicznego / Bezpośrednia rozmowa / Czat grupowy", supportTelegramChatID: "Czat wsparcia technicznego / Bezpośrednia rozmowa / Czat grupowy",
wayToGetTelegramChatID: "Możesz uzyskać swój identyfikator czatu, wysyłając wiadomość do bota i przechodząc pod ten adres URL, aby wyświetlić identyfikator czatu:", wayToGetTelegramChatID: "Możesz uzyskać swój identyfikator czatu, wysyłając wiadomość do bota i przechodząc pod ten adres URL, aby wyświetlić identyfikator czatu:",
"YOUR BOT TOKEN HERE": "TWOJ TOKEN BOTA", "YOUR BOT TOKEN HERE": "TWÓJ TOKEN BOTA",
chatIDNotFound: "Identyfikator czatu nie znaleziony, najpierw napisz do bota", chatIDNotFound: "Identyfikator czatu nie znaleziony, najpierw napisz do bota",
webhook: "Webhook", webhook: "Webhook",
"Post URL": "Adres URL", "Post URL": "Adres URL",
"Content Type": "Rodzaj danych", "Content Type": "Rodzaj danych",
webhookJsonDesc: "{0} jest dobry w przypadku serwerów HTTP, takich jak express.js", webhookJsonDesc: "{0} jest dobry w przypadku serwerów HTTP, takich jak express.js",
webhookFormDataDesc: "{multipart} jest dobry dla PHP, musisz jedynie przetowrzyć dane przez {decodeFunction}", webhookFormDataDesc: "{multipart} jest dobry dla PHP, musisz jedynie przetworzyć dane przez {decodeFunction}",
smtp: "Email (SMTP)", smtp: "Email (SMTP)",
secureOptionNone: "Brak / STARTTLS (25, 587)", secureOptionNone: "Brak / STARTTLS (25, 587)",
secureOptionTLS: "TLS (465)", secureOptionTLS: "TLS (465)",
@@ -205,7 +205,7 @@ export default {
smtpBCC: "UDW", smtpBCC: "UDW",
discord: "Discord", discord: "Discord",
"Discord Webhook URL": "URL webhook Discorda", "Discord Webhook URL": "URL webhook Discorda",
wayToGetDiscordURL: "Możesz go uzyskać przechodząc do Ustawienia serwera -> Integracje -> Tworzenie webhooka", wayToGetDiscordURL: "Możesz go uzyskać, przechodząc do Ustawienia serwera -> Integracje -> Tworzenie webhooka",
"Bot Display Name": "Wyświetlana nazwa bota", "Bot Display Name": "Wyświetlana nazwa bota",
"Prefix Custom Message": "Własny początek wiadomości", "Prefix Custom Message": "Własny początek wiadomości",
"Hello @everyone is...": "Hej {'@'}everyone ...", "Hello @everyone is...": "Hej {'@'}everyone ...",
@@ -237,6 +237,7 @@ export default {
promosms: "PromoSMS", promosms: "PromoSMS",
lunasea: "LunaSea", lunasea: "LunaSea",
apprise: "Apprise (obsługuje 50+ usług powiadomień)", apprise: "Apprise (obsługuje 50+ usług powiadomień)",
GoogleChat: "Google Chat (wyłącznie Google Workspace)",
pushbullet: "Pushbullet", pushbullet: "Pushbullet",
line: "Line Messenger", line: "Line Messenger",
mattermost: "Mattermost", mattermost: "Mattermost",
@@ -259,7 +260,7 @@ export default {
"Read more:": "Czytaj dalej: {0}", "Read more:": "Czytaj dalej: {0}",
"Status:": "Status: {0}", "Status:": "Status: {0}",
"Read more": "Czytaj dalej", "Read more": "Czytaj dalej",
appriseInstalled: "Apprise jest zostało zainstalowane.", appriseInstalled: "Apprise jest zainstalowane.",
appriseNotInstalled: "Apprise nie zostało zainstalowane. {0}", appriseNotInstalled: "Apprise nie zostało zainstalowane. {0}",
"Access Token": "Token dostępu", "Access Token": "Token dostępu",
"Channel access token": "Token dostępu kanału", "Channel access token": "Token dostępu kanału",
@@ -289,7 +290,7 @@ export default {
"Feishu WebHookUrl": "Feishu WebHookURL", "Feishu WebHookUrl": "Feishu WebHookURL",
matrixHomeserverURL: "Adres URL serwera domowego (z http(s):// i opcjonalnie port)", matrixHomeserverURL: "Adres URL serwera domowego (z http(s):// i opcjonalnie port)",
"Internal Room Id": "Wewnętrzne ID pokoju", "Internal Room Id": "Wewnętrzne ID pokoju",
matrixDesc1: "Możesz znaleźć wewnętrzne ID pokoju patrząc w zaawansowanej sekcji ustawień pokoju w twoim kliencie Matrix. Powinien on wyglądać jak !QMdRCpUIfLwsfjxye6:home.server.", matrixDesc1: "Możesz znaleźć wewnętrzne ID pokoju, patrząc w zaawansowanej sekcji ustawień pokoju w twoim kliencie Matrix. Powinien on wyglądać jak !QMdRCpUIfLwsfjxye6:home.server.",
matrixDesc2: "Jest wysoce zalecane, abyś stworzył nowego użytkownika i nie używał tokena dostępu swojego użytkownika Matrix, ponieważ pozwoli on na pełny dostęp do twojego konta i wszystkich pokoi, do których dołączyłeś. Zamiast tego, utwórz nowego użytkownika i zaproś go tylko do pokoju, w którym chcesz otrzymywać powiadomienia. Możesz uzyskać token dostępu przez uruchomienie {0}", matrixDesc2: "Jest wysoce zalecane, abyś stworzył nowego użytkownika i nie używał tokena dostępu swojego użytkownika Matrix, ponieważ pozwoli on na pełny dostęp do twojego konta i wszystkich pokoi, do których dołączyłeś. Zamiast tego, utwórz nowego użytkownika i zaproś go tylko do pokoju, w którym chcesz otrzymywać powiadomienia. Możesz uzyskać token dostępu przez uruchomienie {0}",
Method: "Metoda", Method: "Metoda",
Body: "Treść", Body: "Treść",
@@ -305,6 +306,44 @@ export default {
steamApiKeyDescription: "Do monitorowania serwera gier Steam potrzebny jest klucz Steam Web-API. Możesz zarejestrować swój klucz API tutaj: ", steamApiKeyDescription: "Do monitorowania serwera gier Steam potrzebny jest klucz Steam Web-API. Możesz zarejestrować swój klucz API tutaj: ",
"Current User": "Aktualny użytkownik", "Current User": "Aktualny użytkownik",
recent: "Ostatnie", recent: "Ostatnie",
Done: "Zrobione",
Info: "Info",
Security: "Bezpieczeństwo",
"Steam API Key": "Klucz Steam API",
"Shrink Database": "Zmniejsz bazę danych",
"Pick a RR-Type...": "Wybierz typ RR...",
"Pick Accepted Status Codes...": "Wybierz akceptowalne kody statusu...",
Default: "Domyślnie",
"HTTP Options": "Opcje HTTP",
"Create Incident": "Stwórz incydent",
Title: "Tytuł",
Content: "Treść",
Style: "Styl",
info: "info",
warning: "ostrzeżenie",
danger: "niebezpieczeństwo",
primary: "podstawowy",
light: "jasny",
dark: "ciemny",
Post: "Wyślij",
"Please input title and content": "Podaj tytuł i treść",
Created: "Stworzony",
"Last Updated": "Ostatnio zaktualizowany",
Unpin: "Odepnij",
"Switch to Light Theme": "Przełącz na jasny motyw",
"Switch to Dark Theme": "Przełącz na ciemny motyw",
"Show Tags": "Pokaż tagi",
"Hide Tags": "Ukryj tagi",
Description: "Opis",
"No monitors available.": "Brak dostępnych monitorów.",
"Add one": "Dodaj jeden",
"No Monitors": "Brak monitorów",
"Untitled Group": "Nienazwana grupa",
Services: "Usługi",
Discard: "Odrzuć",
Cancel: "Anuluj",
"Powered by": "Napędzane przez",
shrinkDatabaseDescription: "Uruchom VACUUM na bazie SQLite. Jeżeli twoja baza została stworzona po wersji 1.10.0, to posiada już włączoną opcję AUTO_VACUUM i stosowanie ręcznego oczyszczania nie jest potrzebne.",
clicksendsms: "ClickSend SMS", clicksendsms: "ClickSend SMS",
apiCredentials: "Poświadczenia API", apiCredentials: "Poświadczenia API",
serwersms: "SerwerSMS.pl", serwersms: "SerwerSMS.pl",
@@ -312,4 +351,14 @@ export default {
serwersmsAPIPassword: "Hasło API", serwersmsAPIPassword: "Hasło API",
serwersmsPhoneNumber: "Numer telefonu", serwersmsPhoneNumber: "Numer telefonu",
serwersmsSenderName: "Nazwa nadawcy (zatwierdzona w panelu klienta)", serwersmsSenderName: "Nazwa nadawcy (zatwierdzona w panelu klienta)",
"stackfield": "Stackfield",
smtpDkimSettings: "Ustawienia DKIM",
smtpDkimDesc: "Zapoznaj się z Nodemailer DKIM {0}, aby dowiedzieć się więcej",
documentation: "dokumentacja",
smtpDkimDomain: "Nazwa domeny",
smtpDkimKeySelector: "Selektor klucza",
smtpDkimPrivateKey: "Klucz prywatny",
smtpDkimHashAlgo: "Algorytm Hashowania (opcjonalne)",
smtpDkimheaderFieldNames: "Klucze nagłówka do podpisu (opcjonalne)",
smtpDkimskipFields: "Klucze nagłówka do pominięcia (opcjonalne)",
}; };

View File

@@ -167,12 +167,12 @@ export default {
Purple: "Пурпурный", Purple: "Пурпурный",
Pink: "Розовый", Pink: "Розовый",
"Search...": "Поиск...", "Search...": "Поиск...",
"Avg. Ping": "Средн. пинг", "Avg. Ping": "Среднее значение пинга",
"Avg. Response": "Средн. ответ", "Avg. Response": "Среднее время ответа",
"Entry Page": "Главная страница", "Entry Page": "Главная страница",
statusPageNothing: "Здесь пусто. Добавьте группу или монитор.", statusPageNothing: "Здесь пусто. Добавьте группу или монитор.",
"No Services": "Нет сервисов", "No Services": "Нет сервисов",
"All Systems Operational": "Все сервисы работают", "All Systems Operational": "Все системы работают",
"Partially Degraded Service": "Сервисы частично не работают", "Partially Degraded Service": "Сервисы частично не работают",
"Degraded Service": "Все сервисы не работают", "Degraded Service": "Все сервисы не работают",
"Add Group": "Добавить группу", "Add Group": "Добавить группу",
@@ -308,4 +308,25 @@ export default {
records: "записей", records: "записей",
"One record": "Одна запись", "One record": "Одна запись",
steamApiKeyDescription: "Для мониторинга игрового сервера Steam вам необходим Web-API ключ Steam. Зарегистрировать его можно здесь: ", steamApiKeyDescription: "Для мониторинга игрового сервера Steam вам необходим Web-API ключ Steam. Зарегистрировать его можно здесь: ",
"Certificate Chain:": "Цепочка сертификатов:",
"Valid": "Действительный",
"Hide Tags": "Скрыть тэги",
"Title:": "Название инцидента:",
"Content:": "Содержание инцидента:",
"Post": "Опубликовать",
"Cancel": "Отмена",
"Created:": "Создано:",
"Show Tags": "Показать тэги",
"Recent": "Текущее",
"3h": "3 часа",
"6h": "6 часов",
"24h": "24 часа",
"1w": "1 неделя",
"No monitors available.": "Нет доступных мониторов",
"Add one": "Добавить новый",
"Backup": "Резервная копия",
"Security": "Безопасность",
"Current User:": "Текущий пользователь:",
"About": "О программе",
"Description:": "Описание:",
}; };

View File

@@ -2,9 +2,9 @@ export default {
languageName: "Slovenščina", languageName: "Slovenščina",
checkEverySecond: "Preveri na vsakih {0} sekund", checkEverySecond: "Preveri na vsakih {0} sekund",
retryCheckEverySecond: "Ponovno poskusi na vsakih {0} sekund", retryCheckEverySecond: "Ponovno poskusi na vsakih {0} sekund",
retriesDescription: "Maksimalno število poskusov predenj se storitev označi kot nedosegljiva in se pošlje obvestilo", retriesDescription: "Maksimalno število poskusov predenj se storitev označi kot 'ne deluje' in se pošlje obvestilo",
ignoreTLSError: "Ignoriraj TLS/SSL napake za HTTPS spletne strani", ignoreTLSError: "Ignoriraj TLS/SSL napake za HTTPS spletne strani",
upsideDownModeDescription: "Negiraj status. Če je storitev dosegljiva je NEDOSEGLJIVA.", upsideDownModeDescription: "Negiraj status. Če je storitev deluje bo označena kot 'ne deluje'.",
maxRedirectDescription: "Maksimalno število sledečih preusmeritev. 0 onemogoči preusmeritve.", maxRedirectDescription: "Maksimalno število sledečih preusmeritev. 0 onemogoči preusmeritve.",
acceptedStatusCodesDescription: "Izberi kode statusa veljavna kot uspešen odgovor.", acceptedStatusCodesDescription: "Izberi kode statusa veljavna kot uspešen odgovor.",
passwordNotMatchMsg: "Ponovljeno geslo se ne ujema.", passwordNotMatchMsg: "Ponovljeno geslo se ne ujema.",
@@ -40,8 +40,8 @@ export default {
Add: "Dodaj", Add: "Dodaj",
"Add New Monitor": "Dodaj nov monitor", "Add New Monitor": "Dodaj nov monitor",
"Quick Stats": "Hitro stanje", "Quick Stats": "Hitro stanje",
Up: "Dosegljiv", Up: "Deluje",
Down: "Nedosegljiv", Down: "Ne deluje",
Pending: "Na čakanju", Pending: "Na čakanju",
Unknown: "Neznano", Unknown: "Neznano",
Pause: "Pavza", Pause: "Pavza",
@@ -58,14 +58,14 @@ export default {
"Cert Exp.": "Potek certifikata", "Cert Exp.": "Potek certifikata",
days: "dni", days: "dni",
day: "dan", day: "dan",
"-day": "-dan", "-day": "-dni",
hour: "ura", hour: "ura",
"-hour": "-ura", "-hour": "-ur",
Response: "Odgovor", Response: "Odgovor",
Ping: "Ping", Ping: "Ping",
"Monitor Type": "Tip monitorja", "Monitor Type": "Tip monitorja",
Keyword: "Ključna beseda", Keyword: "Ključna beseda",
"Friendly Name": "Prijazno ime", "Friendly Name": "Ime za prikaz",
URL: "URL", URL: "URL",
Hostname: "Hostname", Hostname: "Hostname",
Port: "Vrata", Port: "Vrata",
@@ -182,7 +182,7 @@ export default {
"Add a monitor": "Dodaj monitor", "Add a monitor": "Dodaj monitor",
"Edit Status Page": "Uredi statusno stran", "Edit Status Page": "Uredi statusno stran",
"Go to Dashboard": "Pojdi na nadzorno ploščo", "Go to Dashboard": "Pojdi na nadzorno ploščo",
"Status Page": "Statusna stran", "Status Page": "Status",
defaultNotificationName: "Moje {notification} Obvestilo ({number})", defaultNotificationName: "Moje {notification} Obvestilo ({number})",
here: "tukaj", here: "tukaj",
Required: "Obvezno", Required: "Obvezno",

View File

@@ -1,31 +1,31 @@
export default { export default {
languageName: "Vietnamese", languageName: "Tiếng Việt",
checkEverySecond: "Kiểm tra mỗi {0} giây.", checkEverySecond: "Kiểm tra mỗi {0} giây.",
retryCheckEverySecond: "Thử lại mỗi {0} giây.", retryCheckEverySecond: "Thử lại mỗi {0} giây.",
retriesDescription: "Số lần thử lại tối đa trước khi dịch vụ được đánh dấu là down và gửi thông báo.", retriesDescription: "Số lần thử lại tối đa trước khi dịch vụ được đánh dấu là down và gửi thông báo.",
ignoreTLSError: "Bỏ qua lỗi TLS/SSL với các web HTTPS.", ignoreTLSError: "Bỏ qua lỗi TLS/SSL với các web HTTPS.",
upsideDownModeDescription: "Trạng thái đảo ngược, nếu dịch vụ có thể truy cập được nghĩa là DOWN.", upsideDownModeDescription: "Trạng thái đảo ngược, nếu dịch vụ có thể truy cập được nghĩa là DOWN.",
maxRedirectDescription: "Số lần chuyển hướng (redirect) tối đa. Đặt thành 0 để tắt chuyển hướng", maxRedirectDescription: "Số lần chuyển hướng (redirect) tối đa. Đặt thành 0 để tắt chuyển hướng",
acceptedStatusCodesDescription: "Chọn mã code trạng thái được coi là phản hồi thành công.", acceptedStatusCodesDescription: "Chọn mã trạng thái được coi là phản hồi thành công.",
passwordNotMatchMsg: "Mật khẩu nhập lại không khớp.", passwordNotMatchMsg: "Mật khẩu nhập lại không khớp.",
notificationDescription: "Vui lòng chỉ định một kênh thông báo.", notificationDescription: "Vui lòng chỉ định một kênh thông báo.",
keywordDescription: "Từ khoá tìm kiếm phản hồi ở dạng html hoặc JSON, có phân biệt chữ HOA - thường", keywordDescription: "Từ khoá tìm kiếm phản hồi ở dạng html hoặc JSON, có phân biệt chữ HOA - thường",
pauseDashboardHome: "Tạm dừng", pauseDashboardHome: "Tạm dừng",
deleteMonitorMsg: "Bạn chắc chắn muốn xóa monitor này chứ?", deleteMonitorMsg: "Bạn chắc chắn muốn xóa kênh theo dõi này chứ?",
deleteNotificationMsg: "Bạn có chắc chắn muốn xóa kênh thông báo này cho tất cả monitor?", deleteNotificationMsg: "Bạn có chắc chắn muốn xóa kênh thông báo này cho tất cả kênh theo dõi?",
resoverserverDescription: "Cloudflare là máy chủ mặc định, bạn có thể thay đổi bất cứ lúc nào.", resoverserverDescription: "Cloudflare là máy chủ mặc định, bạn có thể thay đổi bất cứ lúc nào.",
rrtypeDescription: "Hãy chọn RR-Type mà bạn muốn giám sát", rrtypeDescription: "Hãy chọn RR-Type mà bạn muốn giám sát",
pauseMonitorMsg: "Bạn chắc chắn muốn tạm dừng chứ?", pauseMonitorMsg: "Bạn chắc chắn muốn tạm dừng chứ?",
enableDefaultNotificationDescription: "Bật làm mặc định cho mọi monitor mới về sau. Bạn vẫn có thể tắt thông báo riêng cho từng monitor.", enableDefaultNotificationDescription: "Bật làm mặc định cho mọi kênh theo dõi mới về sau. Bạn vẫn có thể tắt thông báo riêng cho từng kênh theo dõi.",
clearEventsMsg: "Bạn chắc chắn muốn xoá TẤT CẢ sự kiện cho monitor này chứ?", clearEventsMsg: "Bạn chắc chắn muốn xoá TẤT CẢ sự kiện cho kênh theo dõi này chứ?",
clearHeartbeatsMsg: "Bạn chắc chắn muốn xoá TẤT CẢ heartbeats cho monitor này chứ?", clearHeartbeatsMsg: "Bạn chắc chắn muốn xoá TẤT CẢ heartbeats cho kênh theo dõi này chứ?",
confirmClearStatisticsMsg: "Bạn chắc chắn muốn xoá TẤT CẢ số liệu thống kê?", confirmClearStatisticsMsg: "Bạn chắc chắn muốn xoá TẤT CẢ số liệu thống kê?",
importHandleDescription: "Chọn 'Skip existing' nếu bạn muốn bỏ qua mọi monitor và kênh thông báo trùng tên. 'Overwrite' sẽ ghi đè lên tất cả các monitor và kênh thông báo.", importHandleDescription: "Chọn 'Giữ lại' nếu bạn muốn bỏ qua mọi kênh theo dõi và kênh thông báo trùng tên. 'Ghi đè' sẽ ghi đè lên tất cả các kênh theo dõi và kênh thông báo.",
confirmImportMsg: "Bạn có chắc chắn muốn khôi phục bản bản sao lưu này không?.", confirmImportMsg: "Bạn có chắc chắn muốn khôi phục bản bản sao lưu này không?.",
twoFAVerifyLabel: "Vui lòng nhập mã token của bạn để xác minh rằng 2FA đang hoạt động", twoFAVerifyLabel: "Vui lòng nhập mã token của bạn để xác minh rằng xác thực 2 lớp (2FA) đang hoạt động",
tokenValidSettingsMsg: "Mã token hợp lệ! Bạn có thể lưu cài đặt 2FA bây giờ.", tokenValidSettingsMsg: "Mã token hợp lệ! Bạn có thể lưu cài đặt xác thực 2 lớp (2FA) bây giờ.",
confirmEnableTwoFAMsg: "Bạn chắc chắn muốn bật 2FA chứ?", confirmEnableTwoFAMsg: "Bạn chắc chắn muốn bật xác thực 2 lớp (2FA) chứ?",
confirmDisableTwoFAMsg: "Bạn chắc chắn muốn tắt 2FA chứ?", confirmDisableTwoFAMsg: "Bạn chắc chắn muốn tắt xác thực 2 lớp (2FA) chứ?",
Settings: "Cài đặt", Settings: "Cài đặt",
Dashboard: "Dashboard", Dashboard: "Dashboard",
"New Update": "Bản cập nhật mới", "New Update": "Bản cập nhật mới",
@@ -38,7 +38,7 @@ export default {
"Check Update On GitHub": "Kiểm tra bản cập nhật mới trên GitHub", "Check Update On GitHub": "Kiểm tra bản cập nhật mới trên GitHub",
List: "List", List: "List",
Add: "Thêm", Add: "Thêm",
"Add New Monitor": "Thêm mới Monitor", "Add New Monitor": "Thêm mới kênh theo dõi",
"Quick Stats": "Thống kê nhanh", "Quick Stats": "Thống kê nhanh",
Up: "Up", Up: "Up",
Down: "Down", Down: "Down",
@@ -63,9 +63,9 @@ export default {
"-hour": "-giờ", "-hour": "-giờ",
Response: "Phản hồi", Response: "Phản hồi",
Ping: "Ping", Ping: "Ping",
"Monitor Type": "Kiểu monitor", "Monitor Type": "Kiểu kênh theo dõi",
Keyword: "Từ khoá", Keyword: "Từ khoá",
"Friendly Name": "Tên monitor", "Friendly Name": "Tên rút gọn",
URL: "URL", URL: "URL",
Hostname: "Hostname", Hostname: "Hostname",
Port: "Port", Port: "Port",
@@ -111,7 +111,7 @@ export default {
Password: "Mật khẩu", Password: "Mật khẩu",
"Remember me": "Lưu phiên đăng nhập", "Remember me": "Lưu phiên đăng nhập",
Login: "Đăng nhập", Login: "Đăng nhập",
"No Monitors, please": "Không có monitor nào", "No Monitors, please": "Không có kênh theo dõi nào",
"add one": "Thêm mới", "add one": "Thêm mới",
"Notification Type": "Kiểu thông báo", "Notification Type": "Kiểu thông báo",
Email: "Email", Email: "Email",
@@ -125,31 +125,31 @@ export default {
"Import Backup": "Khôi phục bản sao lưu", "Import Backup": "Khôi phục bản sao lưu",
"Export Backup": "Xuất bản sao lưu", "Export Backup": "Xuất bản sao lưu",
Export: "Xuất", Export: "Xuất",
Import: "Khôi phục", Import: "Nhập",
respTime: "Thời gian phản hồi (ms)", respTime: "Thời gian phản hồi (ms)",
notAvailableShort: "N/A", notAvailableShort: "N/A",
"Default enabled": "Mặc định bật", "Default enabled": "Mặc định bật",
"Apply on all existing monitors": "Áp dụng cho tất cả monitor đang có", "Apply on all existing monitors": "Áp dụng cho tất cả kênh theo dõi đang có",
Create: "Tạo", Create: "Tạo",
"Clear Data": "Xoá dữ liệu", "Clear Data": "Xoá dữ liệu",
Events: "Sự kiện", Events: "Sự kiện",
Heartbeats: "Heartbeats", Heartbeats: "Heartbeats",
"Auto Get": "Tự động lấy", "Auto Get": "Tự động lấy",
backupDescription: "Bạn có thể sao lưu tất cả các monitor và tất cả các thông báo vào một file JSON.", backupDescription: "Sao lưu tất cả các kênh theo dõi và tất cả các thông báo vào một file định dạng JSON.",
backupDescription2: "PS: Không bao gồm dữ liệu lịch sử các sự kiện.", backupDescription2: "Lưu ý: Không bao gồm dữ liệu lịch sử các sự kiện.",
backupDescription3: "Hãy lưu giữ file này cẩn thận trong file đó chứa cả các token thông báo.", backupDescription3: "Hãy lưu giữ file này cẩn thận, trong file đó chứa cả các token thông báo.",
alertNoFile: "Hãy chọn file để khôi phục.", alertNoFile: "Hãy chọn file để khôi phục.",
alertWrongFileType: "Hãy chọn file JSON.", alertWrongFileType: "Hãy chọn file định dạng JSON.",
"Clear all statistics": "Xoá tất cả thống kê", "Clear all statistics": "Xoá tất cả thống kê",
"Skip existing": "Skip existing", "Skip existing": "Giữ lại",
Overwrite: "Ghi đè", Overwrite: "Ghi đè",
Options: "Tuỳ chọn", Options: "Tuỳ chọn",
"Keep both": "Giữ lại cả hai", "Keep both": "Giữ lại cả hai",
"Verify Token": "Xác minh Token", "Verify Token": "Xác minh Token",
"Setup 2FA": "Cài đặt 2FA", "Setup 2FA": "Cài đặt xác thực 2 lớp (2FA)",
"Enable 2FA": "Bật 2FA", "Enable 2FA": "Bật xác thực 2 lớp (2FA)",
"Disable 2FA": "Tắt 2FA", "Disable 2FA": "Tắt xác thực 2 lớp (2FA)",
"2FA Settings": "Cài đặt 2FA", "2FA Settings": "Cài đặt xác thực 2 lớp (2FA)",
"Two Factor Authentication": "Xác thực hai yếu tố", "Two Factor Authentication": "Xác thực hai yếu tố",
Active: "Hoạt động", Active: "Hoạt động",
Inactive: "Ngừng hoạt động", Inactive: "Ngừng hoạt động",
@@ -170,16 +170,16 @@ export default {
Purple: "Tím", Purple: "Tím",
Pink: "Hồng", Pink: "Hồng",
"Search...": "Tìm kiếm...", "Search...": "Tìm kiếm...",
"Avg. Ping": "Ping Trung bình", "Avg. Ping": "Ping trung bình",
"Avg. Response": "Phản hồi trung bình", "Avg. Response": "Phản hồi trung bình",
"Entry Page": "Entry Page", "Entry Page": "Entry Page",
statusPageNothing: "Không gì, hãy thêm nhóm monitor hoặc monitor.", statusPageNothing: "Chưa có thông tin gì, hãy thêm nhóm kênh theo dõi hoặc kênh theo dõi.",
"No Services": "Không có dịch vụ", "No Services": "Không có dịch vụ",
"All Systems Operational": "Tất cả các hệ thống hoạt động bình thường", "All Systems Operational": "Tất cả các hệ thống hoạt động bình thường",
"Partially Degraded Service": "Dịch vụ xuống cấp một phần", "Partially Degraded Service": "Có hệ thống bị ngưng",
"Degraded Service": "Degraded Service", "Degraded Service": "Toàn bộ hệ thống bị ngưng",
"Add Group": "Thêm nhóm", "Add Group": "Thêm nhóm",
"Add a monitor": "Thêm monitor", "Add a monitor": "Thêm kênh theo dõi",
"Edit Status Page": "Sửa trang trạng thái", "Edit Status Page": "Sửa trang trạng thái",
"Go to Dashboard": "Đi tới Dashboard", "Go to Dashboard": "Đi tới Dashboard",
"Status Page": "Trang trạng thái", "Status Page": "Trang trạng thái",
@@ -195,23 +195,23 @@ export default {
"YOUR BOT TOKEN HERE": "MÃ BOT TOKEN CỦA BẠN", "YOUR BOT TOKEN HERE": "MÃ BOT TOKEN CỦA BẠN",
chatIDNotFound: "Không tìm thấy Chat ID, vui lòng gửi tin nhắn cho bot này trước", chatIDNotFound: "Không tìm thấy Chat ID, vui lòng gửi tin nhắn cho bot này trước",
webhook: "Webhook", webhook: "Webhook",
"Post URL": "URL đăng", "Post URL": "URL webhook",
"Content Type": "Loại nội dung", "Content Type": "Loại nội dung",
webhookJsonDesc: "{0} phù hợp với bất kỳ máy chủ http hiện đại nào như express.js", webhookJsonDesc: "{0} tương thích với máy chủ HTTP ví dụ như Express.js",
webhookFormDataDesc: "{multipart} phù hợp với PHP, bạn chỉ cần phân tích cú pháp json bằng {decodeFunction}", webhookFormDataDesc: "{multipart} tương thích với máy chủ PHP, bạn chỉ cần phân tích cú pháp json bằng {decodeFunction}",
smtp: "Email (SMTP)", smtp: "Email (SMTP)",
secureOptionNone: "None / STARTTLS (25, 587)", secureOptionNone: "None/STARTTLS(25, 587)",
secureOptionTLS: "TLS (465)", secureOptionTLS: "TLS (465)",
"Ignore TLS Error": "Bỏ qua lỗi TLS", "Ignore TLS Error": "Bỏ qua lỗi TLS",
"From Email": "Từ Email", "From Email": "Email gửi",
emailCustomSubject: "Tuỳ chỉnh tiêu đề", emailCustomSubject: "Tuỳ chỉnh tiêu đề",
"To Email": "Tới Email", "To Email": "Email nhận",
smtpCC: "CC", smtpCC: "CC",
smtpBCC: "BCC", smtpBCC: "BCC",
discord: "Discord", discord: "Discord",
"Discord Webhook URL": "Discord Webhook URL", "Discord Webhook URL": "Discord Webhook URL",
wayToGetDiscordURL: "Để lấy Discord, hãy vào: Server Settings -> Integrations -> Create Webhook", wayToGetDiscordURL: "Để lấy Discord, hãy vào: Server Settings -> Integrations -> Create Webhook",
"Bot Display Name": "Tên hiển thị của Bot", "Bot Display Name": "Tên hiển thị của BOT",
"Prefix Custom Message": "Tiền tố tin nhắn tuỳ chọn", "Prefix Custom Message": "Tiền tố tin nhắn tuỳ chọn",
"Hello @everyone is...": "Xin chào {'@'} mọi người đang...", "Hello @everyone is...": "Xin chào {'@'} mọi người đang...",
teams: "Microsoft Teams", teams: "Microsoft Teams",
@@ -220,8 +220,8 @@ export default {
signal: "Tín hiệu", signal: "Tín hiệu",
Number: "Số", Number: "Số",
Recipients: "Người nhận", Recipients: "Người nhận",
needSignalAPI: "Bạn cần một tín hiệu client với REST API.", needSignalAPI: "Bạn cần một tín hiệu kết nối với REST API.",
wayToCheckSignalURL: "Bạn có thể kiểm tra url này để xem cách thiết lập:", wayToCheckSignalURL: "Bạn có thể kiểm tra URL này để xem cách thiết lập:",
signalImportant: "QUAN TRỌNG: Bạn không thể kết hợp các nhóm và số trong người nhận!", signalImportant: "QUAN TRỌNG: Bạn không thể kết hợp các nhóm và số trong người nhận!",
gotify: "Gotify", gotify: "Gotify",
"Application Token": "Mã Token ứng dụng", "Application Token": "Mã Token ứng dụng",
@@ -242,7 +242,8 @@ export default {
promosms: "PromoSMS", promosms: "PromoSMS",
clicksendsms: "ClickSend SMS", clicksendsms: "ClickSend SMS",
lunasea: "LunaSea", lunasea: "LunaSea",
apprise: "Apprise (Hỗ trợ 50+ dịch vụ thông báo)", apprise: "Apprise (Hỗ trợ trên 50 dịch vụ thông báo)",
GoogleChat: "Google Chat (Google Workspace only)",
pushbullet: "Pushbullet", pushbullet: "Pushbullet",
line: "Line Messenger", line: "Line Messenger",
mattermost: "Mattermost", mattermost: "Mattermost",
@@ -260,7 +261,7 @@ export default {
apiCredentials: "API credentials", apiCredentials: "API credentials",
octopushLegacyHint: "Bạn muốn sử dụng phiên bản cũ của Octopush (2011-2020) hay phiên bản mới?", octopushLegacyHint: "Bạn muốn sử dụng phiên bản cũ của Octopush (2011-2020) hay phiên bản mới?",
"Check octopush prices": "Kiểm tra giá octopush {0}.", "Check octopush prices": "Kiểm tra giá octopush {0}.",
octopushPhoneNumber: "Số điện thoại (Định dạng intl, vd : +84123456789) ", octopushPhoneNumber: "Số điện thoại (Định dạng intl, vd : +84692341165) ",
octopushSMSSender: "SMS người gửi : 3-11 ký tự chữ, số và dấu cách (a-zA-Z0-9)", octopushSMSSender: "SMS người gửi : 3-11 ký tự chữ, số và dấu cách (a-zA-Z0-9)",
"LunaSea Device ID": "LunaSea ID thiết bị", "LunaSea Device ID": "LunaSea ID thiết bị",
"Apprise URL": "Apprise URL", "Apprise URL": "Apprise URL",
@@ -299,12 +300,65 @@ export default {
PushUrl: "Push URL", PushUrl: "Push URL",
HeadersInvalidFormat: "Header request không hợp lệ JSON: ", HeadersInvalidFormat: "Header request không hợp lệ JSON: ",
BodyInvalidFormat: "Tequest body không hợp lệ JSON: ", BodyInvalidFormat: "Tequest body không hợp lệ JSON: ",
"Monitor History": "Lịch sử Monitor", "Monitor History": "Lịch sử kênh theo dõi",
clearDataOlderThan: "Giữ dữ liệu lịch sử monitor {0} ngày.", clearDataOlderThan: "Giữ dữ liệu lịch sử kênh theo dõi {0} ngày.",
PasswordsDoNotMatch: "Passwords không khớp.", PasswordsDoNotMatch: "Passwords không khớp.",
records: "records", records: "records",
"One record": "One record", "One record": "One record",
steamApiKeyDescription: "Để monitor các Steam Game Server bạn cần một Steam Web-API key. Bạn có thể đăng ký API key tại đây: ", steamApiKeyDescription: "Để theo dõi các Steam Game Server bạn cần một Steam Web-API key. Bạn có thể đăng ký API key tại đây: ",
"Current User": "User hiện tại", "Current User": "User hiện tại",
recent: "Gần đây", recent: "Gần đây",
Done: "Hoàn thành",
Info: "Thông tin",
Security: "Bảo mật",
"Steam API Key": "Steam API Key",
"Shrink Database": "Shrink Database",
"Pick a RR-Type...": "Pick a RR-Type...",
"Pick Accepted Status Codes...": "Chọn các Codes trạng thái chấp nhận được...",
Default: "Mặc định",
"HTTP Options": "Tuỳ chọn HTTP",
"Create Incident": "Tạo Incident",
Title: "Tiêu đề",
Content: "Nội dung",
Style: "Style",
info: "thông tin",
warning: "cảnh báo",
danger: "nguy hiểm",
primary: "cơ sở",
light: "sáng",
dark: "tối",
Post: "Post",
"Please input title and content": "Hãy nhập tiêu đề và nội dung",
Created: "Đã tạo",
"Last Updated": "Cập nhật mới nhất",
Unpin: "Bỏ ghim",
"Switch to Light Theme": "Chuyển sang giao diện Sáng",
"Switch to Dark Theme": "Chuyển sang giao diện Tối",
"Show Tags": "Hiện Tags",
"Hide Tags": "Ẩn Tags",
Description: "Mô tả",
"No monitors available.": "Không có kênh theo dõi nào.",
"Add one": "Thêm mới",
"No Monitors": "Không có kênh theo dõi",
"Untitled Group": "Nhóm không có tiêu đề",
Services: "Dịch vụ",
Discard: "Bỏ",
Cancel: "Hủy",
"Powered by": "Được cung cấp bởi",
shrinkDatabaseDescription: "Khởi chạy database VACCUM cho SQLite. Nếu database được tạo sau version 1.10.0, AUTO_VACCUM đã được bật sẵn, hành động này không cần thiết.",
serwersms: "SerwerSMS.pl",
serwersmsAPIUser: "API Username (incl. webapi_ prefix)",
serwersmsAPIPassword: "API Password",
serwersmsPhoneNumber: "Số điện thoại",
serwersmsSenderName: "Tên người gửi SMS (Đã đăng ký qua portal)",
"stackfield": "Stackfield",
smtpDkimSettings: "Cài đặt xác thực Email(DKIM)",
smtpDkimDesc: "Xem hướng dẫn tại {0}.",
documentation: "Nodemailer DKIM",
smtpDkimDomain: "Mail domain",
smtpDkimKeySelector: "DKIM Key Selector",
smtpDkimPrivateKey: "Private Key",
smtpDkimHashAlgo: "Hash Algorithm (Tuỳ chọn)",
smtpDkimheaderFieldNames: "Header Keys to sign (Tuỳ chọn)",
smtpDkimskipFields: "Header Keys not to sign (Tuỳ chọn)",
}; };

View File

@@ -23,6 +23,7 @@ export default {
Theme: "主题", Theme: "主题",
General: "基本设置", General: "基本设置",
"Primary Base URL": "站点地址URL", "Primary Base URL": "站点地址URL",
About: "关于",
Version: "版本", Version: "版本",
"Check Update On GitHub": "检查更新", "Check Update On GitHub": "检查更新",
List: "列表", List: "列表",
@@ -150,6 +151,7 @@ export default {
importHandleDescription: "如果想跳过同名的监控项或通知,请选择“跳过”;“覆盖”将删除所有现有的监控项和通知。", importHandleDescription: "如果想跳过同名的监控项或通知,请选择“跳过”;“覆盖”将删除所有现有的监控项和通知。",
confirmImportMsg: "确定要导入备份吗?请确保已经选择了正确的导入选项。", confirmImportMsg: "确定要导入备份吗?请确保已经选择了正确的导入选项。",
"Heartbeat Retry Interval": "心跳重试间隔", "Heartbeat Retry Interval": "心跳重试间隔",
"Backup": "备份",
"Import Backup": "导入备份", "Import Backup": "导入备份",
"Export Backup": "导出备份", "Export Backup": "导出备份",
"Skip existing": "跳过", "Skip existing": "跳过",
@@ -291,4 +293,75 @@ export default {
"Internal Room Id": "Internal Room Id", "Internal Room Id": "Internal Room Id",
matrixDesc1: "你可以在 Matrix 客户端房间设置的高级选项找到 Internal Room Id。格式类似于 !QMdRCpUIfLwsfjxye6:home.server。", matrixDesc1: "你可以在 Matrix 客户端房间设置的高级选项找到 Internal Room Id。格式类似于 !QMdRCpUIfLwsfjxye6:home.server。",
matrixDesc2: "请不要使用你自己的 Access Token这将开放你所有的账户权限和你加入的房间权限。你可以创建一个新的用户并邀请它至你允许的的房间中。你可以运行以下命令来获取 Access Token{0}", matrixDesc2: "请不要使用你自己的 Access Token这将开放你所有的账户权限和你加入的房间权限。你可以创建一个新的用户并邀请它至你允许的的房间中。你可以运行以下命令来获取 Access Token{0}",
emailCustomSubject: "邮件主题",
clicksendsms: "ClickSend SMS",
GoogleChat: "Google Chat (Google Workspace only)",
apiCredentials: "API credentials",
Method: "方法",
Body: "请求体",
Headers: "请求头",
PushUrl: "Push URL",
HeadersInvalidFormat: "请求头不是有效的JSON: ",
BodyInvalidFormat: "请求体不是有效的JSON: ",
"Monitor History": "监控历史数据",
clearDataOlderThan: "保留监控历史数据 {0} 天",
PasswordsDoNotMatch: "密码不匹配",
records: "records",
"One record": "One record",
steamApiKeyDescription: "为了监控Steam游戏服务器你需要一个Steam Web-API key。你可以在这里注册你的API密钥: ",
"Current User": "当前用户",
recent: "最近",
Done: "完成",
Info: "信息",
Security: "安全性",
"Steam API Key": "Steam API Key",
"Shrink Database": "缩小数据库",
"Pick a RR-Type...": "选择资源记录类型...",
"Pick Accepted Status Codes...": "选择有效的状态码...",
Default: "默认",
"HTTP Options": "HTTP 选项",
"Create Incident": "创建事件",
Title: "标题",
Content: "内容",
Style: "类型",
info: "info",
warning: "warning",
danger: "danger",
primary: "primary",
light: "light",
dark: "dark",
Post: "发布",
"Please input title and content": "请输入标题和内容",
Created: "创建于",
"Last Updated": "最后更新",
Unpin: "删除",
"Switch to Light Theme": "切换到浅色主题",
"Switch to Dark Theme": "切换到深色主题",
"Show Tags": "显示标签",
"Hide Tags": "隐藏标签",
Description: "描述",
"No monitors available.": "没有可用的监控项",
"Add one": "Add one",
"No Monitors": "没有监控项",
"Untitled Group": "无标题的分组",
Services: "服务",
Discard: "取消",
Cancel: "取消",
"Powered by": "Powered by",
shrinkDatabaseDescription: "这将触发SQLite数据库的 VACUUM 命令如果您的数据库是在1.10.0版本之后创建的AUTO_VACUUM已经启用了则不需要再使用此功能",
serwersms: "SerwerSMS.pl",
serwersmsAPIUser: "API Username (incl. webapi_ prefix)",
serwersmsAPIPassword: "API Password",
serwersmsPhoneNumber: "Phone number",
serwersmsSenderName: "SMS Sender Name (registered via customer portal)",
stackfield: "Stackfield",
smtpDkimSettings: "DKIM Settings",
smtpDkimDesc: "Please refer to the Nodemailer DKIM {0} for usage.",
documentation: "documentation",
smtpDkimDomain: "域名",
smtpDkimKeySelector: "Key Selector",
smtpDkimPrivateKey: "Private Key",
smtpDkimHashAlgo: "Hash Algorithm (可选)",
smtpDkimheaderFieldNames: "Header Keys to sign (可选)",
smtpDkimskipFields: "Header Keys not to sign (可选)",
}; };