Merge branch 'master' into task/ignore-redis-tls

pull/3878/head
Frank Elsinga 9 months ago committed by GitHub
commit 58e9f24d80
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -150,23 +150,6 @@ module.exports = {
} }
}, },
// Override for jest puppeteer
{
"files": [
"**/*.spec.js",
"**/*.spec.jsx"
],
env: {
jest: true,
},
globals: {
page: true,
browser: true,
context: true,
jestPuppeteer: true,
},
},
// Override for TypeScript // Override for TypeScript
{ {
"files": [ "files": [

@ -6,7 +6,7 @@ body:
- type: checkboxes - type: checkboxes
id: no-duplicate-issues id: no-duplicate-issues
attributes: attributes:
label: "⚠️ Please verify that this bug has NOT been raised before." label: "⚠️ Please verify that this question has NOT been raised before."
description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)" description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)"
options: options:
- label: "I checked and didn't find similar issue" - label: "I checked and didn't find similar issue"
@ -24,7 +24,7 @@ body:
required: true required: true
attributes: attributes:
label: "📝 Describe your problem" label: "📝 Describe your problem"
description: "Please walk us through it step by step." description: "Please walk us through it step by step. Include all important details and add screenshots where appropriate"
placeholder: "Describe what are you asking for..." placeholder: "Describe what are you asking for..."
- type: textarea - type: textarea
id: error-msg id: error-msg
@ -56,19 +56,20 @@ body:
placeholder: "Ex. Google Chrome 95.0.4638.69" placeholder: "Ex. Google Chrome 95.0.4638.69"
validations: validations:
required: true required: true
- type: input - type: textarea
id: docker-version id: deployment-info
attributes:
label: "🐋 Docker Version"
description: "If running with Docker, which version are you running?"
placeholder: "Ex. Docker 20.10.9 / K8S / Podman"
validations:
required: false
- type: input
id: nodejs-version
attributes: attributes:
label: "🟩 NodeJS Version" label: "🖥️ Deployment Environment"
description: "If running with Node.js? which version are you running?" description: |
placeholder: "Ex. 14.18.0" examples:
- **Runtime**: Docker 20.10.9 / nodejs 14.18.0 / K8S via ... v1.3.3 / ..
- **Database**: sqlite/embedded mariadb/external mariadb
- **Filesystem used to store the database on**: Windows/ZFS/btrfs/NFSv3 on a SSD/HDD/eMMC
- **number of monitors**: 42
value: |
- Runtime:
- Database:
- Filesystem used to store the database on:
- number of monitors:
validations: validations:
required: false required: true

@ -3,14 +3,14 @@ description: "Submit a bug report to help us improve"
#title: "[Bug] " #title: "[Bug] "
labels: [bug] labels: [bug]
body: body:
- type: checkboxes - type: textarea
id: no-duplicate-issues id: related-issues
attributes: validations:
label: "⚠️ Please verify that this bug has NOT been raised before."
description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)"
options:
- label: "I checked and didn't find similar issue"
required: true required: true
attributes:
label: "📑 I have found these related issues/pull requests"
description: "Search related issues by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=) and explain what the difference between them or explain that you are unable to find any related issues"
placeholder: "Related to #1 by also touching the ... system. They should not be merged because ..."
- type: checkboxes - type: checkboxes
attributes: attributes:
label: "🛡️ Security Policy" label: "🛡️ Security Policy"
@ -31,7 +31,7 @@ body:
required: true required: true
attributes: attributes:
label: "👟 Reproduction steps" label: "👟 Reproduction steps"
description: "How do you trigger this bug? Please walk us through it step by step." description: "How do you trigger this bug? Please walk us through it step by step. Include all important details and add screenshots where appropriate"
placeholder: "..." placeholder: "..."
- type: textarea - type: textarea
id: expected-behavior id: expected-behavior
@ -73,22 +73,23 @@ body:
placeholder: "Ex. Google Chrome 95.0.4638.69" placeholder: "Ex. Google Chrome 95.0.4638.69"
validations: validations:
required: true required: true
- type: input - type: textarea
id: docker-version id: deployment-info
attributes:
label: "🐋 Docker Version"
description: "If running with Docker, which version are you running?"
placeholder: "Ex. Docker 20.10.9 / K8S / Podman"
validations:
required: false
- type: input
id: nodejs-version
attributes: attributes:
label: "🟩 NodeJS Version" label: "🖥️ Deployment Environment"
description: "If running with Node.js? which version are you running?" description: |
placeholder: "Ex. 14.18.0" examples:
- **Runtime**: Docker 20.10.9 / nodejs 14.18.0 / K8S via ... v1.3.3 / ..
- **Database**: sqlite/embedded mariadb/external mariadb
- **Filesystem used to store the database on**: Windows/ZFS/btrfs/NFSv3 on a SSD/HDD/eMMC
- **number of monitors**: 42
value: |
- Runtime:
- Database:
- Filesystem used to store the database on:
- number of monitors:
validations: validations:
required: false required: true
- type: textarea - type: textarea
id: logs id: logs
attributes: attributes:

@ -3,14 +3,14 @@ description: "Submit a proposal for a new feature"
#title: "[Feature] " #title: "[Feature] "
labels: [feature-request] labels: [feature-request]
body: body:
- type: checkboxes - type: textarea
id: no-duplicate-issues id: related-issues
attributes: validations:
label: "⚠️ Please verify that this feature request has NOT been suggested before."
description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)"
options:
- label: "I checked and didn't find similar feature request"
required: true required: true
attributes:
label: "📑 I have found these related issues/pull requests"
description: "Search related issues by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=) and explain what the difference between them or explain that you are unable to find any related issues"
placeholder: "Related to #1 by also touching the ... system. They should not be merged because ..."
- type: dropdown - type: dropdown
id: feature-area id: feature-area
attributes: attributes:
@ -18,10 +18,17 @@ body:
description: "What kind of feature request is this?" description: "What kind of feature request is this?"
multiple: true multiple: true
options: options:
- API - API / automation options
- New Notification - New notification-provider
- New Monitor - Change to existing notification-provider
- UI Feature - New monitor
- Change to existing monitor
- Dashboard
- Status-page
- Maintenance
- Deployment
- Certificate expiry
- Settings
- Other - Other
validations: validations:
required: true required: true

@ -15,7 +15,7 @@ on:
jobs: jobs:
auto-test: auto-test:
needs: [ check-linters ] needs: [ check-linters, e2e-test ]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
timeout-minutes: 15 timeout-minutes: 15
@ -36,7 +36,7 @@ jobs:
- run: npm install npm@9 -g - run: npm install npm@9 -g
- run: npm install - run: npm install
- run: npm run build - run: npm run build
- run: npm test - run: npm run test-backend
env: env:
HEADLESS_TEST: 1 HEADLESS_TEST: 1
JUST_FOR_TEST: ${{ secrets.JUST_FOR_TEST }} JUST_FOR_TEST: ${{ secrets.JUST_FOR_TEST }}
@ -78,33 +78,18 @@ jobs:
- run: npm install - run: npm install
- run: npm run lint:prod - run: npm run lint:prod
# TODO: Temporarily disable, as it cannot pass the test in 2.0.0 yet e2e-test:
# e2e-tests:
# needs: [ check-linters ]
# runs-on: ubuntu-latest
# steps:
# - run: git config --global core.autocrlf false # Mainly for Windows
# - uses: actions/checkout@v4
#
# - name: Use Node.js 14
# uses: actions/setup-node@v4
# with:
# node-version: 14
# - run: npm install
# - run: npm run build
# - run: npm run cy:test
frontend-unit-tests:
needs: [ check-linters ] needs: [ check-linters ]
runs-on: ubuntu-latest runs-on: ARM64
steps: steps:
- run: git config --global core.autocrlf false # Mainly for Windows - run: git config --global core.autocrlf false # Mainly for Windows
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Use Node.js 14 - name: Use Node.js 20
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: 14 node-version: 20
- run: npm install - run: npm install
- run: npx playwright install
- run: npm run build - run: npm run build
- run: npm run cy:run:unit - run: npm run test-e2e

3
.gitignore vendored

@ -15,9 +15,6 @@ dist-ssr
/tmp /tmp
.env .env
cypress/videos
cypress/screenshots
/extra/healthcheck.exe /extra/healthcheck.exe
/extra/healthcheck /extra/healthcheck
/extra/healthcheck-armv7 /extra/healthcheck-armv7

@ -6,7 +6,7 @@
Uptime Kuma is an easy-to-use self-hosted monitoring tool. Uptime Kuma is an easy-to-use self-hosted monitoring tool.
<a target="_blank" href="https://github.com/louislam/uptime-kuma"><img src="https://img.shields.io/github/stars/louislam/uptime-kuma" /></a> <a target="_blank" href="https://hub.docker.com/r/louislam/uptime-kuma"><img src="https://img.shields.io/docker/pulls/louislam/uptime-kuma" /></a> <a target="_blank" href="https://hub.docker.com/r/louislam/uptime-kuma"><img src="https://img.shields.io/docker/v/louislam/uptime-kuma/latest?label=docker%20image%20ver." /></a> <a target="_blank" href="https://github.com/louislam/uptime-kuma"><img src="https://img.shields.io/github/last-commit/louislam/uptime-kuma" /></a> <a target="_blank" href="https://opencollective.com/uptime-kuma"><img src="https://opencollective.com/uptime-kuma/total/badge.svg?label=Open%20Collective%20Backers&color=brightgreen" /></a> <a target="_blank" href="https://github.com/louislam/uptime-kuma"><img src="https://img.shields.io/github/stars/louislam/uptime-kuma?style=flat" /></a> <a target="_blank" href="https://hub.docker.com/r/louislam/uptime-kuma"><img src="https://img.shields.io/docker/pulls/louislam/uptime-kuma" /></a> <a target="_blank" href="https://hub.docker.com/r/louislam/uptime-kuma"><img src="https://img.shields.io/docker/v/louislam/uptime-kuma/latest?label=docker%20image%20ver." /></a> <a target="_blank" href="https://github.com/louislam/uptime-kuma"><img src="https://img.shields.io/github/last-commit/louislam/uptime-kuma" /></a> <a target="_blank" href="https://opencollective.com/uptime-kuma"><img src="https://opencollective.com/uptime-kuma/total/badge.svg?label=Open%20Collective%20Backers&color=brightgreen" /></a>
[![GitHub Sponsors](https://img.shields.io/github/sponsors/louislam?label=GitHub%20Sponsors)](https://github.com/sponsors/louislam) <a href="https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/"> [![GitHub Sponsors](https://img.shields.io/github/sponsors/louislam?label=GitHub%20Sponsors)](https://github.com/sponsors/louislam) <a href="https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/">
<img src="https://weblate.kuma.pet/widgets/uptime-kuma/-/svg-badge.svg" alt="Translation status" /> <img src="https://weblate.kuma.pet/widgets/uptime-kuma/-/svg-badge.svg" alt="Translation status" />
</a> </a>
@ -17,9 +17,9 @@ Uptime Kuma is an easy-to-use self-hosted monitoring tool.
Try it! Try it!
- Tokyo Demo Server: https://demo.uptime.kuma.pet (Sponsored by [Uptime Kuma Sponsors](https://github.com/louislam/uptime-kuma#%EF%B8%8F-sponsors)) Demo Server (Location: Frankfurt - Germany): https://demo.kuma.pet/start-demo
It is a temporary live demo, all data will be deleted after 10 minutes. Use the one that is closer to you, but I suggest that you should install and try it out for the best demo experience. It is a temporary live demo, all data will be deleted after 10 minutes. Sponsored by [Uptime Kuma Sponsors](https://github.com/louislam/uptime-kuma#%EF%B8%8F-sponsors).
## ⭐ Features ## ⭐ Features

@ -0,0 +1,9 @@
services:
uptime-kuma:
image: louislam/uptime-kuma:1
volumes:
- ./data:/app/data
ports:
# <Host Port>:<Container Port>
- 3001:3001
restart: unless-stopped

@ -0,0 +1,60 @@
import { defineConfig, devices } from "@playwright/test";
const port = 30001;
const url = `http://localhost:${port}`;
export default defineConfig({
// Look for test files in the "tests" directory, relative to this configuration file.
testDir: "../test/e2e",
outputDir: "../private/playwright-test-results",
fullyParallel: false,
locale: "en-US",
// Fail the build on CI if you accidentally left test.only in the source code.
forbidOnly: !!process.env.CI,
// Retry on CI only.
retries: process.env.CI ? 2 : 0,
// Opt out of parallel tests on CI.
workers: 1,
// Reporter to use
reporter: [
[
"html", {
outputFolder: "../private/playwright-report",
open: "never",
}
],
],
use: {
// Base URL to use in actions like `await page.goto('/')`.
baseURL: url,
// Collect trace when retrying the failed test.
trace: "on-first-retry",
},
// Configure projects for major browsers.
projects: [
{
name: "chromium",
use: { ...devices["Desktop Chrome"] },
},
/*
{
name: "firefox",
use: { browserName: "firefox" }
},*/
],
// Run your local dev server before starting the tests.
webServer: {
command: `node extra/remove-playwright-test-data.js && node server/server.js --port=${port} --data-dir=./data/playwright-test`,
url,
reuseExistingServer: false,
cwd: "../",
},
});

@ -0,0 +1,24 @@
exports.up = function (knex) {
return knex.schema
.alterTable("stat_daily", function (table) {
table.float("ping_min").notNullable().defaultTo(0).comment("Minimum ping during this period in milliseconds");
table.float("ping_max").notNullable().defaultTo(0).comment("Maximum ping during this period in milliseconds");
})
.alterTable("stat_minutely", function (table) {
table.float("ping_min").notNullable().defaultTo(0).comment("Minimum ping during this period in milliseconds");
table.float("ping_max").notNullable().defaultTo(0).comment("Maximum ping during this period in milliseconds");
});
};
exports.down = function (knex) {
return knex.schema
.alterTable("stat_daily", function (table) {
table.dropColumn("ping_min");
table.dropColumn("ping_max");
})
.alterTable("stat_minutely", function (table) {
table.dropColumn("ping_min");
table.dropColumn("ping_max");
});
};

@ -0,0 +1,26 @@
exports.up = function (knex) {
return knex.schema
.createTable("stat_hourly", function (table) {
table.increments("id");
table.comment("This table contains the hourly aggregate statistics for each monitor");
table.integer("monitor_id").unsigned().notNullable()
.references("id").inTable("monitor")
.onDelete("CASCADE")
.onUpdate("CASCADE");
table.integer("timestamp")
.notNullable()
.comment("Unix timestamp rounded down to the nearest hour");
table.float("ping").notNullable().comment("Average ping in milliseconds");
table.float("ping_min").notNullable().defaultTo(0).comment("Minimum ping during this period in milliseconds");
table.float("ping_max").notNullable().defaultTo(0).comment("Maximum ping during this period in milliseconds");
table.smallint("up").notNullable();
table.smallint("down").notNullable();
table.unique([ "monitor_id", "timestamp" ]);
});
};
exports.down = function (knex) {
return knex.schema
.dropTable("stat_hourly");
};

@ -1,15 +0,0 @@
version: '3.8'
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
volumes:
- uptime-kuma:/app/data
ports:
- "3001:3001" # <Host Port>:<Container Port>
restart: always
volumes:
uptime-kuma:

@ -0,0 +1,6 @@
const fs = require("fs");
fs.rmSync("./data/playwright-test", {
recursive: true,
force: true,
});

@ -99,7 +99,6 @@ function disconnectAllSocketClients(username, password) {
// Disconnect all socket connections // Disconnect all socket connections
const socket = io(localWebSocketURL, { const socket = io(localWebSocketURL, {
transports: [ "websocket" ],
reconnection: false, reconnection: false,
timeout: 5000, timeout: 5000,
}); });

6649
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -25,12 +25,15 @@
"start-server-dev": "cross-env NODE_ENV=development node server/server.js", "start-server-dev": "cross-env NODE_ENV=development node server/server.js",
"start-server-dev:watch": "cross-env NODE_ENV=development node --watch server/server.js", "start-server-dev:watch": "cross-env NODE_ENV=development node --watch server/server.js",
"build": "vite build --config ./config/vite.config.js", "build": "vite build --config ./config/vite.config.js",
"test": "node test/prepare-test-server.js && npm run test-backend", "test": "npm run test-backend && npm run test-e2e",
"test-with-build": "npm run build && npm test", "test-with-build": "npm run build && npm test",
"test-backend": "node test/backend-test-entry.js && npm run jest-backend", "test-backend": "node test/backend-test-entry.js",
"test-backend:14": "cross-env TEST_BACKEND=1 NODE_OPTIONS=\"--experimental-abortcontroller --no-warnings\" node--test test/backend-test", "test-backend:14": "cross-env TEST_BACKEND=1 NODE_OPTIONS=\"--experimental-abortcontroller --no-warnings\" node--test test/backend-test",
"test-backend:18": "cross-env TEST_BACKEND=1 node --test test/backend-test", "test-backend:18": "cross-env TEST_BACKEND=1 node --test test/backend-test",
"jest-backend": "cross-env TEST_BACKEND=1 jest --runInBand --detectOpenHandles --forceExit --config=./config/jest-backend.config.js", "test-e2e": "playwright test --config ./config/playwright.config.js",
"test-e2e-ui": "playwright test --config ./config/playwright.config.js --ui --ui-port=51063",
"playwright-codegen": "playwright codegen localhost:3000 --save-storage=./private/e2e-auth.json",
"playwright-show-report": "playwright show-report ./private/playwright-report",
"tsc": "tsc", "tsc": "tsc",
"vite-preview-dist": "vite preview --host --config ./config/vite.config.js", "vite-preview-dist": "vite preview --host --config ./config/vite.config.js",
"build-docker": "npm run build && npm run build-docker-full && npm run build-docker-slim", "build-docker": "npm run build && npm run build-docker-full && npm run build-docker-slim",
@ -46,7 +49,7 @@
"build-docker-nightly-local": "npm run build && docker build -f docker/dockerfile -t louislam/uptime-kuma:nightly2 --target nightly .", "build-docker-nightly-local": "npm run build && docker build -f docker/dockerfile -t louislam/uptime-kuma:nightly2 --target nightly .",
"build-docker-pr-test": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64 -t louislam/uptime-kuma:pr-test2 --target pr-test2 . --push", "build-docker-pr-test": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64 -t louislam/uptime-kuma:pr-test2 --target pr-test2 . --push",
"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.23.9 && npm ci --production && npm run download-dist", "setup": "git checkout 1.23.11 && npm ci --production && npm run download-dist",
"download-dist": "node extra/download-dist.js", "download-dist": "node extra/download-dist.js",
"mark-as-nightly": "node extra/mark-as-nightly.js", "mark-as-nightly": "node extra/mark-as-nightly.js",
"reset-password": "node extra/reset-password.js", "reset-password": "node extra/reset-password.js",
@ -62,10 +65,6 @@
"git-remove-tag": "git tag -d", "git-remove-tag": "git tag -d",
"build-dist-and-restart": "npm run build && npm run start-server-dev", "build-dist-and-restart": "npm run build && npm run start-server-dev",
"start-pr-test": "node extra/checkout-pr.js && npm install && npm run dev", "start-pr-test": "node extra/checkout-pr.js && npm install && npm run dev",
"cy:test": "node test/prepare-test-server.js && node server/server.js --port=3002 --data-dir=./data/test/ --e2e",
"cy:run": "npx cypress run --browser chrome --headless --config-file ./config/cypress.config.js",
"cy:run:unit": "npx cypress run --browser chrome --headless --config-file ./config/cypress.frontend.config.js",
"cypress-open": "concurrently -k -r \"node test/prepare-test-server.js && node server/server.js --port=3002 --data-dir=./data/test/\" \"cypress open --config-file ./config/cypress.config.js\"",
"build-healthcheck-armv7": "cross-env GOOS=linux GOARCH=arm GOARM=7 go build -x -o ./extra/healthcheck-armv7 ./extra/healthcheck.go", "build-healthcheck-armv7": "cross-env GOOS=linux GOARCH=arm GOARM=7 go build -x -o ./extra/healthcheck-armv7 ./extra/healthcheck.go",
"deploy-demo-server": "node extra/deploy-demo-server.js", "deploy-demo-server": "node extra/deploy-demo-server.js",
"sort-contributors": "node extra/sort-contributors.js", "sort-contributors": "node extra/sort-contributors.js",
@ -98,8 +97,8 @@
"express-static-gzip": "~2.1.7", "express-static-gzip": "~2.1.7",
"form-data": "~4.0.0", "form-data": "~4.0.0",
"gamedig": "^4.2.0", "gamedig": "^4.2.0",
"http-cookie-agent": "~5.0.4",
"html-escaper": "^3.0.3", "html-escaper": "^3.0.3",
"http-cookie-agent": "~5.0.4",
"http-graceful-shutdown": "~3.1.7", "http-graceful-shutdown": "~3.1.7",
"http-proxy-agent": "~5.0.0", "http-proxy-agent": "~5.0.0",
"https-proxy-agent": "~5.0.1", "https-proxy-agent": "~5.0.1",
@ -128,7 +127,7 @@
"password-hash": "~1.2.2", "password-hash": "~1.2.2",
"pg": "~8.11.3", "pg": "~8.11.3",
"pg-connection-string": "~2.6.2", "pg-connection-string": "~2.6.2",
"playwright-core": "~1.35.1", "playwright-core": "~1.39.0",
"prom-client": "~13.2.0", "prom-client": "~13.2.0",
"prometheus-api-metrics": "~3.2.1", "prometheus-api-metrics": "~3.2.1",
"promisify-child-process": "~4.1.2", "promisify-child-process": "~4.1.2",
@ -152,12 +151,14 @@
"@fortawesome/free-regular-svg-icons": "~5.15.4", "@fortawesome/free-regular-svg-icons": "~5.15.4",
"@fortawesome/free-solid-svg-icons": "~5.15.4", "@fortawesome/free-solid-svg-icons": "~5.15.4",
"@fortawesome/vue-fontawesome": "~3.0.0-5", "@fortawesome/vue-fontawesome": "~3.0.0-5",
"@playwright/test": "~1.39.0",
"@popperjs/core": "~2.10.2", "@popperjs/core": "~2.10.2",
"@types/bootstrap": "~5.1.9", "@types/bootstrap": "~5.1.9",
"@types/node": "^20.8.6",
"@typescript-eslint/eslint-plugin": "^6.7.5", "@typescript-eslint/eslint-plugin": "^6.7.5",
"@typescript-eslint/parser": "^6.7.5", "@typescript-eslint/parser": "^6.7.5",
"@vitejs/plugin-vue": "~4.2.3", "@vitejs/plugin-vue": "~5.0.1",
"@vue/compiler-sfc": "~3.3.4", "@vue/compiler-sfc": "~3.4.2",
"@vuepic/vue-datepicker": "~3.4.8", "@vuepic/vue-datepicker": "~3.4.8",
"aedes": "^0.46.3", "aedes": "^0.46.3",
"bootstrap": "5.1.3", "bootstrap": "5.1.3",
@ -167,7 +168,6 @@
"core-js": "~3.26.1", "core-js": "~3.26.1",
"cronstrue": "~2.24.0", "cronstrue": "~2.24.0",
"cross-env": "~7.0.3", "cross-env": "~7.0.3",
"cypress": "^13.2.0",
"delay": "^5.0.0", "delay": "^5.0.0",
"dns2": "~2.0.1", "dns2": "~2.0.1",
"dompurify": "~2.4.3", "dompurify": "~2.4.3",
@ -175,7 +175,7 @@
"eslint-plugin-jsdoc": "~46.4.6", "eslint-plugin-jsdoc": "~46.4.6",
"eslint-plugin-vue": "~8.7.1", "eslint-plugin-vue": "~8.7.1",
"favico.js": "~0.3.10", "favico.js": "~0.3.10",
"jest": "~29.6.1", "get-port-please": "^3.1.1",
"marked": "~4.2.5", "marked": "~4.2.5",
"node-ssh": "~13.1.0", "node-ssh": "~13.1.0",
"postcss-html": "~1.5.0", "postcss-html": "~1.5.0",
@ -192,9 +192,9 @@
"timezones-list": "~3.0.1", "timezones-list": "~3.0.1",
"typescript": "~4.4.4", "typescript": "~4.4.4",
"v-pagination-3": "~0.1.7", "v-pagination-3": "~0.1.7",
"vite": "~4.4.1", "vite": "~5.0.10",
"vite-plugin-compression": "^0.5.1", "vite-plugin-compression": "^0.5.1",
"vue": "~3.3.4", "vue": "~3.4.2",
"vue-chartjs": "~5.2.0", "vue-chartjs": "~5.2.0",
"vue-confirm-dialog": "~1.0.2", "vue-confirm-dialog": "~1.0.2",
"vue-contenteditable": "~3.0.4", "vue-contenteditable": "~3.0.4",
@ -203,7 +203,7 @@
"vue-multiselect": "~3.0.0-alpha.2", "vue-multiselect": "~3.0.0-alpha.2",
"vue-prism-editor": "~2.0.0-alpha.2", "vue-prism-editor": "~2.0.0-alpha.2",
"vue-qrcode": "~1.0.0", "vue-qrcode": "~1.0.0",
"vue-router": "~4.0.14", "vue-router": "~4.2.5",
"vue-toastification": "~2.0.0-rc.5", "vue-toastification": "~2.0.0-rc.5",
"vuedraggable": "~4.1.0", "vuedraggable": "~4.1.0",
"wait-on": "^7.2.0", "wait-on": "^7.2.0",

@ -433,9 +433,7 @@ class Monitor extends BeanModel {
if (this.auth_method === "oauth2-cc") { if (this.auth_method === "oauth2-cc") {
try { try {
if (this.oauthAccessToken === undefined || new Date(this.oauthAccessToken.expires_at * 1000) <= new Date()) { if (this.oauthAccessToken === undefined || new Date(this.oauthAccessToken.expires_at * 1000) <= new Date()) {
log.debug("monitor", `[${this.name}] The oauth access-token undefined or expired. Requesting a new one`); this.oauthAccessToken = await this.makeOidcTokenClientCredentialsRequest();
this.oauthAccessToken = await getOidcTokenClientCredentials(this.oauth_token_url, this.oauth_client_id, this.oauth_client_secret, this.oauth_scopes, this.oauth_auth_method);
log.debug("monitor", `[${this.name}] Obtained oauth access-token. Expires at ${new Date(this.oauthAccessToken.expires_at * 1000)}`);
} }
oauth2AuthHeader = { oauth2AuthHeader = {
"Authorization": this.oauthAccessToken.token_type + " " + this.oauthAccessToken.access_token, "Authorization": this.oauthAccessToken.token_type + " " + this.oauthAccessToken.access_token,
@ -1065,18 +1063,35 @@ class Monitor extends BeanModel {
} }
return res; return res;
} catch (e) { } catch (error) {
/**
* Make a single attempt to obtain an new access token in the event that
* the recent api request failed for authentication purposes
*/
if (this.auth_method === "oauth2-cc" && error.response.status === 401 && !finalCall) {
this.oauthAccessToken = await this.makeOidcTokenClientCredentialsRequest();
let oauth2AuthHeader = {
"Authorization": this.oauthAccessToken.token_type + " " + this.oauthAccessToken.access_token,
};
options.headers = { ...(options.headers),
...(oauth2AuthHeader)
};
return this.makeAxiosRequest(options, true);
}
// Fix #2253 // Fix #2253
// Read more: https://stackoverflow.com/questions/1759956/curl-error-18-transfer-closed-with-outstanding-read-data-remaining // Read more: https://stackoverflow.com/questions/1759956/curl-error-18-transfer-closed-with-outstanding-read-data-remaining
if (!finalCall && typeof e.message === "string" && e.message.includes("maxContentLength size of -1 exceeded")) { if (!finalCall && typeof error.message === "string" && error.message.includes("maxContentLength size of -1 exceeded")) {
log.debug("monitor", "makeAxiosRequest with gzip"); log.debug("monitor", "makeAxiosRequest with gzip");
options.headers["Accept-Encoding"] = "gzip, deflate"; options.headers["Accept-Encoding"] = "gzip, deflate";
return this.makeAxiosRequest(options, true); return this.makeAxiosRequest(options, true);
} else { } else {
if (typeof e.message === "string" && e.message.includes("maxContentLength size of -1 exceeded")) { if (typeof error.message === "string" && error.message.includes("maxContentLength size of -1 exceeded")) {
e.message = "response timeout: incomplete response within a interval"; error.message = "response timeout: incomplete response within a interval";
} }
throw e; throw error;
} }
} }
} }
@ -1579,6 +1594,23 @@ class Monitor extends BeanModel {
const parentActive = await Monitor.isParentActive(parent.id); const parentActive = await Monitor.isParentActive(parent.id);
return parent.active && parentActive; return parent.active && parentActive;
} }
/**
* Obtains a new Oidc Token
* @returns {Promise<object>} OAuthProvider client
*/
async makeOidcTokenClientCredentialsRequest() {
log.debug("monitor", `[${this.name}] The oauth access-token undefined or expired. Requesting a new token`);
const oAuthAccessToken = await getOidcTokenClientCredentials(this.oauth_token_url, this.oauth_client_id, this.oauth_client_secret, this.oauth_scopes, this.oauth_auth_method);
if (this.oauthAccessToken?.expires_at) {
log.debug("monitor", `[${this.name}] Obtained oauth access-token. Expires at ${new Date(this.oauthAccessToken?.expires_at * 1000)}`);
} else {
log.debug("monitor", `[${this.name}] Obtained oauth access-token. Time until expiry was not provided`);
}
return oAuthAccessToken;
}
} }
module.exports = Monitor; module.exports = Monitor;

@ -25,8 +25,14 @@ class User extends BeanModel {
* @returns {Promise<void>} * @returns {Promise<void>}
*/ */
async resetPassword(newPassword) { async resetPassword(newPassword) {
await User.resetPassword(this.id, newPassword); const hashedPassword = passwordHash.generate(newPassword);
this.password = newPassword;
await R.exec("UPDATE `user` SET password = ? WHERE id = ? ", [
hashedPassword,
this.id
]);
this.password = hashedPassword;
} }
/** /**

@ -96,7 +96,7 @@ async function getBrowser() {
async function getRemoteBrowser(remoteBrowserID, userId) { async function getRemoteBrowser(remoteBrowserID, userId) {
let remoteBrowser = await RemoteBrowser.get(remoteBrowserID, userId); let remoteBrowser = await RemoteBrowser.get(remoteBrowserID, userId);
log.debug("MONITOR", `Using remote browser: ${remoteBrowser.name} (${remoteBrowser.id})`); log.debug("MONITOR", `Using remote browser: ${remoteBrowser.name} (${remoteBrowser.id})`);
browser = chromium.connect(remoteBrowser.url); browser = await chromium.connect(remoteBrowser.url);
return browser; return browser;
} }

@ -38,7 +38,8 @@ class TailscalePing extends MonitorType {
async runTailscalePing(hostname, interval) { async runTailscalePing(hostname, interval) {
let timeout = interval * 1000 * 0.8; let timeout = interval * 1000 * 0.8;
let res = await childProcessAsync.spawn("tailscale", [ "ping", "--c", "1", hostname ], { let res = await childProcessAsync.spawn("tailscale", [ "ping", "--c", "1", hostname ], {
timeout: timeout timeout: timeout,
encoding: "utf8",
}); });
if (res.stderr && res.stderr.toString()) { if (res.stderr && res.stderr.toString()) {
throw new Error(`Error in output: ${res.stderr.toString()}`); throw new Error(`Error in output: ${res.stderr.toString()}`);

@ -14,7 +14,9 @@ class Apprise extends NotificationProvider {
args.push("-t"); args.push("-t");
args.push(notification.title); args.push(notification.title);
} }
const s = await childProcessAsync.spawn("apprise", args); const s = await childProcessAsync.spawn("apprise", args, {
encoding: "utf8",
});
const output = (s.stdout) ? s.stdout.toString() : "ERROR: maybe apprise not found"; const output = (s.stdout) ? s.stdout.toString() : "ERROR: maybe apprise not found";

@ -53,7 +53,10 @@ if (!process.env.UPTIME_KUMA_WS_ORIGIN_CHECK) {
log.info("server", "Env: " + process.env.NODE_ENV); log.info("server", "Env: " + process.env.NODE_ENV);
log.debug("server", "Inside Container: " + (process.env.UPTIME_KUMA_IS_CONTAINER === "1")); log.debug("server", "Inside Container: " + (process.env.UPTIME_KUMA_IS_CONTAINER === "1"));
log.info("server", "WebSocket Origin Check: " + process.env.UPTIME_KUMA_WS_ORIGIN_CHECK);
if (process.env.UPTIME_KUMA_WS_ORIGIN_CHECK === "bypass") {
log.warn("server", "WebSocket Origin Check: " + process.env.UPTIME_KUMA_WS_ORIGIN_CHECK);
}
const checkVersion = require("./check-version"); const checkVersion = require("./check-version");
log.info("server", "Uptime Kuma Version: " + checkVersion.version); log.info("server", "Uptime Kuma Version: " + checkVersion.version);
@ -87,7 +90,7 @@ const Monitor = require("./model/monitor");
const User = require("./model/user"); const User = require("./model/user");
log.debug("server", "Importing Settings"); log.debug("server", "Importing Settings");
const { getSettings, setSettings, setting, initJWTSecret, checkLogin, doubleCheckPassword, startE2eTests, shake256, SHAKE256_LENGTH, allowDevAllOrigin, const { getSettings, setSettings, setting, initJWTSecret, checkLogin, doubleCheckPassword, shake256, SHAKE256_LENGTH, allowDevAllOrigin,
} = require("./util-server"); } = require("./util-server");
log.debug("server", "Importing Notification"); log.debug("server", "Importing Notification");
@ -127,7 +130,6 @@ const twoFAVerifyOptions = {
* @type {boolean} * @type {boolean}
*/ */
const testMode = !!args["test"] || false; const testMode = !!args["test"] || false;
const e2eTestMode = !!args["e2e"] || false;
// Must be after io instantiation // Must be after io instantiation
const { sendNotificationList, sendHeartbeatList, sendInfo, sendProxyList, sendDockerHostList, sendAPIKeyList, sendRemoteBrowserList } = require("./client"); const { sendNotificationList, sendHeartbeatList, sendInfo, sendProxyList, sendDockerHostList, sendAPIKeyList, sendRemoteBrowserList } = require("./client");
@ -1264,10 +1266,11 @@ let needSetup = false;
let user = await doubleCheckPassword(socket, password.currentPassword); let user = await doubleCheckPassword(socket, password.currentPassword);
await user.resetPassword(password.newPassword); await user.resetPassword(password.newPassword);
server.disconnectAllSocketClient(user.id, socket.id); server.disconnectAllSocketClients(user.id, socket.id);
callback({ callback({
ok: true, ok: true,
token: User.createJWT(user, server.jwtSecret),
msg: "successAuthChangePassword", msg: "successAuthChangePassword",
msgi18n: true, msgi18n: true,
}); });
@ -1488,6 +1491,14 @@ let needSetup = false;
log.info("manage", `Clear Statistics User ID: ${socket.userID}`); log.info("manage", `Clear Statistics User ID: ${socket.userID}`);
await R.exec("DELETE FROM heartbeat"); await R.exec("DELETE FROM heartbeat");
await R.exec("DELETE FROM stat_daily");
await R.exec("DELETE FROM stat_hourly");
await R.exec("DELETE FROM stat_minutely");
// Restart all monitors to reset the stats
for (let monitorID in server.monitorList) {
await restartMonitor(socket.userID, monitorID);
}
callback({ callback({
ok: true, ok: true,
@ -1547,10 +1558,6 @@ let needSetup = false;
} }
startMonitors(); startMonitors();
checkVersion.startInterval(); checkVersion.startInterval();
if (e2eTestMode) {
startE2eTests();
}
}); });
await initBackgroundJobs(); await initBackgroundJobs();

@ -34,16 +34,25 @@ class UptimeCalculator {
*/ */
minutelyUptimeDataList = new LimitQueue(24 * 60); minutelyUptimeDataList = new LimitQueue(24 * 60);
/**
* Recent 30-day uptime, each item is a 1-hour interval
* Key: {number} DivisionKey
* @type {LimitQueue<number,string>}
*/
hourlyUptimeDataList = new LimitQueue(30 * 24);
/** /**
* Daily uptime data, * Daily uptime data,
* Key: {number} DailyKey * Key: {number} DailyKey
*/ */
dailyUptimeDataList = new LimitQueue(365); dailyUptimeDataList = new LimitQueue(365);
lastDailyUptimeData = null;
lastUptimeData = null; lastUptimeData = null;
lastHourlyUptimeData = null;
lastDailyUptimeData = null;
lastDailyStatBean = null; lastDailyStatBean = null;
lastHourlyStatBean = null;
lastMinutelyStatBean = null; lastMinutelyStatBean = null;
/** /**
@ -53,6 +62,10 @@ class UptimeCalculator {
* @returns {Promise<UptimeCalculator>} UptimeCalculator * @returns {Promise<UptimeCalculator>} UptimeCalculator
*/ */
static async getUptimeCalculator(monitorID) { static async getUptimeCalculator(monitorID) {
if (!monitorID) {
throw new Error("Monitor ID is required");
}
if (!UptimeCalculator.list[monitorID]) { if (!UptimeCalculator.list[monitorID]) {
UptimeCalculator.list[monitorID] = new UptimeCalculator(); UptimeCalculator.list[monitorID] = new UptimeCalculator();
await UptimeCalculator.list[monitorID].init(monitorID); await UptimeCalculator.list[monitorID].init(monitorID);
@ -108,13 +121,32 @@ class UptimeCalculator {
up: bean.up, up: bean.up,
down: bean.down, down: bean.down,
avgPing: bean.ping, avgPing: bean.ping,
minPing: bean.pingMin,
maxPing: bean.pingMax,
});
}
// Load hourly data from database (recent 30 days only)
let hourlyStatBeans = await R.find("stat_hourly", " monitor_id = ? AND timestamp > ? ORDER BY timestamp", [
monitorID,
this.getHourlyKey(now.subtract(30, "day")),
]);
for (let bean of hourlyStatBeans) {
let key = bean.timestamp;
this.hourlyUptimeDataList.push(key, {
up: bean.up,
down: bean.down,
avgPing: bean.ping,
minPing: bean.pingMin,
maxPing: bean.pingMax,
}); });
} }
// Load daily data from database (recent 365 days only) // Load daily data from database (recent 365 days only)
let dailyStatBeans = await R.find("stat_daily", " monitor_id = ? AND timestamp > ? ORDER BY timestamp", [ let dailyStatBeans = await R.find("stat_daily", " monitor_id = ? AND timestamp > ? ORDER BY timestamp", [
monitorID, monitorID,
this.getDailyKey(now.subtract(365, "day").unix()), this.getDailyKey(now.subtract(365, "day")),
]); ]);
for (let bean of dailyStatBeans) { for (let bean of dailyStatBeans) {
@ -123,6 +155,8 @@ class UptimeCalculator {
up: bean.up, up: bean.up,
down: bean.down, down: bean.down,
avgPing: bean.ping, avgPing: bean.ping,
minPing: bean.pingMin,
maxPing: bean.pingMax,
}); });
} }
} }
@ -148,13 +182,16 @@ class UptimeCalculator {
} }
let divisionKey = this.getMinutelyKey(date); let divisionKey = this.getMinutelyKey(date);
let dailyKey = this.getDailyKey(divisionKey); let hourlyKey = this.getHourlyKey(date);
let dailyKey = this.getDailyKey(date);
let minutelyData = this.minutelyUptimeDataList[divisionKey]; let minutelyData = this.minutelyUptimeDataList[divisionKey];
let hourlyData = this.hourlyUptimeDataList[hourlyKey];
let dailyData = this.dailyUptimeDataList[dailyKey]; let dailyData = this.dailyUptimeDataList[dailyKey];
if (flatStatus === UP) { if (flatStatus === UP) {
minutelyData.up += 1; minutelyData.up += 1;
hourlyData.up += 1;
dailyData.up += 1; dailyData.up += 1;
// Only UP status can update the ping // Only UP status can update the ping
@ -163,32 +200,57 @@ class UptimeCalculator {
// The first beat of the minute, the ping is the current ping // The first beat of the minute, the ping is the current ping
if (minutelyData.up === 1) { if (minutelyData.up === 1) {
minutelyData.avgPing = ping; minutelyData.avgPing = ping;
minutelyData.minPing = ping;
minutelyData.maxPing = ping;
} else { } else {
minutelyData.avgPing = (minutelyData.avgPing * (minutelyData.up - 1) + ping) / minutelyData.up; minutelyData.avgPing = (minutelyData.avgPing * (minutelyData.up - 1) + ping) / minutelyData.up;
minutelyData.minPing = Math.min(minutelyData.minPing, ping);
minutelyData.maxPing = Math.max(minutelyData.maxPing, ping);
}
// Add avg ping
// The first beat of the hour, the ping is the current ping
if (hourlyData.up === 1) {
hourlyData.avgPing = ping;
hourlyData.minPing = ping;
hourlyData.maxPing = ping;
} else {
hourlyData.avgPing = (hourlyData.avgPing * (hourlyData.up - 1) + ping) / hourlyData.up;
hourlyData.minPing = Math.min(hourlyData.minPing, ping);
hourlyData.maxPing = Math.max(hourlyData.maxPing, ping);
} }
// Add avg ping (daily) // Add avg ping (daily)
// The first beat of the day, the ping is the current ping // The first beat of the day, the ping is the current ping
if (minutelyData.up === 1) { if (dailyData.up === 1) {
dailyData.avgPing = ping; dailyData.avgPing = ping;
dailyData.minPing = ping;
dailyData.maxPing = ping;
} else { } else {
dailyData.avgPing = (dailyData.avgPing * (dailyData.up - 1) + ping) / dailyData.up; dailyData.avgPing = (dailyData.avgPing * (dailyData.up - 1) + ping) / dailyData.up;
dailyData.minPing = Math.min(dailyData.minPing, ping);
dailyData.maxPing = Math.max(dailyData.maxPing, ping);
} }
} }
} else { } else {
minutelyData.down += 1; minutelyData.down += 1;
hourlyData.down += 1;
dailyData.down += 1; dailyData.down += 1;
} }
if (dailyData !== this.lastDailyUptimeData) {
this.lastDailyUptimeData = dailyData;
}
if (minutelyData !== this.lastUptimeData) { if (minutelyData !== this.lastUptimeData) {
this.lastUptimeData = minutelyData; this.lastUptimeData = minutelyData;
} }
if (hourlyData !== this.lastHourlyUptimeData) {
this.lastHourlyUptimeData = hourlyData;
}
if (dailyData !== this.lastDailyUptimeData) {
this.lastDailyUptimeData = dailyData;
}
// Don't store data in test mode // Don't store data in test mode
if (process.env.TEST_BACKEND) { if (process.env.TEST_BACKEND) {
log.debug("uptime-calc", "Skip storing data in test mode"); log.debug("uptime-calc", "Skip storing data in test mode");
@ -199,12 +261,24 @@ class UptimeCalculator {
dailyStatBean.up = dailyData.up; dailyStatBean.up = dailyData.up;
dailyStatBean.down = dailyData.down; dailyStatBean.down = dailyData.down;
dailyStatBean.ping = dailyData.avgPing; dailyStatBean.ping = dailyData.avgPing;
dailyStatBean.pingMin = dailyData.minPing;
dailyStatBean.pingMax = dailyData.maxPing;
await R.store(dailyStatBean); await R.store(dailyStatBean);
let hourlyStatBean = await this.getHourlyStatBean(hourlyKey);
hourlyStatBean.up = hourlyData.up;
hourlyStatBean.down = hourlyData.down;
hourlyStatBean.ping = hourlyData.avgPing;
hourlyStatBean.pingMin = hourlyData.minPing;
hourlyStatBean.pingMax = hourlyData.maxPing;
await R.store(hourlyStatBean);
let minutelyStatBean = await this.getMinutelyStatBean(divisionKey); let minutelyStatBean = await this.getMinutelyStatBean(divisionKey);
minutelyStatBean.up = minutelyData.up; minutelyStatBean.up = minutelyData.up;
minutelyStatBean.down = minutelyData.down; minutelyStatBean.down = minutelyData.down;
minutelyStatBean.ping = minutelyData.avgPing; minutelyStatBean.ping = minutelyData.avgPing;
minutelyStatBean.pingMin = minutelyData.minPing;
minutelyStatBean.pingMax = minutelyData.maxPing;
await R.store(minutelyStatBean); await R.store(minutelyStatBean);
// Remove the old data // Remove the old data
@ -214,6 +288,11 @@ class UptimeCalculator {
this.getMinutelyKey(date.subtract(24, "hour")), this.getMinutelyKey(date.subtract(24, "hour")),
]); ]);
await R.exec("DELETE FROM stat_hourly WHERE monitor_id = ? AND timestamp < ?", [
this.monitorID,
this.getHourlyKey(date.subtract(30, "day")),
]);
return date; return date;
} }
@ -242,6 +321,31 @@ class UptimeCalculator {
return this.lastDailyStatBean; return this.lastDailyStatBean;
} }
/**
* Get the hourly stat bean
* @param {number} timestamp milliseconds
* @returns {Promise<import("redbean-node").Bean>} stat_hourly bean
*/
async getHourlyStatBean(timestamp) {
if (this.lastHourlyStatBean && this.lastHourlyStatBean.timestamp === timestamp) {
return this.lastHourlyStatBean;
}
let bean = await R.findOne("stat_hourly", " monitor_id = ? AND timestamp = ?", [
this.monitorID,
timestamp,
]);
if (!bean) {
bean = R.dispense("stat_hourly");
bean.monitor_id = this.monitorID;
bean.timestamp = timestamp;
}
this.lastHourlyStatBean = bean;
return this.lastHourlyStatBean;
}
/** /**
* Get the minutely stat bean * Get the minutely stat bean
* @param {number} timestamp milliseconds * @param {number} timestamp milliseconds
@ -268,11 +372,12 @@ class UptimeCalculator {
} }
/** /**
* Convert timestamp to minutely key
* @param {dayjs.Dayjs} date The heartbeat date * @param {dayjs.Dayjs} date The heartbeat date
* @returns {number} Timestamp * @returns {number} Timestamp
*/ */
getMinutelyKey(date) { getMinutelyKey(date) {
// Convert the current date to the nearest minute (e.g. 2021-01-01 12:34:56 -> 2021-01-01 12:34:00) // Truncate value to minutes (e.g. 2021-01-01 12:34:56 -> 2021-01-01 12:34:00)
date = date.startOf("minute"); date = date.startOf("minute");
// Convert to timestamp in second // Convert to timestamp in second
@ -283,6 +388,8 @@ class UptimeCalculator {
up: 0, up: 0,
down: 0, down: 0,
avgPing: 0, avgPing: 0,
minPing: 0,
maxPing: 0,
}); });
} }
@ -290,14 +397,37 @@ class UptimeCalculator {
} }
/** /**
* Convert timestamp to daily key * Convert timestamp to hourly key
* @param {number} timestamp Timestamp * @param {dayjs.Dayjs} date The heartbeat date
* @returns {number} Timestamp * @returns {number} Timestamp
*/ */
getDailyKey(timestamp) { getHourlyKey(date) {
let date = dayjs.unix(timestamp); // Truncate value to hours (e.g. 2021-01-01 12:34:56 -> 2021-01-01 12:00:00)
date = date.startOf("hour");
// Convert to timestamp in second
let divisionKey = date.unix();
if (! (divisionKey in this.hourlyUptimeDataList)) {
this.hourlyUptimeDataList.push(divisionKey, {
up: 0,
down: 0,
avgPing: 0,
minPing: 0,
maxPing: 0,
});
}
return divisionKey;
}
// Convert the date to the nearest day (e.g. 2021-01-01 12:34:56 -> 2021-01-01 00:00:00) /**
* Convert timestamp to daily key
* @param {dayjs.Dayjs} date The heartbeat date
* @returns {number} Timestamp
*/
getDailyKey(date) {
// Truncate value to start of day (e.g. 2021-01-01 12:34:56 -> 2021-01-01 00:00:00)
// Considering if the user keep changing could affect the calculation, so use UTC time to avoid this problem. // Considering if the user keep changing could affect the calculation, so use UTC time to avoid this problem.
date = date.utc().startOf("day"); date = date.utc().startOf("day");
let dailyKey = date.unix(); let dailyKey = date.unix();
@ -307,12 +437,34 @@ class UptimeCalculator {
up: 0, up: 0,
down: 0, down: 0,
avgPing: 0, avgPing: 0,
minPing: 0,
maxPing: 0,
}); });
} }
return dailyKey; return dailyKey;
} }
/**
* Convert timestamp to key
* @param {dayjs.Dayjs} datetime Datetime
* @param {"day" | "hour" | "minute"} type the type of data which is expected to be returned
* @returns {number} Timestamp
* @throws {Error} If the type is invalid
*/
getKey(datetime, type) {
switch (type) {
case "day":
return this.getDailyKey(datetime);
case "hour":
return this.getHourlyKey(datetime);
case "minute":
return this.getMinutelyKey(datetime);
default:
throw new Error("Invalid type");
}
}
/** /**
* Flat status to UP or DOWN * Flat status to UP or DOWN
* @param {number} status the status which schould be turned into a flat status * @param {number} status the status which schould be turned into a flat status
@ -333,22 +485,22 @@ class UptimeCalculator {
/** /**
* @param {number} num the number of data points which are expected to be returned * @param {number} num the number of data points which are expected to be returned
* @param {"day" | "minute"} type the type of data which is expected to be returned * @param {"day" | "hour" | "minute"} type the type of data which is expected to be returned
* @returns {UptimeDataResult} UptimeDataResult * @returns {UptimeDataResult} UptimeDataResult
* @throws {Error} The maximum number of minutes greater than 1440 * @throws {Error} The maximum number of minutes greater than 1440
*/ */
getData(num, type = "day") { getData(num, type = "day") {
let key;
if (type === "day") { if (type === "hour" && num > 24 * 30) {
key = this.getDailyKey(this.getCurrentDate().unix()); throw new Error("The maximum number of hours is 720");
} else {
if (num > 24 * 60) {
throw new Error("The maximum number of minutes is 1440");
} }
key = this.getMinutelyKey(this.getCurrentDate()); if (type === "minute" && num > 24 * 60) {
throw new Error("The maximum number of minutes is 1440");
} }
// Get the current time period key based on the type
let key = this.getKey(this.getCurrentDate(), type);
let total = { let total = {
up: 0, up: 0,
down: 0, down: 0,
@ -357,20 +509,37 @@ class UptimeCalculator {
let totalPing = 0; let totalPing = 0;
let endTimestamp; let endTimestamp;
if (type === "day") { // Get the eariest timestamp of the required period based on the type
switch (type) {
case "day":
endTimestamp = key - 86400 * (num - 1); endTimestamp = key - 86400 * (num - 1);
} else { break;
case "hour":
endTimestamp = key - 3600 * (num - 1);
break;
case "minute":
endTimestamp = key - 60 * (num - 1); endTimestamp = key - 60 * (num - 1);
break;
default:
throw new Error("Invalid type");
} }
// Sum up all data in the specified time range // Sum up all data in the specified time range
while (key >= endTimestamp) { while (key >= endTimestamp) {
let data; let data;
if (type === "day") { switch (type) {
case "day":
data = this.dailyUptimeDataList[key]; data = this.dailyUptimeDataList[key];
} else { break;
case "hour":
data = this.hourlyUptimeDataList[key];
break;
case "minute":
data = this.minutelyUptimeDataList[key]; data = this.minutelyUptimeDataList[key];
break;
default:
throw new Error("Invalid type");
} }
if (data) { if (data) {
@ -379,28 +548,54 @@ class UptimeCalculator {
totalPing += data.avgPing * data.up; totalPing += data.avgPing * data.up;
} }
// Previous day // Set key to the pervious time period
if (type === "day") { switch (type) {
case "day":
key -= 86400; key -= 86400;
} else { break;
case "hour":
key -= 3600;
break;
case "minute":
key -= 60; key -= 60;
break;
default:
throw new Error("Invalid type");
} }
} }
let uptimeData = new UptimeDataResult(); let uptimeData = new UptimeDataResult();
// If there is no data in the previous time ranges, use the last data?
if (total.up === 0 && total.down === 0) { if (total.up === 0 && total.down === 0) {
if (type === "day" && this.lastDailyUptimeData) { switch (type) {
case "day":
if (this.lastDailyUptimeData) {
total = this.lastDailyUptimeData; total = this.lastDailyUptimeData;
totalPing = total.avgPing * total.up; totalPing = total.avgPing * total.up;
} else if (type === "minute" && this.lastUptimeData) { } else {
return uptimeData;
}
break;
case "hour":
if (this.lastHourlyUptimeData) {
total = this.lastHourlyUptimeData;
totalPing = total.avgPing * total.up;
} else {
return uptimeData;
}
break;
case "minute":
if (this.lastUptimeData) {
total = this.lastUptimeData; total = this.lastUptimeData;
totalPing = total.avgPing * total.up; totalPing = total.avgPing * total.up;
} else { } else {
uptimeData.uptime = 0;
uptimeData.avgPing = null;
return uptimeData; return uptimeData;
} }
break;
default:
throw new Error("Invalid type");
}
} }
let avgPing; let avgPing;
@ -416,6 +611,85 @@ class UptimeCalculator {
return uptimeData; return uptimeData;
} }
/**
* Get data in form of an array
* @param {number} num the number of data points which are expected to be returned
* @param {"day" | "hour" | "minute"} type the type of data which is expected to be returned
* @returns {Array<object>} uptime data
* @throws {Error} The maximum number of minutes greater than 1440
*/
getDataArray(num, type = "day") {
if (type === "hour" && num > 24 * 30) {
throw new Error("The maximum number of hours is 720");
}
if (type === "minute" && num > 24 * 60) {
throw new Error("The maximum number of minutes is 1440");
}
// Get the current time period key based on the type
let key = this.getKey(this.getCurrentDate(), type);
let result = [];
let endTimestamp;
// Get the eariest timestamp of the required period based on the type
switch (type) {
case "day":
endTimestamp = key - 86400 * (num - 1);
break;
case "hour":
endTimestamp = key - 3600 * (num - 1);
break;
case "minute":
endTimestamp = key - 60 * (num - 1);
break;
default:
throw new Error("Invalid type");
}
// Get datapoints in the specified time range
while (key >= endTimestamp) {
let data;
switch (type) {
case "day":
data = this.dailyUptimeDataList[key];
break;
case "hour":
data = this.hourlyUptimeDataList[key];
break;
case "minute":
data = this.minutelyUptimeDataList[key];
break;
default:
throw new Error("Invalid type");
}
if (data) {
data.timestamp = key;
result.push(data);
}
// Set key to the pervious time period
switch (type) {
case "day":
key -= 86400;
break;
case "hour":
key -= 3600;
break;
case "minute":
key -= 60;
break;
default:
throw new Error("Invalid type");
}
}
return result;
}
/** /**
* Get the uptime data by duration * Get the uptime data by duration
* @param {'24h'|'30d'|'1y'} duration Only accept 24h, 30d, 1y * @param {'24h'|'30d'|'1y'} duration Only accept 24h, 30d, 1y
@ -446,7 +720,7 @@ class UptimeCalculator {
* @returns {UptimeDataResult} UptimeDataResult * @returns {UptimeDataResult} UptimeDataResult
*/ */
get7Day() { get7Day() {
return this.getData(7); return this.getData(168, "hour");
} }
/** /**
@ -464,7 +738,7 @@ class UptimeCalculator {
} }
/** /**
* @returns {dayjs.Dayjs} Current date * @returns {dayjs.Dayjs} Current datetime in UTC
*/ */
getCurrentDate() { getCurrentDate() {
return dayjs.utc(); return dayjs.utc();
@ -476,12 +750,12 @@ class UptimeDataResult {
/** /**
* @type {number} Uptime * @type {number} Uptime
*/ */
uptime; uptime = 0;
/** /**
* @type {number} Average ping * @type {number} Average ping
*/ */
avgPing; avgPing = null;
} }
module.exports = { module.exports = {

@ -114,39 +114,64 @@ class UptimeKumaServer {
UptimeKumaServer.monitorTypeList["dns"] = new DnsMonitorType(); UptimeKumaServer.monitorTypeList["dns"] = new DnsMonitorType();
UptimeKumaServer.monitorTypeList["mqtt"] = new MqttMonitorType(); UptimeKumaServer.monitorTypeList["mqtt"] = new MqttMonitorType();
this.io = new Server(this.httpServer, { // Allow all CORS origins (polling) in development
allowRequest: (req, callback) => { let cors = undefined;
let isOriginValid = true; if (isDev) {
const bypass = isDev || process.env.UPTIME_KUMA_WS_ORIGIN_CHECK === "bypass"; cors = {
origin: "*",
};
}
if (!bypass) { this.io = new Server(this.httpServer, {
cors,
allowRequest: async (req, callback) => {
let transport;
// It should be always true, but just in case, because this property is not documented
if (req._query) {
transport = req._query.transport;
} else {
log.error("socket", "Ops!!! Cannot get transport type, assume that it is polling");
transport = "polling";
}
const clientIP = await this.getClientIPwithProxy(req.connection.remoteAddress, req.headers);
log.info("socket", `New ${transport} connection, IP = ${clientIP}`);
// The following check is only for websocket connections, polling connections are already protected by CORS
if (transport === "polling") {
callback(null, true);
} else if (transport === "websocket") {
const bypass = process.env.UPTIME_KUMA_WS_ORIGIN_CHECK === "bypass";
if (bypass) {
log.info("auth", "WebSocket origin check is bypassed");
callback(null, true);
} else if (!req.headers.origin) {
log.info("auth", "WebSocket with no origin is allowed");
callback(null, true);
} else {
let host = req.headers.host; let host = req.headers.host;
// If this is set, it means the request is from the browser
let origin = req.headers.origin; let origin = req.headers.origin;
// If this is from the browser, check if the origin is allowed
if (origin) {
try { try {
let originURL = new URL(origin); let originURL = new URL(origin);
let xForwardedFor;
if (await Settings.get("trustProxy")) {
xForwardedFor = req.headers["x-forwarded-for"];
}
if (host !== originURL.host) { if (host !== originURL.host && xForwardedFor !== originURL.host) {
isOriginValid = false; callback(null, false);
log.error("auth", `Origin (${origin}) does not match host (${host}), IP: ${req.socket.remoteAddress}`); log.error("auth", `Origin (${origin}) does not match host (${host}), IP: ${clientIP}`);
} else {
callback(null, true);
} }
} catch (e) { } catch (e) {
// Invalid origin url, probably not from browser // Invalid origin url, probably not from browser
isOriginValid = false; callback(null, false);
log.error("auth", `Invalid origin url (${origin}), IP: ${req.socket.remoteAddress}`); log.error("auth", `Invalid origin url (${origin}), IP: ${clientIP}`);
} }
} else {
log.info("auth", `Origin is not set, IP: ${req.socket.remoteAddress}`);
} }
} else {
log.debug("auth", "Origin check is bypassed");
} }
callback(null, isOriginValid);
} }
}); });
} }
@ -290,20 +315,27 @@ class UptimeKumaServer {
/** /**
* Get the IP of the client connected to the socket * Get the IP of the client connected to the socket
* @param {Socket} socket Socket to query * @param {Socket} socket Socket to query
* @returns {string} IP of client * @returns {Promise<string>} IP of client
*/ */
async getClientIP(socket) { getClientIP(socket) {
let clientIP = socket.client.conn.remoteAddress; return this.getClientIPwithProxy(socket.client.conn.remoteAddress, socket.client.conn.request.headers);
}
/**
* @param {string} clientIP Raw client IP
* @param {IncomingHttpHeaders} headers HTTP headers
* @returns {Promise<string>} Client IP with proxy (if trusted)
*/
async getClientIPwithProxy(clientIP, headers) {
if (clientIP === undefined) { if (clientIP === undefined) {
clientIP = ""; clientIP = "";
} }
if (await Settings.get("trustProxy")) { if (await Settings.get("trustProxy")) {
const forwardedFor = socket.client.conn.request.headers["x-forwarded-for"]; const forwardedFor = headers["x-forwarded-for"];
return (typeof forwardedFor === "string" ? forwardedFor.split(",")[0].trim() : null) return (typeof forwardedFor === "string" ? forwardedFor.split(",")[0].trim() : null)
|| socket.client.conn.request.headers["x-real-ip"] || headers["x-real-ip"]
|| clientIP.replace(/^::ffff:/, ""); || clientIP.replace(/^::ffff:/, "");
} else { } else {
return clientIP.replace(/^::ffff:/, ""); return clientIP.replace(/^::ffff:/, "");

@ -4,7 +4,6 @@ const { R } = require("redbean-node");
const { log, genSecret, badgeConstants } = require("../src/util"); const { log, genSecret, badgeConstants } = require("../src/util");
const passwordHash = require("./password-hash"); const passwordHash = require("./password-hash");
const { Resolver } = require("dns"); const { Resolver } = require("dns");
const childProcess = require("child_process");
const iconv = require("iconv-lite"); const iconv = require("iconv-lite");
const chardet = require("chardet"); const chardet = require("chardet");
const chroma = require("chroma-js"); const chroma = require("chroma-js");
@ -129,7 +128,7 @@ exports.ping = async (hostname, size = 56) => {
return await exports.pingAsync(hostname, false, size); return await exports.pingAsync(hostname, false, size);
} catch (e) { } catch (e) {
// If the host cannot be resolved, try again with ipv6 // If the host cannot be resolved, try again with ipv6
console.debug("ping", "IPv6 error message: " + e.message); log.debug("ping", "IPv6 error message: " + e.message);
// As node-ping does not report a specific error for this, try again if it is an empty message with ipv6 no matter what. // As node-ping does not report a specific error for this, try again if it is an empty message with ipv6 no matter what.
if (!e.message) { if (!e.message) {
@ -801,29 +800,6 @@ exports.doubleCheckPassword = async (socket, currentPassword) => {
return user; return user;
}; };
/**
* Start end-to-end tests
* @returns {void}
*/
exports.startE2eTests = async () => {
console.log("Starting unit test...");
const npm = /^win/.test(process.platform) ? "npm.cmd" : "npm";
const child = childProcess.spawn(npm, [ "run", "cy:run" ]);
child.stdout.on("data", (data) => {
console.log(data.toString());
});
child.stderr.on("data", (data) => {
console.log(data.toString());
});
child.on("close", function (code) {
console.log("Jest exit code: " + code);
process.exit(code);
});
};
/** /**
* Convert unknown string to UTF8 * Convert unknown string to UTF8
* @param {Uint8Array} body Buffer * @param {Uint8Array} body Buffer

@ -4,6 +4,7 @@ $warning: #f8a306;
$maintenance: #1747f5; $maintenance: #1747f5;
$link-color: #111; $link-color: #111;
$border-radius: 50rem; $border-radius: 50rem;
$secondary-text: #aaa;
$highlight: #7ce8a4; $highlight: #7ce8a4;
$highlight-white: #e7faec; $highlight-white: #e7faec;

@ -1,5 +1,5 @@
<template> <template>
<span v-if="isNum" ref="output">{{ output }}</span> <span v-if="isNum">{{ unit }}</span> <span v-if="isNum" ref="output">{{ outputFixed }}</span> <span v-if="isNum">{{ unit }}</span>
<span v-else>{{ value }}</span> <span v-else>{{ value }}</span>
</template> </template>
@ -37,6 +37,19 @@ export default {
isNum() { isNum() {
return typeof this.value === "number"; return typeof this.value === "number";
}, },
outputFixed() {
if (typeof this.output === "number") {
if (this.output < 1) {
return "<1";
} else if (Number.isInteger(this.output)) {
return this.output;
} else {
return this.output.toFixed(2);
}
} else {
return this.output;
}
}
}, },
watch: { watch: {

@ -309,7 +309,7 @@ export default {
} }
.word { .word {
color: #aaa; color: $secondary-text;
font-size: 12px; font-size: 12px;
} }

@ -93,10 +93,16 @@
<TwoFADialog ref="TwoFADialog" /> <TwoFADialog ref="TwoFADialog" />
<Confirm ref="confirmDisableAuth" btn-style="btn-danger" :yes-text="$t('I understand, please disable')" :no-text="$t('Leave')" @yes="disableAuth"> <Confirm ref="confirmDisableAuth" btn-style="btn-danger" :yes-text="$t('I understand, please disable')" :no-text="$t('Leave')" @yes="disableAuth">
<!-- eslint-disable-next-line vue/no-v-html --> <i18n-t tag="p" keypath="disableauth.message1">
<p v-html="$t('disableauth.message1')"></p> <template #disableAuth>
<!-- eslint-disable-next-line vue/no-v-html --> <strong>{{ $t('disable authentication') }}</strong>
<p v-html="$t('disableauth.message2')"></p> </template>
</i18n-t>
<i18n-t tag="p" keypath="disableauth.message2">
<template #intendThirdPartyAuth>
<strong>{{ $t('intend to implement third-party authentication') }}</strong>
</template>
</i18n-t>
<p>{{ $t("Please use this option carefully!") }}</p> <p>{{ $t("Please use this option carefully!") }}</p>
<div class="mb-3"> <div class="mb-3">
@ -171,6 +177,12 @@ export default {
this.password.currentPassword = ""; this.password.currentPassword = "";
this.password.newPassword = ""; this.password.newPassword = "";
this.password.repeatNewPassword = ""; this.password.repeatNewPassword = "";
// Update token of the current session
if (res.token) {
this.$root.storage().token = res.token;
this.$root.socket.token = res.token;
}
} }
}); });
} }

@ -120,8 +120,10 @@
"Update Password": "تطوير كلمة السر", "Update Password": "تطوير كلمة السر",
"Disable Auth": "تعطيل المصادقة", "Disable Auth": "تعطيل المصادقة",
"Enable Auth": "تمكين المصادقة", "Enable Auth": "تمكين المصادقة",
"disableauth.message1": "هل أنت متأكد من أن <strong> تعطيل المصادقة </strong>؟", "disableauth.message1": "هل أنت متأكد من أن {disableAuth}؟",
"disableauth.message2": "تم تصميمه للسيناريوهات <strong> حيث تنوي تنفيذ مصادقة الطرف الثالث </strong> أمام كوما في وقت التشغيل مثل CloudFlare Access Authelia أو آليات المصادقة الأخرى.", "disable authentication": "تعطيل المصادقة",
"disableauth.message2": "تم تصميمه للسيناريوهات {intendThirdPartyAuth} أمام كوما في وقت التشغيل مثل CloudFlare Access Authelia أو آليات المصادقة الأخرى.",
"where you intend to implement third-party authentication": "حيث تنوي تنفيذ مصادقة الطرف الثالث",
"Please use this option carefully!": "الرجاء استخدام هذا الخيار بعناية!", "Please use this option carefully!": "الرجاء استخدام هذا الخيار بعناية!",
"Logout": "تسجيل خروج", "Logout": "تسجيل خروج",
"Leave": "غادر", "Leave": "غادر",

@ -11,7 +11,7 @@
"Response": "استجاية", "Response": "استجاية",
"Ping": "بينغ", "Ping": "بينغ",
"Monitor Type": "نوع المراقب", "Monitor Type": "نوع المراقب",
"Cert Exp.": "انتهاء صَلاحِيَة شهادة الأمان SSL", "Cert Exp.": "انتهاء صلاحية شهادة الأمان SSL.",
"Theme - Heartbeat Bar": "موضوع - بار نبضات", "Theme - Heartbeat Bar": "موضوع - بار نبضات",
"Normal": "طبيعي", "Normal": "طبيعي",
"Bottom": "الأسفل", "Bottom": "الأسفل",
@ -22,8 +22,10 @@
"Update Password": "تطوير كلمة السر", "Update Password": "تطوير كلمة السر",
"Disable Auth": "تعطيل المصادقة", "Disable Auth": "تعطيل المصادقة",
"Enable Auth": "تمكين المصادقة", "Enable Auth": "تمكين المصادقة",
"disableauth.message1": "هل أنت متأكد من أن <strong> تعطيل المصادقة </strong>؟", "disableauth.message1": "هل أنت متأكد من أن {disableAuth}؟",
"disableauth.message2": "تم تصميمه للسيناريوهات <strong> حيث تنوي تنفيذ مصادقة الطرف الثالث </strong> أمام كوما في وقت التشغيل مثل CloudFlare Access Authelia أو آليات المصادقة الأخرى.", "disable authentication": "تعطيل المصادقة",
"disableauth.message2": "تم تصميمه للسيناريوهات {intendThirdPartyAuth} أمام كوما في وقت التشغيل مثل CloudFlare Access Authelia أو آليات المصادقة الأخرى.",
"where you intend to implement third-party authentication": "حيث تنوي تنفيذ مصادقة الطرف الثالث",
"Please use this option carefully!": "الرجاء استخدام هذا الخيار بعناية!", "Please use this option carefully!": "الرجاء استخدام هذا الخيار بعناية!",
"Logout": "تسجيل خروج", "Logout": "تسجيل خروج",
"Leave": "غادر", "Leave": "غادر",
@ -131,7 +133,7 @@
"resendEveryXTimes": "إعادة تقديم كل {0} مرات", "resendEveryXTimes": "إعادة تقديم كل {0} مرات",
"resendDisabled": "إعادة الالتزام بالتعطيل", "resendDisabled": "إعادة الالتزام بالتعطيل",
"retriesDescription": "الحد الأقصى لإعادة المحاولة قبل تمييز الخدمة على أنها لأسفل وإرسال إشعار", "retriesDescription": "الحد الأقصى لإعادة المحاولة قبل تمييز الخدمة على أنها لأسفل وإرسال إشعار",
"ignoreTLSError": "تجاهل خطأ TLS/SSL لمواقع HTTPS", "ignoreTLSError": "تجاهل أخطاء TLS/SSL لمواقع HTTPS",
"upsideDownModeDescription": "اقلب الحالة رأسًا على عقب. إذا كانت الخدمة قابلة للوصول إلى أسفل.", "upsideDownModeDescription": "اقلب الحالة رأسًا على عقب. إذا كانت الخدمة قابلة للوصول إلى أسفل.",
"maxRedirectDescription": "الحد الأقصى لعدد إعادة التوجيه لمتابعة. ضبط على 0 لتعطيل إعادة التوجيه.", "maxRedirectDescription": "الحد الأقصى لعدد إعادة التوجيه لمتابعة. ضبط على 0 لتعطيل إعادة التوجيه.",
"Upside Down Mode": "وضع رأسا على عقب", "Upside Down Mode": "وضع رأسا على عقب",
@ -208,7 +210,7 @@
"Blue": "أزرق", "Blue": "أزرق",
"Indigo": "النيلي", "Indigo": "النيلي",
"Purple": "نفسجي", "Purple": "نفسجي",
"webhookAdditionalHeadersDesc": "يحدد رؤوس إضافية مرسلة مع webhook.", "webhookAdditionalHeadersDesc": "يحدد رؤوس إضافية مرسلة مع webhook. كل رأس إضافي يجب تعريفه كقيمة أو مفتاح JSON.",
"Webhook URL": "عنوان URL للخطاف الإلكتروني", "Webhook URL": "عنوان URL للخطاف الإلكتروني",
"Pink": "لون القرنفل", "Pink": "لون القرنفل",
"Custom": "العادة", "Custom": "العادة",
@ -431,12 +433,12 @@
"Server Timezone": "المنطقة الزمنية الخادم", "Server Timezone": "المنطقة الزمنية الخادم",
"statusPageMaintenanceEndDate": "نهاية", "statusPageMaintenanceEndDate": "نهاية",
"IconUrl": "عنوان URL للرمز", "IconUrl": "عنوان URL للرمز",
"Enable DNS Cache": "تمكين ذاكرة التخزين المؤقت DNS", "Enable DNS Cache": "(مهمل) تمكين ذاكرة التخزين المؤقت لنظام أسماء النطاقات لمراقب HTTP(s)",
"Disable": "إبطال", "Disable": "إبطال",
"dnsCacheDescription": "قد لا يعمل في بعض بيئات IPv6 تعطيله إذا واجهت أي مشكلات.", "dnsCacheDescription": "قد لا يعمل في بعض بيئات IPv6 تعطيله إذا واجهت أي مشكلات.",
"Single Maintenance Window": "نافذة صيانة واحدة", "Single Maintenance Window": "نافذة صيانة واحدة",
"Maintenance Time Window of a Day": "نافذة وقت الصيانة لليوم", "Maintenance Time Window of a Day": "نافذة وقت الصيانة لليوم",
"Effective Date Range": "نطاق التاريخ السريع", "Effective Date Range": "نطاق التاريخ الفعلي (اختياري)",
"Schedule Maintenance": "جدولة الصيانة", "Schedule Maintenance": "جدولة الصيانة",
"Date and Time": "التاريخ و الوقت", "Date and Time": "التاريخ و الوقت",
"DateTime Range": "نطاق DateTime", "DateTime Range": "نطاق DateTime",
@ -517,7 +519,7 @@
"pushoversounds classical": "كلاسيكي", "pushoversounds classical": "كلاسيكي",
"pushoversounds cosmic": "كونية", "pushoversounds cosmic": "كونية",
"pushoversounds falling": "هبوط", "pushoversounds falling": "هبوط",
"pushoversounds gamelan": "Gamelan", "pushoversounds gamelan": "غاميلان",
"pushoversounds incoming": "واردة", "pushoversounds incoming": "واردة",
"pushoversounds intermission": "استراحة", "pushoversounds intermission": "استراحة",
"pushoversounds magic": "سحر", "pushoversounds magic": "سحر",
@ -638,8 +640,8 @@
"alertaApiKey": "مفتاح API", "alertaApiKey": "مفتاح API",
"alertaAlertState": "حالة التنبيه", "alertaAlertState": "حالة التنبيه",
"alertaRecoverState": "استعادة الدولة", "alertaRecoverState": "استعادة الدولة",
"auto acknowledged": "", "auto acknowledged": "تم الاقرار تلقائياُ",
"auto resolve": "", "auto resolve": "تم الحل تلقائياُ",
"serwersmsAPIUser": "اسم مستخدم API (بما في ذلك بادئة WebAPI_)", "serwersmsAPIUser": "اسم مستخدم API (بما في ذلك بادئة WebAPI_)",
"serwersmsAPIPassword": "كلمة مرور API", "serwersmsAPIPassword": "كلمة مرور API",
"serwersmsPhoneNumber": "رقم الهاتف", "serwersmsPhoneNumber": "رقم الهاتف",
@ -657,7 +659,7 @@
"From Name/Number": "من الاسم/الرقم", "From Name/Number": "من الاسم/الرقم",
"Leave blank to use a shared sender number.": "اترك فارغًا لاستخدام رقم المرسل المشترك.", "Leave blank to use a shared sender number.": "اترك فارغًا لاستخدام رقم المرسل المشترك.",
"Octopush API Version": "إصدار Octopush API", "Octopush API Version": "إصدار Octopush API",
"Legacy Octopush-DM": "Legacy Octopush-DM", "Legacy Octopush-DM": "Octopush-DM القديم",
"ntfy Topic": "موضوع ntfy", "ntfy Topic": "موضوع ntfy",
"onebotHttpAddress": "OneBot HTTP عنوان", "onebotHttpAddress": "OneBot HTTP عنوان",
"onebotMessageType": "نوع رسالة OneBot", "onebotMessageType": "نوع رسالة OneBot",
@ -678,7 +680,7 @@
"disableAPIKeyMsg": "هل أنت متأكد أنك تريد تعطيل مفتاح API هذا؟", "disableAPIKeyMsg": "هل أنت متأكد أنك تريد تعطيل مفتاح API هذا؟",
"deleteAPIKeyMsg": "هل أنت متأكد أنك تريد حذف مفتاح API هذا؟", "deleteAPIKeyMsg": "هل أنت متأكد أنك تريد حذف مفتاح API هذا؟",
"Auto Get": "الحصول التلقائي", "Auto Get": "الحصول التلقائي",
"Auto resolve or acknowledged": "", "Auto resolve or acknowledged": "تم الحل أو الاقرار تلقائياً",
"backupDescription2": "ملحوظة: لم يتم تضمين بيانات السجل والأحداث.", "backupDescription2": "ملحوظة: لم يتم تضمين بيانات السجل والأحداث.",
"languageName": "العربية", "languageName": "العربية",
"Game": "الألعاب", "Game": "الألعاب",
@ -686,6 +688,39 @@
"statusMaintenance": "الصيانة", "statusMaintenance": "الصيانة",
"Home": "الرئيسة", "Home": "الرئيسة",
"setupDatabaseChooseDatabase": "ما هي قاعدة البيانات التي تريد استخدامها؟", "setupDatabaseChooseDatabase": "ما هي قاعدة البيانات التي تريد استخدامها؟",
"setupDatabaseEmbeddedMariaDB": "لا تحتاج إلى تعيين أي شيء. قامت نسخة دُوكر بتضمين MariaDB لك تلقائيًا. سيتصل (آب تايم كارما) بقاعدة البيانات هذه عبر مقبس Unix.", "setupDatabaseEmbeddedMariaDB": "لا تحتاج إلى تعيين أي شيء. قامت نسخة دُوكر بتضمين MariaDB لك تلقائيًا. سيتصل (آب تايم كوما) بقاعدة البيانات هذه عبر مقبس Unix.",
"setupDatabaseMariaDB": "للاتصال بقاعدة بيانات MariaDB خارجية. تحتاج إلى تعيين معلومات اتصال قاعدة البيانات." "setupDatabaseMariaDB": "للاتصال بقاعدة بيانات MariaDB خارجية. تحتاج إلى تعيين معلومات اتصال قاعدة البيانات.",
"pushViewCode": "كيف يتم إرسال",
"pushOthers": "أخرى",
"programmingLanguages": "لغات البرمجة",
"Reset Token": "إعادة تعيين الرمز الخاص",
"noDockerHostMsg": "غير متوفر. قم بإعداد مضيف Docker أولاً.",
"DockerHostRequired": "الرجاء تعيين مضيف Docker لهذا المراقب.",
"liquidIntroduction": "يتم تحقيق قابلية القولبة من خلال لغة القوالب السائلة. يرجى الرجوع إلى {0} للحصول على تعليمات الاستخدام. هذه هي المتغيرات المتوفرة:",
"templateMsg": "رسالة التنبيه",
"templateHeartbeatJSON": "العنصر الذي يصف نبضات القلب",
"templateMonitorJSON": "العنصر الذي يصف المراقب",
"templateLimitedToUpDownCertNotifications": "متوفر فقط لنتبيهات انتهاء صلاحية الشهادات",
"templateLimitedToUpDownNotifications": "متوفر فقط لتنبيهات الأعلى/الأسفل",
"setupDatabaseSQLite": "ملف قاعدة بيانات بسيط، يوصى به لعمليات النشر على نطاق صغير. قبل الإصدار 2.0.0، استخدم (آب تايم كوما) SQLite كقاعدة بيانات افتراضية.",
"dbName": "اسم قاعدة البيانات",
"Request Timeout": "انتهت مهلة الطلب",
"timeoutAfter": "انتهاء المهلة بعد {0} ثانية",
"styleElapsedTime": "الوقت المنقضي تحت شريط نبضات القلب",
"styleElapsedTimeShowNoLine": "إظهار (بدون خط)",
"styleElapsedTimeShowWithLine": "إظهار (مع خط)",
"webhookBodyPresetOption": "اختيار مسبق - {0}",
"webhookBodyCustomOption": "هيئة مخصصة",
"Select": "اختيار",
"selectedMonitorCount": "تم اختيار : {0}",
"Check/Uncheck": "تحديد/إلغاء تحديد",
"Invert Keyword": "عكس الكلمة الأساسية",
"Expected Value": "القيمة المتوقعة",
"Json Query": "استعلام Json",
"filterActive": "نشيط",
"Cannot connect to the socket server": "لا يمكن الاتصال بخادم المقبس",
"Reconnecting...": "إعادة الاتصال...",
"filterActivePaused": "متوقف مؤقتا",
"Add New Tag": "إضافة وسم جديد",
"statusPageRefreshIn": "تحديث خلال: {0}"
} }

@ -96,8 +96,10 @@
"Update Password": "Актуализирай паролата", "Update Password": "Актуализирай паролата",
"Disable Auth": "Изключи удостоверяване", "Disable Auth": "Изключи удостоверяване",
"Enable Auth": "Активирай удостоверяване", "Enable Auth": "Активирай удостоверяване",
"disableauth.message1": "Сигурни ли сте, че желаете да <strong>изключите удостоверяването</strong>?", "disableauth.message1": "Сигурни ли сте, че желаете да {disableAuth}?",
"disableauth.message2": "Използва се в случаите, когато <strong>има настроен алтернативен метод за удостоверяване</strong> преди Uptime Kuma, например Cloudflare Access, Authelia или друг механизъм за удостоверяване.", "disable authentication": "изключите удостоверяването",
"disableauth.message2": "Използва се в случаите, когато {intendThirdPartyAuth} преди Uptime Kuma, например Cloudflare Access, Authelia или друг механизъм за удостоверяване.",
"where you intend to implement third-party authentication": "има настроен алтернативен метод за удостоверяване",
"Please use this option carefully!": "Моля, използвайте с повишено внимание!", "Please use this option carefully!": "Моля, използвайте с повишено внимание!",
"Logout": "Изход от профила", "Logout": "Изход от профила",
"Leave": "Отказ", "Leave": "Отказ",
@ -437,7 +439,7 @@
"Other Software": "Друг софтуер", "Other Software": "Друг софтуер",
"For example: nginx, Apache and Traefik.": "Например: Nginx, Apache и Traefik.", "For example: nginx, Apache and Traefik.": "Например: Nginx, Apache и Traefik.",
"Please read": "Моля, прочетете", "Please read": "Моля, прочетете",
"Subject:": "Тема:", "Subject:": "Субект:",
"Valid To:": "Валиден до:", "Valid To:": "Валиден до:",
"Days Remaining:": "Оставащи дни:", "Days Remaining:": "Оставащи дни:",
"Issuer:": "Издател:", "Issuer:": "Издател:",
@ -485,7 +487,7 @@
"pushoversounds classical": "Класическа музика", "pushoversounds classical": "Класическа музика",
"pushoversounds cosmic": "Космически", "pushoversounds cosmic": "Космически",
"pushoversounds falling": "Падащ", "pushoversounds falling": "Падащ",
"pushoversounds gamelan": "Игра в мрежа", "pushoversounds gamelan": "Гамелан",
"pushoversounds incoming": "Входящ", "pushoversounds incoming": "Входящ",
"pushoversounds intermission": "Прекъсване", "pushoversounds intermission": "Прекъсване",
"pushoversounds magic": "Магия", "pushoversounds magic": "Магия",
@ -630,7 +632,7 @@
"Server Timezone": "Часова зона на сървъра", "Server Timezone": "Часова зона на сървъра",
"statusPageMaintenanceEndDate": "Край", "statusPageMaintenanceEndDate": "Край",
"enableGRPCTls": "Разреши изпращане на gRPC заявка с TLS връзка", "enableGRPCTls": "Разреши изпращане на gRPC заявка с TLS връзка",
"grpcMethodDescription": "Името на метода се форматира в \"cammelCase\", например sayHello, check, и т.н.", "grpcMethodDescription": "Името на метода се форматира в \"camelCase\", например sayHello, check, и т.н.",
"smseagle": "SMSEagle", "smseagle": "SMSEagle",
"smseagleTo": "Тел. номер(а)", "smseagleTo": "Тел. номер(а)",
"smseagleGroup": "Име на група/и от тел. указател", "smseagleGroup": "Име на група/и от тел. указател",
@ -800,7 +802,7 @@
"twilioApiKey": "API ключ (по избор)", "twilioApiKey": "API ключ (по избор)",
"Expected Value": "Очаквана стойност", "Expected Value": "Очаквана стойност",
"Json Query": "Заявка тип JSON", "Json Query": "Заявка тип JSON",
"jsonQueryDescription": "Прави JSON заявка срещу отговора и проверява за очаквана стойност (Върнатата стойност ще бъде преобразувана в низ за сравнение). Разгледайте <a href='https://jsonata.org/'>jsonata.org</a> за документация относно езика на заявката. Имате възможност да тествате <a href='https://try.jsonata.org/'>тук</a>.", "jsonQueryDescription": "Прави JSON заявка срещу отговора и проверява за очаквана стойност (Върнатата стойност ще бъде преобразувана в низ за сравнение). Разгледайте {0} за документация относно езика на заявката. Имате възможност да тествате {1}.",
"Badge Duration (in hours)": "Времетраене на баджа (в часове)", "Badge Duration (in hours)": "Времетраене на баджа (в часове)",
"Badge Preview": "Преглед на баджа", "Badge Preview": "Преглед на баджа",
"Notify Channel": "Канал за известяване", "Notify Channel": "Канал за известяване",
@ -816,7 +818,7 @@
"Kafka Producer Message": "Съобщение на Kafka Producer", "Kafka Producer Message": "Съобщение на Kafka Producer",
"Kafka SASL Options": "Опции на Kafka SASL", "Kafka SASL Options": "Опции на Kafka SASL",
"Mechanism": "Механизъм", "Mechanism": "Механизъм",
"Pick a SASL Mechanism...": "Изберете SASL механизъм...", "Pick a SASL Mechanism...": "Изберете SASL механизъм",
"Authorization Identity": "Идентичност за оторизиране", "Authorization Identity": "Идентичност за оторизиране",
"AccessKey Id": "AccessKey ID", "AccessKey Id": "AccessKey ID",
"Secret AccessKey": "Таен ключ за достъп", "Secret AccessKey": "Таен ключ за достъп",
@ -870,5 +872,51 @@
"tagNotFound": "Етикетът не е намерен.", "tagNotFound": "Етикетът не е намерен.",
"successResumed": "Успешно възобновен.", "successResumed": "Успешно възобновен.",
"successAuthChangePassword": "Паролата е актуализирана успешно.", "successAuthChangePassword": "Паролата е актуализирана успешно.",
"foundChromiumVersion": "Намерен Chromium/Chrome. Версия: {0}" "foundChromiumVersion": "Намерен Chromium/Chrome. Версия: {0}",
"Reset Token": "Нулиране на токен код",
"leave blank for default subject": "оставете празно за използване на тема по подразбиране",
"emailCustomBody": "Персонализирано съдържание",
"emailCustomisableContent": "Съдържание подлежащо на персонализиране",
"leave blank for default body": "оставете празно за използване на съдържание по подразбиране",
"emailTemplateServiceName": "Име на услугата",
"emailTemplateHostnameOrURL": "Име на хост или URL адрес",
"emailTemplateStatus": "Статус",
"emailTemplateMonitorJSON": "обект описващ монитора",
"emailTemplateHeartbeatJSON": "обект описващ проверката",
"liquidIntroduction": "Създаването на шаблони се постига чрез езика \"Liquid templating \". Моля, вижте {0} относно инструкции за употреба. Наличните променливи са:",
"templateLimitedToUpDownCertNotifications": "налично само за известия от тип Достъпен/Недостъпен/Изтичане вал. на сертификата",
"smtpLiquidIntroduction": "Следните две полета могат да бъдат създадени чрез шаблони, посредством езика \"Liquid templating \". Моля, вижте {0} относно инструкции за употреба. Наличните променливи са:",
"templateMsg": "съобщение на известието",
"templateHeartbeatJSON": "обект описващ проверките",
"templateMonitorJSON": "обект описващ монитора",
"templateLimitedToUpDownNotifications": "налично само за известия от тип Достъпен/Недостъпен",
"emailTemplateMsg": "съобщение на известието",
"emailTemplateLimitedToUpDownNotification": "налично само за проверки от тип Достъпен/Недостъпен, в противен случай null",
"GrafanaOncallUrl": "Grafana Oncall URL адрес",
"noDockerHostMsg": "Не е наличен. Първо настройте \"Docker\" хост.",
"DockerHostRequired": "Моля, задайте \"Docker\" хоста за този монитор.",
"Browser Screenshot": "Екранна снимка на браузър",
"remoteBrowserToggle": "По подразбиране Chromium работи в контейнера Uptime Kuma. Можете да използвате отдалечен браузър, като превключите този ключ.",
"remoteBrowsersDescription": "Отдалечените браузъри са алтернатива на локалното стартиране на Chromium. Настройте с услуга като browserless.io или свържете с вашата собствена",
"Remove the expiry notification": "Премахни деня за известяване при изтичане",
"Add a new expiry notification day": "Добави нов ден за известяване при изтичане",
"setup a new monitor group": "настройване на нова група от монитори",
"openModalTo": "отвори модален прозорец към {0}",
"Add a domain": "Добави домейн",
"Remove domain": "Премахни домейн '{0}'",
"Remote Browsers": "Отдалечени браузъри",
"Remote Browser": "Отдалечен браузър",
"Add a Remote Browser": "Добави отдалечен браузър",
"Remote Browser not found!": "Отдалеченият браузър не е намерен!",
"self-hosted container": "самостоятелно хостван контейнер",
"useRemoteBrowser": "Използвай отдалечен браузър",
"deleteRemoteBrowserMessage": "Сигурни ли сте, че желаете да изтриете този отдалечен браузър за всички монитори?",
"successKeyword": "Ключова дума за успех",
"successKeywordExplanation": "MQTT ключова дума, която ще се счита за успех",
"ntfyPriorityHelptextAllExceptDown": "Всички събития се изпращат с този приоритет, с изключение на {0}-събития, които имат приоритет {1}",
"statusPageSpecialSlugDesc": "Специален слъг {0}: тази страница ще бъде показана, когато не е предоставен слъг",
"ntfyPriorityHelptextAllEvents": "Всички събития се изпращат с максимален приоритет",
"settingUpDatabaseMSG": "Настройка на базата данни. Може да отнеме известно време, моля, бъдете търпеливи.",
"Search monitored sites": "Търсене на мониторирани сайтове",
"What is a Remote Browser?": "Какво е отдалечен браузър?"
} }

@ -24,5 +24,12 @@
"Reconnecting...": "S'està tornant a connectar...", "Reconnecting...": "S'està tornant a connectar...",
"languageName": "Català", "languageName": "Català",
"Primary Base URL": "URL Base Primària", "Primary Base URL": "URL Base Primària",
"statusMaintenance": "Manteniment" "statusMaintenance": "Manteniment",
"setupDatabaseChooseDatabase": "Quina base de dadas vols utilitzar?",
"setupDatabaseEmbeddedMariaDB": "No tens que configurar res. Aquesta imatge de docker ha configurat MariaDB automàticament. Uptime Kuma es conectarà a aquesta base de dades per el socket d'unix.",
"setupDatabaseMariaDB": "Conectar a una base de MariaDB externa. Has de ficar les dades de la conexió de la base de dades.",
"setupDatabaseSQLite": "Un simple fitxer de base de dades, es recomana per desplegaments en petita escala. Abans de la v2.0.0, Uptime Kuma utilitzaba SQLite com la base de dades predeterminada.",
"sameAsServerTimezone": "La mateixa zona horaria que el servidor",
"settingUpDatabaseMSG": "Configuració de la base de dades. Pot trigar una estona, si us plau, tingueu paciència.",
"dbName": "Nom de la base de dades"
} }

@ -9,7 +9,7 @@
"upsideDownModeDescription": "Pomocí této možnosti změníte způsob vyhodnocování stavu. Pokud je služba dosažitelná, je NEDOSTUPNÁ.", "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í.", "maxRedirectDescription": "Maximální počet přesměrování, která se mají následovat. Nastavením hodnoty 0 zakážete přesměrování.",
"enableGRPCTls": "Umožnit odeslání gRPC žádosti během TLS spojení", "enableGRPCTls": "Umožnit odeslání gRPC žádosti během TLS spojení",
"grpcMethodDescription": "Název metody se převede do cammelCase formátu jako je sayHello, check, aj.", "grpcMethodDescription": "Název metody se převede do camelCase formátu jako je sayHello, check, aj.",
"acceptedStatusCodesDescription": "Vyberte stavové kódy, které jsou považovány za úspěšnou odpověď.", "acceptedStatusCodesDescription": "Vyberte stavové kódy, které jsou považovány za úspěšnou odpověď.",
"Maintenance": "Údržba", "Maintenance": "Údržba",
"statusMaintenance": "V údržbě", "statusMaintenance": "V údržbě",
@ -120,8 +120,10 @@
"Update Password": "Aktualizovat heslo", "Update Password": "Aktualizovat heslo",
"Disable Auth": "Deaktivovat ověřování", "Disable Auth": "Deaktivovat ověřování",
"Enable Auth": "Povolit ověřování", "Enable Auth": "Povolit ověřování",
"disableauth.message1": "Opravdu chcete <strong>deaktivovat autentifikaci</strong>?", "disableauth.message1": "Opravdu chcete {disableAuth}?",
"disableauth.message2": "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.", "disable authentication": "deaktivovat autentifikaci",
"disableauth.message2": "Tato možnost je určena pro případy, kdy {intendThirdPartyAuth} ještě před přístupem do Uptime Kuma, například prostřednictvím Cloudflare Access.",
"where you intend to implement third-party authentication": "máte autentifikaci zajištěnou třetí stranou",
"Please use this option carefully!": "Používejte ji prosím s rozmyslem!", "Please use this option carefully!": "Používejte ji prosím s rozmyslem!",
"Logout": "Odhlásit", "Logout": "Odhlásit",
"Leave": "Odejít", "Leave": "Odejít",
@ -821,7 +823,7 @@
"Enable Kafka Producer Auto Topic Creation": "Povolit Kafka zprostředkovateli automatické vytváření vláken", "Enable Kafka Producer Auto Topic Creation": "Povolit Kafka zprostředkovateli automatické vytváření vláken",
"Kafka Producer Message": "Zpráva Kafka zprostředkovatele", "Kafka Producer Message": "Zpráva Kafka zprostředkovatele",
"tailscalePingWarning": "Abyste mohli používat Tailscale Ping monitor, je nutné Uptime Kuma nainstalovat mimo Docker, a dále na váš server nainstalovat Tailscale klienta.", "tailscalePingWarning": "Abyste mohli používat Tailscale Ping monitor, je nutné Uptime Kuma nainstalovat mimo Docker, a dále na váš server nainstalovat Tailscale klienta.",
"jsonQueryDescription": "Proveďte JSON dotaz vůči odpovědi a zkontrolujte očekávaný výstup (za účelem porovnání bude návratová hodnota převedena na řetězec). Dokumentaci k dotazovacímu jazyku naleznete na <a href='https://jsonata.org/'>jsonata.org</a>, a využít můžete též <a href='https://try.jsonata.org/'>playground</a>.", "jsonQueryDescription": "Proveďte JSON dotaz vůči odpovědi a zkontrolujte očekávaný výstup (za účelem porovnání bude návratová hodnota převedena na řetězec). Dokumentaci k dotazovacímu jazyku naleznete na {0}, a využít můžete též {1}.",
"Select": "Vybrat", "Select": "Vybrat",
"selectedMonitorCount": "Vybráno: {0}", "selectedMonitorCount": "Vybráno: {0}",
"Check/Uncheck": "Vybrat/Zrušit výběr", "Check/Uncheck": "Vybrat/Zrušit výběr",
@ -870,5 +872,47 @@
"programmingLanguages": "Programovací jazyky", "programmingLanguages": "Programovací jazyky",
"monitorToastMessagesLabel": "Upozornění Monitor Toast", "monitorToastMessagesLabel": "Upozornění Monitor Toast",
"monitorToastMessagesDescription": "Upozornění Toast zmizí po uplynutí nastaveného času. Časový limit vypnete nastavením -1. Upozornění vypnete nastavením 0.", "monitorToastMessagesDescription": "Upozornění Toast zmizí po uplynutí nastaveného času. Časový limit vypnete nastavením -1. Upozornění vypnete nastavením 0.",
"pushViewCode": "Jak používat Push monitor? (Zobrazit kód)" "pushViewCode": "Jak používat Push monitor? (Zobrazit kód)",
"liquidIntroduction": "Šablony je možné vytvářet pomocí jazyka Liquid. Pokyny k použití naleznete v {0}. Toto jsou dostupné proměnné:",
"templateMsg": "zpráva upozornění",
"emailCustomisableContent": "Přizpůsobitelný obsah",
"GrafanaOncallUrl": "URL pro volání do Grafana",
"Reset Token": "Vynulovat token",
"noDockerHostMsg": "Není k dispozici. Nejprve nastavte hostitele Docker.",
"DockerHostRequired": "Nastavte prosím hostitele nástroje Docker pro tento dohled.",
"smtpLiquidIntroduction": "Následující dvě pole lze šablonovat pomocí jazyka Liquid. Pokyny k použití naleznete v {0}. Jedná se o dostupné proměnné:",
"leave blank for default subject": "ponechte prázdné pro výchozí předmět",
"emailCustomBody": "Vlastní tělo",
"leave blank for default body": "ponechte prázdné, pokud chcete použít výchozí tělo",
"emailTemplateServiceName": "Název služby",
"emailTemplateHostnameOrURL": "Název hostitele nebo adresa URL",
"emailTemplateStatus": "Stav",
"emailTemplateMsg": "text oznámení",
"templateHeartbeatJSON": "objekt popisující funkčnost systému (heartbeat)",
"templateLimitedToUpDownCertNotifications": "dostupné pouze pro oznámení Běží/neběží/stav certifikátu",
"emailTemplateMonitorJSON": "objekt popisující dohled",
"emailTemplateHeartbeatJSON": "objekt popisující heartbeat",
"emailTemplateLimitedToUpDownNotification": "dostupné pouze pro heatbeaty BĚŽÍ/NEBĚŽÍ, jinak null",
"templateMonitorJSON": "objekt popisující dohled",
"templateLimitedToUpDownNotifications": "dostupné pouze pro oznámení BĚŽÍ/NEBĚŽÍ",
"successKeyword": "Nalezení klíčového slova",
"Search monitored sites": "Vyhledávání dohledů",
"settingUpDatabaseMSG": "Vytvářím strukturu databáze. Může to chvíli trvat, buďte trpěliví.",
"successKeywordExplanation": "Klíčové slovo MQTT, které bude považováno za úspěch",
"Browser Screenshot": "Snímek obrazovky prohlížeče",
"setup a new monitor group": "nastavení nové skupiny dohledů",
"ntfyPriorityHelptextAllEvents": "Všechny události jsou odesílány s maximální prioritou",
"Remote Browser not found!": "Vzdálený prohlížeč nebyl nalezen!",
"Remove domain": "Odstranit doménu '{0}'",
"Add a Remote Browser": "Přidat vzdálený prohlížeč",
"self-hosted container": "samostatně hostovaný kontejner",
"useRemoteBrowser": "Použít Vzdálený prohlížeč",
"deleteRemoteBrowserMessage": "Opravdu chcete odstranit tento Vzdálený prohlížeč pro všechny dohledy?",
"openModalTo": "otevřít modální okno {0}",
"Add a domain": "Přidat doménu",
"Remote Browsers": "Vzdálené prohlížeče",
"Remote Browser": "Vzdálený prohlížeč",
"Add a new expiry notification day": "Přidání nového oznámení o vypršení platnosti",
"Remove the expiry notification": "Odstranit upozornění na vypršení",
"ntfyPriorityHelptextAllExceptDown": "Všechny události jsou odesílány s touto prioritou, kromě událostí {0}, které mají prioritu {1}"
} }

@ -360,7 +360,6 @@
"From Name/Number": "Fra Navn/Nummer", "From Name/Number": "Fra Navn/Nummer",
"Help": "Hjælp", "Help": "Hjælp",
"Please use this option carefully!": "Brug venligst denne funktion med forsigtighed!", "Please use this option carefully!": "Brug venligst denne funktion med forsigtighed!",
"disableauth.message1": "Er du sikker på, at du vil <strong>deaktivere autentifikation</strong>?",
"successMessage": "Succesmeddelelse", "successMessage": "Succesmeddelelse",
"error": "fejl", "error": "fejl",
"critical": "kritisk", "critical": "kritisk",
@ -435,7 +434,10 @@
"Frontend Version do not match backend version!": "Frontend versionen stemmer ikke overens med backend versionen!", "Frontend Version do not match backend version!": "Frontend versionen stemmer ikke overens med backend versionen!",
"Optional": "Valgfri", "Optional": "Valgfri",
"HomeAssistant": "Home Assistant", "HomeAssistant": "Home Assistant",
"disableauth.message2": "Den er beregnet til scenarier <strong>hvor du har tænkt dig at implementere tredjepartsgodkendelse</strong> foran Uptime Kuma, f.eks. Cloudflare Access, Authelia eller andre godkendelsesmekanismer.", "disableauth.message1": "Er du sikker på, at du vil {disableAuth}?",
"disable authentication": "deaktivere autentifikation",
"disableauth.message2": "Den er beregnet til scenarier {intendThirdPartyAuth} foran Uptime Kuma, f.eks. Cloudflare Access, Authelia eller andre godkendelsesmekanismer.",
"where you intend to implement third-party authentication": "hvor du har tænkt dig at implementere tredjepartsgodkendelse",
"deleteProxyMsg": "Er du sikker på, at du vil slette denne proxy for alle monitors?", "deleteProxyMsg": "Er du sikker på, at du vil slette denne proxy for alle monitors?",
"Valid": "Gyldig", "Valid": "Gyldig",
"Don't know how to get the token? Please read the guide:": "Ved du ikke, hvordan du får fat i din Token? Læs venligst guiden:", "Don't know how to get the token? Please read the guide:": "Ved du ikke, hvordan du får fat i din Token? Læs venligst guiden:",
@ -620,5 +622,38 @@
"confirmDeleteTagMsg": "Er du sikker på at du vil slette denne etiket? Overvågninger med denne etiket vil ikke blive slettet.", "confirmDeleteTagMsg": "Er du sikker på at du vil slette denne etiket? Overvågninger med denne etiket vil ikke blive slettet.",
"resendEveryXTimes": "Gensend hver {0} gang", "resendEveryXTimes": "Gensend hver {0} gang",
"resendDisabled": "Gensendelse deaktiveret", "resendDisabled": "Gensendelse deaktiveret",
"Reconnecting...": "Genforbinder..." "Reconnecting...": "Genforbinder...",
"successPaused": "Standset med succes.",
"Reset Token": "Nulstil nøgle",
"Show Clickable Link": "Vis klikbart link",
"atLeastOneMonitor": "Vælg mindst én berørt overvågning.",
"authInvalidToken": "Ugyldig nøgle.",
"authIncorrectCreds": "Brugernavn eller adgangskode er ikke korrekt.",
"2faAlreadyEnabled": "2FA er allerede aktiveret.",
"foundChromiumVersion": "Fandt Chromium/Chrome. Version: {0}",
"programmingLanguages": "Programmeringssprog",
"HTTP Basic Auth": "HTTP Basic Auth",
"strategyManual": "Aktiv/Inaktiv manuelt",
"Retype the address.": "Genindtast adressen.",
"deleteMaintenanceMsg": "Er du sikker på at du vil slette denne vedligeholdelse?",
"pushoversounds alien": "Alien Alarm (lang)",
"2faEnabled": "2FA aktiveret.",
"2faDisabled": "2FA deaktiveret.",
"successAdded": "Tilføjet med succes.",
"successResumed": "Genoptaget med succes.",
"successDeleted": "Slettet med succes.",
"successEdited": "Ændret med succes.",
"successDisabled": "Deaktiveret med succes.",
"successEnabled": "Aktiveret med succes.",
"Monitor Setting": "{0}'s overvågningsindstilling",
"Enable Kafka SSL": "Aktivér Kafka SSL",
"Kafka SASL Options": "Kafka SASL Indstillinger",
"successAuthChangePassword": "Adgangskoden er blevet opdateret med succes.",
"smseagleGroup": "Telefonbog gruppenavn(e)",
"smseagleContact": "Telefonbog kontaktnavn(e)",
"showCertificateExpiry": "Vis udløbsdato for certifikat",
"sameAsServerTimezone": "Samme som serverens tidszone",
"wayToGetLineNotifyToken": "Du kan få en adgangsnøgle fra {0}",
"telegramSendSilentlyDescription": "Send beskeden lydløst. Brugerne vil modtage en notifikation uden lyd.",
"pushoverMessageTtl": "Message TTL (Sekunder)"
} }

@ -80,8 +80,10 @@
"Update Password": "Passwort aktualisieren", "Update Password": "Passwort aktualisieren",
"Disable Auth": "Authentifizierung deaktivieren", "Disable Auth": "Authentifizierung deaktivieren",
"Enable Auth": "Authentifizierung aktivieren", "Enable Auth": "Authentifizierung aktivieren",
"disableauth.message1": "Bist du sicher das du die <strong>Authentifizierung deaktivieren</strong> möchtest?", "disableauth.message1": "Bist du sicher das du die {disableAuth} möchtest?",
"disableauth.message2": "Dies ist für Szenarien gedacht, <strong>in denen man eine externe Authentifizierung</strong> vor Uptime Kuma geschaltet hat, wie z.B. Cloudflare Access, Authelia oder andere Authentifizierungsmechanismen.", "disable authentication": "Authentifizierung deaktivieren",
"disableauth.message2": "Dies ist für Szenarien gedacht, {intendThirdPartyAuth} vor Uptime Kuma geschaltet hat, wie z.B. Cloudflare Access, Authelia oder andere Authentifizierungsmechanismen.",
"where you intend to implement third-party authentication": "in denen man eine externe Authentifizierung",
"Please use this option carefully!": "Bitte mit Vorsicht nutzen!", "Please use this option carefully!": "Bitte mit Vorsicht nutzen!",
"Logout": "Ausloggen", "Logout": "Ausloggen",
"notificationDescription": "Benachrichtigungen müssen einem Monitor zugewiesen werden, damit diese funktionieren.", "notificationDescription": "Benachrichtigungen müssen einem Monitor zugewiesen werden, damit diese funktionieren.",
@ -460,7 +462,7 @@
"Domain Names": "Domainnamen", "Domain Names": "Domainnamen",
"signedInDisp": "Angemeldet als {0}", "signedInDisp": "Angemeldet als {0}",
"signedInDispDisabled": "Authentifizierung deaktiviert.", "signedInDispDisabled": "Authentifizierung deaktiviert.",
"dnsPortDescription": "DNS server port. Standard ist 53. Der Port kann jederzeit geändert werden.", "dnsPortDescription": "DNS Server Port. Standard ist 53. Der Port kann jederzeit geändert werden.",
"topic": "Thema", "topic": "Thema",
"topicExplanation": "MQTT Thema für den monitor", "topicExplanation": "MQTT Thema für den monitor",
"successMessage": "Erfolgsnachricht", "successMessage": "Erfolgsnachricht",
@ -693,7 +695,7 @@
"cloneOf": "Klon von {0}", "cloneOf": "Klon von {0}",
"wayToGetZohoCliqURL": "Wie eine Webhook URL erstellt werden kann, erfährst du {0}.", "wayToGetZohoCliqURL": "Wie eine Webhook URL erstellt werden kann, erfährst du {0}.",
"enableGRPCTls": "Senden von gRPC Anforderungen mit TLS Verbindung zulassen", "enableGRPCTls": "Senden von gRPC Anforderungen mit TLS Verbindung zulassen",
"grpcMethodDescription": "Der Name der Methode wird in das \"cammelCase\" Format konvertiert (z.B. sayHello, check, etc.)", "grpcMethodDescription": "Der Name der Methode wird in das \"camelCase\" Format konvertiert (z.B. sayHello, check, etc.)",
"wayToGetKookGuildID": "Schalte den „Entwicklermodus“ in den Kook-Einstellungen ein und klicke mit der rechten Maustaste auf die Gilde, um die ID zu erhalten", "wayToGetKookGuildID": "Schalte den „Entwicklermodus“ in den Kook-Einstellungen ein und klicke mit der rechten Maustaste auf die Gilde, um die ID zu erhalten",
"Guild ID": "Gilde ID", "Guild ID": "Gilde ID",
"Lowcost": "Kostengünstig", "Lowcost": "Kostengünstig",
@ -743,7 +745,7 @@
"twilioAccountSID": "Account SID", "twilioAccountSID": "Account SID",
"twilioFromNumber": "Absender", "twilioFromNumber": "Absender",
"twilioToNumber": "Empfänger", "twilioToNumber": "Empfänger",
"twilioAuthToken": "Auth Token / Api Key Secret", "twilioAuthToken": "Auth Token / API Key Secret",
"statusPageRefreshIn": "Aktualisierung in: {0}", "statusPageRefreshIn": "Aktualisierung in: {0}",
"sameAsServerTimezone": "Gleiche Zeitzone wie Server", "sameAsServerTimezone": "Gleiche Zeitzone wie Server",
"startDateTime": "Start Datum/Uhrzeit", "startDateTime": "Start Datum/Uhrzeit",
@ -799,7 +801,7 @@
"Enable Kafka Producer Auto Topic Creation": "Kafka Producer Auto Topic Creation aktivieren", "Enable Kafka Producer Auto Topic Creation": "Kafka Producer Auto Topic Creation aktivieren",
"Kafka SASL Options": "Kafka SASL Optionen", "Kafka SASL Options": "Kafka SASL Optionen",
"Mechanism": "Mechanismus", "Mechanism": "Mechanismus",
"Pick a SASL Mechanism...": "Wähle ein SASL Mechanismus...", "Pick a SASL Mechanism...": "Wähle ein SASL Mechanismus",
"AccessKey Id": "AccessKey Id", "AccessKey Id": "AccessKey Id",
"Secret AccessKey": "Secret AccessKey", "Secret AccessKey": "Secret AccessKey",
"Session Token": "Sitzungs-Token", "Session Token": "Sitzungs-Token",
@ -810,7 +812,7 @@
"Json Query": "Json-Abfrage", "Json Query": "Json-Abfrage",
"filterActive": "Aktiv", "filterActive": "Aktiv",
"filterActivePaused": "Pausiert", "filterActivePaused": "Pausiert",
"jsonQueryDescription": "Führe eine JSON-Abfrage gegen die Antwort durch und prüfe den erwarteten Wert (der Rückgabewert wird zum Vergleich in eine Zeichenkette umgewandelt). Auf <a href='https://jsonata.org/'>jsonata.org</a> findest du die Dokumentation zur Abfragesprache. <a href='https://try.jsonata.org/'>Hier</a> kannst du Abfragen üben.", "jsonQueryDescription": "Führe eine JSON-Abfrage gegen die Antwort durch und prüfe den erwarteten Wert (der Rückgabewert wird zum Vergleich in eine Zeichenkette umgewandelt). Auf {0} findest du die Dokumentation zur Abfragesprache. {1} kannst du Abfragen üben.",
"Badge Duration (in hours)": "Badge Dauer (in Stunden)", "Badge Duration (in hours)": "Badge Dauer (in Stunden)",
"Badge Preview": "Badge Vorschau", "Badge Preview": "Badge Vorschau",
"tailscalePingWarning": "Um den Tailscale Ping Monitor nutzen zu können, musst du Uptime Kuma ohne Docker installieren und den Tailscale Client auf dem Server installieren.", "tailscalePingWarning": "Um den Tailscale Ping Monitor nutzen zu können, musst du Uptime Kuma ohne Docker installieren und den Tailscale Client auf dem Server installieren.",
@ -867,5 +869,51 @@
"authUserInactiveOrDeleted": "Der Benutzer ist inaktiv oder gelöscht.", "authUserInactiveOrDeleted": "Der Benutzer ist inaktiv oder gelöscht.",
"successAdded": "Erfolgreich hinzugefügt.", "successAdded": "Erfolgreich hinzugefügt.",
"successAuthChangePassword": "Das Passwort wurde erfolgreich aktualisiert.", "successAuthChangePassword": "Das Passwort wurde erfolgreich aktualisiert.",
"successDisabled": "Erfolgreich deaktiviert." "successDisabled": "Erfolgreich deaktiviert.",
"Reset Token": "Token zurücksetzen",
"leave blank for default subject": "leer lassen für Standard-Betreff",
"emailCustomBody": "Benutzerdefinierter Body",
"emailCustomisableContent": "Anpassbarer Inhalt",
"liquidIntroduction": "Die Templatierbarkeit wird durch die Liquid Templating Language erreicht. Hinweise zur Verwendung findest du auf {0}. Dies sind die verfügbaren Variablen:",
"templateLimitedToUpDownCertNotifications": "nur verfügbar für UP/DOWN/Zertifikat-Ablaufbenachrichtigungen",
"smtpLiquidIntroduction": "Die folgenden beiden Felder können mit der Liquid Templating Language angepasst werden. Eine Anleitung zur Verwendung findest du in der {0}. Dies sind die verfügbaren Variablen:",
"templateMsg": "Nachricht der Benachrichtigung",
"templateHeartbeatJSON": "Objekt, das den Heartbeat beschreibt",
"templateMonitorJSON": "Objekt zur Beschreibung des Monitors",
"templateLimitedToUpDownNotifications": "nur für UP/DOWN-Benachrichtigungen verfügbar",
"leave blank for default body": "leer lassen für Standard Body",
"emailTemplateServiceName": "Dienst Name",
"emailTemplateHostnameOrURL": "Hostname oder URL",
"emailTemplateStatus": "Status",
"emailTemplateMonitorJSON": "Objekt zur Beschreibung des Monitors",
"emailTemplateHeartbeatJSON": "Objekt, das den Heartbeat beschreibt",
"emailTemplateMsg": "Nachricht der Benachrichtigung",
"emailTemplateLimitedToUpDownNotification": "nur bei UP/DOWN-Heartbeats verfügbar, sonst null",
"GrafanaOncallUrl": "Grafana Oncall URL",
"noDockerHostMsg": "Nicht verfügbar. Richte zunächst einen Docker-Host ein.",
"DockerHostRequired": "Bitte Docker-Host für diesen Monitor festlegen.",
"Browser Screenshot": "Browser Screenshot",
"Add a new expiry notification day": "Neuen Tag für Auslaufbenachrichtigung hinzufügen",
"Remote Browsers": "Remote Browsers",
"Remote Browser": "Remote Browser",
"Add a Remote Browser": "Remote Browser hinzufügen",
"Remote Browser not found!": "Remote Browser nicht gefunden!",
"remoteBrowsersDescription": "Remote Browser sind eine Alternative zur lokalen Ausführung von Chromium. Einrichtung mit einem Dienst wie browserless.io oder verbinde mit deinem Eigenen.",
"self-hosted container": "Selbstverwalteter Container",
"remoteBrowserToggle": "Standardmässig läuft Chromium innerhalb des Uptime-Kuma Containers. Du kannst einen Remote-Browser verwenden, indem du diesen Schalter umlegst.",
"useRemoteBrowser": "Verwende einen Remote Browser",
"deleteRemoteBrowserMessage": "Bist du sicher, dass du diesen Remote Browser für alle Monitore löschen möchtest?",
"Remove the expiry notification": "Tag für Auslaufbenachrichtigung löschen",
"setup a new monitor group": "Neue Monitorgruppe einrichten",
"openModalTo": "Modal öffnen nach {0}",
"Add a domain": "Domain hinzufügen",
"Remove domain": "Domain '{0}' entfernen",
"successKeyword": "Erfolgsschlüsselwort",
"successKeywordExplanation": "MQTT-Schlüsselwort, das als Erfolg gewertet wird",
"ntfyPriorityHelptextAllExceptDown": "Alle Ereignisse werden mit dieser Priorität gesendet, ausser {0}-Ereignisse, die eine Priorität von {1} haben",
"settingUpDatabaseMSG": "Die Datenbank wird eingerichtet. Dies kann einen Moment dauern, bitte habe Geduld.",
"Search monitored sites": "Überwachte Seiten durchsuchen",
"statusPageSpecialSlugDesc": "Spezieller Slug {0}: diese Seite wird angezeigt, wenn kein Slug angegeben wird",
"ntfyPriorityHelptextAllEvents": "Alle Ereignisse werden mit der höchsten Priorität gesendet",
"What is a Remote Browser?": "Was ist ein Remote-Browser?"
} }

@ -80,8 +80,10 @@
"Update Password": "Passwort aktualisieren", "Update Password": "Passwort aktualisieren",
"Disable Auth": "Authentifizierung deaktivieren", "Disable Auth": "Authentifizierung deaktivieren",
"Enable Auth": "Authentifizierung aktivieren", "Enable Auth": "Authentifizierung aktivieren",
"disableauth.message1": "Bist du sicher das du die <strong>Authentifizierung deaktivieren</strong> möchtest?", "disableauth.message1": "Bist du sicher das du die {disableAuth} möchtest?",
"disableauth.message2": "Dies ist für Szenarien gedacht, <strong>in denen man eine externe Authentifizierung</strong> vor Uptime Kuma geschaltet hat, wie z.B. Cloudflare Access, Authelia oder andere Authentifizierungsmechanismen.", "disable authentication": "Authentifizierung deaktivieren",
"disableauth.message2": "Dies ist für Szenarien gedacht, {intendThirdPartyAuth} vor Uptime Kuma geschaltet hat, wie z.B. Cloudflare Access, Authelia oder andere Authentifizierungsmechanismen.",
"where you intend to implement third-party authentication": "in denen man eine externe Authentifizierung",
"Please use this option carefully!": "Bitte mit Vorsicht nutzen!", "Please use this option carefully!": "Bitte mit Vorsicht nutzen!",
"Logout": "Ausloggen", "Logout": "Ausloggen",
"notificationDescription": "Benachrichtigungen müssen einem Monitor zugewiesen werden, damit diese funktionieren.", "notificationDescription": "Benachrichtigungen müssen einem Monitor zugewiesen werden, damit diese funktionieren.",
@ -253,7 +255,7 @@
"Uptime Kuma URL": "Uptime Kuma URL", "Uptime Kuma URL": "Uptime Kuma URL",
"aboutWebhooks": "Weitere Informationen zu Webhooks auf: {0}", "aboutWebhooks": "Weitere Informationen zu Webhooks auf: {0}",
"aboutChannelName": "Gebe den Kanalnamen ein in {0} Feld Kanalname, falls du den Webhook-Kanal umgehen möchtest. Ex: #other-channel", "aboutChannelName": "Gebe den Kanalnamen ein in {0} Feld Kanalname, falls du den Webhook-Kanal umgehen möchtest. Ex: #other-channel",
"aboutKumaURL": "Wenn Sie das Feld für die Uptime Kuma URL leer lassen, wird es standardmäßig auf die Projekt-GitHub-Seite gesetzt.", "aboutKumaURL": "Wenn du das Feld für die Uptime Kuma URL leer lässt, wird es standardmäßig auf die Projekt-GitHub-Seite gesetzt.",
"emojiCheatSheet": "Emoji Cheat Sheet: {0}", "emojiCheatSheet": "Emoji Cheat Sheet: {0}",
"User Key": "Benutzerschlüssel", "User Key": "Benutzerschlüssel",
"Device": "Gerät", "Device": "Gerät",
@ -460,7 +462,7 @@
"Domain Names": "Domainnamen", "Domain Names": "Domainnamen",
"signedInDisp": "Angemeldet als {0}", "signedInDisp": "Angemeldet als {0}",
"signedInDispDisabled": "Authentifizierung deaktiviert.", "signedInDispDisabled": "Authentifizierung deaktiviert.",
"dnsPortDescription": "DNS server port. Standard ist 53. Der Port kann jederzeit geändert werden.", "dnsPortDescription": "DNS Server Port. Standard ist 53. Der Port kann jederzeit geändert werden.",
"topic": "Thema", "topic": "Thema",
"topicExplanation": "MQTT Thema für den monitor", "topicExplanation": "MQTT Thema für den monitor",
"successMessage": "Erfolgsnachricht", "successMessage": "Erfolgsnachricht",
@ -644,7 +646,7 @@
"Help": "Hilfe", "Help": "Hilfe",
"Game": "Spiel", "Game": "Spiel",
"Custom": "Benutzerdefiniert", "Custom": "Benutzerdefiniert",
"Enable DNS Cache": "(Veraltet) Aktivieren Sie den DNS-Cache für HTTP(s)-Überwachungen", "Enable DNS Cache": "(Veraltet) DNS-Cache für HTTP(s)-Monitore aktivieren",
"Enable": "Aktivieren", "Enable": "Aktivieren",
"Disable": "Deaktivieren", "Disable": "Deaktivieren",
"Custom Monitor Type": "Benutzerdefinierter Monitortyp", "Custom Monitor Type": "Benutzerdefinierter Monitortyp",
@ -652,7 +654,7 @@
"dnsCacheDescription": "In einigen IPv6-Umgebungen funktioniert es möglicherweise nicht. Deaktiviere es, wenn Probleme auftreten.", "dnsCacheDescription": "In einigen IPv6-Umgebungen funktioniert es möglicherweise nicht. Deaktiviere es, wenn Probleme auftreten.",
"loadingError": "Die Daten konnten nicht abgerufen werden, bitte später noch einmal versuchen.", "loadingError": "Die Daten konnten nicht abgerufen werden, bitte später noch einmal versuchen.",
"confirmUninstallPlugin": "Möchtest du dieses Plugin wirklich deinstallieren?", "confirmUninstallPlugin": "Möchtest du dieses Plugin wirklich deinstallieren?",
"grpcMethodDescription": "Der Name der Methode wird in das \"cammelCase\"-Format konvertiert (z.B. sayHello, check, etc.)", "grpcMethodDescription": "Der Name der Methode wird in das \"camelCase\"-Format konvertiert (z.B. sayHello, check, etc.)",
"Passive Monitor Type": "Passiver Monitortyp", "Passive Monitor Type": "Passiver Monitortyp",
"Specific Monitor Type": "Spezifischer Monitortyp", "Specific Monitor Type": "Spezifischer Monitortyp",
"webhookAdditionalHeadersTitle": "Zusätzliche Header", "webhookAdditionalHeadersTitle": "Zusätzliche Header",
@ -747,7 +749,7 @@
"twilioAccountSID": "Account SID", "twilioAccountSID": "Account SID",
"twilioFromNumber": "Absender", "twilioFromNumber": "Absender",
"twilioToNumber": "Empfänger", "twilioToNumber": "Empfänger",
"twilioAuthToken": "Auth Token / Api Key Secret", "twilioAuthToken": "Auth Token / API Key Secret",
"statusPageRefreshIn": "Aktualisierung in: {0}", "statusPageRefreshIn": "Aktualisierung in: {0}",
"sameAsServerTimezone": "Gleiche Zeitzone wie Server", "sameAsServerTimezone": "Gleiche Zeitzone wie Server",
"startDateTime": "Start Datum/Uhrzeit", "startDateTime": "Start Datum/Uhrzeit",
@ -803,7 +805,7 @@
"Enable Kafka Producer Auto Topic Creation": "Kafka Producer Auto Topic Creation aktivieren", "Enable Kafka Producer Auto Topic Creation": "Kafka Producer Auto Topic Creation aktivieren",
"Kafka SASL Options": "Kafka SASL Optionen", "Kafka SASL Options": "Kafka SASL Optionen",
"Mechanism": "Mechanismus", "Mechanism": "Mechanismus",
"Pick a SASL Mechanism...": "Wähle ein SASL Mechanismus...", "Pick a SASL Mechanism...": "Wähle ein SASL Mechanismus",
"Authorization Identity": "Authorization Identity", "Authorization Identity": "Authorization Identity",
"AccessKey Id": "AccessKey Id", "AccessKey Id": "AccessKey Id",
"Secret AccessKey": "Secret AccessKey", "Secret AccessKey": "Secret AccessKey",
@ -815,7 +817,7 @@
"filterActivePaused": "Pausiert", "filterActivePaused": "Pausiert",
"Expected Value": "Erwarteter Wert", "Expected Value": "Erwarteter Wert",
"Json Query": "Json-Abfrage", "Json Query": "Json-Abfrage",
"jsonQueryDescription": "Führe eine JSON-Abfrage gegen die Antwort durch und prüfe den erwarteten Wert (der Rückgabewert wird zum Vergleich in eine Zeichenkette umgewandelt). Auf <a href='https://jsonata.org/'>jsonata.org</a> findest du die Dokumentation zur Abfragesprache. <a href='https://try.jsonata.org/'>Hier</a> kannst du Abfragen üben.", "jsonQueryDescription": "Führe eine JSON-Abfrage gegen die Antwort durch und prüfe den erwarteten Wert (der Rückgabewert wird zum Vergleich in eine Zeichenkette umgewandelt). Auf {0} findest du die Dokumentation zur Abfragesprache. {1} kannst du Abfragen üben.",
"tailscalePingWarning": "Um den Tailscale Ping Monitor nutzen zu können, musst du Uptime Kuma ohne Docker installieren und den Tailscale Client auf dem Server installieren.", "tailscalePingWarning": "Um den Tailscale Ping Monitor nutzen zu können, musst du Uptime Kuma ohne Docker installieren und den Tailscale Client auf dem Server installieren.",
"Server URL should not contain the nfty topic": "Die Server-URL sollte das nfty-Thema nicht enthalten", "Server URL should not contain the nfty topic": "Die Server-URL sollte das nfty-Thema nicht enthalten",
"pushDeerServerDescription": "Leer lassen um den offiziellen Server zu verwenden", "pushDeerServerDescription": "Leer lassen um den offiziellen Server zu verwenden",
@ -839,7 +841,7 @@
"nostrRecipientsHelp": "npub-Format, eine pro Zeile", "nostrRecipientsHelp": "npub-Format, eine pro Zeile",
"showCertificateExpiry": "Ablauf des Zertifikats anzeigen", "showCertificateExpiry": "Ablauf des Zertifikats anzeigen",
"noOrBadCertificate": "Kein/schlechtes Zertifikat", "noOrBadCertificate": "Kein/schlechtes Zertifikat",
"enableNSCD": "Aktivieren Sie NSCD (Name Service Cache Daemon) zur Zwischenspeicherung aller DNS-Anfragen", "enableNSCD": "Aktiviere NSCD (Name Service Cache Daemon) zur Zwischenspeicherung aller DNS-Anfragen",
"setupDatabaseChooseDatabase": "Welche Datenbank möchtest du verwenden?", "setupDatabaseChooseDatabase": "Welche Datenbank möchtest du verwenden?",
"setupDatabaseEmbeddedMariaDB": "Du brauchst nichts einzustellen. Dieses Docker-Image hat automatisch eine MariaDB für dich eingerichtet und konfiguriert. Uptime Kuma wird sich mit dieser Datenbank über einen Unix-Socket verbinden.", "setupDatabaseEmbeddedMariaDB": "Du brauchst nichts einzustellen. Dieses Docker-Image hat automatisch eine MariaDB für dich eingerichtet und konfiguriert. Uptime Kuma wird sich mit dieser Datenbank über einen Unix-Socket verbinden.",
"dbName": "Datenbank Name", "dbName": "Datenbank Name",
@ -870,5 +872,51 @@
"authUserInactiveOrDeleted": "Der Benutzer ist inaktiv oder gelöscht.", "authUserInactiveOrDeleted": "Der Benutzer ist inaktiv oder gelöscht.",
"successAdded": "Erfolgreich hinzugefügt.", "successAdded": "Erfolgreich hinzugefügt.",
"successAuthChangePassword": "Das Passwort wurde erfolgreich aktualisiert.", "successAuthChangePassword": "Das Passwort wurde erfolgreich aktualisiert.",
"foundChromiumVersion": "Gefunden Chromium/Chrome. Version: {0}" "foundChromiumVersion": "Gefunden Chromium/Chrome. Version: {0}",
"Reset Token": "Token zurücksetzen",
"leave blank for default subject": "leer lassen für Standard-Betreff",
"emailCustomBody": "Benutzerdefinierter Body",
"leave blank for default body": "leer lassen für Standard Body",
"emailTemplateServiceName": "Dienst Name",
"emailTemplateStatus": "Status",
"emailTemplateMsg": "Nachricht der Benachrichtigung",
"liquidIntroduction": "Die Templatierbarkeit wird durch die Liquid Templating Language erreicht. Hinweise zur Verwendung findest du auf {0}. Dies sind die verfügbaren Variablen:",
"emailCustomisableContent": "Anpassbarer Inhalt",
"smtpLiquidIntroduction": "Die folgenden beiden Felder können mit der Liquid Templating Language angepasst werden. Eine Anleitung zur Verwendung findest du in der {0}. Dies sind die verfügbaren Variablen:",
"emailTemplateHostnameOrURL": "Hostname oder URL",
"emailTemplateLimitedToUpDownNotification": "nur bei UP/DOWN-Heartbeats verfügbar, sonst null",
"templateMsg": "Nachricht der Benachrichtigung",
"templateHeartbeatJSON": "Objekt, das den Heartbeat beschreibt",
"templateMonitorJSON": "Objekt zur Beschreibung des Monitors",
"templateLimitedToUpDownCertNotifications": "nur verfügbar für UP/DOWN/Zertifikat-Ablaufbenachrichtigungen",
"templateLimitedToUpDownNotifications": "nur für UP/DOWN-Benachrichtigungen verfügbar",
"emailTemplateMonitorJSON": "Objekt zur Beschreibung des Monitors",
"emailTemplateHeartbeatJSON": "Objekt, das den Heartbeat beschreibt",
"GrafanaOncallUrl": "Grafana Oncall URL",
"noDockerHostMsg": "Nicht verfügbar. Richte zunächst einen Docker-Host ein.",
"DockerHostRequired": "Bitte Docker-Host für diesen Monitor festlegen.",
"Browser Screenshot": "Browser Screenshot",
"setup a new monitor group": "Neue Monitorgruppe einrichten",
"Add a new expiry notification day": "Neuen Tag für Auslaufbenachrichtigung hinzufügen",
"Remote Browsers": "Remote Browsers",
"Remote Browser": "Remote Browser",
"Add a Remote Browser": "Remote Browser hinzufügen",
"Remote Browser not found!": "Remote Browser nicht gefunden!",
"remoteBrowsersDescription": "Remote Browser sind eine Alternative zur lokalen Ausführung von Chromium. Einrichtung mit einem Dienst wie browserless.io oder verbinde mit deinem Eigenen.",
"self-hosted container": "Selbstverwalteter Container",
"remoteBrowserToggle": "Standardmäßig läuft Chromium innerhalb des Uptime-Kuma-Containers. Du kannst einen Remote-Browser verwenden, indem du diesen Schalter umlegst.",
"useRemoteBrowser": "Verwende einen Remote Browser",
"deleteRemoteBrowserMessage": "Bist du sicher, dass du diesen Remote Browser für alle Monitore löschen möchtest?",
"Remove the expiry notification": "Tag für Auslaufbenachrichtigung löschen",
"openModalTo": "Modal öffnen nach {0}",
"Add a domain": "Domain hinzufügen",
"Remove domain": "Domain '{0}' entfernen",
"successKeyword": "Erfolgsschlüsselwort",
"successKeywordExplanation": "MQTT-Schlüsselwort, das als Erfolg gewertet wird",
"settingUpDatabaseMSG": "Die Datenbank wird eingerichtet. Dies kann einen Moment dauern, bitte habe Geduld.",
"Search monitored sites": "Überwachte Seiten durchsuchen",
"statusPageSpecialSlugDesc": "Spezieller Slug {0}: diese Seite wird angezeigt, wenn kein Slug angegeben wird",
"ntfyPriorityHelptextAllEvents": "Alle Ereignisse werden mit der höchsten Priorität gesendet",
"ntfyPriorityHelptextAllExceptDown": "Alle Ereignisse werden mit dieser Priorität gesendet, außer {0}-Ereignisse, die eine Priorität von {1} haben",
"What is a Remote Browser?": "Was ist ein Remote-Browser?"
} }

@ -104,8 +104,10 @@
"Update Password": "Ενημέρωση κωδικού πρόσβασης", "Update Password": "Ενημέρωση κωδικού πρόσβασης",
"Disable Auth": "Απενεργοποίηση ελέγχου ταυτότητας", "Disable Auth": "Απενεργοποίηση ελέγχου ταυτότητας",
"Enable Auth": "Ενεργοποίηση ελέγχου ταυτότητας", "Enable Auth": "Ενεργοποίηση ελέγχου ταυτότητας",
"disableauth.message1": "Είστε βέβαιοι ότι θέλετε να <strong>απενεργοποιήσετε τον έλεγχο ταυτότητας</strong>;", "disableauth.message1": "Είστε βέβαιοι ότι θέλετε να {disableAuth};",
"disableauth.message2": "Έχει σχεδιαστεί για σενάρια <strong>όπου σκοπεύετε να εφαρμόσετε έλεγχο ταυτότητας τρίτου μέρους</strong> μπροστά από το Uptime Kuma, όπως το Cloudflare Access, Authelia ή άλλους μηχανισμούς ελέγχου ταυτότητας.", "disable authentication": "απενεργοποιήσετε τον έλεγχο ταυτότητας",
"disableauth.message2": "Έχει σχεδιαστεί για σενάρια {intendThirdPartyAuth} μπροστά από το Uptime Kuma, όπως το Cloudflare Access, Authelia ή άλλους μηχανισμούς ελέγχου ταυτότητας.",
"where you intend to implement third-party authentication": "όπου σκοπεύετε να εφαρμόσετε έλεγχο ταυτότητας τρίτου μέρους",
"Please use this option carefully!": "Χρησιμοποιήστε αυτή την επιλογή προσεκτικά!", "Please use this option carefully!": "Χρησιμοποιήστε αυτή την επιλογή προσεκτικά!",
"Logout": "Αποσύνδεση", "Logout": "Αποσύνδεση",
"Leave": "Φύγετε", "Leave": "Φύγετε",
@ -695,5 +697,17 @@
"Free Mobile API Key": "Free Mobile API Key", "Free Mobile API Key": "Free Mobile API Key",
"smseaglePriority": "Προτεραιότητα μηνύματος (0-9, προεπιλογή = 0)", "smseaglePriority": "Προτεραιότητα μηνύματος (0-9, προεπιλογή = 0)",
"statusPageRefreshIn": "Ανανέωση σε {0}", "statusPageRefreshIn": "Ανανέωση σε {0}",
"Add New Tag": "Πρόσθεσε νέα ετικέτα" "Add New Tag": "Πρόσθεσε νέα ετικέτα",
"setupDatabaseMariaDB": "Συνδεθείτε με εξωτερική βάση δεδομένων MariaDB. Θα πρέπει να ορίσετε τα στοιχεία σύνδεσης της βάσης δεδομένων.",
"setupDatabaseChooseDatabase": "Ποια βάση δεδομένων θέλετε να χρησιμοποιήσετε;",
"setupDatabaseEmbeddedMariaDB": "Δεν χρειάζεται να ρυθμίσετε τίποτε. Η εικόνα Docker έχει ενσωματώσει και ρυθμίσει μια βάση δεδομένων MariaDB για εσάς αυτόματα. Το Uptime Kuma θα συνδεθεί με την βάση δεδομένων μέσω unix socket.",
"setupDatabaseSQLite": "Ένα απλό αρχείο βάσης δεδομένων, προτεινόμενο για εγκαταστάσεις μικρής κλίμακας. Πρίν από την έκδοση 2.0.0, το Uptime Kuma χρησιμοποιούσε το SQLite ως την προεπιλεγμένη βάση δεδομένων.",
"Cannot connect to the socket server": "Δεν είναι δυνατή η σύνδεση με τον διακομιστή socket",
"Reconnecting...": "Επανασύνδεση",
"Home": "Αρχική",
"settingUpDatabaseMSG": "Ρύθμιση της βάσης δεδομένων. Μπορεί να διαρκέσει λίγο, παρακαλώ να είστε υπομονετικοί.",
"dbName": "Όνομα Βάσης Δεδομένων",
"Invert Keyword": "Αντιστροφή Λέξης-Κλειδιού",
"Expected Value": "Αναμενόμενη Τιμή",
"Json Query": "Ερώτημα Json"
} }

@ -1,7 +1,7 @@
{ {
"languageName": "English", "languageName": "English",
"setupDatabaseChooseDatabase": "Which database do you want to use?", "setupDatabaseChooseDatabase": "Which database do you want to use?",
"setupDatabaseEmbeddedMariaDB": "You don't need to set anything. This docker image have embedded and configured a MariaDB for you automatically. Uptime Kuma will connect to this database via unix socket.", "setupDatabaseEmbeddedMariaDB": "You don't need to set anything. This docker image has embedded and configured MariaDB for you automatically. Uptime Kuma will connect to this database via unix socket.",
"setupDatabaseMariaDB": "Connect to an external MariaDB database. You need to set the database connection information.", "setupDatabaseMariaDB": "Connect to an external MariaDB database. You need to set the database connection information.",
"setupDatabaseSQLite": "A simple database file, recommended for small-scale deployments. Prior to v2.0.0, Uptime Kuma used SQLite as the default database.", "setupDatabaseSQLite": "A simple database file, recommended for small-scale deployments. Prior to v2.0.0, Uptime Kuma used SQLite as the default database.",
"settingUpDatabaseMSG": "Setting up the database. It may take a while, please be patient.", "settingUpDatabaseMSG": "Setting up the database. It may take a while, please be patient.",
@ -76,7 +76,7 @@
"resendEveryXTimes": "Resend every {0} times", "resendEveryXTimes": "Resend every {0} times",
"resendDisabled": "Resend disabled", "resendDisabled": "Resend disabled",
"retriesDescription": "Maximum retries before the service is marked as down and a notification is sent", "retriesDescription": "Maximum retries before the service is marked as down and a notification is sent",
"ignoreTLSError": "Ignore TLS/SSL error for HTTPS websites", "ignoreTLSError": "Ignore TLS/SSL errors for HTTPS websites",
"ignoreTLSErrorGeneral": "Ignore TLS/SSL error for connection", "ignoreTLSErrorGeneral": "Ignore TLS/SSL error for connection",
"upsideDownModeDescription": "Flip the status upside down. If the service is reachable, it is DOWN.", "upsideDownModeDescription": "Flip the status upside down. If the service is reachable, it is DOWN.",
"maxRedirectDescription": "Maximum number of redirects to follow. Set to 0 to disable redirects.", "maxRedirectDescription": "Maximum number of redirects to follow. Set to 0 to disable redirects.",
@ -114,8 +114,10 @@
"Update Password": "Update Password", "Update Password": "Update Password",
"Disable Auth": "Disable Auth", "Disable Auth": "Disable Auth",
"Enable Auth": "Enable Auth", "Enable Auth": "Enable Auth",
"disableauth.message1": "Are you sure want to <strong>disable authentication</strong>?", "disableauth.message1": "Are you sure want to {disableAuth}?",
"disableauth.message2": "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.", "disable authentication": "disable authentication",
"disableauth.message2": "It is designed for scenarios {intendThirdPartyAuth} in front of Uptime Kuma such as Cloudflare Access, Authelia or other authentication mechanisms.",
"where you intend to implement third-party authentication": "where you intend to implement third-party authentication",
"Please use this option carefully!": "Please use this option carefully!", "Please use this option carefully!": "Please use this option carefully!",
"Logout": "Log out", "Logout": "Log out",
"Leave": "Leave", "Leave": "Leave",
@ -544,7 +546,7 @@
"infiniteRetention": "Set to 0 for infinite retention.", "infiniteRetention": "Set to 0 for infinite retention.",
"confirmDeleteTagMsg": "Are you sure you want to delete this tag? Monitors associated with this tag will not be deleted.", "confirmDeleteTagMsg": "Are you sure you want to delete this tag? Monitors associated with this tag will not be deleted.",
"enableGRPCTls": "Allow to send gRPC request with TLS connection", "enableGRPCTls": "Allow to send gRPC request with TLS connection",
"grpcMethodDescription": "Method name is convert to cammelCase format such as sayHello, check, etc.", "grpcMethodDescription": "Method name is convert to camelCase format such as sayHello, check, etc.",
"acceptedStatusCodesDescription": "Select status codes which are considered as a successful response.", "acceptedStatusCodesDescription": "Select status codes which are considered as a successful response.",
"deleteMonitorMsg": "Are you sure want to delete this monitor?", "deleteMonitorMsg": "Are you sure want to delete this monitor?",
"deleteMaintenanceMsg": "Are you sure want to delete this maintenance?", "deleteMaintenanceMsg": "Are you sure want to delete this maintenance?",
@ -571,7 +573,7 @@
"notificationDescription": "Notifications must be assigned to a monitor to function.", "notificationDescription": "Notifications must be assigned to a monitor to function.",
"keywordDescription": "Search keyword in plain HTML or JSON response. The search is case-sensitive.", "keywordDescription": "Search keyword in plain HTML or JSON response. The search is case-sensitive.",
"invertKeywordDescription": "Look for the keyword to be absent rather than present.", "invertKeywordDescription": "Look for the keyword to be absent rather than present.",
"jsonQueryDescription": "Do a json Query against the response and check for expected value (Return value will get converted into string for comparison). Check out <a href='https://jsonata.org/'>jsonata.org</a> for the documentation about the query language. A playground can be found <a href='https://try.jsonata.org/'>here</a>.", "jsonQueryDescription": "Do a json Query against the response and check for expected value (Return value will get converted into string for comparison). Check out {0} for the documentation about the query language. A playground can be found {1}.",
"backupDescription": "You can backup all monitors and notifications into a JSON file.", "backupDescription": "You can backup all monitors and notifications into a JSON file.",
"backupDescription2": "Note: history and event data is not included.", "backupDescription2": "Note: history and event data is not included.",
"backupDescription3": "Sensitive data such as notification tokens are included in the export file; please store export securely.", "backupDescription3": "Sensitive data such as notification tokens are included in the export file; please store export securely.",
@ -787,7 +789,7 @@
"lunaseaUserID": "User ID", "lunaseaUserID": "User ID",
"ntfyAuthenticationMethod": "Authentication Method", "ntfyAuthenticationMethod": "Authentication Method",
"ntfyPriorityHelptextAllEvents": "All events are send with the maximum priority", "ntfyPriorityHelptextAllEvents": "All events are send with the maximum priority",
"ntfyPriorityHelptextAllExceptDown": "All events are send with this priority, except {0}-events, which have a priority of {1}", "ntfyPriorityHelptextAllExceptDown": "All events are sent with this priority, except {0}-events, which have a priority of {1}",
"ntfyUsernameAndPassword": "Username and Password", "ntfyUsernameAndPassword": "Username and Password",
"twilioAccountSID": "Account SID", "twilioAccountSID": "Account SID",
"twilioApiKey": "Api Key (optional)", "twilioApiKey": "Api Key (optional)",
@ -834,7 +836,7 @@
"Enable Kafka Producer Auto Topic Creation": "Enable Kafka Producer Auto Topic Creation", "Enable Kafka Producer Auto Topic Creation": "Enable Kafka Producer Auto Topic Creation",
"Kafka SASL Options": "Kafka SASL Options", "Kafka SASL Options": "Kafka SASL Options",
"Mechanism": "Mechanism", "Mechanism": "Mechanism",
"Pick a SASL Mechanism...": "Pick a SASL Mechanism...", "Pick a SASL Mechanism...": "Pick a SASL Mechanism",
"Authorization Identity": "Authorization Identity", "Authorization Identity": "Authorization Identity",
"AccessKey Id": "AccessKey Id", "AccessKey Id": "AccessKey Id",
"Secret AccessKey": "Secret AccessKey", "Secret AccessKey": "Secret AccessKey",
@ -881,5 +883,6 @@
"useRemoteBrowser": "Use a Remote Browser", "useRemoteBrowser": "Use a Remote Browser",
"deleteRemoteBrowserMessage": "Are you sure want to delete this Remote Browser for all monitors?", "deleteRemoteBrowserMessage": "Are you sure want to delete this Remote Browser for all monitors?",
"GrafanaOncallUrl": "Grafana Oncall URL", "GrafanaOncallUrl": "Grafana Oncall URL",
"Browser Screenshot": "Browser Screenshot" "Browser Screenshot": "Browser Screenshot",
"What is a Remote Browser?": "What is a Remote Browser?"
} }

@ -2,7 +2,7 @@
"languageName": "Español", "languageName": "Español",
"checkEverySecond": "Comprobar cada {0} segundos", "checkEverySecond": "Comprobar cada {0} segundos",
"retriesDescription": "Número máximo de intentos antes de que el servicio se marque como CAÍDO y una notificación sea enviada", "retriesDescription": "Número máximo de intentos antes de que el servicio se marque como CAÍDO y una notificación sea enviada",
"ignoreTLSError": "Ignorar error TLS/SSL para sitios web HTTPS", "ignoreTLSError": "Ignorar errores TLS/SSL para sitios web HTTPS",
"upsideDownModeDescription": "Invertir el estado. Si el servicio es alcanzable, está CAÍDO.", "upsideDownModeDescription": "Invertir el estado. Si el servicio es alcanzable, está CAÍDO.",
"maxRedirectDescription": "Número máximo de direcciones a seguir. Establecer a 0 para deshabilitar.", "maxRedirectDescription": "Número máximo de direcciones a seguir. Establecer a 0 para deshabilitar.",
"acceptedStatusCodesDescription": "Seleccionar los códigos de estado que se consideran como respuesta exitosa.", "acceptedStatusCodesDescription": "Seleccionar los códigos de estado que se consideran como respuesta exitosa.",
@ -84,8 +84,10 @@
"Update Password": "Actualizar contraseña", "Update Password": "Actualizar contraseña",
"Disable Auth": "Deshabilitar autenticación", "Disable Auth": "Deshabilitar autenticación",
"Enable Auth": "Habilitar autenticación", "Enable Auth": "Habilitar autenticación",
"disableauth.message1": "Seguro que deseas <strong>deshabilitar la autenticación</strong>?", "disableauth.message1": "Seguro que deseas {disableAuth}?",
"disableauth.message2": "Es para <strong>quien implementa autenticación de terceros</strong> ante Uptime Kuma como por ejemplo Cloudflare Access.", "disable authentication": "deshabilitar la autenticación",
"disableauth.message2": "Es para {intendThirdPartyAuth} ante Uptime Kuma como por ejemplo Cloudflare Access.",
"where you intend to implement third-party authentication": "quien implementa autenticación de terceros",
"Please use this option carefully!": "¡Utilice esta opción con cuidado!", "Please use this option carefully!": "¡Utilice esta opción con cuidado!",
"Logout": "Cerrar sesión", "Logout": "Cerrar sesión",
"Leave": "Salir", "Leave": "Salir",
@ -550,7 +552,7 @@
"Icon URL": "URL de Icono", "Icon URL": "URL de Icono",
"aboutIconURL": "Puede proporcionar un enlace a una imagen en \"URL de icono\" para anular la imagen de perfil predeterminada. No se utilizará si se establece Icono Emoji.", "aboutIconURL": "Puede proporcionar un enlace a una imagen en \"URL de icono\" para anular la imagen de perfil predeterminada. No se utilizará si se establece Icono Emoji.",
"enableGRPCTls": "Permite enviar solicitudes gRPC con conexión TLS", "enableGRPCTls": "Permite enviar solicitudes gRPC con conexión TLS",
"grpcMethodDescription": "Nombre del método es convertido a formato cammelCase tal como digoHola, verificandoTodo, etc.", "grpcMethodDescription": "El nombre del método es convertido al formato camelCase tal como sayHello, check, etc.",
"dnsPortDescription": "Puerto servidor DNS. Por defecto al 53. Puedes cambiar el puerto en cualquier momento.", "dnsPortDescription": "Puerto servidor DNS. Por defecto al 53. Puedes cambiar el puerto en cualquier momento.",
"recurringIntervalMessage": "Ejecutar una vez al día | Ejecutar una vez cada {0} días", "recurringIntervalMessage": "Ejecutar una vez al día | Ejecutar una vez cada {0} días",
"affectedMonitorsDescription": "Selecciona los monitores que se ven afectados por el mantenimiento actual", "affectedMonitorsDescription": "Selecciona los monitores que se ven afectados por el mantenimiento actual",
@ -653,7 +655,7 @@
"gorush": "Gorush", "gorush": "Gorush",
"squadcast": "Squadcast", "squadcast": "Squadcast",
"Maintenance Time Window of a Day": "Ventana de tiempo de mantenimiento de un día", "Maintenance Time Window of a Day": "Ventana de tiempo de mantenimiento de un día",
"Effective Date Range": "Rango de Fecha Vigente (Opcional)", "Effective Date Range": "Rango de fecha efectivo (opcional)",
"Free Mobile User Identifier": "Identificador de Usuario de Free Mobile", "Free Mobile User Identifier": "Identificador de Usuario de Free Mobile",
"Gateway Type": "Tipo de puerta de enlace", "Gateway Type": "Tipo de puerta de enlace",
"SMSManager": "SMSManager", "SMSManager": "SMSManager",
@ -769,7 +771,7 @@
"Json Query": "Consulta Json", "Json Query": "Consulta Json",
"invertKeywordDescription": "Comprobar si la palabra clave está ausente en vez de presente.", "invertKeywordDescription": "Comprobar si la palabra clave está ausente en vez de presente.",
"enableNSCD": "Habilitar NSCD (Demonio de Caché de Servicio de Nombres) para almacenar en caché todas las solicitudes DNS", "enableNSCD": "Habilitar NSCD (Demonio de Caché de Servicio de Nombres) para almacenar en caché todas las solicitudes DNS",
"jsonQueryDescription": "Realiza una consulta JSON contra la respuesta y verifica el valor esperado (el valor de retorno se convertirá a una cadena para la comparación). Consulta <a href='https://jsonata.org/'>jsonata.org</a> para obtener documentación sobre el lenguaje de consulta. Puede encontrar un espacio de prueba <a href='https://try.jsonata.org/'>aquí</a>.", "jsonQueryDescription": "Realiza una consulta JSON contra la respuesta y verifica el valor esperado (el valor de retorno se convertirá a una cadena para la comparación). Consulta {0} para obtener documentación sobre el lenguaje de consulta. Puede encontrar un espacio de prueba {1}.",
"Request Timeout": "Tiempo de espera máximo de petición", "Request Timeout": "Tiempo de espera máximo de petición",
"timeoutAfter": "Expirar después de {0} segundos", "timeoutAfter": "Expirar después de {0} segundos",
"chromeExecutableDescription": "Para usuarios de Docker, si Chromium no está instalado, puede que tarde unos minutos en ser instalado y mostrar el resultado de la prueba. Usa 1GB de espacio.", "chromeExecutableDescription": "Para usuarios de Docker, si Chromium no está instalado, puede que tarde unos minutos en ser instalado y mostrar el resultado de la prueba. Usa 1GB de espacio.",
@ -802,7 +804,7 @@
"Enable Kafka SSL": "Habilitar Kafka SSL", "Enable Kafka SSL": "Habilitar Kafka SSL",
"Kafka SASL Options": "Opciones de Kafka SASL", "Kafka SASL Options": "Opciones de Kafka SASL",
"Mechanism": "Mecanismo", "Mechanism": "Mecanismo",
"Pick a SASL Mechanism...": "Elija un mecanismo SASL...", "Pick a SASL Mechanism...": "Elija un mecanismo SASL",
"Authorization Identity": "Identidad de autorización", "Authorization Identity": "Identidad de autorización",
"AccessKey Id": "ID de clave de acceso", "AccessKey Id": "ID de clave de acceso",
"Secret AccessKey": "Secreto de la clave de acceso", "Secret AccessKey": "Secreto de la clave de acceso",
@ -846,8 +848,73 @@
"toastSuccessTimeout": "Tiempo de espera para notificaciones de éxito", "toastSuccessTimeout": "Tiempo de espera para notificaciones de éxito",
"toastErrorTimeout": "Tiempo de espera para notificaciones de error", "toastErrorTimeout": "Tiempo de espera para notificaciones de error",
"setupDatabaseChooseDatabase": "¿Qué base de datos desea utilizar?", "setupDatabaseChooseDatabase": "¿Qué base de datos desea utilizar?",
"setupDatabaseEmbeddedMariaDB": "No necesitas configurar nada. Esta imagen docker ha incrustado y configurado un MariaDB para ti automáticamente. Uptime Kuma se conectará a esta base de datos a través de un socket unix.", "setupDatabaseEmbeddedMariaDB": "No necesitas configurar nada. Esta imagen docker ha incrustado y configurado MariaDB para ti automáticamente. Uptime Kuma se conectará a esta base de datos a través de un socket unix.",
"setupDatabaseMariaDB": "Conectarse a una base de datos MariaDB externa. Debe configurar la información de conexión a la base de datos.", "setupDatabaseMariaDB": "Conectarse a una base de datos MariaDB externa. Debe configurar la información de conexión a la base de datos.",
"setupDatabaseSQLite": "Un archivo de base de datos simple, recomendado para despliegues a pequeña escala. Antes de la versión 2.0.0, Uptime Kuma utilizaba SQLite como base de datos predeterminada.", "setupDatabaseSQLite": "Un archivo de base de datos simple, recomendado para despliegues a pequeña escala. Antes de la versión 2.0.0, Uptime Kuma utilizaba SQLite como base de datos predeterminada.",
"dbName": "Nombre de la base de datos" "dbName": "Nombre de la base de datos",
"authInvalidToken": "Token inválido.",
"authIncorrectCreds": "Nombre de usuario o contraseña incorrectos.",
"2faEnabled": "2FA habilitado.",
"2faDisabled": "2FA deshabilitado.",
"liquidIntroduction": "El lenguaje de plantillas Liquid permite crear plantillas. Consulte las instrucciones de uso en {0}. Estas son las variables disponibles:",
"templateLimitedToUpDownCertNotifications": "sólo disponible para las notificaciones de LEVANTADO/CAÍDO/Caducidad de certificado",
"emailTemplateMsg": "mensaje de la notificación",
"emailTemplateLimitedToUpDownNotification": "sólo disponible para pulsos LEVANTADO/CAÍDO, en caso contrario null",
"setup a new monitor group": "configurar un nuevo grupo de monitores",
"authUserInactiveOrDeleted": "El usuario está inactivo o eliminado.",
"2faAlreadyEnabled": "2FA ya está activado.",
"remoteBrowsersDescription": "Los navegadores remotos son una alternativa a la ejecución local de Chromium. Configúralos con un servicio como browserless.io o conéctate a uno propio",
"successKeyword": "Palabra clave de éxito",
"successKeywordExplanation": "MQTT Palabra clave que se considerará como éxito",
"Remove the expiry notification": "Eliminar la notificación de vencimiento",
"Browser Screenshot": "Captura de pantalla del navegador",
"emailCustomisableContent": "Contenidos personalizables",
"smtpLiquidIntroduction": "Los dos campos siguientes son planificables mediante el lenguaje de plantillas Liquid. Consulte las instrucciones de uso en {0}. Estas son las variables disponibles:",
"leave blank for default subject": "dejar en blanco para el asunto por defecto",
"emailCustomBody": "Cuerpo personalizado",
"successAuthChangePassword": "La contraseña se ha actualizado correctamente.",
"successDeleted": "Eliminado con éxito.",
"successEdited": "Editado con éxito.",
"successDisabled": "Desactivado con éxito.",
"GrafanaOncallUrl": "Grafana URL de llamada",
"Reset Token": "Restablecer Token",
"Remote Browsers": "Navegadores remotos",
"Remote Browser": "Navegador remoto",
"Add a Remote Browser": "Añadir un navegador remoto",
"noDockerHostMsg": "No disponible. Configure primero un host Docker.",
"DockerHostRequired": "Establezca el host Docker para este monitor.",
"successAdded": "Agregado exitosamente.",
"successResumed": "Reanudado con éxito.",
"successPaused": "Pausado con éxito.",
"successBackupRestored": "Copia de seguridad restaurada correctamente.",
"successEnabled": "Activado con éxito.",
"tagNotFound": "Etiqueta no encontrada.",
"foundChromiumVersion": "Encontrado Chromium/Chrome. Versión: {0}",
"pushViewCode": "¿Cómo utilizar el monitor Push? (Ver código)",
"pushOthers": "Otros",
"programmingLanguages": "Lenguajes de programación",
"templateMsg": "mensaje de la notificación",
"templateMonitorJSON": "objeto que describe el monitor",
"templateLimitedToUpDownNotifications": "sólo disponible para notificaciones LEVANTADO/CAÍDO",
"Add a new expiry notification day": "Añadir una nueva notificación de vencimiento",
"leave blank for default body": "dejar en blanco para el cuerpo por defecto",
"emailTemplateServiceName": "Nombre del servicio",
"emailTemplateHostnameOrURL": "Nombre del host o URL",
"emailTemplateStatus": "Estado",
"emailTemplateMonitorJSON": "objeto que describe el monitor",
"openModalTo": "abrir modal a {0}",
"Add a domain": "Añadir un dominio",
"Remove domain": "Eliminar dominio '{0}'",
"Remote Browser not found!": "¡Navegador remoto no encontrado!",
"self-hosted container": "contenedor autohospedado",
"remoteBrowserToggle": "Por defecto Chromium se ejecuta dentro del contenedor Uptime Kuma. Puedes usar un navegador remoto activando este interruptor.",
"useRemoteBrowser": "Utilice un navegador remoto",
"deleteRemoteBrowserMessage": "¿Está seguro de que desea eliminar este Navegador Remoto para todos los monitores?",
"settingUpDatabaseMSG": "Configurando la base de datos. Puede tomar un tiempo, sea paciente, por favor.",
"Search monitored sites": "Buscar sitios monitoreados",
"statusPageSpecialSlugDesc": "Identificador único especial {0}: esta página será mostrada cuando no se proporcione ningún identificador único",
"emailTemplateHeartbeatJSON": "Objeto que describe la señal de vida",
"ntfyPriorityHelptextAllEvents": "Todos los eventos son enviados con la máxima prioridad",
"ntfyPriorityHelptextAllExceptDown": "Todos los eventos son enviados con esta prioridad, excepto los eventos {0}, que tienen una prioridad de {1}",
"templateHeartbeatJSON": "Objeto que describe el latido"
} }

@ -87,8 +87,10 @@
"Update Password": "Uuenda parooli", "Update Password": "Uuenda parooli",
"Disable Auth": "Lülita autentimine välja", "Disable Auth": "Lülita autentimine välja",
"Enable Auth": "Lülita autentimine sisse", "Enable Auth": "Lülita autentimine sisse",
"disableauth.message1": "Kas soovid <strong>lülitada autentimise välja</strong>?", "disableauth.message1": "Kas soovid {disableAuth}?",
"disableauth.message2": "Kastuamiseks <strong>välise autentimispakkujaga</strong>, näiteks Cloudflare Access.", "disable authentication": "lülitada autentimise välja",
"disableauth.message2": "Kastuamiseks {intendThirdPartyAuth}, näiteks Cloudflare Access.",
"where you intend to implement third-party authentication": "välise autentimispakkujaga",
"Please use this option carefully!": "Palun kasuta seda valikut vastutustundlikult!", "Please use this option carefully!": "Palun kasuta seda valikut vastutustundlikult!",
"Logout": "Logi välja", "Logout": "Logi välja",
"Leave": "Lahku", "Leave": "Lahku",

@ -101,8 +101,10 @@
"Update Password": "Eguneratu pasahitza", "Update Password": "Eguneratu pasahitza",
"Disable Auth": "Desgaitu Auth", "Disable Auth": "Desgaitu Auth",
"Enable Auth": "Gaitu Auth", "Enable Auth": "Gaitu Auth",
"disableauth.message1": "Ziur zaude <strong>autentifikazioa desgaitu</strong> nahi duzula?", "disableauth.message1": "Ziur zaude {disableAuth} nahi duzula?",
"disableauth.message2": "Egoera jakin batzuetarako diseinatuta dago, Uptime Kumaren <strong>aurrean hirugarrengo autentifikazio batzuek jartzeko</strong> (Cloudflare Access, Authelia edo beste autentifikazio-mekanismo batzuk).", "disable authentication": "autentifikazioa desgaitu",
"disableauth.message2": "Egoera jakin batzuetarako diseinatuta dago, Uptime Kumaren {intendThirdPartyAuth} (Cloudflare Access, Authelia edo beste autentifikazio-mekanismo batzuk).",
"where you intend to implement third-party authentication": "aurrean hirugarrengo autentifikazio batzuek jartzeko",
"Please use this option carefully!": "Mesedez, kontuz erabili aukera hau!", "Please use this option carefully!": "Mesedez, kontuz erabili aukera hau!",
"Logout": "Saioa amaitu", "Logout": "Saioa amaitu",
"Leave": "Utzi", "Leave": "Utzi",
@ -324,7 +326,7 @@
"Security": "Segurtasuna", "Security": "Segurtasuna",
"Steam API Key": "Steam API Giltza", "Steam API Key": "Steam API Giltza",
"Shrink Database": "Shrink Datubasea", "Shrink Database": "Shrink Datubasea",
"Pick a RR-Type...": "Pick a RR-Type...", "Pick a RR-Type...": "Pick a RR-Type",
"Pick Accepted Status Codes...": "Hautatu onartutako egoera kodeak…", "Pick Accepted Status Codes...": "Hautatu onartutako egoera kodeak…",
"Default": "Lehenetsia", "Default": "Lehenetsia",
"HTTP Options": "HTTP Aukerak", "HTTP Options": "HTTP Aukerak",

@ -96,8 +96,10 @@
"Update Password": "بروز رسانی رمز عبور", "Update Password": "بروز رسانی رمز عبور",
"Disable Auth": "غیر فعال سازی تایید هویت", "Disable Auth": "غیر فعال سازی تایید هویت",
"Enable Auth": "فعال سازی تایید هویت", "Enable Auth": "فعال سازی تایید هویت",
"disableauth.message1": "آیا مطمئن هستید که میخواهید <strong>احراز هویت را غیر فعال کنید</strong>?", "disableauth.message1": "آیا مطمئن هستید که میخواهید {disableAuth}?",
"disableauth.message2": "این ویژگی برای کسانی است که <strong> لایه امنیتی شخص ثالث دیگر بر روی این آدرس فعال کرده‌اند</strong>، مانند Cloudflare Access.", "disable authentication": "احراز هویت را غیر فعال کنید",
"disableauth.message2": "این ویژگی برای کسانی است که {intendThirdPartyAuth}، مانند Cloudflare Access.",
"where you intend to implement third-party authentication": "لایه امنیتی شخص ثالث دیگر بر روی این آدرس فعال کرده‌اند",
"Please use this option carefully!": "لطفا از این امکان با دقت استفاده کنید!", "Please use this option carefully!": "لطفا از این امکان با دقت استفاده کنید!",
"Logout": "خروج", "Logout": "خروج",
"Leave": "منصرف شدم", "Leave": "منصرف شدم",
@ -492,7 +494,7 @@
"wayToGetDiscordURL": "شما می توانید این را با رفتن به تنظیمات سرور -> ادغام -> مشاهده وب هوک -> وب هوک جدید (Settings -> Integrations -> View Webhooks -> New Webhook) دریافت کنید", "wayToGetDiscordURL": "شما می توانید این را با رفتن به تنظیمات سرور -> ادغام -> مشاهده وب هوک -> وب هوک جدید (Settings -> Integrations -> View Webhooks -> New Webhook) دریافت کنید",
"infiniteRetention": "برای دوره بی نهایت 0 را وارد تنظیم کنید.", "infiniteRetention": "برای دوره بی نهایت 0 را وارد تنظیم کنید.",
"confirmDeleteTagMsg": "آیا مطمئن هستید که می خواهید این تگ را حذف کنید؟ مانیتورهای مرتبط با این تگ حذف نخواهند شد.", "confirmDeleteTagMsg": "آیا مطمئن هستید که می خواهید این تگ را حذف کنید؟ مانیتورهای مرتبط با این تگ حذف نخواهند شد.",
"grpcMethodDescription": "نام روش تبدیل به فرمت cammelCase مانند sayHello، check و غیره.", "grpcMethodDescription": "نام روش تبدیل به فرمت camelCase مانند sayHello، check و غیره.",
"deleteMaintenanceMsg": "آیا مطمئن هستید که می خواهید این تعمیر و نگهداری را حذف کنید؟", "deleteMaintenanceMsg": "آیا مطمئن هستید که می خواهید این تعمیر و نگهداری را حذف کنید؟",
"recurringIntervalMessage": "یکبار اجرا برای هر روز | یکبار اجرا در هر {0} روز", "recurringIntervalMessage": "یکبار اجرا برای هر روز | یکبار اجرا در هر {0} روز",
"affectedMonitorsDescription": "مانیتورهایی را انتخاب کنید که تحت تأثیر تعمیر و نگهداری فعلی هستند", "affectedMonitorsDescription": "مانیتورهایی را انتخاب کنید که تحت تأثیر تعمیر و نگهداری فعلی هستند",
@ -757,7 +759,7 @@
"filterActive": "فعال", "filterActive": "فعال",
"webhookCustomBodyDesc": "یک بدنه HTTP سفارشی برای ریکوئست تعریف کنید. متغیر های قابل استفاده: {msg}, {heartbeat}, {monitor}.", "webhookCustomBodyDesc": "یک بدنه HTTP سفارشی برای ریکوئست تعریف کنید. متغیر های قابل استفاده: {msg}, {heartbeat}, {monitor}.",
"tailscalePingWarning": "برای استفاده از Tailscale Ping monitor، شما باید آپتایم کوما را بدون استفاده از داکر و همچنین Tailscale client را نیز بر روی سرور خود نصب داشته باشید.", "tailscalePingWarning": "برای استفاده از Tailscale Ping monitor، شما باید آپتایم کوما را بدون استفاده از داکر و همچنین Tailscale client را نیز بر روی سرور خود نصب داشته باشید.",
"jsonQueryDescription": "یک کوئری json در برابر پاسخ انجام دهید و مقدار مورد انتظار را (مقدار برگشتی برای مقایسه به رشته تبدیل می شود). برای مستندات درباره زبان کوئری، <a href='https://jsonata.org/'>jsonata.org</a> مشاهده کنید. همچنین محیط تست را میتوانید در <a href='https://try.jsonata.org/'>اینجا</a> پیدا کنید.", "jsonQueryDescription": "یک کوئری json در برابر پاسخ انجام دهید و مقدار مورد انتظار را (مقدار برگشتی برای مقایسه به رشته تبدیل می شود). برای مستندات درباره زبان کوئری، {0} مشاهده کنید. همچنین محیط تست را میتوانید در {1} پیدا کنید.",
"Enter the list of brokers": "لیست بروکر هارا وارد کنید", "Enter the list of brokers": "لیست بروکر هارا وارد کنید",
"Enable Kafka Producer Auto Topic Creation": "فعال سازی ایجاپ موضوع اتوماتیک تهیه کننده", "Enable Kafka Producer Auto Topic Creation": "فعال سازی ایجاپ موضوع اتوماتیک تهیه کننده",
"Secret AccessKey": "کلید محرمانه AccessKey", "Secret AccessKey": "کلید محرمانه AccessKey",
@ -798,7 +800,7 @@
"Enable Kafka SSL": "فعال سازی SSL", "Enable Kafka SSL": "فعال سازی SSL",
"Kafka SASL Options": "گزینه های SASL", "Kafka SASL Options": "گزینه های SASL",
"Mechanism": "مکانیزم", "Mechanism": "مکانیزم",
"Pick a SASL Mechanism...": "یک مکانیزم SASL انتخاب کنید...", "Pick a SASL Mechanism...": "یک مکانیزم SASL انتخاب کنید",
"Authorization Identity": "اطلاعات اعتبارسنجی", "Authorization Identity": "اطلاعات اعتبارسنجی",
"AccessKey Id": "آیدی AccessKey", "AccessKey Id": "آیدی AccessKey",
"Session Token": "توکن سشن", "Session Token": "توکن سشن",
@ -811,7 +813,7 @@
"Json Query": "کوئری جیسون", "Json Query": "کوئری جیسون",
"Saved.": "ذخیره شده.", "Saved.": "ذخیره شده.",
"setupDatabaseChooseDatabase": "از چه دیتابیسی میخواهید استفاده کنید؟", "setupDatabaseChooseDatabase": "از چه دیتابیسی میخواهید استفاده کنید؟",
"setupDatabaseEmbeddedMariaDB": "شما نیازی نیست چیزی را تنظیم کنید . این Image داکر یک MariaDB را به طور خودکار برای شما جاسازی و پیکربندی کرده است. آپتایم کوما از طریق سوکت یونیکس به این دیتابیس متصل می شود.", "setupDatabaseEmbeddedMariaDB": "شما نیازی نیست چیزی را تنظیم کنید . این Image داکر MariaDB را به طور خودکار برای شما جاسازی و پیکربندی کرده است. آپتایم کوما از طریق سوکت یونیکس به این دیتابیس متصل می شود.",
"setupDatabaseSQLite": "یک فایل دیتابیس ساده که برای استقرار در مقیاس کوچک توصیه می شود. قبل از نسخه 2.0.0، Uptime Kuma از SQLite به عنوان دیتابیس پیش فرض استفاده می کرد.", "setupDatabaseSQLite": "یک فایل دیتابیس ساده که برای استقرار در مقیاس کوچک توصیه می شود. قبل از نسخه 2.0.0، Uptime Kuma از SQLite به عنوان دیتابیس پیش فرض استفاده می کرد.",
"enableNSCD": "فعال سازی NSCD (Name Service Cache Daemon) برای کش کردن تمام ریکوئست های DNS", "enableNSCD": "فعال سازی NSCD (Name Service Cache Daemon) برای کش کردن تمام ریکوئست های DNS",
"setupDatabaseMariaDB": "به یک دیتابیس خارجی MariaDB متصل شوید. شما باید اطلاعات اتصال دیتابیس را تنظیم کنید.", "setupDatabaseMariaDB": "به یک دیتابیس خارجی MariaDB متصل شوید. شما باید اطلاعات اتصال دیتابیس را تنظیم کنید.",
@ -840,5 +842,23 @@
"successAdded": "با موفقیت اضافه شد.", "successAdded": "با موفقیت اضافه شد.",
"successResumed": "با موفقیت از سر گرفته شد.", "successResumed": "با موفقیت از سر گرفته شد.",
"successAuthChangePassword": "رمز عبور با موفقیت به روز رسانی شد.", "successAuthChangePassword": "رمز عبور با موفقیت به روز رسانی شد.",
"pushOthers": "غیره" "pushOthers": "غیره",
"successKeyword": "کلیدواژه موفقیت",
"Reset Token": "توکن بازنشانی",
"settingUpDatabaseMSG": "در حال تنظیم بانک داده. ممکن است مقداری طول بکشد، لطفا صبور باشید.",
"noDockerHostMsg": "در دسترس نیست. ابتدا میزبان داکر را تنظیم کنید.",
"DockerHostRequired": "لطفا میزبان داکر این ناظر را مشخص کنید.",
"Search monitored sites": "جستجو در سایت های نظارت شده",
"successKeywordExplanation": "کلیدواژه MQTT که به عنوان موفق تلقی خواهد شد",
"Remove the expiry notification": "حذف تاریخ انقضا اطلاع رسانی",
"emailCustomisableContent": "محتوای قابل سفارشی کردن",
"leave blank for default subject": "برای موضوع پیشفرض خالی بگذارید",
"emailCustomBody": "بدنه سفارشی",
"leave blank for default body": "برای بدنه پیشفرض خالی بگذارید",
"emailTemplateServiceName": "نام سرویس",
"emailTemplateHostnameOrURL": "نام میزبان یا URL",
"emailTemplateStatus": "وضعیت",
"templateMsg": "پیام نوتیفیکیشن",
"templateMonitorJSON": "شی توصیف کننده ناظر",
"Add a new expiry notification day": "تنظیم تاریخ انقضا اطلاع رسانی جدید"
} }

@ -102,7 +102,6 @@
"resendDisabled": "Uudelleen lähetys poissa käytöstä", "resendDisabled": "Uudelleen lähetys poissa käytöstä",
"retriesDescription": "Maksimi määrä uudelleen yrityksiä ennen kuin palvelu merkitään sammuneeksi ja ilmoitus lähetetään", "retriesDescription": "Maksimi määrä uudelleen yrityksiä ennen kuin palvelu merkitään sammuneeksi ja ilmoitus lähetetään",
"Discourage search engines from indexing site": "Estä hakukoneita indeksoimasta sivua", "Discourage search engines from indexing site": "Estä hakukoneita indeksoimasta sivua",
"disableauth.message1": "Oletko varma että haluat <strong>poistaa todennuksen käytöstä</strong>?",
"Please use this option carefully!": "Käytä tätä vaihtoehtoa varoen!", "Please use this option carefully!": "Käytä tätä vaihtoehtoa varoen!",
"Remember me": "Muista minut", "Remember me": "Muista minut",
"languageName": "Suomi", "languageName": "Suomi",
@ -110,7 +109,10 @@
"pushOptionalParams": "Valinnaiset parametrit: {0}", "pushOptionalParams": "Valinnaiset parametrit: {0}",
"Not available, please setup.": "Ei saatavilla, määritä ensin.", "Not available, please setup.": "Ei saatavilla, määritä ensin.",
"needPushEvery": "Sinun pitäisi kutsua tätä URL joka {0} sekuntti.", "needPushEvery": "Sinun pitäisi kutsua tätä URL joka {0} sekuntti.",
"disableauth.message2": "Se on suunniteltu tilanteisiin <strong>jossa aiot käyttää kolmannen osapuolen todennnusta</strong> Uptime Kuma:n edessä, kuten Cloudflare Access, Authelia tai jotain muuta todennus mekanismia.", "disableauth.message1": "Oletko varma että haluat {disableAuth}?",
"disable authentication": "poistaa todennuksen käytöstä",
"disableauth.message2": "Se on suunniteltu tilanteisiin {intendThirdPartyAuth} Uptime Kuma:n edessä, kuten Cloudflare Access, Authelia tai jotain muuta todennus mekanismia.",
"where you intend to implement third-party authentication": "jossa aiot käyttää kolmannen osapuolen todennnusta",
"No Monitors, please": "Ei seuraimia, kiitos", "No Monitors, please": "Ei seuraimia, kiitos",
"Resolver Server": "Ratkaisija palvelin", "Resolver Server": "Ratkaisija palvelin",
"Resource Record Type": "Resusrssi tallenne tyyppi", "Resource Record Type": "Resusrssi tallenne tyyppi",

@ -88,7 +88,7 @@
"Port": "Port", "Port": "Port",
"Heartbeat Interval": "Intervalle de vérification", "Heartbeat Interval": "Intervalle de vérification",
"Retries": "Essais", "Retries": "Essais",
"Heartbeat Retry Interval": "Intervalle de ré-essaie", "Heartbeat Retry Interval": "Intervalle de ré-essai",
"Resend Notification if Down X times consecutively": "Renvoyer la notification si hors ligne X fois consécutivement", "Resend Notification if Down X times consecutively": "Renvoyer la notification si hors ligne X fois consécutivement",
"Advanced": "Avancé", "Advanced": "Avancé",
"Upside Down Mode": "Mode inversé", "Upside Down Mode": "Mode inversé",
@ -119,8 +119,10 @@
"Update Password": "Mettre à jour le mot de passe", "Update Password": "Mettre à jour le mot de passe",
"Disable Auth": "Désactiver l'authentification", "Disable Auth": "Désactiver l'authentification",
"Enable Auth": "Activer l'authentification", "Enable Auth": "Activer l'authentification",
"disableauth.message1": "Voulez-vous vraiment <strong>désactiver l'authentification</strong> ?", "disableauth.message1": "Voulez-vous vraiment {disableAuth} ?",
"disableauth.message2": "Cette fonctionnalité est conçue pour les scénarios <strong>où vous avez l'intention d'implémenter une authentification tierce</strong> devant Uptime Kuma, comme Cloudflare Access, Authelia ou d'autres mécanismes d'authentification.", "disable authentication": "désactiver l'authentification",
"disableauth.message2": "Cette fonctionnalité est conçue pour les scénarios {intendThirdPartyAuth} devant Uptime Kuma, comme Cloudflare Access, Authelia ou d'autres mécanismes d'authentification.",
"where you intend to implement third-party authentication": "où vous avez l'intention d'implémenter une authentification tierce",
"Please use this option carefully!": "Veuillez utiliser cette option avec précaution !", "Please use this option carefully!": "Veuillez utiliser cette option avec précaution !",
"Logout": "Déconnexion", "Logout": "Déconnexion",
"Leave": "Quitter", "Leave": "Quitter",
@ -795,7 +797,7 @@
"twilioApiKey": "Clé API (facultatif)", "twilioApiKey": "Clé API (facultatif)",
"Expected Value": "Valeur attendue", "Expected Value": "Valeur attendue",
"Json Query": "Requête Json", "Json Query": "Requête Json",
"jsonQueryDescription": "Faites une requête json contre la réponse et vérifiez la valeur attendue (la valeur de retour sera convertie en chaîne pour comparaison). Consultez <a href='https://jsonata.org/'>jsonata.org</a> pour la documentation sur le langage de requête. Une aire de jeux peut être trouvée <a href='https://try.jsonata.org/'>ici</a>.", "jsonQueryDescription": "Faites une requête json contre la réponse et vérifiez la valeur attendue (la valeur de retour sera convertie en chaîne pour comparaison). Consultez {0} pour la documentation sur le langage de requête. Une aire de jeux peut être trouvée {1}.",
"Badge Duration (in hours)": "Durée du badge (en heures)", "Badge Duration (in hours)": "Durée du badge (en heures)",
"Badge Preview": "Aperçu du badge", "Badge Preview": "Aperçu du badge",
"aboutNotifyChannel": "Notifier le canal déclenchera une notification de bureau ou mobile pour tous les membres du canal, que leur disponibilité soit active ou absente.", "aboutNotifyChannel": "Notifier le canal déclenchera une notification de bureau ou mobile pour tous les membres du canal, que leur disponibilité soit active ou absente.",
@ -808,7 +810,7 @@
"Enable Kafka SSL": "Activer Kafka SSL", "Enable Kafka SSL": "Activer Kafka SSL",
"Kafka SASL Options": "Options de Kafka SAS", "Kafka SASL Options": "Options de Kafka SAS",
"Mechanism": "Mécanisme", "Mechanism": "Mécanisme",
"Pick a SASL Mechanism...": "Choisissez un mécanisme SASL...", "Pick a SASL Mechanism...": "Choisissez un mécanisme SASL",
"Authorization Identity": "Identité d'autorisation", "Authorization Identity": "Identité d'autorisation",
"AccessKey Id": "ID de la clé d'accès", "AccessKey Id": "ID de la clé d'accès",
"Secret AccessKey": "Clé d'accès secrète", "Secret AccessKey": "Clé d'accès secrète",
@ -841,7 +843,7 @@
"styleElapsedTime": "Temps écoulé sous la barre d'état", "styleElapsedTime": "Temps écoulé sous la barre d'état",
"enableNSCD": "Activer NSCD (Name Service Cache Daemon) pour mettre en cache toutes les demandes DNS", "enableNSCD": "Activer NSCD (Name Service Cache Daemon) pour mettre en cache toutes les demandes DNS",
"setupDatabaseChooseDatabase": "Quelle base de données souhaitez-vous utiliser ?", "setupDatabaseChooseDatabase": "Quelle base de données souhaitez-vous utiliser ?",
"setupDatabaseEmbeddedMariaDB": "Vous n'avez pas besoin de régler quoi que ce soit. Cette image docker a intégré et configuré automatiquement une MariaDB pour vous. Uptime Kuma se connectera à cette base de données via la socket unix.", "setupDatabaseEmbeddedMariaDB": "Vous n'avez rien à définir. Cette image Docker a intégré et configuré MariaDB automatiquement pour vous. Uptime Kuma se connectera à cette base de données via un socket Unix.",
"setupDatabaseSQLite": "Un fichier de base de données simple, recommandé pour les déploiements à petite échelle. Avant la v2.0.0, Uptime Kuma utilisait SQLite comme base de données par défaut.", "setupDatabaseSQLite": "Un fichier de base de données simple, recommandé pour les déploiements à petite échelle. Avant la v2.0.0, Uptime Kuma utilisait SQLite comme base de données par défaut.",
"setupDatabaseMariaDB": "Connectez-vous à une base de données MariaDB externe. Vous devez définir les informations de connexion à la base de données.", "setupDatabaseMariaDB": "Connectez-vous à une base de données MariaDB externe. Vous devez définir les informations de connexion à la base de données.",
"dbName": "Nom de la base de données", "dbName": "Nom de la base de données",
@ -870,5 +872,51 @@
"authUserInactiveOrDeleted": "L'utilisateur est inactif ou a été supprimé.", "authUserInactiveOrDeleted": "L'utilisateur est inactif ou a été supprimé.",
"2faEnabled": "Authentification à deux facteurs (2FA) activée.", "2faEnabled": "Authentification à deux facteurs (2FA) activée.",
"successDeleted": "Supprimé avec succès.", "successDeleted": "Supprimé avec succès.",
"successAuthChangePassword": "Le mot de passe a bien été mis à jour." "successAuthChangePassword": "Le mot de passe a bien été mis à jour.",
"Reset Token": "Réinitialiser le jeton",
"liquidIntroduction": "La possibilité de créer des modèles est obtenue via le langage de modèles Liquid. Veuillez vous référer au {0} pour les instructions d'utilisation. Voici les variables disponibles :",
"emailCustomisableContent": "Contenu personnalisable",
"smtpLiquidIntroduction": "Les deux champs suivants peuvent être modélisés via le langage de modèles Liquid. Veuillez vous référer au {0} pour les instructions d'utilisation. Voici les variables disponibles :",
"leave blank for default subject": "laisser vide pour le sujet par défaut",
"emailCustomBody": "Corps personnalisé",
"leave blank for default body": "laisser vide pour le corps par défaut",
"emailTemplateServiceName": "Nom du service",
"emailTemplateHostnameOrURL": "Nom d'hôte ou URL",
"emailTemplateStatus": "Statut",
"emailTemplateMonitorJSON": "objet décrivant la sonde",
"templateMsg": "message de notification",
"templateHeartbeatJSON": "objet décrivant la vérification",
"templateMonitorJSON": "objet décrivant la sonde",
"templateLimitedToUpDownCertNotifications": "disponible uniquement pour les notifications En ligne/Hors ligne/expiration du certificat",
"templateLimitedToUpDownNotifications": "disponible uniquement pour les notifications en ligne/hors ligne",
"emailTemplateMsg": "message de notification",
"emailTemplateLimitedToUpDownNotification": "disponible uniquement pour les vérifications en ligne/hors ligne, sinon nul",
"emailTemplateHeartbeatJSON": "objet décrivant la vérification",
"GrafanaOncallUrl": "URL vers Grafana Oncall",
"noDockerHostMsg": "Pas disponible. Configurez d'abord un hôte Docker.",
"DockerHostRequired": "Veuillez définir l'hôte Docker pour cette sonde.",
"Browser Screenshot": "Capture d'écran du navigateur",
"setup a new monitor group": "configurer un nouveau groupe de sondes",
"remoteBrowsersDescription": "Les navigateurs distants sont une alternative à l'exécution de Chromium localement. Configurez avec un service comme browserless.io ou connectez-vous au vôtre",
"deleteRemoteBrowserMessage": "Êtes-vous sûr de vouloir supprimer ce navigateur distant pour toutes les sondes ?",
"Add a new expiry notification day": "Ajouter un nouveau jour de notification d'expiration",
"Remove the expiry notification": "Supprimer le jour de notification d'expiration",
"openModalTo": "Ouvrir la fenêtre modale pour {0}",
"Add a domain": "Ajouter un domaine",
"Remove domain": "Supprimer le domaine '{0}'",
"Remote Browsers": "Navigateurs distants",
"Remote Browser": "Navigateur distant",
"Add a Remote Browser": "Ajouter un navigateur distant",
"Remote Browser not found!": "Navigateur distant introuvable !",
"self-hosted container": "conteneur auto-hébergé",
"remoteBrowserToggle": "Par défaut, Chromium s'exécute dans le conteneur Uptime Kuma. Vous pouvez utiliser un navigateur distant en activant ce commutateur.",
"useRemoteBrowser": "Utiliser un navigateur distant",
"successKeyword": "Mot-clé de réussite",
"successKeywordExplanation": "Mot clé MQTT qui sera considéré comme un succès",
"Search monitored sites": "Rechercher des sites surveillés",
"settingUpDatabaseMSG": "Mise en place de la base de données. Cela peut prendre un certain temps, veuillez patienter.",
"ntfyPriorityHelptextAllEvents": "Tous les événements sont envoyés avec la priorité maximale",
"ntfyPriorityHelptextAllExceptDown": "Tous les événements sont envoyés avec cette priorité, à l'exception des événements {0}, qui ont une priorité de {1}",
"statusPageSpecialSlugDesc": "Chemin spécial {0} : cette page sera affichée en l'absence de chemin",
"What is a Remote Browser?": "Qu'est-ce qu'un navigateur distant ?"
} }

@ -1,5 +1,5 @@
{ {
"languageName": "עברית", "languageName": "אל תתרגם את languageName ישירות. זה השם של השפה שלך. לדוגמא: אנגלית לאנגלית, 简体中文 לסינית (פשוטה)",
"checkEverySecond": "בדיקה כל {0} שניות", "checkEverySecond": "בדיקה כל {0} שניות",
"retryCheckEverySecond": "ניסיון חוזר כל {0} שניות", "retryCheckEverySecond": "ניסיון חוזר כל {0} שניות",
"resendEveryXTimes": "שליחה שוב כל {0} פעמים", "resendEveryXTimes": "שליחה שוב כל {0} פעמים",
@ -119,8 +119,10 @@
"Update Password": "עידכון סיסמה", "Update Password": "עידכון סיסמה",
"Disable Auth": "השבתת התחברות", "Disable Auth": "השבתת התחברות",
"Enable Auth": "הפעלת התחברות", "Enable Auth": "הפעלת התחברות",
"disableauth.message1": "האם אתם בטוחים שברצונכם<strong>להשבית את האבטחה</strong>?", "disableauth.message1": "האם אתם בטוחים שברצונכם{disableAuth}?",
"disableauth.message2": "אופציה זו מיועדת לתרחישים <strong>בהם בכוונתכם ליישם אימות של צד שלישי</strong> מול Uptime Kuma כגון Cloudflare Access, Authelia או מנגנוני אימות אחרים.", "disable authentication": "להשבית את האבטחה",
"disableauth.message2": "אופציה זו מיועדת לתרחישים {intendThirdPartyAuth} מול Uptime Kuma כגון Cloudflare Access, Authelia או מנגנוני אימות אחרים.",
"where you intend to implement third-party authentication": "בהם בכוונתכם ליישם אימות של צד שלישי",
"Please use this option carefully!": "יש להשתמש באפשרות זו בזהירות!", "Please use this option carefully!": "יש להשתמש באפשרות זו בזהירות!",
"Logout": "התנתקות", "Logout": "התנתקות",
"Leave": "יציאה", "Leave": "יציאה",
@ -222,7 +224,7 @@
"webhookJsonDesc": "{0} מתאים לכל שרתי HTTP מודרניים כגון Express.js", "webhookJsonDesc": "{0} מתאים לכל שרתי HTTP מודרניים כגון Express.js",
"webhookFormDataDesc": "{multipart} טוב ל-PHP. יהיה צורך לנתח את ה-JSON באמצעות {decodeFunction}", "webhookFormDataDesc": "{multipart} טוב ל-PHP. יהיה צורך לנתח את ה-JSON באמצעות {decodeFunction}",
"webhookAdditionalHeadersTitle": "כותרות נוספות", "webhookAdditionalHeadersTitle": "כותרות נוספות",
"webhookAdditionalHeadersDesc": "מגדיר כותרות נוספות שנשלחות עם ה-webhook.", "webhookAdditionalHeadersDesc": "מגדיר כותרות נוספות שנשלחות עם ה-webhook. כל כותרת צריכה להיות מוגדרת כמפתח/ערך JSON.",
"smtp": "אימייל (SMTP)", "smtp": "אימייל (SMTP)",
"secureOptionNone": "None / STARTTLS (25, 587)", "secureOptionNone": "None / STARTTLS (25, 587)",
"secureOptionTLS": "TLS (465)", "secureOptionTLS": "TLS (465)",
@ -644,7 +646,7 @@
"Server Timezone": "אזור זמן של שרת", "Server Timezone": "אזור זמן של שרת",
"statusPageMaintenanceEndDate": "סוך", "statusPageMaintenanceEndDate": "סוך",
"IconUrl": "קישור לתמונת אייקון", "IconUrl": "קישור לתמונת אייקון",
"Enable DNS Cache": "הפעל מטמון DNS", "Enable DNS Cache": "(הוצא משימוש) הפעל מטמון DNS עבור צגי HTTP(ים).",
"Enable": "הפעל", "Enable": "הפעל",
"Disable": "השבת", "Disable": "השבת",
"dnsCacheDescription": "ייתכן שהוא לא עובד בסביבות IPv6 מסוימות, השבת אותו אם אתה נתקל בבעיות כלשהן.", "dnsCacheDescription": "ייתכן שהוא לא עובד בסביבות IPv6 מסוימות, השבת אותו אם אתה נתקל בבעיות כלשהן.",
@ -740,5 +742,40 @@
"pagertreeCritical": "קריטי", "pagertreeCritical": "קריטי",
"pagertreeResolve": "הגדרה אוטומטית", "pagertreeResolve": "הגדרה אוטומטית",
"ntfyUsernameAndPassword": "שם משתמש וסיסמא", "ntfyUsernameAndPassword": "שם משתמש וסיסמא",
"Cannot connect to the socket server": "לא ניתן להתחבר לשקע השרת" "Cannot connect to the socket server": "לא ניתן להתחבר לשקע השרת",
"pushOthers": "אחרים",
"styleElapsedTime": "הזמן שחלף מתחת לסרגל פעימות הלב",
"Select": "בחר",
"Check/Uncheck": "סמן/בטל סימון",
"tailscalePingWarning": "על מנת להשתמש בצג Tailscale Ping, עליך להתקין את Uptime Kuma ללא Docker וגם להתקין את לקוח Tailscale בשרת שלך.",
"pushViewCode": "כיצד להשתמש ב-Push Monitor? (הצג קוד)",
"Reset Token": "אפס את האסימון",
"noDockerHostMsg": "לא זמין. תחילה הגדר מארח Docker.",
"DockerHostRequired": "אנא הגדר את Docker Host עבור צג זה.",
"endDateTime": "תאריך / זמן סיום",
"setupDatabaseChooseDatabase": "באיזה מסד נתונים אתה רוצה להשתמש?",
"setupDatabaseEmbeddedMariaDB": "אתה לא צריך להגדיר כלום. תמונת docker זו הטמיעה והגדירה עבורך MariaDB באופן אוטומטי. Uptime Kuma יתחבר למסד נתונים זה באמצעות שקע יוניקס.",
"setupDatabaseMariaDB": "התחבר למסד נתונים חיצוני של MariaDB. עליך להגדיר את פרטי חיבור מסד הנתונים.",
"setupDatabaseSQLite": "קובץ מסד נתונים פשוט, מומלץ לפריסות בקנה מידה קטן. לפני v2.0.0, Uptime Kuma השתמש ב-SQLite כמסד הנתונים המוגדר כברירת מחדל.",
"dbName": "שם בסיס הנתונים",
"programmingLanguages": "שפות תכנות",
"styleElapsedTimeShowNoLine": "הצג (ללא קו)",
"styleElapsedTimeShowWithLine": "הצג (עם קו)",
"liquidIntroduction": "יכולת התבניות מושגת באמצעות שפת התבניות Liquid. עיין ב-{0} להוראות שימוש. אלו הם המשתנים הזמינים:",
"templateMsg": "הודעת ההודעה",
"templateHeartbeatJSON": "אובייקט המתאר את פעימות הלב",
"templateMonitorJSON": "אובייקט המתאר את הצג",
"templateLimitedToUpDownCertNotifications": "זמין רק עבור הודעות מעלה/מטה/תפוגה של אישור",
"templateLimitedToUpDownNotifications": "זמין רק להתראות למעלה/מטה",
"webhookBodyPresetOption": "תבנית - {0}",
"webhookBodyCustomOption": "גוף מותאם אישית",
"selectedMonitorCount": "נבחר: {0}",
"filterActivePaused": "הופסק",
"invalidCronExpression": "ביטוי קרון לא חוקי: {0}",
"Request Timeout": "בקש פסק זמן",
"timeoutAfter": "פסק זמן לאחר {0} שניות",
"Invert Keyword": "הפוך מילת מפתח",
"filterActive": "פעיל",
"Expected Value": "ערך צפוי",
"Json Query": "שאילתת Json"
} }

@ -0,0 +1,5 @@
{
"Help": "עזרה",
"languageName": "עברית",
"setupDatabaseChooseDatabase": "באיזה מסד נתונים אתה רוצה להשתמש?"
}

@ -100,8 +100,10 @@
"Update Password": "Spremi novu lozinku", "Update Password": "Spremi novu lozinku",
"Disable Auth": "Onemogući autentikaciju", "Disable Auth": "Onemogući autentikaciju",
"Enable Auth": "Omogući autentikaciju", "Enable Auth": "Omogući autentikaciju",
"disableauth.message1": "Jeste li sigurni da želite <strong>isključiti autentikaciju</strong>?", "disableauth.message1": "Jeste li sigurni da želite {disableAuth}?",
"disableauth.message2": "To je za <strong>korisnike koji imaju vanjsku autentikaciju stranice</strong> ispred Uptime Kume, poput usluge Cloudflare Access.", "disable authentication": "isključiti autentikaciju",
"disableauth.message2": "To je za {intendThirdPartyAuth} ispred Uptime Kume, poput usluge Cloudflare Access.",
"where you intend to implement third-party authentication": "korisnike koji imaju vanjsku autentikaciju stranice",
"Please use this option carefully!": "Pažljivo koristite ovu opciju!", "Please use this option carefully!": "Pažljivo koristite ovu opciju!",
"Logout": "Odjava", "Logout": "Odjava",
"Leave": "Poništi", "Leave": "Poništi",
@ -587,7 +589,7 @@
"Enable Kafka Producer Auto Topic Creation": "Omogući automatsku izradu teme za Kafka producera", "Enable Kafka Producer Auto Topic Creation": "Omogući automatsku izradu teme za Kafka producera",
"Kafka SASL Options": "Kafka SASL opcije", "Kafka SASL Options": "Kafka SASL opcije",
"Mechanism": "Mehanizam", "Mechanism": "Mehanizam",
"Pick a SASL Mechanism...": "Odaberite SASL mehanizam...", "Pick a SASL Mechanism...": "Odaberite SASL mehanizam",
"AccessKey Id": "ID pristupnog ključa", "AccessKey Id": "ID pristupnog ključa",
"Secret AccessKey": "Tajni pristupni ključ", "Secret AccessKey": "Tajni pristupni ključ",
"Session Token": "Token sesije", "Session Token": "Token sesije",
@ -797,7 +799,7 @@
"affectedStatusPages": "Prikazuje poruku o održavanju na odabranim statusnim stranicama", "affectedStatusPages": "Prikazuje poruku o održavanju na odabranim statusnim stranicama",
"atLeastOneMonitor": "Odaberite barem jedan zahvaćeni Monitor", "atLeastOneMonitor": "Odaberite barem jedan zahvaćeni Monitor",
"invertKeywordDescription": "Postavi da ključna riječ mora biti odsutna umjesto prisutna.", "invertKeywordDescription": "Postavi da ključna riječ mora biti odsutna umjesto prisutna.",
"jsonQueryDescription": "Izvršite JSON upit nad primljenim odgovorom i provjerite očekivanu povrtanu vrijednost. Ona će se za usporedbu pretvoriti u niz znakova (string). Pogledajte stranicu <a href='https://jsonata.org/'>jsonata.org</a> za dokumentaciju o jeziku upita. Testno okruženje možete pronaći <a href='https://try.jsonata.org/'>ovdje</a>.", "jsonQueryDescription": "Izvršite JSON upit nad primljenim odgovorom i provjerite očekivanu povrtanu vrijednost. Ona će se za usporedbu pretvoriti u niz znakova (string). Pogledajte stranicu {0} za dokumentaciju o jeziku upita. Testno okruženje možete pronaći {1}.",
"Strategy": "Strategija", "Strategy": "Strategija",
"Free Mobile User Identifier": "Besplatni mobilni korisnički identifikator", "Free Mobile User Identifier": "Besplatni mobilni korisnički identifikator",
"Free Mobile API Key": "Besplatni mobilni ključ za API", "Free Mobile API Key": "Besplatni mobilni ključ za API",
@ -864,5 +866,50 @@
"successResumed": "Uspješno nastavljeno.", "successResumed": "Uspješno nastavljeno.",
"successDeleted": "Uspješno obrisano.", "successDeleted": "Uspješno obrisano.",
"tagNotFound": "Oznaka nije pronađena.", "tagNotFound": "Oznaka nije pronađena.",
"pushOthers": "Ostali" "pushOthers": "Ostali",
"Reset Token": "Poništi token",
"GrafanaOncallUrl": "URL za Grafana OnCall",
"liquidIntroduction": "Mogućnost korištenja predložaka postignuto je putem jezika Liquid. Pogledajte upute korištenja na {0}. Ovo su dostupne varijable:",
"templateLimitedToUpDownCertNotifications": "dostupno samo za obavijesti dostupnosti te isteka certifikata",
"emailCustomisableContent": "Prilagodljiv sadržaj",
"smtpLiquidIntroduction": "Sljedeća dva polja mogu se izraditi putem Liquid jezika za predloške. Upute za korištenje dostupne su na {0}. Ovo su dostupne varijable:",
"leave blank for default subject": "ostavite prazno za zadano polje predmeta",
"emailCustomBody": "Prilagođeno tijelo",
"leave blank for default body": "ostavite prazno za zadani sadržaj tijela",
"emailTemplateServiceName": "Naziv servisa",
"emailTemplateHostnameOrURL": "Naziv domaćina ili URL",
"emailTemplateStatus": "Status",
"emailTemplateMonitorJSON": "objekt koji opisuje Monitor",
"emailTemplateHeartbeatJSON": "objekt koji opisuje provjeru",
"emailTemplateMsg": "poruka obavijesti",
"emailTemplateLimitedToUpDownNotification": "dostupno samo za provjere dostupnosti, inače je null",
"templateMsg": "poruka obavijesti",
"templateHeartbeatJSON": "predmet koji opisuje provjeru",
"templateMonitorJSON": "objekt koji opisuje Monitor",
"templateLimitedToUpDownNotifications": "dostupno samo za obavijesti dostupnosti",
"noDockerHostMsg": "Nije dostupno. Morate postaviti Docker domaćina.",
"DockerHostRequired": "Postavite Docker domaćina za ovaj Monitor.",
"Browser Screenshot": "Snimka zaslona preglednika",
"successKeyword": "Ključna riječ za uspjeh",
"successKeywordExplanation": "MQTT ključna riječ koja označava uspješan odgovor",
"remoteBrowserToggle": "Chromium se pokreće unutar Uptime Kuma kontejnera. Možete koristiti udaljeni preglednik uključivanjem ove opcije.",
"deleteRemoteBrowserMessage": "Jeste li sigurni da želite ukloniti ovaj udaljeni preglednik za sve Monitore?",
"Remote Browsers": "Udaljeni preglednici",
"settingUpDatabaseMSG": "Postavljanje baze podatak u tijeku. Ovaj postupak može potrajati, budite strpljivi.",
"ntfyPriorityHelptextAllEvents": "Svi događaji šalju se s maksimalnim prioritetom",
"ntfyPriorityHelptextAllExceptDown": "Svi događaji šalju se ovim prioritetom, osim {0} događaja, koji imaju prioritet {1}",
"Search monitored sites": "Pretraži monitorirane stranice",
"statusPageSpecialSlugDesc": "Poseban slug {0}: ova stranica će se pokazati kada nijedan slug nije naveden",
"openModalTo": "Otvori modal do {0}",
"Add a domain": "Dodaj domenu",
"setup a new monitor group": "Postavljanje nove grupe Monitora",
"Remove domain": "Ukloni domenu '{0}'",
"Remote Browser": "Udaljeni preglednik",
"Add a Remote Browser": "Dodaj udaljeni preglednik",
"Remote Browser not found!": "Udaljeni preglednik nije pronađen!",
"remoteBrowsersDescription": "Udaljeni preglenici alternativa su lokalnom pokretanju Chromiuma. Postavite uslugu poput browserless.io ili spojite vlastiti preglednik",
"self-hosted container": "kontejner koji je self-hosted",
"useRemoteBrowser": "Korištenje udaljenog preglednika",
"Add a new expiry notification day": "Dodaj novi dan za istek obavijesti",
"Remove the expiry notification": "Ukloni dan za istek obavijesti"
} }

@ -54,7 +54,7 @@
"Delete": "Törlés", "Delete": "Törlés",
"Current": "Aktuális", "Current": "Aktuális",
"Uptime": "Uptime", "Uptime": "Uptime",
"Cert Exp.": "Tanúsítvány Lejárata", "Cert Exp.": "Tanúsítvány Lejárat",
"day": "nap", "day": "nap",
"-day": "-nap", "-day": "-nap",
"hour": "óra", "hour": "óra",
@ -96,8 +96,10 @@
"Update Password": "Jelszó módosítása", "Update Password": "Jelszó módosítása",
"Disable Auth": "Hitelesítés tiltása", "Disable Auth": "Hitelesítés tiltása",
"Enable Auth": "Hitelesítés engedélyezése", "Enable Auth": "Hitelesítés engedélyezése",
"disableauth.message1": "Biztos benne, hogy <strong>kikapcsolja a hitelesítést</strong>?", "disableauth.message1": "Biztos benne, hogy {disableAuth}?",
"disableauth.message2": "Akkor érdemes, ha <strong>van 3rd-party hitelesítés</strong> az Uptime Kuma-t megelőzően mint a Cloudflare Access.", "disable authentication": "kikapcsolja a hitelesítést",
"disableauth.message2": "Akkor érdemes, ha {intendThirdPartyAuth} az Uptime Kuma-t megelőzően mint a Cloudflare Access.",
"where you intend to implement third-party authentication": "van 3rd-party hitelesítés",
"Please use this option carefully!": "Használja megfontoltan!", "Please use this option carefully!": "Használja megfontoltan!",
"Logout": "Kijelentkezés", "Logout": "Kijelentkezés",
"Leave": "Elhagy", "Leave": "Elhagy",
@ -132,7 +134,7 @@
"Clear Data": "Adatok törlése", "Clear Data": "Adatok törlése",
"Events": "Események", "Events": "Események",
"Heartbeats": "Életjelek", "Heartbeats": "Életjelek",
"Auto Get": "Auto lekérd.", "Auto Get": "Auto lekérdezés",
"backupDescription": "Mentheti az összes figyelőt és értesítést egy JSON fájlba.", "backupDescription": "Mentheti az összes figyelőt és értesítést egy JSON fájlba.",
"backupDescription2": "Megj: Történeti és esemény adatokat nem tartalmaz.", "backupDescription2": "Megj: Történeti és esemény adatokat nem tartalmaz.",
"backupDescription3": "Érzékeny adatok, pl. értesítés tokenek is vannak az export fájlban. Figyeljen erre!", "backupDescription3": "Érzékeny adatok, pl. értesítés tokenek is vannak az export fájlban. Figyeljen erre!",
@ -402,7 +404,7 @@
"Display Timezone": "Időzóna megjelenítése", "Display Timezone": "Időzóna megjelenítése",
"Server Timezone": "Szerver időzóna", "Server Timezone": "Szerver időzóna",
"statusPageMaintenanceEndDate": "Vége", "statusPageMaintenanceEndDate": "Vége",
"Enable DNS Cache": "DNS-gyorsítótár engedélyezése", "Enable DNS Cache": "(Idejétmúlt) DNS gyorsítótár engedélyezése a HTTP(s) monitorok számára",
"Enable": "Engedélyezze", "Enable": "Engedélyezze",
"Disable": "Letiltás", "Disable": "Letiltás",
"Affected Monitors": "Érintett monitorok", "Affected Monitors": "Érintett monitorok",
@ -420,7 +422,7 @@
"All Status Pages": "Összes státusz oldal", "All Status Pages": "Összes státusz oldal",
"topic": "Téma", "topic": "Téma",
"topicExplanation": "MQTT téma a monitorhoz", "topicExplanation": "MQTT téma a monitorhoz",
"webhookAdditionalHeadersDesc": "Hozzáad további fejléceket a webhook-hoz", "webhookAdditionalHeadersDesc": "További fejléceket állít be, amelyeket a webhookkal együtt küldünk. Minden egyes fejlécet JSON kulcs/érték formában kell definiálni.",
"error": "hiba", "error": "hiba",
"critical": "kritikus", "critical": "kritikus",
"Customize": "Testreszab", "Customize": "Testreszab",
@ -516,5 +518,260 @@
"promosmsPassword": "API Jelszó", "promosmsPassword": "API Jelszó",
"wayToGetKookBotToken": "Hozz létre egy app-ot és szerezz egy tokent itt: {0}", "wayToGetKookBotToken": "Hozz létre egy app-ot és szerezz egy tokent itt: {0}",
"wayToGetKookGuildID": "Válts át 'Developer Mode'-ra a Kook beállításoknál majd jobb klikkelve a guildra megtalálod az ID-jét", "wayToGetKookGuildID": "Válts át 'Developer Mode'-ra a Kook beállításoknál majd jobb klikkelve a guildra megtalálod az ID-jét",
"Resend Notification if Down X times consecutively": "Értesítés Újraküldése ha X-szer nem válaszol" "Resend Notification if Down X times consecutively": "Értesítés Újraküldése ha X-szer nem válaszol",
"Authentication": "Hitelesítés",
"Passive Monitor Type": "Passzív megfigyelési típus",
"General Monitor Type": "Általános figyelő típus",
"Specific Monitor Type": "Specifikus megfigyelési típus",
"Reconnecting...": "Újracsatlakozás...",
"Saved.": "Elmentve.",
"authUserInactiveOrDeleted": "A felhasználó inaktív vagy nem létezik.",
"authIncorrectCreds": "Helytelen felhasználónév vagy jelszó.",
"2faAlreadyEnabled": "A kétlépcsős azonosítás már be van kapcsolva.",
"successAdded": "Sikeres hozzáadás.",
"2faDisabled": "Kétlépcsős azonosítás kikapcsolva.",
"successAuthChangePassword": "Sikeres jelszó módosítás.",
"successBackupRestored": "Sikeres mentés visszaállítás.",
"statusPageRefreshIn": "Frissítés {0} múlva",
"Retry": "Újrapróbálkozás",
"Close": "Bezárás",
"Request Body": "Kérés törzs",
"successResumed": "Sikeres folytatás.",
"successDeleted": "Sikeres törlés.",
"Query": "Kérés",
"settingsCertificateExpiry": "TLS tanúsítvány lejárat",
"chromeExecutableAutoDetect": "Automatikus felismerés",
"emailTemplateStatus": "Státusz",
"deleteMaintenanceMsg": "Biztosan törölni szeretné ezt a karbantartást?",
"apiKeyAddedMsg": "Az ön API kulcsa létrejött. Kérjük jegyezze fel, mert nem lesz a felületen elérhető.",
"Expires": "Lejár",
"disableAPIKeyMsg": "Biztosan le fel szeretné függeszteni ezt az API kulcsot?",
"Key Added": "Kulcs létrehozva",
"selectedMonitorCount": "Kiválasztva: {0}",
"sameAsServerTimezone": "A szerver időzónájával megegyező",
"setupDatabaseChooseDatabase": "Melyik adatbázist szeretné használni?",
"setupDatabaseEmbeddedMariaDB": "Nem kell semmit beállítani. Ez a docker imagefájl automatikusan beágyazott és konfigurált egy MariaDB-t a számodra. Az Uptime Kuma unix socket-en keresztül fog csatlakozni ehhez az adatbázishoz.",
"setupDatabaseMariaDB": "Kapcsolódás egy külső MariaDB adatbázishoz. Meg kell adnia az adatbázis kapcsolat információit.",
"setupDatabaseSQLite": "Egy egyszerű adatbázisfájl, amely kis méretű telepítésekhez ajánlott. A v2.0.0 előtt az Uptime Kuma az SQLite-ot használta alapértelmezett adatbázisként.",
"dbName": "Adazbázis neve",
"FlashDuty Severity": "Súlyosság",
"lunaseaDeviceID": "Eszköz azonosító",
"lunaseaUserID": "Felhasználó azonosító",
"successPaused": "Sikeres szüneteltetés.",
"successEdited": "Sikeres szerkesztés.",
"tagNotFound": "Nem található címke.",
"foundChromiumVersion": "Chromium/Chrome találat. Verzió: {0}",
"Examples": "Példák",
"Home Assistant URL": "Home Assistant URL",
"Add API Key": "API kulcs hozzáadása",
"apiKey-expired": "Lejárt",
"apiKey-inactive": "Inaktív",
"apiKey-active": "Aktív",
"Request Timeout": "A kérés időtúllépés miatt megszakadt",
"timeoutAfter": "Időtúllépés {0} másodperc után",
"Json Query": "Json lekérdezés",
"Home": "Kezdőlap",
"Cannot connect to the socket server": "Nem lehet csatlakozni a socket szerverhez",
"Expected Value": "Várt érték",
"successKeyword": "Siker kulcsszó",
"pushViewCode": "Hogyan kell használni a Push monitort? (Kód megtekintése)",
"setAsDefaultProxyDescription": "Ez a proxy alapértelmezés szerint engedélyezve lesz az új megfigyelők esetében. A proxy továbbra is letiltható minden egyes monitor esetében külön-külön.",
"The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Az aktuális kapcsolat elveszhet, ha jelenleg a Cloudflare Tunnelen keresztül csatlakozik. Biztos, hogy le akarja állítani? Írja be az aktuális jelszavát a megerősítéshez.",
"telegramSendSilentlyDescription": "Az üzenetet némán küldi el. A felhasználók hang nélküli értesítést kapnak.",
"trustProxyDescription": "Bízz az 'X-Forwarded-*' fejlécekben. Ha a helyes ügyfél IP-t szeretnél kapni, és az Uptime Kuma egy proxy, például Nginx vagy Apache mögött van, akkor ezt engedélyezni kell.",
"liquidIntroduction": "Az ütemezhetőséget a Liquid templating nyelv segítségével érhetjük el. A használati utasításokat lásd a {0} oldalon. Ezek a rendelkezésre álló változók:",
"successKeywordExplanation": "MQTT kulcsszó, amelyet sikerként fogunk figyelembe venni",
"warningTimezone": "A szerver időzónáját használja",
"recurringIntervalMessage": "Futtatás minden nap egyszer | Futtatás {0} naponként egyszer",
"goAlertIntegrationKeyInfo": "A szolgáltatás általános API-integrációs kulcsának lekérdezése ebben a formátumban: \"aaaaaaaa-bbbb-cccccc-dddd-eeeeeeeeeeeeee\" általában a másolt URL token paraméterének értéke.",
"wayToGetPagerDutyKey": "Ezt a Szolgáltatás -> Szolgáltatásjegyzék -> (Szolgáltatás kiválasztása) -> Integrációk -> Integráció hozzáadása menüpontban érheti el. Itt kereshet rá az \"Events API V2\" kifejezésre. További információ {0}",
"backupOutdatedWarning": "Megszűnt: Ez a biztonsági mentési funkció nem karbantartott, ezért nem tud teljes biztonsági mentést létrehozni vagy visszaállítani.",
"SecretKey": "TitkosKulcs",
"Reset Token": "Token visszaállítása",
"Select": "Kiválasztás",
"Check/Uncheck": "Megjelölni/feloldani",
"Steam Game Server": "Steam játék szerver",
"Optional": "Opcionális",
"settingUpDatabaseMSG": "Az adatbázis beállítása. Ez eltarthat egy ideig, kérlek légy türelemmel.",
"webhookBodyPresetOption": "Előbeállítás - {0}",
"startOrEndWithOnly": "Csak {0}-val kezdődő vagy végződő",
"PushDeer Key": "PushDeer kulcs",
"wayToGetClickSendSMSToken": "Az API felhasználónevet és az API kulcsot a {0} oldalon kaphatja meg.",
"pushOthers": "Egyebek",
"programmingLanguages": "Programozási Nyelvek",
"Docker Container": "Docker Konténer",
"Device Token": "Eszköz Token",
"filterActive": "Aktív",
"filterActivePaused": "Szünetel",
"Add New Tag": "Új címke hozzáadása",
"webhookBodyCustomOption": "Egyedi törzs",
"Search monitored sites": "Megfigyelt oldalak keresése",
"templateMsg": "az értesítés üzenete",
"templateHeartbeatJSON": "a szívverést leíró objektum",
"templateMonitorJSON": "a monitort leíró objektum",
"templateLimitedToUpDownNotifications": "csak a FEL/LE értesítéseknél érhető el",
"templateLimitedToUpDownCertNotifications": "csak az FEL/LE/Bizonyítvány lejáratáról szóló értesítések esetében érhető el",
"Retype the address.": "Ismételje meg a címet.",
"enableProxyDescription": "Ez a proxy nem lesz hatással a monitorkérelmekre, amíg nem aktiválódik. Az aktiválás állapotával ideiglenesen letilthatja a proxy-t az összes monitorról.",
"No consecutive dashes": "Egymást követő kötőjelek nélkül",
"wayToGetCloudflaredURL": "(Letöltés cloudflaretől {0})",
"Don't know how to get the token? Please read the guide:": "Nem tudod, hogy hogyan szerezd meg a tokent? Olvasd el az útmutatót:",
"About": "Rólunk",
"Days Remaining:": "Nap hátramaradt:",
"Certificate Expiry Notification": "Tanúsítvány lejáratáról szóló értesítés",
"API Username": "API Felhasználónév",
"API Key": "API Kulcs",
"Also check beta release": "Ellenőrizd a béta kiadást is",
"Using a Reverse Proxy?": "Fordított proxy használata?",
"Check how to config it for WebSocket": "Ellenőrizd, hogyan kell konfigurálni a WebSocket számára",
"Most likely causes:": "Legvalószínűbb okok:",
"There might be a typing error in the address.": "Lehet, hogy gépelési hiba van a címben.",
"What you can try:": "Amit kipróbálhatsz:",
"Go back to the previous page.": "Térj vissza az előző oldalra.",
"Coming Soon": "Hamarosan",
"Connection String": "Csatlakozási karakterlánc",
"statusPageSpecialSlugDesc": "Speciális slug {0}: ez az oldal akkor jelenik meg, ha nincs slug megadva",
"certificationExpiryDescription": "A HTTPS-monitorok értesítést váltanak ki, ha a TLS-tanúsítvány lejár:",
"Setup Docker Host": "Docker hoszt beállítása",
"Connection Type": "Csatlakozás Típusa",
"Docker Daemon": "Docker Daemon",
"deleteDockerHostMsg": "Biztos, hogy törölni akarod ezt a docker hostot az összes monitorról?",
"socket": "Socket",
"tcp": "TCP / HTTP",
"Container Name / ID": "Konténer neve / Azonosító",
"Docker Hosts": "Docket Hosztok",
"Domain": "Domain",
"Docker Host": "Docket Hoszt",
"noDockerHostMsg": "Nem elérhető. Először állíts be egy Docker Hosztot.",
"DockerHostRequired": "Kérlek állítsd be a Docker Hosztot ehhez a monitorhoz.",
"tailscalePingWarning": "A Tailscale Ping monitor használatához telepítenie kell az Uptime Kuma-t Docker nélkül, és telepíteni kell a Tailscale klienst is a szerverre.",
"Workstation": "Munkaállomás",
"telegramMessageThreadID": "(Választható) Üzenetszál azonosítója",
"telegramMessageThreadIDDescription": "Választható Egyedi azonosítója a fórum célüzenetszálának (témájának); csak a fórum szupercsoportok esetében",
"telegramSendSilently": "Csendben küldeni",
"telegramProtectContent": "Védi továbbítást/mentést",
"telegramProtectContentDescription": "Ha engedélyezve van, a bot üzenetei a Telegramban védve lesznek a továbbítástól és a mentéstől.",
"Trigger type:": "Kioldó típusa:",
"Event data:": "Egyemény adata:",
"Then choose an action, for example switch the scene to where an RGB light is red.": "Ezután válasz ki egy műveletet, például állítsa a jelenetet úgy, hogy egy RGB fény piros legyen.",
"Frontend Version": "Frontend verzió",
"Frontend Version do not match backend version!": "Frontend verzió nem egyezik a backend verzióval!",
"backupRecommend": "Helyette készíts biztonsági mentést a kötetről vagy az adatmappáról (./data/) közvetlenül.",
"recurringInterval": "Intervallum",
"Recurring": "Ismétlődő",
"strategyManual": "Aktív/inaktív manuálisan",
"endDateTime": "Befejezés dátuma/időpontja",
"startDateTime": "Kezdés dátuma/időpontja",
"cronExpression": "Cron kifejezés",
"cronSchedule": "Időzítő: ",
"invalidCronExpression": "Érvénytelen Cron kifejezés: {0}",
"chromeExecutable": "Chrome/Chromium futtatható",
"Single Maintenance Window": "Egyetlen karbantartási ablak",
"Maintenance Time Window of a Day": "Egy nap karbantartási időablak",
"Effective Date Range": "Hatályos dátumtartomány (opcionális)",
"Schedule Maintenance": "Karbantartás ütemezése",
"DateTime Range": "DátumIdő tartomány",
"wayToGetZohoCliqURL": "Megtudhatja, hogy hogyan hozz létre egy webhook URL-címet {0}.",
"chromeExecutableDescription": "A Docker-felhasználók számára, ha a Chromium még nincs telepítve, a telepítés és a teszteredmény megjelenítése néhány percet vehet igénybe. 1 GB lemezterületet foglal.",
"loadingError": "Nem sikerült lekérni az adatokat, kérjük, próbálja meg később újra.",
"cloneOf": "{0} klónja",
"dataRetentionTimeError": "A megőrzési időszaknak 0-nak vagy annál nagyobbnak kell lennie",
"infiniteRetention": "Végtelen visszatartás esetén állítsa 0-ra.",
"confirmDeleteTagMsg": "Biztos, hogy törölni szeretné ezt a címkét? Az ehhez a címkéhez tartozó monitorok nem kerülnek törlésre.",
"enableGRPCTls": "Engedélyezi a gRPC-kérelem küldését TLS-kapcsolattal",
"octopushAPIKey": "\"API-kulcs\" a HTTP API hitelesítő adatokból a vezérlőpultban",
"octopushLogin": "\"Bejelentkezés\" a HTTP API hitelesítő adatokból a vezérlőpultban",
"pushoversounds pushover": "Pushover (alapértelmezett)",
"Proto Service Name": "Proto szolgáltatás neve",
"Proto Method": "Proto módszer",
"Proto Content": "Proto tartalom",
"Economy": "Gazdaság",
"Lowcost": "Alacsonyár",
"SendKey": "KulcsKüldés",
"SMSManager API Docs": "SMSManager API dokumentáció ",
"Gateway Type": "Átjáró típusa",
"high": "magas",
"Remove domain": "'{0}' domain eltávolítása",
"You can divide numbers with": "Számokat oszthatunk a",
"Base URL": "Bázis URL",
"goAlertInfo": "A GoAlert egy nyílt forráskódú alkalmazás az ügyeleti időbeosztáshoz, az automatikus eszkalációhoz és értesítésekhez (például SMS vagy hanghívás). Automatikusan hívja be a megfelelő személyt, a megfelelő módon és a megfelelő időben! {0}",
"AccessKeyId": "Hozzáférési Kulcs Azonosítója",
"PhoneNumbers": "Telefonszámok",
"TemplateCode": "SablonKód",
"SignName": "TáblaNév",
"Sms template must contain parameters: ": "Az sms-sablonnak paramétereket kell tartalmaznia: ",
"Bark Endpoint": "Bark végpont",
"Bark Group": "Bark csoport",
"Bark Sound": "Bark hang",
"WebHookUrl": "WebHookUrl",
"High": "Magas",
"Bark API Version": "Bark API Verzió",
"promosmsAllowLongSMS": "Hosszú üzenet engedélyezése",
"Huawei": "Huawei",
"Integration Key": "Integrációs kulcs",
"Integration URL": "Integrációs URL",
"Auto resolve or acknowledged": "Automatikus feloldás vagy nyugtázás",
"do nothing": "ne csináljon semmit",
"auto acknowledged": "automatikus visszaigazolás",
"auto resolve": "automatikus feloldás",
"smseagleTo": "Telefonszám(ok)",
"smseagleContact": "Telefonkönyv kapcsolattartó neve(i)",
"onebotHttpAddress": "OneBot HTTP cím",
"onebotMessageType": "OneBot HTTP cím",
"onebotPrivateMessage": "Privát",
"onebotUserOrGroupId": "Csoport/Felhasználó azonosító",
"onebotSafetyTips": "A biztonság érdekében be kell állítani a hozzáférési jelszót",
"Continue": "Folytatás",
"Google Analytics ID": "Google Analitika Azonosító",
"RadiusCalledStationIdDescription": "A hívott eszköz azonosítója",
"RadiusCallingStationId": "Hívó állomás azonosítója",
"RadiusCallingStationIdDescription": "A hívó eszköz azonosítója",
"Domain Names": "Domain nevek",
"signedInDisp": "Bejelentkezve, mint {0}",
"signedInDispDisabled": "Belépés letiltva.",
"Add a new expiry notification day": "Új lejárati értesítési nap hozzáadása",
"Remove the expiry notification": "A lejáratról szóló értesítés napjának eltávolítása",
"Show Powered By": "Jelenjen meg a \"Szolgáltatva által\"t",
"RadiusSecret": "Titkos sugár",
"RadiusSecretDescription": "Megosztott titok az ügyfél és a szerver között",
"RadiusCalledStationId": "Hívott állomás azonosítója",
"Date and Time": "Dátum és idő",
"enableNSCD": "Az NSCD (Name Service Cache Daemon) engedélyezése az összes DNS-kérés gyorsítótárba helyezéséhez",
"Edit Maintenance": "Karbantartás szerkesztése",
"smseagleGroup": "Telefonkönyv csoport neve(i)",
"styleElapsedTime": "Az eltelt idő a heartbeat sáv alatt",
"styleElapsedTimeShowNoLine": "Megjelenítés (nincs sor)",
"styleElapsedTimeShowWithLine": "Megjelenítés (vonallal)",
"disableCloudflaredNoAuthMsg": "No Auth módban vagy, jelszóra nincs szükség.",
"wayToGetLineNotifyToken": "Hozzáférési jelszót kaphat {0}-tól/-től",
"Long-Lived Access Token": "Hosszú élettartamú hozzáférési token",
"Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "A hosszú élettartamú hozzáférési token létrehozásához kattintson a profilja nevére (balra lent), görgessen az aljára, majd kattintson a Token létrehozása gombra. ",
"Notification Service": "Értesítési szolgáltatás",
"default: notify all devices": "alapértelmezett: minden eszköz értesítése",
"A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Az Értesítési szolgáltatások listája megtalálható a Home Assistantban a \"Fejlesztői eszközök > Szolgáltatások\" menüpont alatt, ahol az \"értesítés\" kifejezésre keresve megtalálja a készülék/telefon nevét.",
"Automations can optionally be triggered in Home Assistant:": "Az automatizálás opcionálisan elindítható a Home Assistantban:",
"Event type:": "Esemény típusa:",
"Topic": "Téma",
"WeCom Bot Key": "WeCom Bot Key",
"Setup Proxy": "Proxy beállítása",
"Proxy Protocol": "Proxy Protokol",
"Proxy Server": "Proxy szerver",
"Proxy server has authentication": "A proxy szerver hitelesítéssel rendelkezik",
"smseagleRecipientType": "Címzett típusa",
"smseagleRecipient": "Címzett(ek) (több címzettet vesszővel kell elválasztani)",
"smseagleToken": "API hozzáférési jelszó",
"smseagleUrl": "Az Ön SMSEagle eszközének URL címe",
"smseagleEncoding": "Unicode-ként küldés",
"smseaglePriority": "Üzenet prioritása (0-9, alapértelmezett = 0)",
"Recipient Number": "Recipient Number",
"From Name/Number": "A névtől/számtól",
"Leave blank to use a shared sender number.": "Hagyd üresen, ha megosztott feladószámot szeretnél használni.",
"Octopush API Version": "Octopush API verzió",
"Legacy Octopush-DM": "Octopush-DM örökség",
"ntfy Topic": "ntfy Téma",
"onebotGroupMessage": "Csoport",
"SecretAccessKey": "Titkos Hozzáférési Kulcs",
"Invert Keyword": "Kulcsszó invertálása",
"or": "vagy",
"For safety, must use secret key": "Biztonsági okoból kötelező a titkos kulcs használata"
} }

@ -69,9 +69,9 @@
"Keyword": "Kata Kunci", "Keyword": "Kata Kunci",
"Friendly Name": "Nama yang Ramah", "Friendly Name": "Nama yang Ramah",
"URL": "URL", "URL": "URL",
"Hostname": "Nama host", "Hostname": "Nama Host",
"Port": "Port", "Port": "Port",
"Heartbeat Interval": "Rentang Waktu Heartbeat", "Heartbeat Interval": "Jeda Waktu Heartbeat",
"Retries": "Coba lagi", "Retries": "Coba lagi",
"Heartbeat Retry Interval": "Jeda Pengulangan Heartbeat", "Heartbeat Retry Interval": "Jeda Pengulangan Heartbeat",
"Resend Notification if Down X times consecutively": "Kirim Ulang Notifikasi jika Tidak Aktif X kali", "Resend Notification if Down X times consecutively": "Kirim Ulang Notifikasi jika Tidak Aktif X kali",
@ -85,7 +85,7 @@
"Save": "Simpan", "Save": "Simpan",
"Notifications": "Notifikasi", "Notifications": "Notifikasi",
"Not available, please setup.": "Tidak tersedia, silakan atur.", "Not available, please setup.": "Tidak tersedia, silakan atur.",
"Setup Notification": "Setel Notifikasi", "Setup Notification": "Setelan Notifikasi",
"Light": "Terang", "Light": "Terang",
"Dark": "Gelap", "Dark": "Gelap",
"Auto": "Otomatis", "Auto": "Otomatis",
@ -102,11 +102,13 @@
"New Password": "Sandi Baru", "New Password": "Sandi Baru",
"Repeat New Password": "Ulangi Sandi Baru", "Repeat New Password": "Ulangi Sandi Baru",
"Update Password": "Perbarui Kata Sandi", "Update Password": "Perbarui Kata Sandi",
"Disable Auth": "Nonaktifkan Autentikasi", "Disable Auth": "Matikan Autentikasi",
"Enable Auth": "Aktifkan Autentikasi", "Enable Auth": "Aktifkan Autentikasi",
"disableauth.message1": "Apakah Anda yakin ingin <strong>menonaktifkan autentikasi</strong>?", "disableauth.message1": "Apakah Anda yakin ingin {disableAuth}?",
"disableauth.message2": "Ini untuk <strong>mereka yang memiliki autentikasi pihak ketiga</strong> diletakkan di depan Uptime Kuma, misalnya akses Cloudflare.", "disable authentication": "menonaktifkan autentikasi",
"Please use this option carefully!": "Silahkan gunakan opsi ini dengan hati-hati!", "disableauth.message2": "Ini untuk {intendThirdPartyAuth} diletakkan di depan Uptime Kuma, misalnya akses Cloudflare.",
"where you intend to implement third-party authentication": "mereka yang memiliki autentikasi pihak ketiga",
"Please use this option carefully!": "Gunakan pilihan ini dengan hati-hati!",
"Logout": "Keluar", "Logout": "Keluar",
"Leave": "Pergi", "Leave": "Pergi",
"I understand, please disable": "Saya mengerti, silakan dinonaktifkan", "I understand, please disable": "Saya mengerti, silakan dinonaktifkan",
@ -123,7 +125,7 @@
"Email": "Surel", "Email": "Surel",
"Test": "Tes", "Test": "Tes",
"Certificate Info": "Info Sertifikasi", "Certificate Info": "Info Sertifikasi",
"Resolver Server": "Resolver Server", "Resolver Server": "Server Penjawab",
"Resource Record Type": "Jenis Rekam Sumber Daya", "Resource Record Type": "Jenis Rekam Sumber Daya",
"Last Result": "Hasil Terakhir", "Last Result": "Hasil Terakhir",
"Create your admin account": "Buat akun admin Anda", "Create your admin account": "Buat akun admin Anda",
@ -139,7 +141,7 @@
"Create": "Buat", "Create": "Buat",
"Clear Data": "Bersihkan Data", "Clear Data": "Bersihkan Data",
"Events": "Peristiwa", "Events": "Peristiwa",
"Heartbeats": "Heartbeats", "Heartbeats": "Detak",
"Auto Get": "Ambil Otomatis", "Auto Get": "Ambil Otomatis",
"backupDescription": "Anda dapat mencadangkan semua monitor dan semua notifikasi ke dalam berkas JSON.", "backupDescription": "Anda dapat mencadangkan semua monitor dan semua notifikasi ke dalam berkas JSON.",
"backupDescription2": "Catatan: Data sejarah dan peristiwa tidak disertakan.", "backupDescription2": "Catatan: Data sejarah dan peristiwa tidak disertakan.",
@ -265,13 +267,13 @@
"SMS Type": "Tipe SMS", "SMS Type": "Tipe SMS",
"octopushTypePremium": "Premium (Cepat - direkomendasikan untuk mengingatkan)", "octopushTypePremium": "Premium (Cepat - direkomendasikan untuk mengingatkan)",
"octopushTypeLowCost": "Low Cost (Lambat, terkadang diblokir oleh operator)", "octopushTypeLowCost": "Low Cost (Lambat, terkadang diblokir oleh operator)",
"checkPrice": "Check {0} prices:", "checkPrice": "Cek harga {0}:",
"apiCredentials": "Kredensial API", "apiCredentials": "Kredensial API",
"octopushLegacyHint": "Apakah Anda menggunakan Octopush versi lama (2011-2020) atau versi baru?", "octopushLegacyHint": "Apakah Anda menggunakan Octopush versi lama (2011-2020) atau versi baru?",
"Check octopush prices": "Cek harga octopush {0}.", "Check octopush prices": "Cek harga octopush {0}.",
"octopushPhoneNumber": "Nomer Telpon/HP (format internasional, contoh : +33612345678) ", "octopushPhoneNumber": "Nomer Telpon/HP (format internasional, contoh : +33612345678) ",
"octopushSMSSender": "Nama Pengirim SMS : 3-11 karakter alfanumerik dan spasi (a-zA-Z0-9)", "octopushSMSSender": "Nama Pengirim SMS : 3-11 karakter alfanumerik dan spasi (a-zA-Z0-9)",
"LunaSea Device ID": "LunaSea Device ID", "LunaSea Device ID": "ID Perangkat LunaSea",
"Apprise URL": "Apprise URL", "Apprise URL": "Apprise URL",
"Example:": "Contoh: {0}", "Example:": "Contoh: {0}",
"Read more:": "Baca lebih lanjut: {0}", "Read more:": "Baca lebih lanjut: {0}",
@ -299,7 +301,7 @@
"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",
"matrixHomeserverURL": "Homeserver URL (dengan http(s):// dan port tambahan)", "matrixHomeserverURL": "Homeserver URL (dengan http(s):// dan port tambahan)",
"Internal Room Id": "Internal Room ID", "Internal Room Id": "ID Ruang Internal",
"matrixDesc1": "Kamu dapat menemukan Internal Room ID dengan melihat di bagian konfigurasi ruang di Matrix. Seharusnya berbentuk seperti !QMdRCpUIfLwsfjxye6:home.server.", "matrixDesc1": "Kamu dapat menemukan Internal Room ID dengan melihat di bagian konfigurasi ruang di Matrix. Seharusnya berbentuk seperti !QMdRCpUIfLwsfjxye6:home.server.",
"matrixDesc2": "Sangat direkomendasikan kepada Anda untuk membuat akun baru dan jangan menggunakan token atas akun terkini yang memiliki token akses secara penuh terhadap akun dan seluruh ruang yang terdaftar. Alih - alih, buat akun baru dan undang akun tsb ke ruang tempat anda ingin menerima notifikasi. Untuk mendapatkan token akses anda dapat menjalankan {0}", "matrixDesc2": "Sangat direkomendasikan kepada Anda untuk membuat akun baru dan jangan menggunakan token atas akun terkini yang memiliki token akses secara penuh terhadap akun dan seluruh ruang yang terdaftar. Alih - alih, buat akun baru dan undang akun tsb ke ruang tempat anda ingin menerima notifikasi. Untuk mendapatkan token akses anda dapat menjalankan {0}",
"Method": "Metode", "Method": "Metode",
@ -411,8 +413,8 @@
"SignName": "Nama Tanda", "SignName": "Nama Tanda",
"Sms template must contain parameters: ": "Template SMS harus berisi parameter: ", "Sms template must contain parameters: ": "Template SMS harus berisi parameter: ",
"Bark Endpoint": "Bark Endpoint", "Bark Endpoint": "Bark Endpoint",
"Bark Group": "Bark Group", "Bark Group": "Grup Bark",
"Bark Sound": "Bark Sound", "Bark Sound": "Suara Bark",
"WebHookUrl": "WebHookUrl", "WebHookUrl": "WebHookUrl",
"SecretKey": "SecretKey", "SecretKey": "SecretKey",
"For safety, must use secret key": "Untuk keamaan Anda harus menggunakan kunci rahasia", "For safety, must use secret key": "Untuk keamaan Anda harus menggunakan kunci rahasia",
@ -487,7 +489,7 @@
"RadiusSecretDescription": "Shared Secret antara klien dan server", "RadiusSecretDescription": "Shared Secret antara klien dan server",
"RadiusCalledStationId": "Called Station Id", "RadiusCalledStationId": "Called Station Id",
"RadiusCalledStationIdDescription": "Pengenal perangkat yang dipanggil", "RadiusCalledStationIdDescription": "Pengenal perangkat yang dipanggil",
"RadiusCallingStationId": "Calling Station Id", "RadiusCallingStationId": "Memanggil Station Id",
"RadiusCallingStationIdDescription": "Pengenal perangkat panggilan", "RadiusCallingStationIdDescription": "Pengenal perangkat panggilan",
"Certificate Expiry Notification": "Pemberitahuan Kedaluwarsa Sertifikat", "Certificate Expiry Notification": "Pemberitahuan Kedaluwarsa Sertifikat",
"API Username": "Nama Pengguna API", "API Username": "Nama Pengguna API",
@ -502,36 +504,36 @@
"octopushLogin": "\"Login\" dari kredensial HTTP API di panel kontrol", "octopushLogin": "\"Login\" dari kredensial HTTP API di panel kontrol",
"promosmsLogin": "Nama Masuk API", "promosmsLogin": "Nama Masuk API",
"promosmsPassword": "Kata Sandi API", "promosmsPassword": "Kata Sandi API",
"pushoversounds pushover": "Pushover (default)", "pushoversounds pushover": "Pushover (bawaan)",
"pushoversounds bike": "Bike", "pushoversounds bike": "Sepeda",
"pushoversounds bugle": "Bugle", "pushoversounds bugle": "Terompet",
"pushoversounds cashregister": "Cash Register", "pushoversounds cashregister": "Mesin Uang",
"pushoversounds classical": "Classical", "pushoversounds classical": "Classical",
"pushoversounds cosmic": "Cosmic", "pushoversounds cosmic": "Kosmik",
"pushoversounds falling": "Falling", "pushoversounds falling": "Reruntuhan",
"pushoversounds gamelan": "Gamelan", "pushoversounds gamelan": "Gamelan",
"pushoversounds incoming": "Masuk", "pushoversounds incoming": "Masuk",
"pushoversounds intermission": "Jeda", "pushoversounds intermission": "Jeda",
"pushoversounds magic": "Magic", "pushoversounds magic": "Magic",
"pushoversounds mechanical": "Mekanik", "pushoversounds mechanical": "Mekanik",
"pushoversounds pianobar": "Piano Bar", "pushoversounds pianobar": "Bilah Piano",
"pushoversounds siren": "Sirene", "pushoversounds siren": "Sirene",
"pushoversounds spacealarm": "Space Alarm", "pushoversounds spacealarm": "Luar Angkasa",
"pushoversounds tugboat": "Tug Boat", "pushoversounds tugboat": "Kapal Tunda",
"pushoversounds alien": "Alien Alarm (long)", "pushoversounds alien": "Alien Alarm (panjang)",
"pushoversounds climb": "Climb (long)", "pushoversounds climb": "Mendaki (long)",
"pushoversounds persistent": "Persistent (long)", "pushoversounds persistent": "Terus menerus (panjang)",
"pushoversounds echo": "Pushover Echo (long)", "pushoversounds echo": "Pushover Echo (panjang)",
"pushoversounds updown": "Up Down (long)", "pushoversounds updown": "Up Down (panjang)",
"pushoversounds vibrate": "Vibrate Only", "pushoversounds vibrate": "Hanya bergetar",
"pushoversounds none": "None (silent)", "pushoversounds none": "Tidak ada (hening)",
"pushyAPIKey": "Secret API Key", "pushyAPIKey": "Kunci Secret API",
"pushyToken": "Device token", "pushyToken": "Token Perangkat",
"Show update if available": "Tampilkan pembaruan jika tersedia", "Show update if available": "Tampilkan pembaruan jika tersedia",
"Also check beta release": "Periksa juga rilis beta", "Also check beta release": "Periksa juga rilis beta",
"Using a Reverse Proxy?": "Menggunakan Proxy Terbalik?", "Using a Reverse Proxy?": "Menggunakan Proxy Terbalik?",
"Check how to config it for WebSocket": "Periksa cara mengonfigurasinya untuk A WebSocket", "Check how to config it for WebSocket": "Periksa cara mengonfigurasinya untuk A WebSocket",
"Steam Game Server": "Steam Game Server", "Steam Game Server": "Server Game Steam",
"Most likely causes:": "Kemungkinan besar penyebabnya:", "Most likely causes:": "Kemungkinan besar penyebabnya:",
"The resource is no longer available.": "Sumber daya tidak lagi tersedia.", "The resource is no longer available.": "Sumber daya tidak lagi tersedia.",
"There might be a typing error in the address.": "Mungkin ada kesalahan pengetikan di alamat.", "There might be a typing error in the address.": "Mungkin ada kesalahan pengetikan di alamat.",
@ -550,11 +552,11 @@
"deleteDockerHostMsg": "Apakah Anda yakin ingin menghapus host docker berikut untuk semua monitor?", "deleteDockerHostMsg": "Apakah Anda yakin ingin menghapus host docker berikut untuk semua monitor?",
"socket": "Socket", "socket": "Socket",
"tcp": "TCP / HTTP", "tcp": "TCP / HTTP",
"Docker Container": "Docker Container", "Docker Container": "Kontainer Docker",
"Container Name / ID": "Nama / ID Container", "Container Name / ID": "Nama / ID Container",
"Docker Host": "Host Docker", "Docker Host": "Host Docker",
"Docker Hosts": "Hosts Docker", "Docker Hosts": "Hosts Docker",
"ntfy Topic": "ntfy Topic", "ntfy Topic": "Topik ntfy",
"Domain": "Domain", "Domain": "Domain",
"Workstation": "Workstation", "Workstation": "Workstation",
"disableCloudflaredNoAuthMsg": "Anda berada dalam mode Tanpa Otentikasi, kata sandi tidak diperlukan.", "disableCloudflaredNoAuthMsg": "Anda berada dalam mode Tanpa Otentikasi, kata sandi tidak diperlukan.",
@ -591,7 +593,7 @@
"Monitor": "Monitor", "Monitor": "Monitor",
"Guild ID": "ID Guild", "Guild ID": "ID Guild",
"twilioAccountSID": "SID akun", "twilioAccountSID": "SID akun",
"twilioAuthToken": "Token Autentikasi", "twilioAuthToken": "Token Autentikasi (API Key)",
"ntfyAuthenticationMethod": "Metode Autentikasi", "ntfyAuthenticationMethod": "Metode Autentikasi",
"ntfyUsernameAndPassword": "Nama pengguna dan kata sandi", "ntfyUsernameAndPassword": "Nama pengguna dan kata sandi",
"Add Another": "Tambah Lainnya", "Add Another": "Tambah Lainnya",
@ -605,7 +607,7 @@
"strategyManual": "Aktif/TidakAktif Secara Manual", "strategyManual": "Aktif/TidakAktif Secara Manual",
"infiniteRetention": "Setel ke 0 untuk retensi tak terbatas.", "infiniteRetention": "Setel ke 0 untuk retensi tak terbatas.",
"enableGRPCTls": "Izinkan untuk mengirim permintaan gRPC dengan koneksi TLS", "enableGRPCTls": "Izinkan untuk mengirim permintaan gRPC dengan koneksi TLS",
"grpcMethodDescription": "Nama metode dikonversi ke format cammelCase seperti sayHello, check, dll.", "grpcMethodDescription": "Nama metode dikonversi ke format camelCase seperti sayHello, check, dll.",
"deleteMaintenanceMsg": "Apakah Anda yakin ingin menghapus pemeliharaan ini?", "deleteMaintenanceMsg": "Apakah Anda yakin ingin menghapus pemeliharaan ini?",
"Free Mobile API Key": "Kunci API Seluler Gratis", "Free Mobile API Key": "Kunci API Seluler Gratis",
"Enable TLS": "Aktifkan TLS", "Enable TLS": "Aktifkan TLS",
@ -717,7 +719,7 @@
"maintenanceStatus-inactive": "Tidak aktif", "maintenanceStatus-inactive": "Tidak aktif",
"Display Timezone": "Tampilkan Zona Waktu", "Display Timezone": "Tampilkan Zona Waktu",
"IconUrl": "URL ikon", "IconUrl": "URL ikon",
"Enable DNS Cache": "Aktifkan Cache DNS", "Enable DNS Cache": "(Tidak berlaku lagi) Aktifkan Cache DNS untuk monitor HTTP(s)",
"Enable": "Aktifkan", "Enable": "Aktifkan",
"Disable": "Nonaktifkan", "Disable": "Nonaktifkan",
"affectedStatusPages": "Tampilkan pesan pemeliharaan ini pada halaman status yang dipilih", "affectedStatusPages": "Tampilkan pesan pemeliharaan ini pada halaman status yang dipilih",
@ -744,7 +746,7 @@
"smseagleRecipientType": "Tipe Penerima", "smseagleRecipientType": "Tipe Penerima",
"smseagleToken": "Token Akses API", "smseagleToken": "Token Akses API",
"smseagleUrl": "URL perangkat SMSEagle Anda", "smseagleUrl": "URL perangkat SMSEagle Anda",
"Schedule maintenance": "Jadwalkan pemeliharaan", "Schedule maintenance": "Perbaikan Terjadwal",
"Affected Monitors": "Monitor yang Terpengaruh", "Affected Monitors": "Monitor yang Terpengaruh",
"Start of maintenance": "Mulai pemeliharaan", "Start of maintenance": "Mulai pemeliharaan",
"All Status Pages": "Semua Halaman Status", "All Status Pages": "Semua Halaman Status",
@ -787,11 +789,128 @@
"promosmsAllowLongSMS": "Izinkan SMS panjang", "promosmsAllowLongSMS": "Izinkan SMS panjang",
"Badge Pending Color": "Warna Lencana Tertunda", "Badge Pending Color": "Warna Lencana Tertunda",
"Monitor Group": "Monitor Grup", "Monitor Group": "Monitor Grup",
"Expected Value": "Value yang diharapkan", "Expected Value": "Parameter yang diharapkan",
"Json Query": "Json Query", "Json Query": "Kueri JSON",
"setupDatabaseSQLite": "File database sederhana, direkomendasikan untuk penerapan skala kecil. Sebelum v2.0.0, Uptime Kuma menggunakan SQLite sebagai database default.", "setupDatabaseSQLite": "File database sederhana, direkomendasikan untuk penerapan skala kecil. Sebelum v2.0.0, Uptime Kuma menggunakan SQLite sebagai database default.",
"setupDatabaseMariaDB": "Hubungkan ke database MariaDB eksternal. Anda perlu mengatur informasi koneksi database.", "setupDatabaseMariaDB": "Hubungkan ke database MariaDB eksternal. Anda perlu mengatur informasi koneksi database.",
"setupDatabaseEmbeddedMariaDB": "Anda tidak perlu mengatur apa pun. Docker Image ini telah menyematkan dan mengonfigurasi MariaDB untuk Anda secara otomatis. Uptime Kuma akan terhubung ke database ini melalui soket unix.", "setupDatabaseEmbeddedMariaDB": "Anda tidak perlu mengatur apa pun. Docker Image ini telah menyematkan dan mengonfigurasi MariaDB untuk Anda secara otomatis. Uptime Kuma akan terhubung ke database ini melalui soket unix.",
"setupDatabaseChooseDatabase": "Database mana yang ingin Anda gunakan?", "setupDatabaseChooseDatabase": "Database mana yang ingin Anda gunakan?",
"dbName": "Nama Database" "dbName": "Nama Database",
"pushViewCode": "Bagaimana cara menggunakan Push monitor? (Lihat Kode)",
"monitorToastMessagesLabel": "Pantau notifikasi Toast",
"toastErrorTimeout": "Batas Waktu untuk Pemberitahuan Kesalahan",
"filterActive": "Aktif",
"Select": "Pilih",
"tailscalePingWarning": "Untuk menggunakan monitor Tailscale Ping, Anda perlu menginstal Uptime Kuma tanpa Docker dan juga menginstal klien Tailscale di server Anda.",
"emailTemplateLimitedToUpDownNotification": "hanya tersedia untuk detak jantung ATAS/BAWAH, jika tidak, null",
"aboutNotifyChannel": "Beritahu saluran akan memicu pemberitahuan desktop atau seluler untuk semua anggota saluran, baik ketersediaannya diatur ke aktif atau tidak.",
"monitorToastMessagesDescription": "Notifikasi Toast untuk monitor hilang setelah waktu tertentu dalam hitungan detik. Setel ke -1 akan menonaktifkan batas waktu. Setel ke 0 akan menonaktifkan notifikasi Toast.",
"wayToGetFlashDutyKey": "Anda dapat membuka Saluran -> (Pilih Saluran) -> Integrasi -> Tambahkan halaman integrasi baru, tambahkan 'Acara Khusus' untuk mendapatkan alamat push, salin Kunci Integrasi di alamat tersebut. Untuk informasi lebih lanjut, silahkan kunjungi",
"Saved.": "Tersimpan.",
"authUserInactiveOrDeleted": "Pengguna tidak aktif atau dihapus.",
"authInvalidToken": "Token Tidak Valid.",
"authIncorrectCreds": "Username atau kata sandi salah.",
"2faAlreadyEnabled": "2FA sudah diaktifkan.",
"2faEnabled": "2FA Diaktifkan.",
"2faDisabled": "2FA Dinonaktifkan.",
"successResumed": "Berhasil Dilanjutkan.",
"successPaused": "Berhasil Dijeda.",
"successDeleted": "Berhasil Dihapus.",
"successEdited": "Berhasil Diedit.",
"successAuthChangePassword": "Kata sandi telah berhasil diperbarui.",
"successBackupRestored": "Cadangan berhasil dipulihkan.",
"successDisabled": "Berhasil Dinonaktifkan.",
"successEnabled": "Berhasil Diaktifkan.",
"GrafanaOncallUrl": "URL Oncall Grafana",
"emailCustomisableContent": "Konten yang dapat disesuaikan",
"leave blank for default subject": "biarkan kosong untuk subjek bawaan",
"Bark API Version": "Versi Bark API",
"Reset Token": "Setel Ulang Token",
"noDockerHostMsg": "Tidak Tersedia. Siapkan Host Docker Terlebih Dahulu.",
"DockerHostRequired": "Silakan atur Docker Host untuk monitor ini.",
"enableNSCD": "Aktifkan NSCD (Name Service Cache Daemon) untuk menyimpan semua permintaan DNS",
"smtpLiquidIntroduction": "Dua bidang berikut dapat dibuat templatnya melalui Bahasa templating Liquid. Silakan lihat {0} untuk petunjuk penggunaan. Berikut ini adalah variabel yang tersedia:",
"leave blank for default body": "biarkan kosong untuk isi bawaan",
"emailTemplateServiceName": "Nama Layanan",
"emailTemplateHostnameOrURL": "Nama host atau URL",
"emailTemplateStatus": "Status",
"emailTemplateMonitorJSON": "objek yang menggambarkan monitor",
"emailTemplateHeartbeatJSON": "objek yang menggambarkan heartbeat",
"emailTemplateMsg": "pesan pemberitahuan",
"emailCustomBody": "Kustomisasi Body",
"jsonQueryDescription": "Lakukan Query json terhadap respons dan periksa nilai yang diharapkan (Nilai yang dikembalikan akan diubah menjadi string untuk perbandingan). Lihat {0} untuk dokumentasi tentang bahasa kueri. Taman bermain dapat ditemukan {1}.",
"Notify Channel": "Beritahu Saluran",
"Server URL should not contain the nfty topic": "URL server tidak boleh berisi topik nfty",
"PushDeer Server": "Server PushDeer",
"pushDeerServerDescription": "Biarkan kosong untuk menggunakan server resmi",
"twilioApiKey": "Kunci API (opsional)",
"Badge Duration (in hours)": "Durasi Badge (dalam jam)",
"Badge Preview": "Pratinjau Lencana",
"toastSuccessTimeout": "Batas Waktu untuk Pemberitahuan Sukses",
"Kafka Brokers": "Kafka Broker",
"Enter the list of brokers": "Masukkan daftar broker",
"Press Enter to add broker": "Tekan Enter untuk menambahkan broker",
"Kafka Topic Name": "Nama Topik Kafka",
"Kafka Producer Message": "Pesan Produser Kafka",
"Enable Kafka SSL": "Aktifkan SSL Kafka",
"Enable Kafka Producer Auto Topic Creation": "Aktifkan Pembuatan Topik Otomatis Produser Kafka",
"Mechanism": "Mekanisme",
"FlashDuty Severity": "Severity",
"nostrRelaysHelp": "Satu URL relai per baris",
"nostrSender": "Kunci Pribadi Pengirim (ndetik)",
"nostrRecipients": "Kunci Publik Penerima (npub)",
"nostrRecipientsHelp": "format npub, satu per baris",
"showCertificateExpiry": "Tampilkan Sertifikat Kedaluwarsa",
"noOrBadCertificate": "Tidak Ada/Sertifikat Salah",
"gamedigGuessPort": "Gamedig: Guess Port",
"nostrRelays": "Relai nostr",
"gamedigGuessPortDescription": "Port yang digunakan oleh Valve Server Query Protocol mungkin berbeda dari port klien. Coba ini jika monitor tidak dapat terhubung ke server Anda.",
"successAdded": "Berhasil Ditambahkan.",
"tagNotFound": "Tag tidak ditemukan.",
"foundChromiumVersion": "Ditemukan Chromium/Chrome. Versi: {0}",
"Kafka SASL Options": "Opsi Kafka SASL",
"Pick a SASL Mechanism...": "Pilih Mekanisme SASL...",
"AccessKey Id": "Id AccessKey",
"Secret AccessKey": "Secret AccessKey",
"Session Token": "Sesi Token",
"pushOthers": "Lainnya",
"programmingLanguages": "Bahasa Pemrograman",
"filterActivePaused": "Berhenti",
"templateMsg": "pesan pemberitahuan",
"templateHeartbeatJSON": "objek yang menggambarkan heartbeat",
"templateMonitorJSON": "objek yang menggambarkan monitor",
"templateLimitedToUpDownCertNotifications": "hanya tersedia untuk notifikasi ATAS/BAWAH/Sertifikat yang kadaluarsa",
"templateLimitedToUpDownNotifications": "hanya tersedia untuk notifikasi ATAS/BAWAH",
"liquidIntroduction": "Kemampuan templat dicapai melalui bahasa templating Liquid. Silakan lihat {0} untuk petunjuk penggunaan. Ini adalah variabel yang tersedia:",
"selectedMonitorCount": "Terpilih: {0}",
"Check/Uncheck": "Centang/Hapus centang",
"Authorization Identity": "Identitas Otorisasi",
"styleElapsedTime": "Waktu yang berlalu di bawah bilah heartbeat",
"styleElapsedTimeShowNoLine": "Tampilkan (Tanpa Garis)",
"styleElapsedTimeShowWithLine": "Tampilkan (Dengan Garis)",
"Request Timeout": "Batas Waktu Habis",
"timeoutAfter": "Waktu habis setelah {0} detik",
"successKeywordExplanation": "Kata Kunci MQTT yang akan dianggap sukses",
"Remove the expiry notification": "Hapus hari pemberitahuan kedaluwarsa",
"Browser Screenshot": "Tangkapan Layar Browser",
"Remote Browsers": "Peramban Jarak Jauh",
"Remote Browser": "Peramban Jarak Jauh",
"Add a Remote Browser": "Tambahkan Remote Browser",
"Remote Browser not found!": "Remote Browser tidak ditemukan!",
"remoteBrowsersDescription": "Remote Browsers adalah alternatif untuk menjalankan Chromium secara lokal. Siapkan dengan layanan seperti browserless.io atau sambungkan ke layanan Anda sendiri",
"self-hosted container": "kontainer self-hosted",
"remoteBrowserToggle": "Secara default, Chromium berjalan di dalam kontainer Uptime Kuma. Anda dapat menggunakan remote browser dengan menekan tombol ini.",
"useRemoteBrowser": "Gunakan Remote Browser",
"deleteRemoteBrowserMessage": "Apakah Anda yakin ingin menghapus Remote Browser ini untuk semua monitor?",
"Add a new expiry notification day": "Tambahkan hari pemberitahuan kedaluwarsa baru",
"setup a new monitor group": "menyiapkan grup monitor baru",
"openModalTo": "buka modal ke {0}",
"Add a domain": "Tambahkan domain",
"Remove domain": "Hapus domain '{0}'",
"successKeyword": "Kata Kunci Sukses",
"ntfyPriorityHelptextAllExceptDown": "Semua peristiwa dikirim dengan prioritas ini, kecuali peristiwa {0}, yang memiliki prioritas {1}",
"statusPageSpecialSlugDesc": "Tanda khusus {0}: halaman ini akan ditampilkan jika tidak ada tanda khusus yang disediakan",
"settingUpDatabaseMSG": "Menyiapkan basis data. Mungkin perlu waktu beberapa saat, harap bersabar.",
"Search monitored sites": "Mencari situs yang dipantau",
"ntfyPriorityHelptextAllEvents": "Semua peristiwa dikirim dengan prioritas maksimum"
} }

@ -40,7 +40,7 @@
"Add": "Aggiungi", "Add": "Aggiungi",
"Add New Monitor": "Aggiungi nuovo monitor", "Add New Monitor": "Aggiungi nuovo monitor",
"Quick Stats": "Statistiche rapide", "Quick Stats": "Statistiche rapide",
"Up": "Up", "Up": "Operativo",
"Down": "Down", "Down": "Down",
"Pending": "In attesa", "Pending": "In attesa",
"Unknown": "Sconosciuti", "Unknown": "Sconosciuti",
@ -66,13 +66,13 @@
"Keyword": "Parola chiave", "Keyword": "Parola chiave",
"Friendly Name": "Nome", "Friendly Name": "Nome",
"URL": "URL", "URL": "URL",
"Hostname": "Nome Host", "Hostname": "Dominio o indirizzo IP",
"Port": "Porta", "Port": "Porta",
"Heartbeat Interval": "Intervallo di controllo", "Heartbeat Interval": "Intervallo di controllo",
"Retries": "Tentativi", "Retries": "Tentativi",
"Heartbeat Retry Interval": "Intervallo tra i tentativi di controllo", "Heartbeat Retry Interval": "Intervallo tra i tentativi di controllo",
"Advanced": "Avanzate", "Advanced": "Avanzate",
"Upside Down Mode": "Modalità invertita", "Upside Down Mode": "Modalità inversa",
"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",
@ -80,7 +80,7 @@
"pushOptionalParams": "Parametri aggiuntivi: {0}", "pushOptionalParams": "Parametri aggiuntivi: {0}",
"Save": "Salva", "Save": "Salva",
"Notifications": "Notifiche", "Notifications": "Notifiche",
"Not available, please setup.": "Non disponibili, da configurare.", "Not available, please setup.": "Non disponibili, richiesta configurazione manuale.",
"Setup Notification": "Configura le notifiche", "Setup Notification": "Configura le notifiche",
"Light": "Chiaro", "Light": "Chiaro",
"Dark": "Scuro", "Dark": "Scuro",
@ -100,8 +100,10 @@
"Update Password": "Modifica password", "Update Password": "Modifica password",
"Disable Auth": "Disabilita autenticazione", "Disable Auth": "Disabilita autenticazione",
"Enable Auth": "Abilita autenticazione", "Enable Auth": "Abilita autenticazione",
"disableauth.message1": "<strong>Disabilitare l'autenticazione</strong>?", "disableauth.message1": "{disableAuth}?",
"disableauth.message2": "<strong>Questa opzione è per chi un sistema di autenticazione gestito da terze parti</strong> messo davanti ad Uptime Kuma, ad esempio Cloudflare Access.", "disable authentication": "Disabilitare l'autenticazione",
"disableauth.message2": "{intendThirdPartyAuth} prima di Uptime Kuma, come ad esempio Cloudflare Access.",
"where you intend to implement third-party authentication": "Questa opzione è per chi possiede un sistema di autenticazione gestito da terze parti",
"Please use this option carefully!": "Utilizzare con attenzione!", "Please use this option carefully!": "Utilizzare con attenzione!",
"Logout": "Esci", "Logout": "Esci",
"Leave": "Annulla", "Leave": "Annulla",
@ -177,7 +179,7 @@
"Entry Page": "Pagina Principale", "Entry Page": "Pagina Principale",
"statusPageNothing": "Non c'è nulla qui, aggiungi un gruppo oppure un monitor.", "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 funzionanti", "All Systems Operational": "Tutti i sistemi sono operativi",
"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",
@ -611,5 +613,60 @@
"Json Query": "Query Json", "Json Query": "Query Json",
"deleteMaintenanceMsg": "Sei sicuro di voler cancellare questa attività di manutenzione?", "deleteMaintenanceMsg": "Sei sicuro di voler cancellare questa attività di manutenzione?",
"dnsPortDescription": "Porta server DNS. Default 53. Puoi cambiare questa porta in ogni momento.", "dnsPortDescription": "Porta server DNS. Default 53. Puoi cambiare questa porta in ogni momento.",
"setupDatabaseChooseDatabase": "Quale database vuoi usare?" "setupDatabaseChooseDatabase": "Quale database vuoi usare?",
"setupDatabaseMariaDB": "Connettiti ad un database (MariaDB) esterno. Dovrai impostare i parametri di connessione.",
"setupDatabaseSQLite": "Un semplice file di database, consigliato per distribuzioni su piccola scala. Prima della versione 2.0.0, Uptime Kuma utilizzava SQLite come database predefinito.",
"Reset Token": "Reimposta Token",
"enableNSCD": "Abilita NSCD (Name Service Cache Daemon) per abilitare la cache su tutte le richieste DNS",
"recurringIntervalMessage": "Esegui una volta al giorno | Esegui una volta ogni {0} giorni",
"affectedMonitorsDescription": "Seleziona i monitoraggi che sono influenzati da questa manutenzione",
"jsonQueryDescription": "Fai una query JSON verso la risposta e controlla se è presente il valore richiesto. (Il valore di ritorno verrà convertito in stringa ai fini della comparazione). Puoi controllare la documentazione su <a href='https://jsonata.org/'>jsonata.org</a> per conoscere come scrivere una query. Un area dimostrativa può essere trovata <a href='https://try.jsonata.org/'>qui</a>.",
"For safety, must use secret key": "Per sicurezza, devi usare una chiave segreta",
"Proxy server has authentication": "Il server Proxy ha una autenticazione",
"smseaglePriority": "Priorità messaggio (0-9, default = 0)",
"pushViewCode": "Come usare il Push monitor? (visualizza codice)",
"affectedStatusPages": "Mostra il messaggio di manutenzione sulle pagine di stato selezionate",
"atLeastOneMonitor": "Seleziona almeno un monitor",
"endpoint": "endpoint",
"pushyAPIKey": "Secret API Key",
"pushyToken": "Token dispositivo",
"wayToGetKookBotToken": "Crea un applicazione e prendi nota del tuo token su {0}",
"Device Token": "Token dispositivo",
"Platform": "Piattaforma",
"Huawei": "Huawei",
"High": "Alto",
"Retry": "Riprova",
"WeCom Bot Key": "Chiave WeCom Bot",
"Proxy Protocol": "Protocollo Proxy",
"Setup Proxy": "Configura proxy",
"Notify Channel": "Canale di notifica",
"Integration Key": "Chiave di integrazione",
"Integration URL": "URL integrazione",
"do nothing": "non fare nulla",
"auto resolve": "risolvi automaticamente",
"alertaApiEndpoint": "API Endpoint",
"alertaEnvironment": "Ambiente",
"alertaApiKey": "Chiave API",
"alertaAlertState": "Stato Alert",
"smseagleTo": "Numer(i) di telefono",
"smseagleRecipientType": "Tipo destinatario",
"smseagleToken": "Token di accesso API",
"smseagleEncoding": "Invia come Unicode",
"Recipient Number": "Numero destinatario",
"From Name/Number": "Da Nome/Numero",
"Leave blank to use a shared sender number.": "Lascia vuoto per usare un numero condiviso.",
"onebotGroupMessage": "Gruppo",
"onebotUserOrGroupId": "Gruppo/ID utente",
"Badge Color": "Colore badge",
"Monitor Group": "Gruppo monitor",
"setupDatabaseEmbeddedMariaDB": "Non devi impostare niente. Questa immagine Docker include un MariaDB già configurato e pronto all'uso. Uptime Kuma si collegherà a questo database attraverso l'unix socket.",
"dbName": "Nome Database",
"Group": "Gruppo",
"pushOthers": "Altro",
"programmingLanguages": "Linguaggi di programmazione",
"promosmsAllowLongSMS": "Permetti SMS lunghi",
"liquidIntroduction": "La templatabilità è ottenuta attraverso il linguaggio di templating Liquid. Consulta {0} per le istruzioni d'uso. Queste sono le variabili disponibili:",
"templateMsg": "Messaggio della notifica",
"Search monitored sites": "Ricerca tra i siti monitorati",
"settingUpDatabaseMSG": "Configurazione del database in corso. Potrebbe richiedere un po' di tempo..."
} }

@ -191,8 +191,10 @@
"Push URL": "プッシュ URL", "Push URL": "プッシュ URL",
"needPushEvery": "{0} 秒ごとにこの URL を呼び出す必要があります。", "needPushEvery": "{0} 秒ごとにこの URL を呼び出す必要があります。",
"pushOptionalParams": "オプションのパラメーター: {0}", "pushOptionalParams": "オプションのパラメーター: {0}",
"disableauth.message1": "<strong>認証を無効</strong>にしてもよろしいですか?", "disableauth.message1": "{disableAuth}にしてもよろしいですか?",
"disableauth.message2": "これは、Cloudflare Access、Authelia、またはその他の認証メカニズムなど、Uptime Kuma の前に<strong>サードパーティ認証を実装するシナリオ向けに設計されています</strong>。", "disable authentication": "認証を無効",
"disableauth.message2": "これは、Cloudflare Access、Authelia、またはその他の認証メカニズムなど、Uptime Kuma の前に{intendThirdPartyAuth}。",
"where you intend to implement third-party authentication": "サードパーティ認証を実装するシナリオ向けに設計されています",
"Please use this option carefully!": "このオプションは慎重に使用してください!", "Please use this option carefully!": "このオプションは慎重に使用してください!",
"Primary Base URL": "プライマリ ベース URL", "Primary Base URL": "プライマリ ベース URL",
"statusMaintenance": "メンテナンス", "statusMaintenance": "メンテナンス",

@ -96,8 +96,10 @@
"Update Password": "비밀번호 변경", "Update Password": "비밀번호 변경",
"Disable Auth": "인증 비활성화", "Disable Auth": "인증 비활성화",
"Enable Auth": "인증 활성화", "Enable Auth": "인증 활성화",
"disableauth.message1": "정말로 <strong>인증 기능을 끌까요</strong>?", "disableauth.message1": "정말로 {disableAuth}?",
"disableauth.message2": "이 기능은 <strong>Cloudflare Access와 같은 서드파티 인증</strong>을 Uptime Kuma 앞에 둔 사용자를 위한 기능이에요.", "disable authentication": "인증 기능을 끌까요",
"disableauth.message2": "이 기능은 {intendThirdPartyAuth}을 Uptime Kuma 앞에 둔 사용자를 위한 기능이에요.",
"where you intend to implement third-party authentication": "Cloudflare Access와 같은 서드파티 인증",
"Please use this option carefully!": "신중하게 사용하세요!", "Please use this option carefully!": "신중하게 사용하세요!",
"Logout": "로그아웃", "Logout": "로그아웃",
"Leave": "나가기", "Leave": "나가기",
@ -655,7 +657,7 @@
"Display Timezone": "표시 시간대", "Display Timezone": "표시 시간대",
"statusPageMaintenanceEndDate": "종료", "statusPageMaintenanceEndDate": "종료",
"IconUrl": "아이콘 URL", "IconUrl": "아이콘 URL",
"Enable DNS Cache": "DNS 캐시 활성화", "Enable DNS Cache": "(사용되지 않음) HTTP(S) 모니터를 위한 DNS 캐시 활성화",
"Enable": "활성화", "Enable": "활성화",
"Disable": "비활성화", "Disable": "비활성화",
"Single Maintenance Window": "단일 점검", "Single Maintenance Window": "단일 점검",
@ -689,7 +691,7 @@
"Select status pages...": "상태 페이지 선택하기…", "Select status pages...": "상태 페이지 선택하기…",
"Custom": "커스텀", "Custom": "커스텀",
"webhookAdditionalHeadersTitle": "추가 헤더", "webhookAdditionalHeadersTitle": "추가 헤더",
"webhookAdditionalHeadersDesc": "웹훅과 함께 전송될 추가 헤더를 설정해요.", "webhookAdditionalHeadersDesc": "웹훅과 함께 전송될 추가 헤더를 설정해요. 각각의 헤더는 JSON 키/값으로 구성되어야 해요.",
"HTTP Headers": "HTTP 헤더", "HTTP Headers": "HTTP 헤더",
"Trust Proxy": "프록시 신뢰", "Trust Proxy": "프록시 신뢰",
"API Keys": "API 키", "API Keys": "API 키",
@ -725,7 +727,7 @@
"lunaseaUserID": "사용자 ID", "lunaseaUserID": "사용자 ID",
"apiKey-expired": "만료됨", "apiKey-expired": "만료됨",
"Expires": "만료일", "Expires": "만료일",
"twilioAuthToken": "인증 토큰", "twilioAuthToken": "인증 토큰 / API 키 시크릿",
"twilioFromNumber": "번호에서", "twilioFromNumber": "번호에서",
"twilioToNumber": "번호에서", "twilioToNumber": "번호에서",
"twilioAccountSID": "계정 SID", "twilioAccountSID": "계정 SID",
@ -751,7 +753,7 @@
"telegramMessageThreadIDDescription": "포럼의 대상 메시지 쓰레드(주제)에 대한 선택적 고유 식별인, 포럼 관리자 그룹에만 해당", "telegramMessageThreadIDDescription": "포럼의 대상 메시지 쓰레드(주제)에 대한 선택적 고유 식별인, 포럼 관리자 그룹에만 해당",
"pagertreeSilent": "없음", "pagertreeSilent": "없음",
"setupDatabaseChooseDatabase": "어떤 데이터베이스를 사용하시겠습니까?", "setupDatabaseChooseDatabase": "어떤 데이터베이스를 사용하시겠습니까?",
"setupDatabaseEmbeddedMariaDB": "추가 설정은 필요 없습니다. 이 도커 이미지는 MariaDB가 내장되어 구성되어 있습니다. Uptime Kuma는 Unix Socket을 통해 데이터베이스에 연결합니다.", "setupDatabaseEmbeddedMariaDB": "추가 설정은 필요 없습니다. 이 도커 이미지는 MariaDB가 내장되어 구성되어 있습니다. Uptime Kuma는 Unix Socket을 통해 데이터베이스에 연결합니다.",
"setupDatabaseMariaDB": "외부 MariaDB 데이터베이스에 연결합니다. 데이터베이스 연결 정보를 설정해야 합니다.", "setupDatabaseMariaDB": "외부 MariaDB 데이터베이스에 연결합니다. 데이터베이스 연결 정보를 설정해야 합니다.",
"setupDatabaseSQLite": "소규모 배포에 권장되는 간단한 데이터베이스 파일입니다. v2.0.0 이전에는 Uptime Kuma가 SQLite를 기본 데이터베이스로 사용했습니다.", "setupDatabaseSQLite": "소규모 배포에 권장되는 간단한 데이터베이스 파일입니다. v2.0.0 이전에는 Uptime Kuma가 SQLite를 기본 데이터베이스로 사용했습니다.",
"dbName": "데이터베이스 이름", "dbName": "데이터베이스 이름",
@ -759,5 +761,23 @@
"filterActivePaused": "일시중지", "filterActivePaused": "일시중지",
"Home": "홈", "Home": "홈",
"Cannot connect to the socket server": "소켓 서버에 연결 할 수 없습니다", "Cannot connect to the socket server": "소켓 서버에 연결 할 수 없습니다",
"Reconnecting...": "재 연결중..." "Reconnecting...": "재 연결중...",
"Json Query": "JSON 쿼리",
"settingUpDatabaseMSG": "데이터베이스를 설정하는 중입니다. 시간이 걸릴 수 있으니 기다려 주세요.",
"enableNSCD": "모든 DNS 요청을 캐싱하기 위해 NSCD (Name Service Cache Daemon) 활성화",
"pushOthers": "기타",
"programmingLanguages": "프로그래밍 언어",
"Select": "선택",
"Edit Maintenance": "점검 수정하기",
"styleElapsedTime": "하트비트 바 밑의 지난 시간 표시",
"styleElapsedTimeShowNoLine": "보이기 (선 없음)",
"styleElapsedTimeShowWithLine": "보이기 (선 있음)",
"chromeExecutable": "Chrome/Chromium 실행 파일",
"chromeExecutableAutoDetect": "자동 감지",
"Invert Keyword": "키워드 반전",
"Expected Value": "기대값",
"Add a domain": "도메인 추가",
"Remove domain": "도메인 '{0}' 제거",
"Monitor Group": "모니터링 그룹",
"Monitor Setting": "{0}의 모니터 설정"
} }

@ -1,8 +1,8 @@
{ {
"languageName": "Norsk", "languageName": "Norsk",
"checkEverySecond": "Sjekk hvert {0} sekund.", "checkEverySecond": "Sjekk hvert {0} sekund",
"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 blir 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 NEDE.", "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.",
@ -22,12 +22,12 @@
"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å at du vil importere denne 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?",
"confirmDisableTwoFAMsg": "Er du sikker på at du vil deaktivere 2FA?", "confirmDisableTwoFAMsg": "Er du sikker på at du vil deaktivere 2FA?",
"Settings": "Innstillinger", "Settings": "Innstillinger",
"Dashboard": "Dashboard", "Dashboard": "Dashbord",
"New Update": "Ny Oppdatering", "New Update": "Ny Oppdatering",
"Language": "Språk", "Language": "Språk",
"Appearance": "Utseende", "Appearance": "Utseende",
@ -54,7 +54,7 @@
"Delete": "Slett", "Delete": "Slett",
"Current": "Nåværende", "Current": "Nåværende",
"Uptime": "Oppetid", "Uptime": "Oppetid",
"Cert Exp.": "Sertifikat utløper", "Cert Exp.": "Sertifikat utløper.",
"day": "dag | dager", "day": "dag | dager",
"-day": "-dag", "-day": "-dag",
"hour": "time", "hour": "time",
@ -96,9 +96,11 @@
"Update Password": "Oppdater passord", "Update Password": "Oppdater passord",
"Disable Auth": "Deaktiver autentisering", "Disable Auth": "Deaktiver autentisering",
"Enable Auth": "Aktiver autentisering", "Enable Auth": "Aktiver autentisering",
"disableauth.message1": "Er du sikker på at du vil <strong>deaktiver autentisering</strong>?", "disableauth.message1": "Er du sikker på at du vil {disableAuth}?",
"disableauth.message2": "Dette er for <strong>de som har tredjepartsautorisering</strong> foran Uptime Kuma, for eksempel Cloudflare Access.", "disable authentication": "deaktiver autentisering",
"Please use this option carefully!": "Vennligst vær forsiktig.", "disableauth.message2": "Dette er for {intendThirdPartyAuth} foran Uptime Kuma, for eksempel Cloudflare Access.",
"where you intend to implement third-party authentication": "hvor du planlegger å implementere tredjeparts autentifikasjon",
"Please use this option carefully!": "Vennligst vær forsiktig når du bruker denne!",
"Logout": "Logg ut", "Logout": "Logg ut",
"Leave": "Forlat", "Leave": "Forlat",
"I understand, please disable": "Jeg forstår, vennligst deaktiver", "I understand, please disable": "Jeg forstår, vennligst deaktiver",
@ -154,7 +156,7 @@
"Token": "Token", "Token": "Token",
"Show URI": "Vis URI", "Show URI": "Vis URI",
"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 eksisterer allerede.", "Tag with this value already exist.": "Etikett med denne verdien eksisterer allerede.",
"color": "farge", "color": "farge",
@ -167,7 +169,7 @@
"Indigo": "Indigo", "Indigo": "Indigo",
"Purple": "Lilla", "Purple": "Lilla",
"Pink": "Rosa", "Pink": "Rosa",
"Search...": "Søk...", "Search...": "Søk",
"Avg. Ping": "Gj.sn. Ping", "Avg. Ping": "Gj.sn. Ping",
"Avg. Response": "Gj.sn. Respons", "Avg. Response": "Gj.sn. Respons",
"Entry Page": "Oppføringsside", "Entry Page": "Oppføringsside",
@ -189,7 +191,7 @@
"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 Direkte Chat / Gruppe/ Kanalchat ID",
"wayToGetTelegramChatID": "Du kan få chat-ID-en din ved å sende en melding 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",
@ -208,10 +210,10 @@
"smtpBCC": "BCC", "smtpBCC": "BCC",
"discord": "Discord", "discord": "Discord",
"Discord Webhook URL": "Discord Webhook URL", "Discord Webhook URL": "Discord Webhook URL",
"wayToGetDiscordURL": "Du kan få denne ved å gå til Serverinnstillinger -> Integrasjoner -> Opprett en Webhook", "wayToGetDiscordURL": "Du kan få denne ved å gå til Serverinnstillinger -> Integrasjoner -> Vis webhooks -> 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",
"teams": "Microsoft Teams", "teams": "Microsoft Teams",
"Webhook URL": "Webhook URL", "Webhook URL": "Webhook URL",
"wayToGetTeamsURL": "Du kan lære hvordan du oppretter en webhook-URL {0}.", "wayToGetTeamsURL": "Du kan lære hvordan du oppretter en webhook-URL {0}.",
@ -285,10 +287,277 @@
"Help": "Hjelp", "Help": "Hjelp",
"Game": "Spill", "Game": "Spill",
"statusMaintenance": "Vedlikehold", "statusMaintenance": "Vedlikehold",
"Maintenance": "Maintenance", "Maintenance": "Vedlikehold",
"Passive Monitor Type": "Passiv Monitor Type", "Passive Monitor Type": "Passiv Monitor Type",
"Specific Monitor Type": "Spesifik Monitor Type", "Specific Monitor Type": "Spesifikk Monitor Type",
"General Monitor Type": "Generisk Monitor Type", "General Monitor Type": "Generell Monitor Type",
"markdownSupported": "Markdown syntax støttet", "markdownSupported": "Markdown syntax støttet",
"Resend Notification if Down X times consecutively": "Send notifikasjon på nytt dersom nede X antall ganger på rad" "Resend Notification if Down X times consecutively": "Send notifikasjon på nytt dersom nede X antall ganger på rad",
"Saved.": "Lagret.",
"programmingLanguages": "Programmeringsspråk",
"steamApiKeyDescription": "For å overvåke en Steam-spillserver trenger du en Steam Web-API-nøkkel. Du kan registrere API-nøkkelen din her: ",
"recent": "Nylig",
"Pick Accepted Status Codes...": "Velg akseptere statuskoder…",
"Description": "Beskrivelse",
"signedInDisp": "Logget inn som {0}",
"2faEnabled": "2FA aktivert.",
"authUserInactiveOrDeleted": "Denne brukeren er inaktiv eller slettet.",
"High": "Høy",
"smtpDkimSettings": "DKIM Innstillinger",
"settingUpDatabaseMSG": "Setter opp databasen. Dette kan ta en stund, vennligst vent.",
"Schedule maintenance": "Planlegg vedlikehold",
"Affected Monitors": "Affekterte monitorer",
"Start of maintenance": "Vedlikeholds start",
"All Status Pages": "Alle status sider",
"Select status pages...": "Velg status sider…",
"filterActive": "Aktiv",
"Custom": "Egendefinert",
"statusPageRefreshIn": "Last inn på nytt : {0}",
"templateMsg": "notifikasjons melding",
"templateLimitedToUpDownCertNotifications": "kun tilgjengelig for OPP/NED/Sertifikatutløpsvarsler",
"templateLimitedToUpDownNotifications": "kun tilgjengelig for OPP/NED varsler",
"Method": "Metode",
"PasswordsDoNotMatch": "Passordene matcher ikke hverandre.",
"Default": "Standard",
"HTTP Options": "HTTP valg",
"primary": "primær",
"Title": "Tittel",
"light": "lys",
"dark": "mørk",
"Customize": "Tilpass",
"Content": "Innhold",
"Style": "Stil",
"info": "info",
"warning": "advarsel",
"Custom Footer": "Egendefinert bunntekst",
"danger": "fare",
"error": "feil",
"critical": "kritisk",
"deleteStatusPageMsg": "Er du sikker på at du vil slette denne status siden?",
"Proxies": "Proxyer",
"default": "Standard",
"enabled": "Aktivert",
"setAsDefault": "Sett som standard",
"Optional": "Valgfri",
"sameAsServerTimezone": "Samme som server tidssone",
"startDateTime": "Start dag/tid",
"weekdayShortMon": "Man",
"weekdayShortTue": "Tirs",
"recurringInterval": "Intervall",
"Recurring": "Gjentakende",
"affectedStatusPages": "Vis denne vedlikeholdsmeldingen på valgte statussider",
"Economy": "Økonomi",
"Lowcost": "Lavkost",
"Base URL": "Base URL",
"PhoneNumbers": "Telefonnummer",
"Retry": "Prøv igjen",
"Topic": "Emne",
"Add a domain": "Legg til domene",
"documentation": "dokumentasjon",
"smtpDkimDomain": "domenenavn",
"Expiry": "Utløp",
"dnsPortDescription": "DNS-serverport. Standard er 53. Du kan endre porten når som helst.",
"deleteMaintenanceMsg": "Er du sikker på at du vil slette vedlikeholdsperioden?",
"do nothing": "gjør ingenting",
"alertaApiEndpoint": "API endepunkt",
"alertaEnvironment": "Miljø",
"alertaApiKey": "API nøkkel",
"serwersmsPhoneNumber": "telefonnummer",
"successAuthChangePassword": "Passordet har blitt oppdatert.",
"recurringIntervalMessage": "Kjør en gang daglig | Kjør en gang hver {0} dag",
"tcp": "TCP / HTTP",
"setupDatabaseChooseDatabase": "Hvilken database vil du bruke?",
"resendDisabled": "Resending deaktivert",
"setupDatabaseMariaDB": "Koble til en ekstern MariaDB database. Du må angi database tilkoblings informasjon.",
"setupDatabaseSQLite": "En simpel database fil, anbefalt for små skala installasjoner. I versjoner tidligere enn v2.0.0 brukte Uptime Kuma SQLite som standard.",
"needPushEvery": "Du skal forsøke å nå denne URLen hvert {0] sekund(er).",
"dbName": "Database Navn",
"resendEveryXTimes": "Resend hver {0} gang(er)",
"Push URL": "Push URL",
"pushOptionalParams": "Valgfrie parametere: {0}",
"pushOthers": "Andre",
"styleElapsedTimeShowNoLine": "Vis (Ingen linje)",
"styleElapsedTimeShowWithLine": "Vis (Med linje)",
"endDateTime": "Slutt dag/tid",
"Current User": "Nåværende bruker",
"Reset Token": "Resett nøkkel",
"Done": "Ferdig",
"Info": "Info",
"Security": "Sikkerhet",
"Steam API Key": "Steam API nøkkel",
"Shrink Database": "Forminsk database",
"Create Incident": "Opprett hendelse",
"Please input title and content": "Vennligst skriv inn tittel og innhold",
"Created": "Opprettet",
"Last Updated": "Sist oppdatert",
"Unpin": "Avmerk",
"Switch to Light Theme": "Bytt til Lyst tema",
"Switch to Dark Theme": "Bytt til Mørkt tema",
"Show Tags": "Vis tagger",
"Hide Tags": "Skjul tagger",
"Untitled Group": "Tittel løs gruppe",
"Services": "Tjenester",
"Discard": "Forkast",
"Cancel": "Avbryt",
"Select": "Velg",
"selectedMonitorCount": "Valgt: {0}",
"Powered by": "Drevet av",
"Custom CSS": "Egendefinert CSS",
"About": "Om",
"signedInDispDisabled": "Autentisering deaktivert.",
"Coming Soon": "Kommer snart",
"Connection String": "Tilkoblingsstreng",
"Connection Type": "Tilkoblingstype",
"Docker Daemon": "Docker Daemon",
"Domain": "Domene",
"Workstation": "Arbeidsstasjon",
"Packet Size": "Pakke størrelse",
"Examples": "Eksempler",
"weekdayShortWed": "Ons",
"weekdayShortThu": "Tors",
"weekdayShortFri": "Fre",
"weekdayShortSat": "Lør",
"weekdayShortSun": "Søn",
"Home Assistant URL": "Home Assistant URL",
"Notification Service": "Notifikasjons tjeneste",
"default: notify all devices": "standard:varsle alle enheter",
"A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "En liste over varslingstjenester finner du i Home Assistant under «Utviklerverktøy > Tjenester»-søk etter «varsling» for å finne navnet på enheten/telefonen din.",
"Event data:": "Hendelsesdata:",
"Schedule Maintenance": "Planlegg vedlikehold",
"Edit Maintenance": "Endre vedlikehold",
"Date and Time": "Dato og tid",
"2faDisabled": "2FA deaktivert.",
"Query": "Spørring",
"Domain Names": "Domenenavn",
"Trigger type:": "Trigger type:",
"Event type:": "Hendelsestype:",
"wayToGetClickSendSMSToken": "Du kan hente API brukernavn og API nøkkel fra {0} .",
"Expiry date": "Utløpsdato",
"Don't expire": "Ikke utløp",
"Continue": "Fortsett",
"Add Another": "Legg til en annen",
"Huawei": "Huawei",
"Request Timeout": "Tidsavbrudd på forespørsel",
"timeoutAfter": "Timeout etter {0} sekunder",
"or": "eller",
"filterActivePaused": "Pauset",
"Add New Tag": "Legg til ny tagg",
"Certificate Chain": "Sertifikatkjede",
"Valid": "Gyldig",
"Invalid": "Ugyldig",
"User": "Bruker",
"Installed": "Installert",
"Not installed": "Ikke installert",
"Remove Token": "Fjern nøkkel",
"Start": "Start",
"Add New Status Page": "Legg til ny status side",
"Accept characters:": "Akseptere karakterer:",
"Next": "Neste",
"Authentication": "Autentisering",
"New Status Page": "Ny status side",
"Page Not Found": "Siden ble ikke funnet",
"Backup": "Sikkerhetskopi",
"cloudflareWebsite": "Cloudflare sin side",
"Other Software": "Annen programvare",
"Valid To:": "Gyldig til:",
"Days Remaining:": "Gjenværende dager:",
"Issuer:": "Utsteder:",
"Fingerprint:": "Fingeravtrykk:",
"No status pages": "Ingen status sider",
"Date Created": "Dato opprettet",
"Message:": "Melding:",
"API Username": "API brukernavn",
"API Key": "API nøkkel",
"Show update if available": "Vis oppdatering hvis en er tilgjengelig",
"Also check beta release": "Sjekk også beta utgaven",
"Steam Game Server": "Steam Spill server",
"The resource is no longer available.": "Denne ressursen er ikke lengere tilgjengelig.",
"Most likely causes:": "Mest sannsynlige årsaker:",
"dayOfWeek": "Ukedag",
"lastDay": "Siste dag",
"No Maintenance": "Ingen vedlikehold",
"pauseMaintenanceMsg": "Er du sikker på at du vil pause?",
"maintenanceStatus-under-maintenance": "Under vedlikehold",
"maintenanceStatus-inactive": "Inaktiv",
"maintenanceStatus-scheduled": "Planlagt",
"maintenanceStatus-ended": "Avsluttet",
"maintenanceStatus-unknown": "Ukjent",
"Display Timezone": "Vis tidssone",
"Server Timezone": "Server tidssone",
"statusPageMaintenanceEndDate": "Slutt",
"IconUrl": "Ikon URL",
"dayOfMonth": "Dag i måneden",
"lastDay1": "Siste dag i måneden",
"Disable": "Deaktiver",
"serwersmsAPIPassword": "API Passord",
"Post": "Post",
"Stop": "Stopp",
"high": "høy",
"Expected Value": "Forventet verdi",
"Json Query": "Json Spørring",
"Primary Base URL": "Primær base-url",
"topic": "Emne",
"Add one": "Legg til en",
"Please read": "Vennligst les",
"Subject:": "Emne:",
"Home": "Hjem",
"Invert Keyword": "Inverter nøkkelord",
"Cannot connect to the socket server": "Koble til socket server",
"Reconnecting...": "kobler til på nytt...",
"ntfyAuthenticationMethod": "Autentiserings metode",
"No API Keys": "Ingen API nøkler",
"apiKey-active": "Aktiv",
"Expires": "Utløper",
"Key Added": "Nøkkel lagt til",
"apiKeyAddedMsg": "API-nøkkelen din er lagt til. Vennligst noter det ned siden den ikke vises igjen.",
"Add API Key": "Legg til API nøkkel",
"disableAPIKeyMsg": "Er du sikker på at du vil deaktivere denne API nøkkelen?",
"deleteAPIKeyMsg": "Er du sikker på at du vil slette denne API nøkkelen?",
"ntfyPriorityHelptextAllEvents": "Alle hendelser sendes med maksimal prioritet",
"ntfyUsernameAndPassword": "Brukernavn og passord",
"pagertreeLow": "Lav",
"pagertreeMedium": "Medium",
"Container Name / ID": "Containernavn / ID",
"Docker Host": "Docker Host",
"disableCloudflaredNoAuthMsg": "Du er i No Auth-modus, et passord er ikke nødvendig.",
"apiKey-inactive": "Inaktiv",
"lunaseaTarget": "Mål",
"Go back to the previous page.": "Gå tilbake til forrige side.",
"settingsCertificateExpiry": "TLS Sertifikat utløp",
"What you can try:": "Hva du kan prøve:",
"Retype the address.": "Skriv adressen på nytt.",
"Docker Hosts": "Docker Hosts",
"wayToGetLineNotifyToken": "Du kan få en tilgangstoken fra {0}",
"Long-Lived Access Token": "Langlevd tilgangstoken",
"Generate": "Generer",
"pagertreeSilent": "Stille",
"pagertreeHigh": "Høy",
"pagertreeCritical": "Kritisk",
"pagertreeDoNothing": "Gjør ingenting",
"lunaseaDeviceID": "Enhets ID",
"lunaseaUserID": "Bruker ID",
"twilioAccountSID": "Konto SID",
"twilioApiKey": "Api nøkkel (valgfri)",
"twilioFromNumber": "Fra nummer",
"twilioToNumber": "Til nummer",
"Badge Color": "Merkefarge",
"Badge Preview": "Merke fremvisning",
"Badge URL": "Merke URL",
"Group": "Gruppe",
"Mechanism": "Mekanisme",
"Close": "Lukk",
"2faAlreadyEnabled": "2FA er allerede aktivert.",
"onebotSafetyTips": "For sikkerhetsskyld, må en aksess token settes",
"successDisabled": "Deaktivert.",
"successEnabled": "Aktivert.",
"FlashDuty Severity": "Alvorlighet",
"apiKey-expired": "Utløpt",
"confirmUninstallPlugin": "Er du sikker på at du vil avinstallere valgte plugin?",
"notificationRegional": "Regional",
"emailTemplateServiceName": "Tjenestenavn",
"emailTemplateHostnameOrURL": "Hostnavn eller URL",
"emailTemplateStatus": "Status",
"uninstall": "Avinstaller",
"uninstalling": "Avinstallerer",
"There might be a typing error in the address.": "Det kan være en skrivefeil i adressen."
} }

@ -92,8 +92,10 @@
"Update Password": "Vernieuw wachtwoord", "Update Password": "Vernieuw wachtwoord",
"Disable Auth": "Authenticatie uitschakelen", "Disable Auth": "Authenticatie uitschakelen",
"Enable Auth": "Authenticatie inschakelen", "Enable Auth": "Authenticatie inschakelen",
"disableauth.message1": "Weet je zeker dat je <strong>authenticatie wilt uitschakelen</strong>?", "disableauth.message1": "Weet je zeker dat je {disableAuth}?",
"disableauth.message2": "Er zijn omstandigheden waarbij je <strong>authenticatie door derden wilt implementeren</strong> voor Uptime Kuma, zoals Cloudflare Access, Authelia of andere authenticatiemechanismen.", "disable authentication": "authenticatie wilt uitschakelen",
"disableauth.message2": "Er zijn omstandigheden waarbij je {intendThirdPartyAuth} voor Uptime Kuma, zoals Cloudflare Access, Authelia of andere authenticatiemechanismen.",
"where you intend to implement third-party authentication": "authenticatie door derden wilt implementeren",
"Please use this option carefully!": "Gebruik deze optie zorgvuldig!", "Please use this option carefully!": "Gebruik deze optie zorgvuldig!",
"Logout": "Uitloggen", "Logout": "Uitloggen",
"Leave": "Vertrekken", "Leave": "Vertrekken",
@ -147,7 +149,7 @@
"retryCheckEverySecond": "Probeer elke {0} seconden", "retryCheckEverySecond": "Probeer elke {0} seconden",
"importHandleDescription": "Kies 'Sla bestaande over' als je elke monitor of melding met dezelfde naam wilt overslaan. Kies 'Overschrijf' als je elke monitor of notificatie wilt verwijderen.", "importHandleDescription": "Kies 'Sla bestaande over' als je elke monitor of melding met dezelfde naam wilt overslaan. Kies 'Overschrijf' als je elke monitor of notificatie wilt verwijderen.",
"confirmImportMsg": "Weet je zeker dat je dit bestand wilt importeren? Controleer of je de correcte importeer optie hebt geselecteerd.", "confirmImportMsg": "Weet je zeker dat je dit bestand wilt importeren? Controleer of je de correcte importeer optie hebt geselecteerd.",
"Heartbeat Retry Interval": "Heartbeat Retry Interval", "Heartbeat Retry Interval": "Heartbeat opnieuw proberen interval",
"Import Backup": "Importeer Backup", "Import Backup": "Importeer Backup",
"Export Backup": "Exporteer Backup", "Export Backup": "Exporteer Backup",
"Skip existing": "Sla bestaande over", "Skip existing": "Sla bestaande over",
@ -171,7 +173,7 @@
"Search...": "Zoeken…", "Search...": "Zoeken…",
"Avg. Ping": "Gemiddelde ping", "Avg. Ping": "Gemiddelde ping",
"Avg. Response": "Gemiddelde response", "Avg. Response": "Gemiddelde response",
"Entry Page": "Entry Page", "Entry Page": "Opstartpagina",
"statusPageNothing": "Niets hier, voeg een groep of monitor toe.", "statusPageNothing": "Niets hier, voeg een groep of monitor toe.",
"No Services": "Geen diensten", "No Services": "Geen diensten",
"All Systems Operational": "Alle systemen operationeel", "All Systems Operational": "Alle systemen operationeel",
@ -202,7 +204,7 @@
"line": "Line Messenger", "line": "Line Messenger",
"mattermost": "Mattermost", "mattermost": "Mattermost",
"Method": "Methode", "Method": "Methode",
"Body": "Body", "Body": "Inhoud",
"Headers": "Headers", "Headers": "Headers",
"PushUrl": "Push URL", "PushUrl": "Push URL",
"HeadersInvalidFormat": "The request headers is geen geldige JSON: ", "HeadersInvalidFormat": "The request headers is geen geldige JSON: ",
@ -520,7 +522,7 @@
"wayToGetClickSendSMSToken": "Je kan een API Username en API Key krijgen vanuit {0} .", "wayToGetClickSendSMSToken": "Je kan een API Username en API Key krijgen vanuit {0} .",
"Connection String": "Connection String", "Connection String": "Connection String",
"Query": "Query", "Query": "Query",
"settingsCertificateExpiry": "TLS Certificate Expiry", "settingsCertificateExpiry": "TLS Certificaat verloopdatum",
"certificationExpiryDescription": "Stuur een melding bij het verlopen van het HTTPS TLS certificaat in:", "certificationExpiryDescription": "Stuur een melding bij het verlopen van het HTTPS TLS certificaat in:",
"ntfy Topic": "ntfy Topic", "ntfy Topic": "ntfy Topic",
"Domain": "Domein", "Domain": "Domein",
@ -580,7 +582,7 @@
"Server Timezone": "Server tijdzone", "Server Timezone": "Server tijdzone",
"statusPageMaintenanceEndDate": "Einde", "statusPageMaintenanceEndDate": "Einde",
"IconUrl": "Icoon URL", "IconUrl": "Icoon URL",
"Enable DNS Cache": "DNS Cache inschakelen", "Enable DNS Cache": "(Verouderd) Schakel DNS-cache in voor HTTP(s)-monitors",
"Enable": "Inschakelen", "Enable": "Inschakelen",
"Disable": "Uitschakelen", "Disable": "Uitschakelen",
"Single Maintenance Window": "Enkel onderhoudsperiode", "Single Maintenance Window": "Enkel onderhoudsperiode",
@ -618,9 +620,9 @@
"Lowcost": "Lowcost", "Lowcost": "Lowcost",
"Economy": "Economy", "Economy": "Economy",
"webhookAdditionalHeadersTitle": "Extra Headers", "webhookAdditionalHeadersTitle": "Extra Headers",
"webhookAdditionalHeadersDesc": "Voegt extra headers toe die meegestuurd worden met de webhook. Elke header moet worden gedefinieerd als een JSON key/value.", "webhookAdditionalHeadersDesc": "Voegt extra headers toe die meegestuurd worden met de webhook. Iedere header moet een JSON key/value zijn.",
"Help": "Hulp", "Help": "Hulp",
"Game": "Game", "Game": "Spel",
"statusMaintenance": "Onderhoud", "statusMaintenance": "Onderhoud",
"Maintenance": "Onderhoud", "Maintenance": "Onderhoud",
"Passive Monitor Type": "Passieve Monitor Type", "Passive Monitor Type": "Passieve Monitor Type",
@ -657,10 +659,10 @@
"Maintenance Time Window of a Day": "Onderhoud tijdsvak van een dag", "Maintenance Time Window of a Day": "Onderhoud tijdsvak van een dag",
"octopushAPIKey": "\"API key\" van HTTP API inloggegevens van het controle paneel", "octopushAPIKey": "\"API key\" van HTTP API inloggegevens van het controle paneel",
"octopushLogin": "\"Login\" van HTTP API inloggegevens controle paneel", "octopushLogin": "\"Login\" van HTTP API inloggegevens controle paneel",
"grpcMethodDescription": "Methode naam moet in cammelCase formaat zijn zoals zegHallo, check, etc.", "grpcMethodDescription": "Methodenaam moet in camelCase formaat zijn zoals zegHallo, check, etc.",
"wayToGetKookBotToken": "Maak een applicatie en haal je bot token op bij {0}", "wayToGetKookBotToken": "Maak een applicatie en haal je bot token op bij {0}",
"wayToGetKookGuildID": "Switch naar 'Developer Mode' in de Kook instellingen, en klik met de rechter muisknop op de guild om de ID op te halen", "wayToGetKookGuildID": "Switch naar 'Developer Mode' in de Kook instellingen, en klik met de rechter muisknop op de guild om de ID op te halen",
"Strategy": "Strategy", "Strategy": "Strategie",
"Free Mobile User Identifier": "Free Mobile User Identifier", "Free Mobile User Identifier": "Free Mobile User Identifier",
"Free Mobile API Key": "Free Mobile API Key", "Free Mobile API Key": "Free Mobile API Key",
"Proto Service Name": "Proto service naam", "Proto Service Name": "Proto service naam",
@ -730,17 +732,17 @@
"pagertreeIntegrationUrl": "Integratie URL", "pagertreeIntegrationUrl": "Integratie URL",
"pagertreeUrgency": "Urgentie", "pagertreeUrgency": "Urgentie",
"pagertreeSilent": "Stil", "pagertreeSilent": "Stil",
"telegramMessageThreadID": "(Optioneel) Message Thread ID", "telegramMessageThreadID": "(Optioneel) Berichtthread-ID",
"Clone Monitor": "Kloon Monitor", "Clone Monitor": "Kloon Monitor",
"Expires": "Vervalt", "Expires": "Vervalt",
"webhookCustomBodyDesc": "Definieer een aangepaste HTTP Body voor de request. Template variabelen {msg}, {heartbeat}, {monitor} worden geaccepteerd.", "webhookCustomBodyDesc": "Definieer een aangepaste HTTP Body voor de request. Template variabelen {msg}, {heartbeat}, {monitor} worden geaccepteerd.",
"webhookBodyPresetOption": "Vooraf ingesteld - {0}", "webhookBodyPresetOption": "Voorinstelling - {0}",
"webhookBodyCustomOption": "Aangepaste Body", "webhookBodyCustomOption": "Aangepaste Body",
"notificationRegional": "Regionaal", "notificationRegional": "Regionaal",
"No API Keys": "Geen API Sleutels", "No API Keys": "Geen API Sleutels",
"apiKeyAddedMsg": "Je API-sleutel is toegevoegd. Noteer deze, want hij wordt niet meer weergegeven.", "apiKeyAddedMsg": "Je API-sleutel is toegevoegd. Noteer deze, want hij wordt niet meer weergegeven.",
"Add API Key": "Voeg API Sleutel toe", "Add API Key": "Voeg API Sleutel toe",
"telegramSendSilently": "Stil verzenden", "telegramSendSilently": "Stil sturen",
"telegramSendSilentlyDescription": "Stille verzending van het bericht. Gebruikers ontvangen een melding zonder geluid.", "telegramSendSilentlyDescription": "Stille verzending van het bericht. Gebruikers ontvangen een melding zonder geluid.",
"Home": "Home", "Home": "Home",
"Don't expire": "Verval nooit", "Don't expire": "Verval nooit",
@ -755,16 +757,16 @@
"Invert Keyword": "Trefwoord omkeren", "Invert Keyword": "Trefwoord omkeren",
"filterActive": "Actief", "filterActive": "Actief",
"filterActivePaused": "Gepauzeerd", "filterActivePaused": "Gepauzeerd",
"statusPageRefreshIn": "Vernieuwen in: {0}", "statusPageRefreshIn": "Ververs in: {0}",
"telegramMessageThreadIDDescription": "Optioneel Unique identifier voor de target message thread (topic) van het forum; alleen voor forum-supergroepen", "telegramMessageThreadIDDescription": "Optioneel Unieke identifier voor de doelthread (onderwerp) van het forum; alleen voor forumsupergroepen",
"telegramProtectContentDescription": "Als deze optie is ingeschakeld, zijn de botberichten in Telegram beveiligd tegen doorsturen en opslaan.", "telegramProtectContentDescription": "Indien ingeschakeld, worden de botberichten in Telegram beschermd tegen doorsturen en opslaan.",
"telegramProtectContent": "Beveilig Doorsturen/Opslaan", "telegramProtectContent": "Bescherm doorsturen/opslaan",
"sameAsServerTimezone": "Zelfde als Server Tijdzone", "sameAsServerTimezone": "Hetzelfde als Server Tijdzone",
"startDateTime": "Begindatum/Tijd", "startDateTime": "Begindatum/-tijd",
"endDateTime": "Einddatum/Tijd", "endDateTime": "Einddatum/-tijd",
"cronExpression": "Cron expressie", "cronExpression": "Cron-expressie",
"cronSchedule": "Planning: ", "cronSchedule": "Schema: ",
"invalidCronExpression": "Ongeldige Cron expressie: {0}", "invalidCronExpression": "Ongeldige Cron-expressie: {0}",
"chromeExecutableDescription": "Voor Docker-gebruikers, als Chromium nog niet is geïnstalleerd, kan het een paar minuten duren om te installeren en het testresultaat weer te geven. Het neemt 1GB schijfruimte in beslag.", "chromeExecutableDescription": "Voor Docker-gebruikers, als Chromium nog niet is geïnstalleerd, kan het een paar minuten duren om te installeren en het testresultaat weer te geven. Het neemt 1GB schijfruimte in beslag.",
"invertKeywordDescription": "Kijk of het trefwoord afwezig is in plaats van aanwezig.", "invertKeywordDescription": "Kijk of het trefwoord afwezig is in plaats van aanwezig.",
"pushoverMessageTtl": "Bericht TTL (seconden)", "pushoverMessageTtl": "Bericht TTL (seconden)",
@ -801,6 +803,120 @@
"Cannot connect to the socket server": "Kan geen verbinding maken met de socket-server", "Cannot connect to the socket server": "Kan geen verbinding maken met de socket-server",
"Reconnecting...": "Opnieuw verbinden...", "Reconnecting...": "Opnieuw verbinden...",
"Expected Value": "Verwachte waarde", "Expected Value": "Verwachte waarde",
"Json Query": "Json Query", "Json Query": "Json zoekopdracht",
"jsonQueryDescription": "Voer een JSON-query uit op de respons en controleer de verwachte waarde (De retourwaarde wordt omgezet naar een string voor vergelijking). Bekijk <a href='https://jsonata.org/'>jsonata.org</a> voor de documentatie over de querytaal. Een speelplaats is beschikbaar <a href='https://try.jsonata.org/'>hier</a>." "jsonQueryDescription": "Voer een JSON-query uit op de respons en controleer de verwachte waarde (De retourwaarde wordt omgezet naar een string voor vergelijking). Bekijk {0} voor de documentatie over de querytaal. Een speelplaats is beschikbaar {1}.",
"pushViewCode": "Hoe gebruik je Push monitor?(View Code)",
"setupDatabaseChooseDatabase": "Welke database wil je gebruiken?",
"setupDatabaseEmbeddedMariaDB": "Je hoeft niks in te stellen. Deze docker image heeft een ingebouwde en geconfigureerde MariaDB instantie. Uptime Kuma verbindt met deze database via een unix socket.",
"setupDatabaseMariaDB": "Verbindt met een externe MariaDB database. Je moet de database connectie informatie instellen.",
"setupDatabaseSQLite": "Een simpel database bestand, aanbevolen voor kleinschalige deployments. Voor v2.0.0, maakte Uptime Kuma standaard gebruik van een SQLite database.",
"dbName": "Database naam",
"Request Timeout": "Verzoek Timeout",
"pushOthers": "Anderen",
"programmingLanguages": "Programmeertalen",
"styleElapsedTime": "Verstreken tijd onder de hartslagbalk",
"styleElapsedTimeShowNoLine": "Laat zien (Geen lijn)",
"styleElapsedTimeShowWithLine": "Laat zien (Met lijn)",
"timeoutAfter": "Timeout na {0} seconden",
"Select": "Selecteer",
"Server URL should not contain the nfty topic": "De server-URL mag het nfty-onderwerp niet bevatten",
"templateMsg": "bericht van de melding",
"liquidIntroduction": "Templatabiliteit wordt bereikt via de Liquid-templatingtaal. Raadpleeg de {0} voor gebruiksinstructies. Dit zijn de beschikbare variabelen:",
"emailTemplateLimitedToUpDownNotification": "alleen beschikbaar voor UP/DOWN heartbeats, anders null",
"enableNSCD": "Schakel NSCD (Name Service Cache Daemon) in voor het cachen van alle DNS-verzoeken",
"smtpLiquidIntroduction": "De volgende twee velden zijn in te stellen via de Liquid-templatingtaal. Raadpleeg de {0} voor gebruiksinstructies. Dit zijn de beschikbare variabelen:",
"emailCustomisableContent": "Aanpasbare inhoud",
"Reset Token": "Hersteltoken",
"noDockerHostMsg": "Niet beschikbaar. Stel eerst een Docker host in.",
"DockerHostRequired": "Stel de Docker host voor deze monitor in.",
"leave blank for default subject": "laat leeg voor standaard onderwerp",
"emailCustomBody": "Aangepaste inhoud",
"leave blank for default body": "laat leeg voor standaard inhoud",
"emailTemplateServiceName": "Service naam",
"emailTemplateHostnameOrURL": "Hostnaam of URL",
"emailTemplateStatus": "Status",
"emailTemplateMonitorJSON": "object dat de monitor beschrijft",
"emailTemplateHeartbeatJSON": "object dat de heartbeat beschrijft",
"emailTemplateMsg": "meldingsbericht",
"PushDeer Server": "PushDeer-server",
"Kafka Brokers": "Kafka Brokers",
"Enter the list of brokers": "Voer de lijst met brokers in",
"monitorToastMessagesLabel": "Monitor toast-meldingen",
"monitorToastMessagesDescription": "Toast-meldingen voor monitors verdwijnen na het opgegeven aantal meldingen. Zet dit op -1 om het verdwijnen uit te zetten. Zet op 0 om meldingen helemaal uit te zetten.",
"toastErrorTimeout": "Timeout voor foutmeldingen",
"toastSuccessTimeout": "Timeout voor succesmeldingen",
"Press Enter to add broker": "Druk op enter om een broker toe te voegen",
"Bark API Version": "Bark API-versie",
"templateHeartbeatJSON": "object dat de heartbeat beschrijft",
"templateMonitorJSON": "object dat de monitor beschrijft",
"templateLimitedToUpDownCertNotifications": "alleen beschikbaar voor UP/DOWN/Certificaatverloop notificaties",
"templateLimitedToUpDownNotifications": "alleen beschikbaar voor UP/DOWN notificaties",
"pushDeerServerDescription": "Laat dit veld leeg om de officiële server te gebruiken",
"Check/Uncheck": "Vink/Ontvink",
"tailscalePingWarning": "Om de Tailscale Ping-monitor te kunnen gebruiken, moet u Uptime Kuma zonder Docker installeren en ook de Tailscale-client op uw server installeren.",
"selectedMonitorCount": "Geselecteerd: {0}",
"wayToGetFlashDutyKey": "Ga naar Kanaal -> (Kies een kanaal) -> Integraties -> Voeg een nieuwe integratie toe, voeg een 'Custom Event' toe om een push-adres te verkrijgen, kopieer de integratiesleutel in het adres-veld. Voor meer informatie, zie",
"gamedigGuessPortDescription": "De poort die wordt gebruikt door het Valve Server Query Protocol kan verschillen van de clientpoort. Probeer dit als de monitor geen verbinding kan maken met je server.",
"authUserInactiveOrDeleted": "De gebruiker is inactief of verwijderd.",
"authInvalidToken": "Ongeldig token.",
"authIncorrectCreds": "Ongeldige gebruikersnaam of wachtwoord.",
"2faAlreadyEnabled": "2FA is al ingeschakeld.",
"2faEnabled": "2FA Ingeschakeld.",
"2faDisabled": "2FA Uitgeschakeld.",
"successAdded": "Succesvol toegevoegd.",
"successResumed": "Succesvol doorgegaan.",
"successPaused": "Succesvol gepauzeerd.",
"successDeleted": "Succesvol verwijderd.",
"successEdited": "Succesvol bewerkt.",
"GrafanaOncallUrl": "Grafana Oncall URL",
"Kafka SASL Options": "Kafka SASL opties",
"Pick a SASL Mechanism...": "Kies een SASL mechanisme…",
"Enable Kafka SSL": "Kafka SSL inschakelen",
"Kafka Topic Name": "Kafka Topicnaam",
"Kafka Producer Message": "Kafka Producer bericht",
"Enable Kafka Producer Auto Topic Creation": "Kafka Producer automatische topic aanmaak inschakelen",
"Mechanism": "Mechanisme",
"Authorization Identity": "Autorisatie-identiteit",
"AccessKey Id": "AccessKey Id",
"Secret AccessKey": "Geheim AccessKey",
"Session Token": "Sessietoken",
"FlashDuty Severity": "Hevigheid",
"nostrRelays": "Nostr relays",
"nostrRelaysHelp": "Een relay-URL per regel",
"nostrSender": "Private key van de afzender (nsec)",
"nostrRecipients": "Publieke sleutels van de ontvangers (npub)",
"nostrRecipientsHelp": "npub formaat, een per regel",
"showCertificateExpiry": "Toon certificaat verloopdatum",
"noOrBadCertificate": "Geen/Fout certificaat",
"gamedigGuessPort": "Gamedig: Guess poort",
"Saved.": "Opgeslagen.",
"successAuthChangePassword": "Wachtwoord is succesvol gewijzigd.",
"successBackupRestored": "Backup succesvol teruggezet.",
"successDisabled": "Succesvol uitgeschakeld.",
"successEnabled": "Succesvol ingeschakeld.",
"tagNotFound": "Tag niet gevonden.",
"foundChromiumVersion": "Chromium/Chrome gevonden. Versie {0}",
"Browser Screenshot": "Browser Screenshot",
"successKeyword": "Succes trefwoord",
"successKeywordExplanation": "MQTT Keyword dat als succes wordt gezien",
"Add a new expiry notification day": "Voeg een nieuwe dag voor een vervaldatummelding toe",
"Remove the expiry notification": "Verwijder de melding voor de vervaldatum",
"Remote Browser": "Remote Browser",
"Add a Remote Browser": "Voeg een Remote Browser toe",
"Remote Browsers": "Remote Browsers",
"self-hosted container": "Self-hosted container",
"useRemoteBrowser": "Gebruik een Remote Browser",
"Remote Browser not found!": "Remote Browser niet gevonden!",
"remoteBrowsersDescription": "Remote Browsers zijn een alternatief voor het lokaal draaien van Chromium. Stel in via een service zoals browserless.io of verbind je eigen",
"deleteRemoteBrowserMessage": "Weet je zeker dat je deze Remote Browser voor alle monitors wilt verwijderen?",
"remoteBrowserToggle": "Chromium draait standaard in de Uptime Kuma container. Door dit aan te zetten kun je een remote browser gebruiken.",
"setup a new monitor group": "Stel een nieuwe monitorgroep in",
"Add a domain": "Voeg een domein toe",
"Remove domain": "Verwijder domein '{0}'",
"openModalTo": "Modal openen naar {0}",
"settingUpDatabaseMSG": "Database wordt ingesteld. Dit kan even duren dus wees geduldig.",
"Search monitored sites": "Zoek naar gemonitorde sites",
"statusPageSpecialSlugDesc": "Speciale padnaam {0}: deze pagina wordt getoond als er geen padnaam wordt opgegeven",
"ntfyPriorityHelptextAllEvents": "Alle meldingen worden verzonden met de maximale prioriteit",
"ntfyPriorityHelptextAllExceptDown": "Alle meldingen worden verzonden met deze prioriteit, behalve {0}-meldingen, die hebben een prioriteit van {1}"
} }

@ -0,0 +1,7 @@
{
"languageName": "پنجابی",
"setupDatabaseChooseDatabase": "ਤੁਸੀਂ ਕਿਹੜਾ ਡੇਟਾਬੇਸ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ?",
"setupDatabaseSQLite": "ਇੱਕ ਸਧਾਰਨ ਡੇਟਾਬੇਸ ਫਾਈਲ, ਛੋਟੇ ਪੈਮਾਨੇ ਦੀਆਂ ਤੈਨਾਤੀਆਂ ਲਈ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। v2.0.0 ਤੋਂ ਪਹਿਲਾਂ, ਅਪਟਾਈਮ ਕੁਮਾ ਨੇ ਡਿਫੌਲਟ ਡੇਟਾਬੇਸ ਵਜੋਂ SQLite ਦੀ ਵਰਤੋਂ ਕੀਤੀ।",
"setupDatabaseEmbeddedMariaDB": "ਤੁਹਾਨੂੰ ਕੁਝ ਵੀ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਇਸ ਡੌਕਰ ਚਿੱਤਰ ਨੇ ਤੁਹਾਡੇ ਲਈ ਮਾਰੀਆਡੀਬੀ ਨੂੰ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਏਮਬੇਡ ਅਤੇ ਕੌਂਫਿਗਰ ਕੀਤਾ ਹੈ। ਅਪਟਾਈਮ ਕੁਮਾ ਯੂਨਿਕਸ ਸਾਕਟ ਦੁਆਰਾ ਇਸ ਡੇਟਾਬੇਸ ਨਾਲ ਜੁੜ ਜਾਵੇਗਾ।",
"setupDatabaseMariaDB": "ਇੱਕ ਬਾਹਰੀ ਮਾਰੀਆਡੀਬੀ ਡੇਟਾਬੇਸ ਨਾਲ ਜੁੜੋ। ਤੁਹਾਨੂੰ ਡਾਟਾਬੇਸ ਕੁਨੈਕਸ਼ਨ ਜਾਣਕਾਰੀ ਨੂੰ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ."
}

@ -0,0 +1,12 @@
{
"setupDatabaseMariaDB": "ਇੱਕ ਬਾਹਰੀ ਮਾਰੀਆਡੀਬੀ ਡੇਟਾਬੇਸ ਨਾਲ ਜੁੜੋ। ਤੁਹਾਨੂੰ ਡਾਟਾਬੇਸ ਕੁਨੈਕਸ਼ਨ ਜਾਣਕਾਰੀ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।",
"languageName": "ਅੰਗਰੇਜ਼ੀ",
"setupDatabaseChooseDatabase": "ਤੁਸੀਂ ਕਿਹੜਾ ਡੇਟਾਬੇਸ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ?",
"setupDatabaseEmbeddedMariaDB": "ਤੁਹਾਨੂੰ ਕੁਝ ਵੀ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਇਸ ਡੌਕਰ ਚਿੱਤਰ ਨੇ ਤੁਹਾਡੇ ਲਈ ਮਾਰੀਆਡੀਬੀ ਨੂੰ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਏਮਬੇਡ ਅਤੇ ਕੌਂਫਿਗਰ ਕੀਤਾ ਹੈ। ਅਪਟਾਈਮ ਕੁਮਾ ਯੂਨਿਕਸ ਸਾਕਟ ਦੁਆਰਾ ਇਸ ਡੇਟਾਬੇਸ ਨਾਲ ਜੁੜ ਜਾਵੇਗਾ।",
"dbName": "ਡਾਟਾਬੇਸ ਦਾ ਨਾਮ",
"Settings": "ਸੈਟਿੰਗਾਂ",
"Dashboard": "ਡੈਸ਼ਬੋਰਡ",
"Help": "ਮਦਦ ਕਰੋ",
"New Update": "ਨਵਾਂ ਅੱਪਡੇਟ",
"setupDatabaseSQLite": "ਇੱਕ ਸਧਾਰਨ ਡੇਟਾਬੇਸ ਫਾਈਲ, ਛੋਟੇ ਪੈਮਾਨੇ ਦੀਆਂ ਤੈਨਾਤੀਆਂ ਲਈ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। v2.0.0 ਤੋਂ ਪਹਿਲਾਂ, ਅਪਟਾਈਮ ਕੁਮਾ ਨੇ ਡਿਫੌਲਟ ਡੇਟਾਬੇਸ ਵਜੋਂ SQLite ਦੀ ਵਰਤੋਂ ਕੀਤੀ।"
}

@ -3,7 +3,7 @@
"checkEverySecond": "Sprawdzaj co {0} sekund", "checkEverySecond": "Sprawdzaj co {0} sekund",
"retryCheckEverySecond": "Ponawiaj co {0} sekund", "retryCheckEverySecond": "Ponawiaj co {0} sekund",
"retriesDescription": "Maksymalna liczba powtórzeń, zanim usługa zostanie oznaczona jako niedostępna i zostanie wysłane powiadomienie", "retriesDescription": "Maksymalna liczba powtórzeń, zanim usługa zostanie oznaczona jako niedostępna i zostanie wysłane powiadomienie",
"ignoreTLSError": "Ignoruj błąd TLS/SSL dla stron HTTPS", "ignoreTLSError": "Ignoruj błędy TLS/SSL dla stron HTTPS",
"upsideDownModeDescription": "Odwróć status do góry nogami. Jeśli usługa jest osiągalna, to jest oznaczona jako niedostępna.", "upsideDownModeDescription": "Odwróć status do góry nogami. Jeśli usługa jest osiągalna, to jest oznaczona jako niedostępna.",
"maxRedirectDescription": "Maksymalna liczba przekierowań do wykonania. Ustaw na 0, aby wyłączyć przekierowania.", "maxRedirectDescription": "Maksymalna liczba przekierowań do wykonania. Ustaw na 0, aby wyłączyć przekierowania.",
"acceptedStatusCodesDescription": "Wybierz kody stanu, które są uważane za prawidłową odpowiedź.", "acceptedStatusCodesDescription": "Wybierz kody stanu, które są uważane za prawidłową odpowiedź.",
@ -96,8 +96,10 @@
"Update Password": "Zaktualizuj hasło", "Update Password": "Zaktualizuj hasło",
"Disable Auth": "Wyłącz autoryzację", "Disable Auth": "Wyłącz autoryzację",
"Enable Auth": "Włącz autoryzację", "Enable Auth": "Włącz autoryzację",
"disableauth.message1": "Czy na pewno chcesz <strong>wyłączyć autoryzację</strong>?", "disableauth.message1": "Czy na pewno chcesz {disableAuth}?",
"disableauth.message2": "Jest przeznaczony dla <strong>kogoś, kto ma autoryzację zewnętrzną</strong> przed Uptime Kuma, taką jak Cloudflare Access.", "disable authentication": "wyłączyć autoryzację",
"disableauth.message2": "Jest przeznaczony dla {intendThirdPartyAuth} przed Uptime Kuma, taką jak Cloudflare Access.",
"where you intend to implement third-party authentication": "kogoś, kto ma autoryzację zewnętrzną",
"Please use this option carefully!": "Proszę używać tej opcji ostrożnie!", "Please use this option carefully!": "Proszę używać tej opcji ostrożnie!",
"Logout": "Wyloguj", "Logout": "Wyloguj",
"Leave": "Zostaw", "Leave": "Zostaw",
@ -450,7 +452,7 @@
"wayToGetCloudflaredURL": "(Pobierz cloudflared z {0})", "wayToGetCloudflaredURL": "(Pobierz cloudflared z {0})",
"cloudflareWebsite": "strona Cloudflare", "cloudflareWebsite": "strona Cloudflare",
"Message:": "Wiadomość:", "Message:": "Wiadomość:",
"Don't know how to get the token? Please read the guide:": "Nie wiesz jak uzyksać token? Przeczytaj proszę poradnik:", "Don't know how to get the token? Please read the guide:": "Nie wiesz, jak uzyskać token? Przeczytaj proszę poradnik:",
"The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Bieżące połączenie może zostać utracone, jeśli aktualnie łączysz się przez tunel Cloudflare. Czy na pewno chcesz to przerwać? Wpisz swoje aktualne hasło, aby je potwierdzić.", "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Bieżące połączenie może zostać utracone, jeśli aktualnie łączysz się przez tunel Cloudflare. Czy na pewno chcesz to przerwać? Wpisz swoje aktualne hasło, aby je potwierdzić.",
"Other Software": "Inne oprogramowanie", "Other Software": "Inne oprogramowanie",
"For example: nginx, Apache and Traefik.": "Na przykład: nginx, Apache i Traefik.", "For example: nginx, Apache and Traefik.": "Na przykład: nginx, Apache i Traefik.",
@ -669,7 +671,7 @@
"dataRetentionTimeError": "Okres przechowywania musi wynosić 0 lub więcej", "dataRetentionTimeError": "Okres przechowywania musi wynosić 0 lub więcej",
"infiniteRetention": "Ustaw na 0, aby uzyskać nieskończony okres przechowywania.", "infiniteRetention": "Ustaw na 0, aby uzyskać nieskończony okres przechowywania.",
"enableGRPCTls": "Zezwalaj na wysyłanie żądania gRPC z połączeniem TLS", "enableGRPCTls": "Zezwalaj na wysyłanie żądania gRPC z połączeniem TLS",
"grpcMethodDescription": "Nazwa metody jest konwertowana na format cammelCase, taki jak sayHello, check, itp.", "grpcMethodDescription": "Nazwa metody jest konwertowana na format camelCase, taki jak sayHello, check, itp.",
"Guild ID": "ID gildii", "Guild ID": "ID gildii",
"Proto Content": "Zawartość Proto", "Proto Content": "Zawartość Proto",
"Proto Method": "Metoda Proto", "Proto Method": "Metoda Proto",
@ -791,7 +793,7 @@
"styleElapsedTime": "Czas, który upłynął pod paskiem bicia serca", "styleElapsedTime": "Czas, który upłynął pod paskiem bicia serca",
"tailscalePingWarning": "Aby korzystać z monitora Tailscale Ping, należy zainstalować Uptime Kuma bez Dockera, a także zainstalować klienta Tailscale na serwerze.", "tailscalePingWarning": "Aby korzystać z monitora Tailscale Ping, należy zainstalować Uptime Kuma bez Dockera, a także zainstalować klienta Tailscale na serwerze.",
"invertKeywordDescription": "Słowo kluczowe powinno być raczej nieobecne niż obecne.", "invertKeywordDescription": "Słowo kluczowe powinno być raczej nieobecne niż obecne.",
"jsonQueryDescription": "Wykonaj zapytanie json względem odpowiedzi i sprawdź oczekiwaną wartość (wartość zwracana zostanie przekonwertowana na ciąg znaków do porównania). Sprawdź <a href='https://jsonata.org/'>jsonata.org</a>, aby uzyskać dokumentację dotyczącą języka zapytań. Plac zabaw można znaleźć <a href='https://try.jsonata.org/'>tutaj</a>.", "jsonQueryDescription": "Wykonaj zapytanie json względem odpowiedzi i sprawdź oczekiwaną wartość (wartość zwracana zostanie przekonwertowana na ciąg znaków do porównania). Sprawdź {0}, aby uzyskać dokumentację dotyczącą języka zapytań. Plac zabaw można znaleźć {1}.",
"Server URL should not contain the nfty topic": "Adres URL serwera nie powinien zawierać tematu nfty", "Server URL should not contain the nfty topic": "Adres URL serwera nie powinien zawierać tematu nfty",
"Badge Duration (in hours)": "Czas trwania odznaki (w godzinach)", "Badge Duration (in hours)": "Czas trwania odznaki (w godzinach)",
"Enter the list of brokers": "Wprowadź listę brokerów", "Enter the list of brokers": "Wprowadź listę brokerów",
@ -870,5 +872,50 @@
"Bark API Version": "Wersja API Bark", "Bark API Version": "Wersja API Bark",
"pushOthers": "Inne", "pushOthers": "Inne",
"programmingLanguages": "Języki programowania", "programmingLanguages": "Języki programowania",
"toastSuccessTimeout": "Limit czasu dla powiadomień o powodzeniu" "toastSuccessTimeout": "Limit czasu dla powiadomień o powodzeniu",
"Reset Token": "Zresetuj token",
"liquidIntroduction": "Szablonowość jest osiągana za pomocą języka szablonów Liquid. Instrukcje użytkowania znajdują się w {0}. Oto dostępne zmienne:",
"templateLimitedToUpDownCertNotifications": "dostępne tylko dla powiadomień UP/DOWN/wygaśnięcia certyfikatu",
"emailTemplateLimitedToUpDownNotification": "dostępne tylko dla uderzeń serca UP/DOWN, w przeciwnym razie null",
"emailCustomisableContent": "Personalizowana zawartość",
"smtpLiquidIntroduction": "Poniższe dwa pola można szablonować za pomocą języka szablonów Liquid. Instrukcje użytkowania znajdują się w {0}. Są to dostępne zmienne:",
"leave blank for default subject": "pozostaw puste dla domyślnego tematu",
"emailCustomBody": "Niestandardowa treść wiadomości e-mail",
"leave blank for default body": "pozostaw puste dla domyślnej treści",
"emailTemplateServiceName": "Nazwa usługi",
"emailTemplateHostnameOrURL": "Nazwa hosta lub adres URL",
"emailTemplateStatus": "Status",
"emailTemplateMonitorJSON": "obiekt opisujący monitor",
"emailTemplateHeartbeatJSON": "obiekt opisujący bicie serca",
"emailTemplateMsg": "wiadomość powiadomienia",
"templateMsg": "wiadomość powiadomienia",
"templateHeartbeatJSON": "obiekt opisujący bicie serca",
"templateMonitorJSON": "obiekt opisujący monitor",
"templateLimitedToUpDownNotifications": "dostępne tylko dla powiadomień UP/DOWN",
"Browser Screenshot": "Zrzut ekranu przeglądarki",
"noDockerHostMsg": "Niedostępne. Najpierw skonfiguruj host Dockera.",
"DockerHostRequired": "Ustaw host Dockera dla tego monitora.",
"successKeyword": "Słowo kluczowe sukcesu",
"successKeywordExplanation": "Słowo kluczowe MQTT, które zostanie uznane za sukces",
"ntfyPriorityHelptextAllExceptDown": "Wszystkie zdarzenia są wysyłane z tym priorytetem, z wyjątkiem zdarzeń {0}, które mają priorytet {1}",
"remoteBrowsersDescription": "Przeglądarki zdalne są alternatywą dla lokalnego uruchamiania Chromium. Skonfiguruj za pomocą usługi takiej jak browserless.io lub połącz z własną",
"deleteRemoteBrowserMessage": "Czy na pewno chcesz usunąć tę zdalną przeglądarkę dla wszystkich monitorów?",
"GrafanaOncallUrl": "Adres URL Grafana Oncall",
"Remote Browsers": "Zdalne przeglądarki",
"self-hosted container": "kontener hostowany samodzielnie",
"settingUpDatabaseMSG": "Konfigurowanie bazy danych. Może to trochę potrwać, prosimy o cierpliwość.",
"statusPageSpecialSlugDesc": "Specjalny slug {0}: ta strona zostanie wyświetlona, jeśli nie podano żadnego slugu",
"Search monitored sites": "Wyszukiwanie monitorowanych witryn",
"setup a new monitor group": "konfiguracja nowej grupy monitorów",
"openModalTo": "otwórz modal na {0}",
"Add a domain": "Dodaj domenę",
"Remove domain": "Usuń domenę '{0}'",
"ntfyPriorityHelptextAllEvents": "Wszystkie zdarzenia są wysyłane z maksymalnym priorytetem",
"Remote Browser": "Zdalna przeglądarka",
"Add a Remote Browser": "Dodaj zdalną przeglądarkę",
"Remote Browser not found!": "Nie znaleziono zdalnej przeglądarki!",
"remoteBrowserToggle": "Domyślnie Chromium działa wewnątrz kontenera Uptime Kuma. Możesz użyć zdalnej przeglądarki, przełączając ten przełącznik.",
"useRemoteBrowser": "Używaj zdalnej przeglądarki",
"Add a new expiry notification day": "Dodaj nowy dzień wygaśnięcia powiadomienia",
"Remove the expiry notification": "Usunąć dzień powiadomienia o wygaśnięciu"
} }

@ -1,5 +1,5 @@
{ {
"languageName": "Português (Brasil)", "languageName": "Português (Brasileiro)",
"checkEverySecond": "Verificar a cada {0} segundos", "checkEverySecond": "Verificar a cada {0} segundos",
"retryCheckEverySecond": "Tentar novamente a cada {0} segundos", "retryCheckEverySecond": "Tentar novamente a cada {0} segundos",
"retriesDescription": "Máximo de tentativas antes que o serviço seja marcado como inativo e uma notificação seja enviada", "retriesDescription": "Máximo de tentativas antes que o serviço seja marcado como inativo e uma notificação seja enviada",
@ -54,7 +54,7 @@
"Delete": "Apagar", "Delete": "Apagar",
"Current": "Atual", "Current": "Atual",
"Uptime": "Tempo de atividade", "Uptime": "Tempo de atividade",
"Cert Exp.": "Expiração Do Certificado", "Cert Exp.": "Expiração Do Certificado.",
"day": "dia | dias", "day": "dia | dias",
"-day": "-dia", "-day": "-dia",
"hour": "hora", "hour": "hora",
@ -96,8 +96,10 @@
"Update Password": "Atualizar Senha", "Update Password": "Atualizar Senha",
"Disable Auth": "Desativar Autenticação", "Disable Auth": "Desativar Autenticação",
"Enable Auth": "Ativar Autenticação", "Enable Auth": "Ativar Autenticação",
"disableauth.message1": "Você tem certeza que deseja <strong>desativar a autenticação</strong>?", "disableauth.message1": "Você tem certeza que deseja {disableAuth}?",
"disableauth.message2": "Isso é para <strong>alguém que tem autenticação de terceiros</strong> na frente do 'UpTime Kuma' como o Cloudflare Access.", "disable authentication": "desativar a autenticação",
"disableauth.message2": "Isso é para {intendThirdPartyAuth} na frente do 'UpTime Kuma' como o Cloudflare Access.",
"where you intend to implement third-party authentication": "alguém que tem autenticação de terceiros",
"Please use this option carefully!": "Por favor, utilize isso com cautela!", "Please use this option carefully!": "Por favor, utilize isso com cautela!",
"Logout": "Deslogar", "Logout": "Deslogar",
"Leave": "Sair", "Leave": "Sair",
@ -196,7 +198,7 @@
"Required": "Requerido", "Required": "Requerido",
"webhookJsonDesc": "{0} é bom para qualquer servidor HTTP moderno, como Express.js", "webhookJsonDesc": "{0} é bom para qualquer servidor HTTP moderno, como Express.js",
"webhookAdditionalHeadersTitle": "Cabeçalhos Adicionais", "webhookAdditionalHeadersTitle": "Cabeçalhos Adicionais",
"webhookAdditionalHeadersDesc": "Define cabeçalhos adicionais enviados com o webhook. Cada cabeçalho deve ser definido como uma chave/valor JSON.", "webhookAdditionalHeadersDesc": "Define cabeçalhos adicionais enviados com o webhook. Cada cabeçalho pode ser definido como uma chave/valor JSON.",
"Webhook URL": "URL Do Webhook", "Webhook URL": "URL Do Webhook",
"Priority": "Prioridade", "Priority": "Prioridade",
"Read more": "Ver mais", "Read more": "Ver mais",
@ -306,11 +308,11 @@
"Notification Service": "Serviço De Notificação", "Notification Service": "Serviço De Notificação",
"default: notify all devices": "padrão: notificar todos os dispositivos", "default: notify all devices": "padrão: notificar todos os dispositivos",
"Trigger type:": "Tipo Do Acionamento:", "Trigger type:": "Tipo Do Acionamento:",
"Then choose an action, for example switch the scene to where an RGB light is red.": "Em seguida, escolha uma ação, por exemplo, alterar a cena onde uma luz RGB está vermelha.", "Then choose an action, for example switch the scene to where an RGB light is red.": "Escolha uma ação, por exemplo, mudar o cenário onde uma luz RGB está vermelha.",
"Enable": "Habilitado", "Enable": "Habilitado",
"Disable": "Desabilitado", "Disable": "Desabilitado",
"IconUrl": "URL Do Ícone", "IconUrl": "URL Do Ícone",
"Enable DNS Cache": "(Descontinuado) Habilitar o Cache DNS para monitores HTTP(s)", "Enable DNS Cache": "(Descontinuado) Habilitar Cache de DNS para monitores HTTP(s)",
"Single Maintenance Window": "Janela Única De Manutenção", "Single Maintenance Window": "Janela Única De Manutenção",
"dnsCacheDescription": "Pode não funcionar em alguns ambientes com IPv6, desabita caso encontre qualquer problema.", "dnsCacheDescription": "Pode não funcionar em alguns ambientes com IPv6, desabita caso encontre qualquer problema.",
"Messaging API": "API Da Mensageira", "Messaging API": "API Da Mensageira",
@ -517,7 +519,7 @@
"maintenanceStatus-unknown": "Desconhecido", "maintenanceStatus-unknown": "Desconhecido",
"enableGRPCTls": "Permita para enviar requisições gRPC com conexões TLS", "enableGRPCTls": "Permita para enviar requisições gRPC com conexões TLS",
"confirmDeleteTagMsg": "Você tem certeza que deseja apagar essa tag? Monitores associados a essa tag não serão apagados.", "confirmDeleteTagMsg": "Você tem certeza que deseja apagar essa tag? Monitores associados a essa tag não serão apagados.",
"grpcMethodDescription": "O nome do método é convertido para o formato cammelCase, exemplos: enviarBomDia, verificar, etc.", "grpcMethodDescription": "O nome do método é convertido para o formato camelCase, exemplos: sayHello, check, etc.",
"infiniteRetention": "Defina como 0 para um tempo infinito de retenção.", "infiniteRetention": "Defina como 0 para um tempo infinito de retenção.",
"octopushLegacyHint": "Você usa a versão legada do Octopush (2011-2020) ou a nova versão?", "octopushLegacyHint": "Você usa a versão legada do Octopush (2011-2020) ou a nova versão?",
"Example:": "Exemplo: {0}", "Example:": "Exemplo: {0}",
@ -548,11 +550,11 @@
"endpoint": "endpoint", "endpoint": "endpoint",
"pagertreeIntegrationUrl": "URL de Integração", "pagertreeIntegrationUrl": "URL de Integração",
"pagertreeUrgency": "Urgência", "pagertreeUrgency": "Urgência",
"telegramMessageThreadID": "(Opcional) Message Thread ID", "telegramMessageThreadID": "(Opcional) ID da thread",
"Edit Tag": "Editar Etiqueta", "Edit Tag": "Editar Etiqueta",
"Server Address": "Endereço do Servidor", "Server Address": "Endereço do Servidor",
"Learn More": "Aprender Mais", "Learn More": "Aprender Mais",
"needSignalAPI": "Você precisa de um cliente Signal com API REST.", "needSignalAPI": "Você precisa ter um cliente Signal com uma API REST.",
"Generate": "Gerar", "Generate": "Gerar",
"deleteAPIKeyMsg": "Você tem certeza de que quer apagar essa chave de API?", "deleteAPIKeyMsg": "Você tem certeza de que quer apagar essa chave de API?",
"plugin": "Plugin | Plugins", "plugin": "Plugin | Plugins",
@ -571,16 +573,16 @@
"secureOptionTLS": "TLS (465)", "secureOptionTLS": "TLS (465)",
"From Email": "Remetente", "From Email": "Remetente",
"smtpCC": "CC", "smtpCC": "CC",
"smtpBCC": "CCO", "smtpBCC": "BCC",
"To Email": "Destinatário", "To Email": "Destinatário",
"Recipients": "Destinatários", "Recipients": "Destinatários",
"Google Analytics ID": "ID Google Analytics", "Google Analytics ID": "ID Google Analytics",
"Post": "Post", "Post": "Post",
"Slug": "Slug", "Slug": "Apelido",
"The slug is already taken. Please choose another slug.": "Esse slug já foi utilizado. Por favor escolha outro slug.", "The slug is already taken. Please choose another slug.": "Este apelido já está em uso. Por favor escolha outro apelido.",
"Setup Docker Host": "Configurar Host Docker", "Setup Docker Host": "Configurar um Host Docker",
"trustProxyDescription": "Confiar nos cabeçalhos 'X-Forwarded-*'. Se você quer obter o endereço IP do cliente correto no seu Uptime Kuma que está por trás de um proxy como Nginx ou Apache, você deve ativar isso.", "trustProxyDescription": "Confiar nos cabeçalhos 'X-Forwarded-*'. Se você quer obter o endereço IP correto do cliente mas seu Uptime Kuma está atrás de um proxy como Nginx ou Apache, você deve habilitar isso.",
"Automations can optionally be triggered in Home Assistant:": "Automações podem opcionalmente ser disparadas no Home Assistant:", "Automations can optionally be triggered in Home Assistant:": "Automações podem ser acionadas opcionalmente no Home Assistant:",
"secureOptionNone": "Nenhum / STARTTLS (25, 587)", "secureOptionNone": "Nenhum / STARTTLS (25, 587)",
"apiKeyAddedMsg": "Sua chave de API foi adicionada. Por favor anote essa chave, ela não será mostrada novamente.", "apiKeyAddedMsg": "Sua chave de API foi adicionada. Por favor anote essa chave, ela não será mostrada novamente.",
"Show Clickable Link": "Mostrar Link Clicável", "Show Clickable Link": "Mostrar Link Clicável",
@ -593,7 +595,7 @@
"Saved.": "Salvo.", "Saved.": "Salvo.",
"Feishu WebHookUrl": "URL de Webhook do Feishu", "Feishu WebHookUrl": "URL de Webhook do Feishu",
"serwersmsAPIUser": "Nome de usuário da API (incluindo o prefixo webapi_)", "serwersmsAPIUser": "Nome de usuário da API (incluindo o prefixo webapi_)",
"setupDatabaseEmbeddedMariaDB": "Você não precisa configurar nada. Esta imagem Docker possui o MariaDB incorporado e configurado automaticamente para você. O Uptime Kuma se conectará a este banco de dados através do soquete Unix.", "setupDatabaseEmbeddedMariaDB": "Você não precisa definir nada. Esta imagem docker incorporou e configurou um MariaDB para você automaticamente. Uptime Kuma se conectará a este banco de dados via soquete unix.",
"Select": "Selecione", "Select": "Selecione",
"supportTelegramChatID": "Suporte para o ID de bate-papo direto / grupo / canal do chat", "supportTelegramChatID": "Suporte para o ID de bate-papo direto / grupo / canal do chat",
"A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Uma lista de Serviços de Notificação pode ser encontrada no Home Assistant em \"Ferramentas de Desenvolvimento > Serviços\". Pesquise por \"notificação\" para encontrar o nome do seu dispositivo/telefone.", "A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Uma lista de Serviços de Notificação pode ser encontrada no Home Assistant em \"Ferramentas de Desenvolvimento > Serviços\". Pesquise por \"notificação\" para encontrar o nome do seu dispositivo/telefone.",
@ -603,7 +605,7 @@
"wayToGetLineChannelToken": "Primeiro acesse o {0}, crie um provedor e um canal (API de Mensagens), então você pode obter o token de acesso do canal e o ID do usuário nos itens de menu mencionados acima.", "wayToGetLineChannelToken": "Primeiro acesse o {0}, crie um provedor e um canal (API de Mensagens), então você pode obter o token de acesso do canal e o ID do usuário nos itens de menu mencionados acima.",
"aboutMattermostChannelName": "Você pode substituir o canal padrão para o qual o Webhook envia postagens, inserindo o nome do canal no campo \"Nome do Canal\". Isso precisa ser habilitado nas configurações do Webhook do Mattermost. Por exemplo: #outro-canal", "aboutMattermostChannelName": "Você pode substituir o canal padrão para o qual o Webhook envia postagens, inserindo o nome do canal no campo \"Nome do Canal\". Isso precisa ser habilitado nas configurações do Webhook do Mattermost. Por exemplo: #outro-canal",
"invertKeywordDescription": "Procure pela palavra-chave estar ausente em vez de presente.", "invertKeywordDescription": "Procure pela palavra-chave estar ausente em vez de presente.",
"jsonQueryDescription": "Faça uma consulta JSON na resposta e verifique o valor esperado (o valor de retorno será convertido em uma string para comparação). Confira <a href='https://jsonata.org/'>jsonata.org</a> para a documentação sobre a linguagem de consulta. Você pode encontrar um playground <a href='https://try.jsonata.org/'>aqui</a>.", "jsonQueryDescription": "Faça uma consulta JSON na resposta e verifique o valor esperado (o valor de retorno será convertido em uma string para comparação). Confira {0} para a documentação sobre a linguagem de consulta. Você pode encontrar um playground {1}.",
"octopushTypePremium": "Premium (Rápido - recomendado para alertas)", "octopushTypePremium": "Premium (Rápido - recomendado para alertas)",
"octopushTypeLowCost": "Baixo Custo (Lento - às vezes bloqueado pelo operador)", "octopushTypeLowCost": "Baixo Custo (Lento - às vezes bloqueado pelo operador)",
"octopushSMSSender": "Nome do Remetente de SMS: 3-11 caracteres alfanuméricos e espaço (a-zA-Z0-9)", "octopushSMSSender": "Nome do Remetente de SMS: 3-11 caracteres alfanuméricos e espaço (a-zA-Z0-9)",
@ -613,9 +615,9 @@
"promosmsTypeFlash": "SMS FLASH - A mensagem será exibida automaticamente no dispositivo do destinatário. Limitado apenas aos destinatários poloneses.", "promosmsTypeFlash": "SMS FLASH - A mensagem será exibida automaticamente no dispositivo do destinatário. Limitado apenas aos destinatários poloneses.",
"promosmsTypeSpeed": "SMS SPEED - Maior prioridade no sistema. Muito rápido e confiável, mas custoso (cerca de duas vezes o preço do SMS FULL).", "promosmsTypeSpeed": "SMS SPEED - Maior prioridade no sistema. Muito rápido e confiável, mas custoso (cerca de duas vezes o preço do SMS FULL).",
"matrixDesc1": "Você pode encontrar o ID da sala interna olhando na seção avançada das configurações da sala em seu cliente Matrix. Deve parecer algo como !QMdRCpUIfLwsfjxye6:home.server.", "matrixDesc1": "Você pode encontrar o ID da sala interna olhando na seção avançada das configurações da sala em seu cliente Matrix. Deve parecer algo como !QMdRCpUIfLwsfjxye6:home.server.",
"matrixDesc2": "É altamente recomendado que você crie um novo usuário e não use o token de acesso do seu próprio usuário Matrix, pois isso permitirá acesso total à sua conta e todas as salas às quais você se juntou. Em vez disso, crie um novo usuário e convide-o apenas para a sala na qual você deseja receber a notificação. Você pode obter o token de acesso executando {0}.", "matrixDesc2": "É altamente recomendado que você crie um novo usuário e não use o token de acesso do seu próprio usuário Matrix, pois isso permitirá acesso total à sua conta e todas as salas às quais você se juntou. Em vez disso, crie um novo usuário e convide-o apenas para a sala na qual você deseja receber a notificação. Você pode obter o token de acesso executando {0}",
"aboutChannelName": "Digite o nome do canal no campo Nome do Canal em {0} se você deseja ignorar o canal do Webhook. Exemplo: #outro-canal", "aboutChannelName": "Digite o nome do canal no campo Nome do Canal em {0} se você deseja ignorar o canal do Webhook. Exemplo: #outro-canal",
"wayToGetPagerDutyKey": "Você pode obter isso indo para Serviço -> Diretório de Serviço -> (Selecionar um serviço) -> Integrações -> Adicionar integração. Aqui você pode procurar por \"Events API V2\". Mais informações {0}.", "wayToGetPagerDutyKey": "Você pode obter isso indo para Serviço -> Diretório de Serviço -> (Selecionar um serviço) -> Integrações -> Adicionar integração. Aqui você pode procurar por \"Events API V2\". Mais informações {0}",
"From Name/Number": "Nome/Número de Origem", "From Name/Number": "Nome/Número de Origem",
"Server URL should not contain the nfty topic": "A URL do servidor não deve conter o tópico do nfty", "Server URL should not contain the nfty topic": "A URL do servidor não deve conter o tópico do nfty",
"pushDeerServerDescription": "Deixe em branco para usar o servidor oficial", "pushDeerServerDescription": "Deixe em branco para usar o servidor oficial",
@ -633,8 +635,8 @@
"chromeExecutable": "Executável do Chrome/Chromium", "chromeExecutable": "Executável do Chrome/Chromium",
"Edit Maintenance": "Editar Manutenção", "Edit Maintenance": "Editar Manutenção",
"aboutIconURL": "Você pode fornecer um link para uma imagem em \"URL do Ícone\" para substituir a imagem de perfil padrão. Não será usado se o \"Ícone Emoji\" estiver configurado.", "aboutIconURL": "Você pode fornecer um link para uma imagem em \"URL do Ícone\" para substituir a imagem de perfil padrão. Não será usado se o \"Ícone Emoji\" estiver configurado.",
"octopushAPIKey": "\"Chave API\" das credenciais da API HTTP no painel de controle.", "octopushAPIKey": "\"API Key\" da credencial HTTP API do painel de controle",
"octopushLogin": "\"Login\" das credenciais da API HTTP no painel de controle.", "octopushLogin": "\"Login\" das credenciais da API HTTP no painel de controle",
"pushoversounds pushover": "Pushover (padrão)", "pushoversounds pushover": "Pushover (padrão)",
"pushoversounds bike": "Bicicleta", "pushoversounds bike": "Bicicleta",
"pushoversounds bugle": "Corneta", "pushoversounds bugle": "Corneta",
@ -729,23 +731,23 @@
"Show Clickable Link Description": "Se marcada, todos que têm acesso a esta página de status podem ter acesso ao URL do monitor.", "Show Clickable Link Description": "Se marcada, todos que têm acesso a esta página de status podem ter acesso ao URL do monitor.",
"Group": "Grupo", "Group": "Grupo",
"Monitor Group": "Grupo do Monitor", "Monitor Group": "Grupo do Monitor",
"Request Timeout": "Tempo Limite da Solicitação", "Request Timeout": "Tempo esgotado da requisição",
"timeoutAfter": "Tempo limite após {0} segundos", "timeoutAfter": "Tempo esgotado após {0} segundos",
"webhookBodyPresetOption": "Predefinição - {0}", "webhookBodyPresetOption": "Predefinição - {0}",
"webhookBodyCustomOption": "Corpo Customizado", "webhookBodyCustomOption": "Corpo Customizado",
"Check/Uncheck": "Marcar/Desmarcar", "Check/Uncheck": "Marcar/Desmarcar",
"tailscalePingWarning": "Para usar o monitor Tailscale Ping, você precisa instalar o Uptime Kuma sem o Docker e também instalar o cliente Tailscale em seu servidor.", "tailscalePingWarning": "Para usar o monitor Tailscale Ping, você precisa instalar o Uptime Kuma sem o Docker e também instalar o cliente Tailscale em seu servidor.",
"telegramMessageThreadIDDescription": "Identificador único opcional para o tópico da mensagem alvo do fórum; apenas para supergrupos de fóruns.", "telegramMessageThreadIDDescription": "Identificador único opcional para o tópico da mensagem alvo do fórum; apenas para supergrupos de fóruns",
"pushoversounds none": "Nenhum (silencioso)", "pushoversounds none": "Nenhum (Silencioso)",
"pushyAPIKey": "Chave de API Secreta", "pushyAPIKey": "Chave Secreta da API",
"pushyToken": "Token do Dispositivo", "pushyToken": "Token do Dispositivo",
"GoogleChat": "Google Chat (Apenas para Google Workspace)", "GoogleChat": "Chat Google (Apenas para Google Workspace)",
"wayToGetKookGuildID": "Ative o 'Modo Desenvolvedor' nas configurações do Kook e clique com o botão direito do mouse no servidor para obter seu ID.", "wayToGetKookGuildID": "Ative o 'Modo Desenvolvedor' nas configurações do Kook e clique com o botão direito do mouse no servidor para obter seu ID",
"Guild ID": "ID do Servidor (Guild)", "Guild ID": "ID do Servidor (Guild)",
"pushoverDesc1": "A prioridade de emergência (2) possui um intervalo de 30 segundos entre as tentativas padrão e expirará após 1 hora.", "pushoverDesc1": "A prioridade de emergência (2) possui um intervalo de 30 segundos entre as tentativas padrão e expirará após 1 hora.",
"pushoverDesc2": "Se você deseja enviar notificações para diferentes dispositivos, preencha o campo \"Dispositivo\".", "pushoverDesc2": "Se você deseja enviar notificações para diferentes dispositivos, preencha o campo \"Dispositivo\".",
"pushoverMessageTtl": "Tempo de Vida da Mensagem (Segundos)", "pushoverMessageTtl": "Tempo de Vida da Mensagem (Segundos)",
"pushoversounds vibrate": "Somente vibrar", "pushoversounds vibrate": "Somente Vibrar",
"SecretAccessKey": "Segredo da Chave de Acesso", "SecretAccessKey": "Segredo da Chave de Acesso",
"PhoneNumbers": "Números de Telefone", "PhoneNumbers": "Números de Telefone",
"TemplateCode": "Código de Modelo", "TemplateCode": "Código de Modelo",
@ -759,7 +761,7 @@
"High": "Alto", "High": "Alto",
"WeCom Bot Key": "Chave do Bot do WeCom", "WeCom Bot Key": "Chave do Bot do WeCom",
"promosmsTypeEco": "SMS ECO - barato, mas lento e frequentemente sobrecarregado. Limitado apenas aos destinatários poloneses.", "promosmsTypeEco": "SMS ECO - barato, mas lento e frequentemente sobrecarregado. Limitado apenas aos destinatários poloneses.",
"styleElapsedTime": "Tempo decorrido abaixo da barra de pulsação", "styleElapsedTime": "Tempo decorrido na barra de heartbeat",
"Expected Value": "Valor Esperado", "Expected Value": "Valor Esperado",
"webhookCustomBodyDesc": "Defina um corpo HTTP personalizado para a solicitação. Variáveis de modelo {msg}, {heartbeat}, {monitor} são aceitas.", "webhookCustomBodyDesc": "Defina um corpo HTTP personalizado para a solicitação. Variáveis de modelo {msg}, {heartbeat}, {monitor} são aceitas.",
"Invert Keyword": "Palavra-chave de Inversão", "Invert Keyword": "Palavra-chave de Inversão",
@ -782,12 +784,106 @@
"Badge Warn Days": "Dias de Aviso do Distintivo", "Badge Warn Days": "Dias de Aviso do Distintivo",
"Badge Down Days": "Dias Desligado do Distintivo", "Badge Down Days": "Dias Desligado do Distintivo",
"Badge Style": "Estilo do Distintivo", "Badge Style": "Estilo do Distintivo",
"Badge value (For Testing only.)": "Valor do Distintivo (Apenas para Testes).", "Badge value (For Testing only.)": "Valor do Selo (Apenas para Testes.)",
"Badge URL": "URL do Distintivo", "Badge URL": "URL do Distintivo",
"Badge Generator": "Gerador de Distintivo de {0}", "Badge Generator": "Gerador de Distintivo de {0}",
"Badge Type": "Tipo de Distintivo", "Badge Type": "Tipo de Distintivo",
"Badge Duration (in hours)": "Duração do Distintivo (em horas)", "Badge Duration (in hours)": "Duração do Distintivo (em horas)",
"Badge Label": "Nome do Distintivo", "Badge Label": "Nome do Distintivo",
"Badge Prefix": "Prefixo do Valor do Distintivo", "Badge Prefix": "Prefixo do Valor do Distintivo",
"Badge Suffix": "Sufixo do Valor do Distintivo" "Badge Suffix": "Sufixo do Valor do Distintivo",
"Kafka SASL Options": "Opções Kafka SASL",
"Reset Token": "Redefinir Token",
"Kafka Brokers": "Kafka Brokers",
"Kafka Producer Message": "Mensagem do produtor Kafka",
"pushViewCode": "Como Utilizar o Monitor de Push ( Visualizar Codigo)",
"Enter the list of brokers": "Entre a lista de brokers",
"Press Enter to add broker": "Pressione Enter para adicionar broker",
"Kafka Topic Name": "Nome do tópico Kafka",
"Enable Kafka SSL": "Habilitar Kafka SSL",
"Enable Kafka Producer Auto Topic Creation": "Ativar a criação automática de tópicos do Kafka Producer",
"Mechanism": "Mecanismo",
"Pick a SASL Mechanism...": "Escolha um mecanismo SASL…",
"Bark API Version": "Versão da API Bark",
"pushOthers": "Outros",
"programmingLanguages": "Linguagens de Programação",
"liquidIntroduction": "A modelabilidade é obtida por meio da linguagem de modelagem Liquid. Consulte {0} para obter instruções de uso. Estas são as variáveis disponíveis:",
"Secret AccessKey": "Chave de acesso secreta",
"Authorization Identity": "Identidade de autorização",
"emailCustomisableContent": "Conteúdo personalizável",
"smtpLiquidIntroduction": "Os dois campos a seguir podem ser modelados por meio da linguagem de modelagem Liquid. Consulte {0} para obter instruções de uso. Estas são as variáveis disponíveis:",
"leave blank for default subject": "deixe em branco para o assunto padrão",
"emailCustomBody": "Corpo personalizado",
"leave blank for default body": "deixe em branco para o corpo padrão",
"emailTemplateServiceName": "Nome do Serviço",
"emailTemplateHostnameOrURL": "Nome do host ou URL",
"emailTemplateStatus": "Status",
"emailTemplateMonitorJSON": "objeto que descreve o monitor",
"emailTemplateHeartbeatJSON": "objeto que descreve o batimento cardíaco",
"emailTemplateMsg": "mensagem da notificação",
"emailTemplateLimitedToUpDownNotification": "disponível apenas para pulsações UP/DOWN, caso contrário, nulo",
"wayToGetFlashDutyKey": "Você pode ir para Canal -> (Selecionar um Canal) -> Integrações -> Adicionar uma nova integração', adicionar um 'Evento Personalizado' para obter um endereço de push, copiar a Chave de Integração no endereço. Para mais informações por favor visite",
"FlashDuty Severity": "Gravidade",
"templateMsg": "mensagem da notificação",
"templateHeartbeatJSON": "objeto que descreve o batimento cardíaco",
"templateMonitorJSON": "objeto que descreve o monitor",
"templateLimitedToUpDownCertNotifications": "disponível apenas para notificações UP/DOWN/expiração de certificado",
"templateLimitedToUpDownNotifications": "disponível apenas para notificações UP/DOWN",
"Session Token": "Token de sessão",
"noGroupMonitorMsg": "Não disponível. Crie primeiro um monitor de grupo.",
"Close": "Fechar",
"Request Body": "Corpo da Solicitação",
"AccessKey Id": "ID da chave de acesso",
"nostrRelays": "Repetidor Nostr",
"nostrRecipientsHelp": "formato npub, um por linha",
"gamedigGuessPortDescription": "A porta usada pelo Valve Server Query Protocol pode ser diferente da porta do cliente. Tente fazer isso se o monitor não conseguir se conectar ao seu servidor.",
"authUserInactiveOrDeleted": "O usuário está inativo ou excluído.",
"authInvalidToken": "Token inválido.",
"authIncorrectCreds": "Usuário ou senha incorretos.",
"2faAlreadyEnabled": "2FA já está ativado.",
"2faEnabled": "2FA habilitado.",
"2faDisabled": "2FA desativado.",
"nostrSender": "Chave privada do remetente (nsec)",
"nostrRecipients": "Chaves Públicas dos Destinatários (npub)",
"GrafanaOncallUrl": "URL do Grafana Oncall",
"noDockerHostMsg": "Não disponível. Configure primeiro um Docker Host.",
"DockerHostRequired": "Defina o Docker Host para este monitor.",
"nostrRelaysHelp": "Um URL de retransmissão por linha",
"showCertificateExpiry": "Mostrar expiração do certificado",
"noOrBadCertificate": "Certificado Ruim/Ausente",
"successAdded": "Adicionado com sucesso.",
"successResumed": "Reiniciado com sucesso.",
"successPaused": "Pausado com sucesso.",
"successDeleted": "Apagado com sucesso.",
"successEdited": "Editado com sucesso.",
"successAuthChangePassword": "A senha foi atualizada com sucesso.",
"successBackupRestored": "Backup restaurado com sucesso.",
"successDisabled": "Desativado com sucesso.",
"successEnabled": "Habilitado com sucesso.",
"tagNotFound": "Etiqueta não encontrada.",
"gamedigGuessPort": "Gamedig: Adivinhar Porta",
"foundChromiumVersion": "Chromium/Chrome encontrado. Versão: {0}",
"successKeywordExplanation": "Palavra-chave MQTT que será considerada bem-sucedida",
"Add a new expiry notification day": "Adicione um novo dia de notificação de expiração",
"Remove the expiry notification": "Remova o dia de notificação de expiração",
"setup a new monitor group": "Configure um novo grupo de monitores",
"successKeyword": "Palavra-chave de Sucesso",
"Browser Screenshot": "Captura de tela do navegador",
"Remote Browsers": "Navegadores Remotos",
"Remote Browser": "Navegador Remoto",
"Add a Remote Browser": "Adicione um Navegador Remoto",
"Remote Browser not found!": "Navegador Remoto não encontrado!",
"remoteBrowsersDescription": "Os navegadores remotos são uma alternativa para executar o Chromium localmente. Configure com um serviço como browserless.io ou conecte-se ao seu próprio",
"self-hosted container": "Contêiner auto-hospedado",
"remoteBrowserToggle": "Por padrão, o Chromium é executado dentro do contêiner Uptime Kuma. Você pode usar um navegador remoto diferente, substituindo esse.",
"useRemoteBrowser": "Use um navegador remoto",
"deleteRemoteBrowserMessage": "Tem certeza de que deseja excluir este Navegador Remoto para todos os monitores?",
"Add a domain": "Adicione um domínio",
"Remove domain": "Remover domínio '{0}'",
"openModalTo": "Abrir modal para {0}",
"ntfyPriorityHelptextAllExceptDown": "Todos os eventos são enviados com esta prioridade, exceto {0}-events, que têm prioridade de {1}",
"statusPageSpecialSlugDesc": "Slug especial {0}: esta página será mostrada quando nenhum slug for fornecido",
"settingUpDatabaseMSG": "Configurando o banco de dados. Pode demorar um pouco, por favor, seja paciente.",
"Search monitored sites": "Pesquisar sites monitorados",
"ntfyPriorityHelptextAllEvents": "Todos os eventos são enviados com prioridade máxima"
} }

@ -96,8 +96,10 @@
"Update Password": "Atualizar Senha", "Update Password": "Atualizar Senha",
"Disable Auth": "Desativar Autenticação", "Disable Auth": "Desativar Autenticação",
"Enable Auth": "Ativar Autenticação", "Enable Auth": "Ativar Autenticação",
"disableauth.message1": "Tens a certeza que queres <strong>desativar a autenticação</strong>?", "disableauth.message1": "Tens a certeza que queres {disableAuth}?",
"disableauth.message2": "Isso é para <strong>alguém que tem autenticação de terceiros</strong> em frente ao 'UpTime Kuma' como o Cloudflare Access.", "disable authentication": "desativar a autenticação",
"disableauth.message2": "Isso é para {intendThirdPartyAuth} em frente ao 'UpTime Kuma' como o Cloudflare Access.",
"where you intend to implement third-party authentication": "alguém que tem autenticação de terceiros",
"Please use this option carefully!": "Por favor, utiliza esta opção com cuidado.", "Please use this option carefully!": "Por favor, utiliza esta opção com cuidado.",
"Logout": "Logout", "Logout": "Logout",
"Leave": "Sair", "Leave": "Sair",

@ -1,8 +1,8 @@
{ {
"Settings": "Definições", "Settings": "Definições",
"Help": "Ajuda", "Help": "Ajuda",
"New Update": "Nova actualização", "New Update": "Nova atualização",
"Language": "Linguagem", "Language": "Idioma",
"Appearance": "Aspecto", "Appearance": "Aspecto",
"Theme": "Tema", "Theme": "Tema",
"General": "Geral", "General": "Geral",
@ -26,7 +26,7 @@
"Resume": "Retomar", "Resume": "Retomar",
"Edit": "Editar", "Edit": "Editar",
"Delete": "Remover", "Delete": "Remover",
"Current": "Actual", "Current": "Atual",
"Uptime": "Tempo de atividade", "Uptime": "Tempo de atividade",
"day": "dia | dias", "day": "dia | dias",
"languageName": "Português", "languageName": "Português",
@ -35,5 +35,18 @@
"Dashboard": "Dashboard", "Dashboard": "Dashboard",
"Add New Monitor": "Adicionar Novo Monitor", "Add New Monitor": "Adicionar Novo Monitor",
"Home": "Home", "Home": "Home",
"Check Update On GitHub": "Verificar por Actualizações no GitHub" "Check Update On GitHub": "Verificar por Atualizações no GitHub",
"setupDatabaseChooseDatabase": "Qual banco de dados você deseja usar?",
"setupDatabaseEmbeddedMariaDB": "Não é necessario definir. Esta imagem do docker incorporou e configurou automaticamente o MariaDB para você. O Uptime Kuma se conectará a este banco de dados via soquete unix.",
"setupDatabaseMariaDB": "Conecte-se a um banco de dados MariaDB externo. Você precisa definir as informações de conexão do banco de dados.",
"setupDatabaseSQLite": "Um arquivo de banco de dados simples, recomendado para implantações em pequena escala. Antes da v2.0.0, o Uptime Kuma usava SQLite como banco de dados padrão.",
"dbName": "Nome do banco de dados",
"Monitor": "Monitorar",
"hour": "hora",
"-hour": "-hora",
"Response": "Resposta",
"Ping": "Ping",
"-day": "-dia",
"Port": "Porta",
"Cannot connect to the socket server": "Não é possível conectar-se ao socket server"
} }

@ -6,7 +6,7 @@
"Theme": "Temă", "Theme": "Temă",
"General": "General", "General": "General",
"Version": "Versiune", "Version": "Versiune",
"Check Update On GitHub": "Verifică Actualitatea pe GitHub", "Check Update On GitHub": "Verifică actualizarea pe GitHub",
"Quick Stats": "Statistici Rapide", "Quick Stats": "Statistici Rapide",
"Up": "Sus", "Up": "Sus",
"Down": "Jos", "Down": "Jos",
@ -14,7 +14,7 @@
"Maintenance": "Mentenanță", "Maintenance": "Mentenanță",
"General Monitor Type": "Monitor de Tip General", "General Monitor Type": "Monitor de Tip General",
"Passive Monitor Type": "Monitor de Tip Pasiv", "Passive Monitor Type": "Monitor de Tip Pasiv",
"markdownSupported": "Limbaj Markdown Acceptat", "markdownSupported": "Limbaj Markdown acceptat",
"Pause": "Pauză", "Pause": "Pauză",
"Name": "Nume", "Name": "Nume",
"Status": "Status", "Status": "Status",
@ -24,7 +24,7 @@
"Resume": "Reia", "Resume": "Reia",
"Delete": "Șterge", "Delete": "Șterge",
"Uptime": "Timpul de funcționare", "Uptime": "Timpul de funcționare",
"Cert Exp.": "Expirarea Certificatului", "Cert Exp.": "Exp. Cert.",
"Monitor": "Monitor | Monitoare", "Monitor": "Monitor | Monitoare",
"day": "zi | zile", "day": "zi | zile",
"-day": "-zi", "-day": "-zi",
@ -33,7 +33,7 @@
"Ping": "Ping", "Ping": "Ping",
"Monitor Type": "Tipul Monitorului", "Monitor Type": "Tipul Monitorului",
"Keyword": "Cuvânt Cheie", "Keyword": "Cuvânt Cheie",
"Friendly Name": "Nume Ușor de Recunoscut", "Friendly Name": "Nume ușor de recunoscut",
"URL": "URL", "URL": "URL",
"Hostname": "Hostname", "Hostname": "Hostname",
"Port": "Port", "Port": "Port",
@ -44,8 +44,8 @@
"retryCheckEverySecond": "Reîncearcă la fiecare {0} secunde", "retryCheckEverySecond": "Reîncearcă la fiecare {0} secunde",
"resendEveryXTimes": "Retrimite de {0} ori", "resendEveryXTimes": "Retrimite de {0} ori",
"resendDisabled": "Retrimiterea dezactivată", "resendDisabled": "Retrimiterea dezactivată",
"ignoreTLSError": "Ignoră erorile TLS/SSL pentru site-urile HTTPS", "ignoreTLSError": "Ignoră erorile TLS/SSL pentru site-urile web HTTPS",
"upsideDownModeDescription": "Întoarce statusul cu susul în jos. Dacă serviciul este contactabil, este OFFLINE.", "upsideDownModeDescription": "Întoarce statusul cu susul în jos. Dacă serviciul este accesibil, este OFFLINE.",
"Upside Down Mode": "Modul cu Susul in Jos", "Upside Down Mode": "Modul cu Susul in Jos",
"Max. Redirects": "Nr. Max. de Redirecționări", "Max. Redirects": "Nr. Max. de Redirecționări",
"Accepted Status Codes": "Coduri de Status Acceptate", "Accepted Status Codes": "Coduri de Status Acceptate",
@ -72,7 +72,6 @@
"Update Password": "Actualizează Parola", "Update Password": "Actualizează Parola",
"Disable Auth": "Dezactivează Autentificarea", "Disable Auth": "Dezactivează Autentificarea",
"Enable Auth": "Activează Autentificarea", "Enable Auth": "Activează Autentificarea",
"disableauth.message1": "Ești sigur că vrei să <strong>dezactivezi autentificarea</strong>?",
"Please use this option carefully!": "Utilizează Această Opțiune cu Grijă!", "Please use this option carefully!": "Utilizează Această Opțiune cu Grijă!",
"Logout": "Delogare", "Logout": "Delogare",
"Leave": "Părăsește", "Leave": "Părăsește",
@ -90,7 +89,7 @@
"Repeat Password": "Repetă Parola", "Repeat Password": "Repetă Parola",
"Import Backup": "Importează Backup-ul", "Import Backup": "Importează Backup-ul",
"Export Backup": "Exporta Backup-ul", "Export Backup": "Exporta Backup-ul",
"Export": "Exportează", "Export": "Exportă",
"Import": "Importă", "Import": "Importă",
"respTime": "Timp de Răspuns (ms)", "respTime": "Timp de Răspuns (ms)",
"Apply on all existing monitors": "Aplică pentru toate monitoarele existente", "Apply on all existing monitors": "Aplică pentru toate monitoarele existente",
@ -201,8 +200,8 @@
"setAsDefault": "Setează ca Implicit", "setAsDefault": "Setează ca Implicit",
"deleteProxyMsg": "Ești sigur că vrei să ștergi acest proxy pentru toate monitoarele?", "deleteProxyMsg": "Ești sigur că vrei să ștergi acest proxy pentru toate monitoarele?",
"Certificate Chain": "Lanț-ul Certificatului", "Certificate Chain": "Lanț-ul Certificatului",
"Valid": "Valid", "Valid": "Valabil",
"Invalid": "Invalid", "Invalid": "Nevalabil",
"User": "Utilizator", "User": "Utilizator",
"Installed": "Instalat", "Installed": "Instalat",
"Running": "Operează", "Running": "Operează",
@ -217,7 +216,7 @@
"Next": "Înainte", "Next": "Înainte",
"No Proxy": "Niciun Proxy", "No Proxy": "Niciun Proxy",
"Authentication": "Autentificate", "Authentication": "Autentificate",
"HTTP Basic Auth": "HTTP Basic Auth", "HTTP Basic Auth": "Autentificare de bază HTTP",
"New Status Page": "Pagină de Status Nouă", "New Status Page": "Pagină de Status Nouă",
"Page Not Found": "Pagină Negăsită", "Page Not Found": "Pagină Negăsită",
"Backup": "Backup", "Backup": "Backup",
@ -262,8 +261,8 @@
"What you can try:": "Ce poți încerca:", "What you can try:": "Ce poți încerca:",
"Retype the address.": "Rescrie adresa.", "Retype the address.": "Rescrie adresa.",
"Go back to the previous page.": "Mergi la pagina precedentă.", "Go back to the previous page.": "Mergi la pagina precedentă.",
"Coming Soon": "În curând.", "Coming Soon": "În curând",
"Connection String": "Connection String", "Connection String": "Șirul de conexiune",
"Query": "Query", "Query": "Query",
"settingsCertificateExpiry": "Expirarea certificatului TLS", "settingsCertificateExpiry": "Expirarea certificatului TLS",
"Setup Docker Host": "Configurează Docker Host", "Setup Docker Host": "Configurează Docker Host",
@ -274,7 +273,7 @@
"tcp": "TCP / HTTP", "tcp": "TCP / HTTP",
"Docker Container": "Container Docker", "Docker Container": "Container Docker",
"Container Name / ID": "Numele Container-ului / ID", "Container Name / ID": "Numele Container-ului / ID",
"Docker Host": "Docker Host", "Docker Host": "Gazdă Docker",
"Domain": "Domeniu", "Domain": "Domeniu",
"Workstation": "Stație de lucru", "Workstation": "Stație de lucru",
"Packet Size": "Mărime Pachet", "Packet Size": "Mărime Pachet",
@ -302,7 +301,7 @@
"Optional": "Opțional", "Optional": "Opțional",
"squadcast": "Squadcast", "squadcast": "Squadcast",
"or": "sau", "or": "sau",
"recurringInterval": "Interval", "recurringInterval": "Perioadă",
"Recurring": "Recurentă", "Recurring": "Recurentă",
"strategyManual": "Activ/Inactiv Manual", "strategyManual": "Activ/Inactiv Manual",
"warningTimezone": "Folosește fusul orar al server-ului", "warningTimezone": "Folosește fusul orar al server-ului",
@ -329,10 +328,10 @@
"Server Timezone": "Fusul Orar al Server-ului", "Server Timezone": "Fusul Orar al Server-ului",
"statusPageMaintenanceEndDate": "Sfârșit", "statusPageMaintenanceEndDate": "Sfârșit",
"IconUrl": "URL-ul pictogramei", "IconUrl": "URL-ul pictogramei",
"Enable DNS Cache": "Activează DNS Cache", "Enable DNS Cache": "(Depreciat) Activează DNS Cache pentru monitoarele HTTP(s)",
"Enable": "Activează", "Enable": "Activează",
"Disable": "Dezactivează", "Disable": "Dezactivează",
"Effective Date Range": "Interval în care se aplică", "Effective Date Range": "Interval în care se aplică (Optional)",
"Schedule Maintenance": "Planifică Mentenanță", "Schedule Maintenance": "Planifică Mentenanță",
"Date and Time": "Dată și Oră", "Date and Time": "Dată și Oră",
"DateTime Range": "Interval DatăOră", "DateTime Range": "Interval DatăOră",
@ -371,7 +370,7 @@
"infiniteRetention": "Setează la „0” pentru retenție pe perioadă nedeterminată.", "infiniteRetention": "Setează la „0” pentru retenție pe perioadă nedeterminată.",
"confirmDeleteTagMsg": "Ești sigur că vrei să ștergi această etichetă? Monitoarele asociate cu această etichetă nu vor fi șterse.", "confirmDeleteTagMsg": "Ești sigur că vrei să ștergi această etichetă? Monitoarele asociate cu această etichetă nu vor fi șterse.",
"enableGRPCTls": "Permite trimiterea cererilor gRPC cu conexiune TLS", "enableGRPCTls": "Permite trimiterea cererilor gRPC cu conexiune TLS",
"grpcMethodDescription": "Numele metodei este convert to cammelCase format cum ar fi sayHello, check, etc.", "grpcMethodDescription": "Numele metodei este convertit în format camelCase, cum ar fi sayHello, check etc.",
"deleteMonitorMsg": "Ești sigur că vrei să ștergi acest monitor?", "deleteMonitorMsg": "Ești sigur că vrei să ștergi acest monitor?",
"deleteMaintenanceMsg": "Ești sigur că vrei să ștergi această mentenanță?", "deleteMaintenanceMsg": "Ești sigur că vrei să ștergi această mentenanță?",
"dnsPortDescription": "Port-ul server-ului DNS. Este implicit 53. Poți schimba acest port oricând.", "dnsPortDescription": "Port-ul server-ului DNS. Este implicit 53. Poți schimba acest port oricând.",
@ -441,9 +440,9 @@
"Message Title": "Titlu Mesaj", "Message Title": "Titlu Mesaj",
"Notification Sound": "Sunet Notificare", "Notification Sound": "Sunet Notificare",
"More info on:": "Mai multe informații la: {0}", "More info on:": "Mai multe informații la: {0}",
"pushoverDesc2": "Dacă vrei să trimiți notificări la dispozitive diferite, completează câmpul „Dispozitiv”", "pushoverDesc2": "Dacă doriți să trimiteți notificări către diferite dispozitive, completați câmpul Dispozitiv.",
"Settings": "Setări", "Settings": "Setări",
"New Update": "Update Nou", "New Update": "Actualizare nouă",
"Language": "Limbă", "Language": "Limbă",
"Game": "Joc", "Game": "Joc",
"Primary Base URL": "URL-ul de Bază", "Primary Base URL": "URL-ul de Bază",
@ -459,11 +458,14 @@
"Response": "Răspuns", "Response": "Răspuns",
"Heartbeat Interval": "Interval Heartbeat", "Heartbeat Interval": "Interval Heartbeat",
"Resend Notification if Down X times consequently": "Retrimite Notificarea dacă se Întâmpină Eroarea de X ori consecutiv", "Resend Notification if Down X times consequently": "Retrimite Notificarea dacă se Întâmpină Eroarea de X ori consecutiv",
"retriesDescription": "Numărul Maxim de Reîncercări înainte ca serviciul să fie marcat offline și să se trimită o notificare", "retriesDescription": "Numărul maxim de reîncercări înainte ca serviciul să fie marcat offline și să se trimită o notificare",
"maxRedirectDescription": "Numărul maxim de redirecționări permise. Setează la „0” pentru a dezactiva redirecționările.", "maxRedirectDescription": "Numărul maxim de redirecționări permise. Setează la „0” pentru a dezactiva redirecționările.",
"Theme - Heartbeat Bar": "Temă - Bara de Heartbeat", "Theme - Heartbeat Bar": "Temă - Bara de Heartbeat",
"Discourage search engines from indexing site": "Descurajează Motoarele de Căutare din a Indexa Acest Site", "Discourage search engines from indexing site": "Descurajează Motoarele de Căutare din a Indexa Acest Site",
"disableauth.message2": "Este proiectat pentru scenarii <strong>în care intenționezi să implementezi soluții terțe de autentificare</strong> în fața Uptime Kuma, cum ar fi Cloudflare Access, Authelia, sau alt mecanism de autentificare.", "disableauth.message1": "Ești sigur că vrei să {disableAuth}?",
"disable authentication": "{disableAuth}",
"disableauth.message2": "Este proiectat pentru scenarii {intendThirdPartyAuth} în fața Uptime Kuma, cum ar fi Cloudflare Access, Authelia, sau alt mecanism de autentificare.",
"where you intend to implement third-party authentication": "în care intenționezi să implementezi soluții terțe de autentificare",
"Login": "Logare", "Login": "Logare",
"Notification Type": "Tipul Notificării", "Notification Type": "Tipul Notificării",
"Email": "Email", "Email": "Email",
@ -490,7 +492,7 @@
"statusPageNothing": "Nimic aici, te rog adaugă un grup sau un monitor.", "statusPageNothing": "Nimic aici, te rog adaugă un grup sau un monitor.",
"Go to Dashboard": "Mergi la Panoul de Control", "Go to Dashboard": "Mergi la Panoul de Control",
"webhookJsonDesc": "{0} este bun pentru orice server HTTP modern cum ar fi Express.js", "webhookJsonDesc": "{0} este bun pentru orice server HTTP modern cum ar fi Express.js",
"webhookAdditionalHeadersDesc": "Setează antete adiționale trimise împreună cu webhook-ul.", "webhookAdditionalHeadersDesc": "Setează antete adiționale trimise împreună cu webhook-ul. Fiecare antet ar trebui definit ca și cheie/valoare JSON.",
"HeadersInvalidFormat": "Formatul header-urilor de request nu este valid: ", "HeadersInvalidFormat": "Formatul header-urilor de request nu este valid: ",
"clearDataOlderThan": "Păstrează istoricul monitorului pentru {0} zile.", "clearDataOlderThan": "Păstrează istoricul monitorului pentru {0} zile.",
"records": "înregistrări", "records": "înregistrări",
@ -522,7 +524,7 @@
"Show update if available": "Arată actualizarea dacă e disponibilă", "Show update if available": "Arată actualizarea dacă e disponibilă",
"The resource is no longer available.": "Această resursă nu mai este disponibilă.", "The resource is no longer available.": "Această resursă nu mai este disponibilă.",
"certificationExpiryDescription": "Monitoarele HTTPS declanșează notificarea când certificatul TLS expiră în:", "certificationExpiryDescription": "Monitoarele HTTPS declanșează notificarea când certificatul TLS expiră în:",
"Docker Hosts": "Docker Hosts", "Docker Hosts": "Gazde Docker",
"supportTelegramChatID": "Suport Mesaje Directe / Grup / ID-ul Canalului de Text", "supportTelegramChatID": "Suport Mesaje Directe / Grup / ID-ul Canalului de Text",
"wayToGetTelegramChatID": "Poți obține ID-ul chat-ului prin trimiterea unui mesaj către robot și mergând la acest URL pentru a vedea chat_id:", "wayToGetTelegramChatID": "Poți obține ID-ul chat-ului prin trimiterea unui mesaj către robot și mergând la acest URL pentru a vedea chat_id:",
"trustProxyDescription": "Ai incredere in antetele 'X-Forwarded-*'. Dacă vrei să obții IP-ul corect al client-ului și Uptime Kuma este în spatele unui proxy, cum ar fi Nginx sau Apache, trebuie să activezi asta.", "trustProxyDescription": "Ai incredere in antetele 'X-Forwarded-*'. Dacă vrei să obții IP-ul corect al client-ului și Uptime Kuma este în spatele unui proxy, cum ar fi Nginx sau Apache, trebuie să activezi asta.",
@ -537,7 +539,7 @@
"Maintenance Time Window of a Day": "Fereastra de timp alocată pentru mentenanță dintr-o zi", "Maintenance Time Window of a Day": "Fereastra de timp alocată pentru mentenanță dintr-o zi",
"uninstalling": "Dezinstalare", "uninstalling": "Dezinstalare",
"Ignore TLS Error": "Ignoră erorile TLS", "Ignore TLS Error": "Ignoră erorile TLS",
"wayToGetDiscordURL": "Poți obține asta mergând în Setări Server -> Integrări -> Vezi Webhook-urile -> Webhook nou", "wayToGetDiscordURL": "Poți obține asta mergând în Setări Server -> Integrări -> Vezi Webhook-urile -> Webhook Nou",
"wayToCheckSignalURL": "Poți verifica acest URL pentru a vizualiza cum să configurezi unul:", "wayToCheckSignalURL": "Poți verifica acest URL pentru a vizualiza cum să configurezi unul:",
"wayToGetLineChannelToken": "Pentru început, accesează {0}, creează un furnizor și canal (API-ul Mesageriei), apoi poți obține token-ul de acces al canalului si ID-ul utilizatorului din itemii de meniu mentionati mai sus.", "wayToGetLineChannelToken": "Pentru început, accesează {0}, creează un furnizor și canal (API-ul Mesageriei), apoi poți obține token-ul de acces al canalului si ID-ul utilizatorului din itemii de meniu mentionati mai sus.",
"aboutIconURL": "Poți furniza un link către o pictogramă la secțiunea „URL-ul Pictogramei” pentru a suprascrie imaginea de profil implicită. Nu va fi folosită dacă există un emoticon configurat deja.", "aboutIconURL": "Poți furniza un link către o pictogramă la secțiunea „URL-ul Pictogramei” pentru a suprascrie imaginea de profil implicită. Nu va fi folosită dacă există un emoticon configurat deja.",
@ -559,5 +561,351 @@
"clicksendsms": "ClickSend SMS", "clicksendsms": "ClickSend SMS",
"wayToGetKookBotToken": "Creează o aplicație și obține token-ul robot la {0}", "wayToGetKookBotToken": "Creează o aplicație și obține token-ul robot la {0}",
"wayToGetKookGuildID": "Activează „Modul Dezvoltator” în setările Kook și dă click pe breaslă (guild) pentru a-i obține ID-ul", "wayToGetKookGuildID": "Activează „Modul Dezvoltator” în setările Kook și dă click pe breaslă (guild) pentru a-i obține ID-ul",
"pushoverDesc1": "Prioritate de urgență (2) are o pauză implicită de 30 de secunde între reîncercări și expiră după o oră." "pushoverDesc1": "Prioritate de urgență (2) are o pauză implicită de 30 de secunde între reîncercări și expiră după o oră.",
"Setup Proxy": "Configurare Proxy",
"Proxy Protocol": "Protocol Proxy",
"For safety, must use secret key": "Pentru securitate, trebuie să folosești cheia secretă",
"promosmsTypeFlash": "SMS FLASH - Mesajul va fi afișat automat pe dispozitivul destinatarului. Valabil doar către destinatarii din Polonia.",
"promosmsTypeEco": "SMS ECO - ieftin dar încet și deseori supraîncărcat. Valabil doar către destinatarii din Polonia.",
"SMS Type": "Tip SMS",
"checkPrice": "Verifică {0} prețurile:",
"apiCredentials": "Credențiale API",
"octopushLegacyHint": "Folosești versiunea veche de Octopush (2011-2020) sau noua versiune?",
"Check octopush prices": "Verifică prețurile octopush {0}.",
"octopushPhoneNumber": "Număr de telefon (format internațional, ex : +33612345678 ",
"LunaSea Device ID": "ID Dispozitiv LunaSea",
"octopushTypePremium": "Premium (Rapid - recomandat pentru alertare)",
"octopushTypeLowCost": "Cost scăzut (Încet - câteodată este blocat de operator)",
"octopushSMSSender": "Numele expeditorului SMS : 3-11 caractere alfanumerice și spațiu (a-zA-Z0-9)",
"Read more:": "Citește mai mult: {0}",
"promosmsPhoneNumber": "Număr de telefon (pentru destinatarii din Polonia poți sări peste prefixele zonei)",
"Uptime Kuma URL": "URL Uptime Kuma",
"Feishu WebHookUrl": "WebHookURL Feishu",
"matrixHomeserverURL": "URL server personal (cu http(s):// și port opțional)",
"AccessKeyId": "ID AccessKey",
"Platform": "Platformă",
"Device Token": "Token Dispozitiv",
"promosmsAllowLongSMS": "Permite SMS lung",
"Apprise URL": "URL Apprise",
"Example:": "Exemplu: {0}",
"Status:": "Status: {0}",
"Strategy": "Strategie",
"Free Mobile User Identifier": "Identificator utilizator Free Mobile",
"Free Mobile API Key": "Cheie API Free Mobile",
"Proto Service Name": "Nume serviciu Proto",
"Enable TLS": "Activează TLS",
"Economy": "Economie",
"SMSManager API Docs": "Documente API SMSManager ",
"Gateway Type": "Tip gateway",
"Base URL": "URL de Bază",
"PhoneNumbers": "NumereTelefon",
"Sms template must contain parameters: ": "Șablonul SMS trebuie sa conțină parametrii: ",
"TemplateCode": "CodȘablon",
"SendKey": "SendKey",
"Proto Method": "Metodă Proto",
"Proto Content": "Conținut Proto",
"Lowcost": "Cost scăzut",
"You can divide numbers with": "Poți împărți numerele cu",
"Huawei": "Huawei",
"Proxy Server": "Server Proxy",
"Proxy server has authentication": "Serverul Proxy are autentificare",
"WebHookUrl": "WebHookURL",
"aboutWebhooks": "Mai multe detalii despre Webhooks pe: {0}",
"signalImportant": "IMPORTANT: Nu poți amesteca grupurile și numerele în recipiente!",
"Bark Group": "Grup Bark",
"Bark Sound": "Sunet Bark",
"SecretKey": "CheieSecretă",
"Retry": "Reîncercare",
"Topic": "Subiect",
"WeCom Bot Key": "Cheie Bot WeCom",
"successKeywordExplanation": "Cuvântul cheie MQTT care va fi considerat succes",
"successKeyword": "Cuvânt Cheie Succes",
"pushViewCode": "Cum se utilizează monitorul Push? (Vizualizare cod)",
"setupDatabaseChooseDatabase": "Ce bază de date dorești să utilizezi?",
"setupDatabaseMariaDB": "Conectează-te la o bază de date externă MariaDB. Trebuie să setezi informațiile de conectare la baza de date.",
"setupDatabaseSQLite": "Un fișier de bază de date simplu, recomandat pentru implementări la scară mică. Înainte de v2.0.0, Uptime Kuma folosea SQLite ca bază de date implicită.",
"dbName": "Numele bazei de date",
"pagertreeCritical": "Critic",
"setupDatabaseEmbeddedMariaDB": "Nu trebuie să setezi nimic. Această imagine Docker a încorporat și configurat automat MariaDB pentru tine. Uptime Kuma se va conecta la această bază de date prin socket Unix.",
"statusPageSpecialSlugDesc": "Slug special {0}: această pagină va fi afișată atunci când nu este furnizat niciun slug",
"chromeExecutableDescription": "Pentru utilizatorii Docker, dacă Chromium nu este încă instalat, instalarea și afișarea rezultatului testului poate dura câteva minute. Este nevoie de 1 GB de spațiu pe disc.",
"apiKeyAddedMsg": "Cheia dvs. API a fost adăugată. Vă rugăm să rețineți că nu va fi afișată din nou.",
"pagertreeIntegrationUrl": "URL Integrare",
"Reset Token": "Resetare Token",
"telegramSendSilentlyDescription": "Trimite mesajul silențios. Utilizatorii vor primi o notificare fără sunet.",
"telegramProtectContentDescription": "Dacă este activat, mesajele boților din Telegram vor fi protejate de redirecționare și salvare.",
"sameAsServerTimezone": "Identic ca fusul orar al serverului",
"settingUpDatabaseMSG": "Configurarea bazei de date. Poate dura ceva timp, vă rugăm să aveți răbdare.",
"Search monitored sites": "Căutați site-uri monitorizate",
"pushoverMessageTtl": "Mesaj TTL (secunde)",
"matrixDesc1": "Poți găsi ID-ul camerei interne uitându-te în rubrica avansată a setărilor camerei în clientul tau Matrix. Ar trebui să arate așa QMdRCpUlfLwsfjxye6:home.server.",
"matrixDesc2": "Este foarte recomandat să creați un utilizator nou și să nu utilizați propriul simbol de acces al utilizatorului Matrix, deoarece acesta va permite accesul deplin la contul dvs. și la toate camerele la care v-ați alăturat. În schimb, creați un utilizator nou și invitați-l doar în sala în care doriți să primiți notificarea. Puteți obține tokenul de acces rulând {0}",
"Notify Channel": "Canal de Notificare",
"aboutNotifyChannel": "Canalul de notificare va declanșa o notificare pe desktop sau pe mobil pentru toți membrii canalului, indiferent dacă disponibilitatea acestora este setată activ sau absent.",
"promosmsSMSSender": "Nume Expeditor SMS: nume preînregistrat sau una dintre cele standard: InfoSMS , SMS Info, MaxSMS, INFO, SMS",
"Internal Room Id": "ID cameră internă",
"setup a new monitor group": "configurați un nou grup de monitoare",
"smtpDkimSettings": "Setări DKIM",
"aboutChannelName": "Introduceți numele canalului în câmpul {0} Channel Name (Nume canal) dacă doriți să faceți bypass la canalul Webhook. Ex: #alt-canal",
"aboutKumaURL": "Dacă lăsați necompletat câmpul Uptime Kuma URL, va fi implicit pagina de proiect GitHub.",
"smtpDkimDesc": "Vă rugăm să verificați Nodemailer DKIM {0} pentru utilizare.",
"smtpDkimHashAlgo": "Algoritmul Hash (Opțional)",
"smtpDkimheaderFieldNames": "Chei Header de semnat (Opțional)",
"smtpDkimskipFields": "Chei Header care nu se semnează (Opțional)",
"wayToGetPagerDutyKey": "Puteți obține acest lucru accesând Service -> Service Directory -> (Selectați un serviciu) -> Integrations -> Add integration. Aici puteți căuta \"Events API V2\". Mai multe informații {0}",
"wayToGetClickSendSMSToken": "Puteți obține utilizatorul API și cheia API de la {0} .",
"Custom Monitor Type": "Tip de monitor personalizat",
"Google Analytics ID": "ID Google Analytics",
"leave blank for default subject": "lăsați necompletat pentru subiectul implicit",
"emailCustomBody": "Corp personalizat",
"pushDeerServerDescription": "Lăsați necompletat pentru a utiliza serverul oficial",
"smseagleRecipientType": "Tipul destinatarului",
"ntfy Topic": "Subiect ntfy",
"pushOthers": "Alții",
"programmingLanguages": "Limbaje de programare",
"statusPageRefreshIn": "Reîncărcă în: {0}",
"templateMsg": "mesajul notificării",
"templateLimitedToUpDownCertNotifications": "disponibil numai pentru notificările de expirare UP/DOWN/Certificat",
"templateLimitedToUpDownNotifications": "disponibil numai pentru notificările UP/DOWN",
"templateHeartbeatJSON": "object care descrie heartbeat-ul",
"templateMonitorJSON": "object care descrie monitorul",
"noDockerHostMsg": "Nu este disponibil. Configurați mai întâi un host Docker.",
"DockerHostRequired": "Vă rugăm să setați Host Docker pentru acest monitor.",
"tailscalePingWarning": "Pentru a utiliza monitorul Tailscale Ping, trebuie să instalezi Uptime Kuma fără Docker și, de asemenea, să instalezi clientul Tailscale pe server.",
"endDateTime": "Dată/Oră de final",
"cronSchedule": "Program: ",
"enableNSCD": "Activare NSCD (Name Service Cache Daemon) pentru memorarea în cache a tuturor solicitărilor DNS",
"chromeExecutableAutoDetect": "Detecție automată",
"Edit Maintenance": "Modifică Mentenanța",
"Clone Monitor": "Clonează Monitorul",
"Clone": "Clonează",
"emailCustomisableContent": "Conținut personalizabil",
"leave blank for default body": "lăsați necompletat pentru corpul implicit",
"emailTemplateServiceName": "Numele Serviciului",
"emailTemplateHostnameOrURL": "Numele Hostului sau URL",
"emailTemplateMonitorJSON": "object care descrie monitorul",
"emailTemplateHeartbeatJSON": "object care descrie heartbeat-ul",
"emailTemplateMsg": "mesajul notificării",
"emailTemplateLimitedToUpDownNotification": "disponibil numai pentru heartbeat-uri UP/DOWN, altfel nul",
"emailTemplateStatus": "Stare",
"invertKeywordDescription": "Căutați după cuvântul cheie să fie absent și nu prezent.",
"jsonQueryDescription": "Efectuați o interogare json după răspuns și verificați valoarea așteptată (valoarea returnată va fi convertită în șir pentru comparație). Consultați {0} pentru documentația despre limbajul de interogare. Un playground poate fi găsit {1}.",
"goAlertInfo": "GoAlert este o aplicație open source pentru programarea apelurilor, escalări automate și notificări (cum ar fi SMS-uri sau apeluri vocale). Angajați automat persoana potrivită, în modul potrivit și la momentul potrivit! {0}",
"goAlertIntegrationKeyInfo": "Obține cheia generică de integrare API pentru serviciu în formatul \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\" de obicei valoarea parametrului token al URL-ului copiat.",
"SecretAccessKey": "Secret AccessKey",
"SignName": "NumeSemn",
"Bark API Version": "Versiunea API Bark",
"Bark Endpoint": "Endpoint Bark",
"promosmsTypeFull": "SMS FULL - Abonament premium SMS, poți folosi propriul nume de expeditor (Trebuie să înregistrezi inițial numele). Fiabil pentru alerte.",
"openModalTo": "deschide modal la {0}",
"Add a domain": "Adaugă un domeniu",
"Remove domain": "Elimină domeniul '{0}'",
"Icon Emoji": "Pictogramă Emoji",
"documentation": "documentație",
"smtpDkimDomain": "Numele Domeniului",
"smtpDkimKeySelector": "Selector cheie",
"smtpDkimPrivateKey": "Cheie Privată",
"Integration Key": "Cheie de integrare",
"Integration URL": "URL Integrare",
"Auto resolve or acknowledged": "Rezolvare automată sau confirmată",
"do nothing": "nu face nimic",
"alertaApiEndpoint": "Endpoint API",
"alertaEnvironment": "Mediu",
"alertaApiKey": "Cheie API",
"alertaAlertState": "Statut Alertă",
"promosmsTypeSpeed": "SMS SPEED - Cea mai mare prioritate în sistem. Foarte rapid și fiabil dar costisitor (aproape dublul prețului SMS FULL).",
"serwersmsAPIUser": "Utilizator API (incl. webapi_ prefix)",
"serwersmsAPIPassword": "Parolă API",
"serwersmsPhoneNumber": "Număr de telefon",
"serwersmsSenderName": "Numele expeditorului SMS (înregistrat prin portalul clienților)",
"smseagleTo": "Număr (Numere) de telefon",
"smseagleGroup": "Numele grupului din agenda telefonică",
"smseagleContact": "Nume de contact din agenda telefonică",
"smseagleRecipient": "Destinatar(i) (mai mulți trebuie despărțiți prin virgulă)",
"smseagleToken": "Token Acces API",
"smseagleUrl": "URL-ul dispozitivului tău SMSEagle",
"smseagleEncoding": "Trimite ca Unicode",
"smseaglePriority": "Prioritate mesaj (0-9, implicit = 0)",
"Recipient Number": "Număr de telefon Destinatar",
"From Name/Number": "Nume Expeditor/Număr",
"Leave blank to use a shared sender number.": "Lăsați necompletat pentru a utiliza un număr de expeditor partajat.",
"Octopush API Version": "Versiune API Octopush",
"Server URL should not contain the nfty topic": "Adresa URL a serverului nu trebuie să conțină subiectul nfty",
"onebotHttpAddress": "Adresa HTTP OneBot",
"onebotMessageType": "Tipul Mesajului OneBot",
"onebotGroupMessage": "Grup",
"onebotPrivateMessage": "Privat",
"onebotUserOrGroupId": "Grup/ID Utilizator",
"onebotSafetyTips": "Pentru siguranță, trebuie să setați tokenul de acces",
"PushDeer Server": "Serverul PushDeer",
"PushDeer Key": "Cheia PushDeer",
"Edit Tag": "Editați eticheta",
"Server Address": "Adresa Serverului",
"Learn More": "Află mai multe",
"API Keys": "Chei API",
"Expiry": "Expirare",
"Expiry date": "Data de expirare",
"Don't expire": "Nu expiră",
"Continue": "Continuă",
"Add Another": "Adaugă Altul",
"Key Added": "Cheie Adăugată",
"Add API Key": "Adaugă Cheie API",
"No API Keys": "Fără Chei APi",
"apiKey-active": "Activ",
"apiKey-expired": "Expirat",
"apiKey-inactive": "Inactiv",
"Expires": "Expiră",
"disableAPIKeyMsg": "Sigur doriți să dezactivați această cheie API ?",
"deleteAPIKeyMsg": "Sigur doriți să ștergeți această cheie API ?",
"Generate": "Generează",
"pagertreeUrgency": "Urgență",
"pagertreeSilent": "Silențios",
"pagertreeLow": "Scăzut",
"pagertreeMedium": "Mediu",
"pagertreeHigh": "Crescut",
"pagertreeResolve": "Rezolvare automată",
"pagertreeDoNothing": "Nu face nimic",
"Add a new expiry notification day": "Adaugă o nouă zi de notificare de expirare",
"Remove the expiry notification": "Elimină ziua de notificare a expirării",
"startDateTime": "Dată/Oră de început",
"cloneOf": "Clona lui {0}",
"Check/Uncheck": "Bifează/Debifează",
"telegramSendSilently": "Trimite Silențios",
"telegramProtectContent": "Protejați redirecționarea/salvarea",
"Add New Tag": "Adaugă Etichetă Nouă",
"timeoutAfter": "Timeout după {0} secunde",
"styleElapsedTime": "Timp scurs sub bara heartbeat",
"styleElapsedTimeShowNoLine": "Afișați (Fără Linie)",
"styleElapsedTimeShowWithLine": "Afișați (Cu Linie)",
"filterActive": "Activ",
"filterActivePaused": "Întrerupt",
"webhookBodyCustomOption": "Corp Personalizat",
"Select": "Selectează",
"selectedMonitorCount": "Selectat: {0}",
"cronExpression": "Expresie Cron",
"invalidCronExpression": "Expresie Cron invalidă: {0}",
"chromeExecutable": "Executabil Chrome/Chromium",
"High": "Crescut",
"auto acknowledged": "recunoscut automat",
"auto resolve": "rezolvare automată",
"Home": "Acasă",
"Cannot connect to the socket server": "Nu se poate conecta la serverul socket",
"Reconnecting...": "Reconectare...",
"Invert Keyword": "Inversare Cuvânt Cheie",
"Expected Value": "Valoare Așteptată",
"Json Query": "Interogare Json",
"high": "crescut",
"Saved.": "Salvat.",
"ntfyPriorityHelptextAllExceptDown": "Toate evenimentele sunt trimise cu această prioritate, cu excepția {0}-evenimente, care au o prioritate de {1}",
"noOrBadCertificate": "Fără/Certificat greșit",
"monitorToastMessagesLabel": "Notificări Toast Monitoare",
"authInvalidToken": "Token Invalid.",
"Browser Screenshot": "Captură de ecran din browser",
"GrafanaOncallUrl": "URL Grafana Oncall",
"Pick a SASL Mechanism...": "Alegeți un mecanism SASL…",
"What is a Remote Browser?": "Ce este un Browser Remote?",
"Badge Warn Days": "Badge zile de avertizare",
"monitorToastMessagesDescription": "Notificările toast pentru monitoare dispar după un anumit timp în secunde. Setat la -1, dezactivează timpul de expirare. Setat la 0, dezactivează notificările toast.",
"noGroupMonitorMsg": "Nu este disponibil. Creați mai întâi un grup de monitoare.",
"wayToGetFlashDutyKey": "Puteți merge la Canal -> (Selectați un canal) -> Integrari -> Adăugați o nouă pagină de integrare, adăugați un \"Eveniment personalizat\" pentru a obține o adresă push, copiați cheia de integrare în adresă. Pentru mai multe informatii va rugam vizitati",
"remoteBrowsersDescription": "Browserele Remote sunt o alternativă la rularea locală a Chromium. Configurați cu un serviciu precum browserless.io sau conectați-vă la cel personal",
"Remote Browsers": "Browsere Remote",
"Remote Browser": "Browser Remote",
"Add a Remote Browser": "Adăugați un Browser Remote",
"Remote Browser not found!": "Browserul Remote nu a fost găsit!",
"self-hosted container": "container self-hosted",
"notificationRegional": "Local",
"Monitor Setting": "{0} Setări Monitor",
"Show Clickable Link": "Afișați Linkul Accesibil",
"Show Clickable Link Description": "Dacă este bifată, toți cei care au acces la această pagină de stare pot avea acces la URL-ul monitorului.",
"nostrRecipients": "Chei publice ale destinatarilor (npub)",
"2faAlreadyEnabled": "2FA este deja activat.",
"Badge Prefix": "Prefixul Valorii Badge",
"Badge Suffix": "Sufixul Valorii Badge",
"Badge Label Color": "Culoarea Etichetei Badge",
"Request Body": "Request Body",
"nostrRecipientsHelp": "format npub, unul pe linie",
"showCertificateExpiry": "Afișați expirarea certificatului",
"gamedigGuessPort": "Gamedig: Guess Port",
"gamedigGuessPortDescription": "Portul utilizat de Valve Server Query Protocol poate fi diferit de portul client. Încercați acest lucru dacă monitorul nu se poate conecta la serverul dvs.",
"successAuthChangePassword": "Parola a fost actualizată cu succes.",
"successDisabled": "Dezactivat cu succes.",
"twilioApiKey": "Cheie Api (opțional)",
"Enter the list of brokers": "Introduceți lista de brokeri",
"Close": "Închide",
"Kafka Topic Name": "Numele Subiectului Kafka",
"Kafka Producer Message": "Mesajul Producătorului Kafka",
"Enable Kafka SSL": "Activați SSL Kafka",
"liquidIntroduction": "Șablonarea se realizează prin intermediul limbajului de șabloane Liquid. Consultați {0} pentru instrucțiuni de utilizare. Acestea sunt variabilele disponibile:",
"smtpLiquidIntroduction": "Următoarele două câmpuri pot fi șablonate prin Limbajul de șabloane Liquid. Consultați {0} pentru instrucțiuni de utilizare. Acestea sunt variabilele disponibile:",
"Legacy Octopush-DM": "Octopush-DM vechi",
"alertaRecoverState": "Stare Recuperare",
"Body Encoding": "Codificarea Body",
"wayToGetPagerTreeIntegrationURL": "După ce ați creat integrarea Uptime Kuma în PagerTree, copiați Endpoint-ul. Vedeți detaliile complete {0}",
"lunaseaDeviceID": "ID Dispozitiv",
"lunaseaUserID": "ID Utilizator",
"ntfyAuthenticationMethod": "Metodă de autentificare",
"ntfyPriorityHelptextAllEvents": "Toate evenimentele sunt trimise cu prioritate maximă",
"ntfyUsernameAndPassword": "Utilizator și Parolă",
"twilioAccountSID": "SID Cont",
"twilioAuthToken": "Token de autentificare / Secret cheie Api",
"twilioFromNumber": "Număr Expeditor",
"twilioToNumber": "Număr Destinatar",
"Open Badge Generator": "Deschide Generatorul Badge",
"Badge Type": "Tipul Badge",
"Badge Duration (in hours)": "Durată Badge (în ore)",
"Badge Label": "Etichetă Badge",
"Badge Color": "Culoarea Badge",
"Badge Label Prefix": "Prefixul Etichetei Badge",
"Badge Preview": "Previzualizare Badge",
"Badge Label Suffix": "Sufixul Etichetei Badge",
"Badge Generator": "{0} Generator Badge",
"Badge Up Color": "Culoarea Badge Up",
"Badge Down Color": "Culoarea Badge Down",
"Badge Pending Color": "Culoarea în așteptare Badge",
"Badge Maintenance Color": "Culoarea in mentenanță Badge",
"Badge Warn Color": "Culoare atenționare Badge",
"Badge Down Days": "Badge Zile Down",
"Badge Style": "Stilul Badge",
"Badge value (For Testing only.)": "Valoare Badge (Numai Pentru Testare.)",
"Badge URL": "URL Badge",
"Group": "Grup",
"Monitor Group": "Grup Monitoare",
"toastErrorTimeout": "Timeout pentru notificările de eroare",
"toastSuccessTimeout": "Timeout pentru notificările de succes",
"Kafka Brokers": "Brokeri Kafka",
"Press Enter to add broker": "Apăsați Enter pentru a adăuga broker",
"Enable Kafka Producer Auto Topic Creation": "Activați crearea automată a subiectelor Kafka Producător",
"Kafka SASL Options": "Opțiuni SASL Kafka",
"Mechanism": "Mecanism",
"Authorization Identity": "Identitate de Autorizare",
"AccessKey Id": "Id AccessKey",
"Secret AccessKey": "AccessKey Secret",
"Session Token": "Token Sesiune",
"FlashDuty Severity": "Severitate",
"nostrRelays": "Relee Nostr",
"nostrRelaysHelp": "Un URL releu pe linie",
"nostrSender": "Cheia privată a expeditorului (nsec)",
"authUserInactiveOrDeleted": "Utilizatorul este inactiv sau șters.",
"authIncorrectCreds": "Numele de utilizator sau parola incorectă.",
"2faEnabled": "2FA Activat.",
"2faDisabled": "2FA Dezactivat.",
"successAdded": "Adăugat cu succes.",
"successResumed": "Reluat cu succes.",
"successPaused": "Întrerupt cu succes.",
"successDeleted": "Șters cu succes.",
"successEdited": "Modificat cu succes.",
"successBackupRestored": "Backup restaurat cu succes.",
"successEnabled": "Activat cu succes.",
"tagNotFound": "Eticheta nu a fost găsită.",
"foundChromiumVersion": "S-a găsit Chromium/Chrome. Versiune: {0}",
"remoteBrowserToggle": "În mod implicit, Chromium rulează în containerul Uptime Kuma. Puteți utiliza un browser remote activând acest comutator.",
"useRemoteBrowser": "Utilizați un Browser Remote",
"deleteRemoteBrowserMessage": "Sigur doriți să ștergeți acest browser remote pentru toate monitoarele?",
"lunaseaTarget": "Țintă",
"telegramMessageThreadID": "(Opțional) ID Thread Mesaje",
"telegramMessageThreadIDDescription": "Opțional Identificator unic pentru threadul de mesaje țintă (subiect) al forumului; numai pentru supergrupuri de forum",
"Request Timeout": "Timeout Solicitare",
"webhookBodyPresetOption": "Presetul - {0}",
"Resend Notification if Down X times consecutively": "Retrimiteți notificarea dacă e Down de X ori consecutiv"
} }

@ -2,11 +2,11 @@
"languageName": "Русский", "languageName": "Русский",
"checkEverySecond": "Проверка каждые {0} секунд", "checkEverySecond": "Проверка каждые {0} секунд",
"retriesDescription": "Максимальное количество попыток перед пометкой сервиса как недоступного и отправкой уведомления", "retriesDescription": "Максимальное количество попыток перед пометкой сервиса как недоступного и отправкой уведомления",
"ignoreTLSError": "Игнорировать ошибку TLS/SSL для HTTPS сайтов", "ignoreTLSError": "Игнорировать ошибки TLS/SSL для HTTPS сайтов",
"upsideDownModeDescription": "Реверс статуса сервиса. Если сервис доступен, то он помечается как НЕДОСТУПНЫЙ.", "upsideDownModeDescription": "Обратить статус сервиса. Если сервис доступен, то он помечается как НЕДОСТУПНЫЙ.",
"maxRedirectDescription": "Максимальное количество перенаправлений. Поставьте 0, чтобы отключить перенаправления.", "maxRedirectDescription": "Максимальное количество перенаправлений. Поставьте 0, чтобы отключить перенаправления.",
"acceptedStatusCodesDescription": "Выберите коды статусов для определения доступности сервиса.", "acceptedStatusCodesDescription": "Выберите коды статусов для определения доступности сервиса.",
"passwordNotMatchMsg": "Введённые пароли не совпадают", "passwordNotMatchMsg": "Введённые пароли не совпадают.",
"notificationDescription": "Привяжите уведомления к мониторам.", "notificationDescription": "Привяжите уведомления к мониторам.",
"keywordDescription": "Поиск слова в чистом HTML или в JSON-ответе (чувствительно к регистру).", "keywordDescription": "Поиск слова в чистом HTML или в JSON-ответе (чувствительно к регистру).",
"pauseDashboardHome": "Пауза", "pauseDashboardHome": "Пауза",
@ -14,7 +14,7 @@
"deleteNotificationMsg": "Вы действительно хотите удалить это уведомление для всех мониторов?", "deleteNotificationMsg": "Вы действительно хотите удалить это уведомление для всех мониторов?",
"resolverserverDescription": "Cloudflare является сервером по умолчанию. Вы всегда можете сменить данный сервер.", "resolverserverDescription": "Cloudflare является сервером по умолчанию. Вы всегда можете сменить данный сервер.",
"rrtypeDescription": "Выберите тип ресурсной записи, который вы хотите отслеживать", "rrtypeDescription": "Выберите тип ресурсной записи, который вы хотите отслеживать",
"pauseMonitorMsg": "Вы действительно хотите поставить на паузу?", "pauseMonitorMsg": "Вы действительно хотите приостановить?",
"Settings": "Настройки", "Settings": "Настройки",
"Dashboard": "Панель управления", "Dashboard": "Панель управления",
"New Update": "Обновление", "New Update": "Обновление",
@ -84,8 +84,10 @@
"Update Password": "Обновить пароль", "Update Password": "Обновить пароль",
"Disable Auth": "Отключить авторизацию", "Disable Auth": "Отключить авторизацию",
"Enable Auth": "Включить авторизацию", "Enable Auth": "Включить авторизацию",
"disableauth.message1": "Вы уверены, что хотите <strong>отключить авторизацию</strong>?", "disableauth.message1": "Вы уверены, что хотите {disableAuth}?",
"disableauth.message2": "Это подходит для <strong>тех, у кого стоит другая авторизация</strong> перед открытием Uptime Kuma, например Cloudflare Access.", "disable authentication": "отключить авторизацию",
"disableauth.message2": "Это подходит для {intendThirdPartyAuth} перед открытием Uptime Kuma, например Cloudflare Access и т.п.",
"where you intend to implement third-party authentication": "тех, у кого стоит другая авторизация",
"Please use this option carefully!": "Пожалуйста, используйте с осторожностью!", "Please use this option carefully!": "Пожалуйста, используйте с осторожностью!",
"Logout": "Выйти", "Logout": "Выйти",
"Leave": "Отмена", "Leave": "Отмена",
@ -275,8 +277,8 @@
"Read more:": "Подробнее: {0}", "Read more:": "Подробнее: {0}",
"Status:": "Статус: {0}", "Status:": "Статус: {0}",
"Read more": "Подробнее", "Read more": "Подробнее",
"appriseInstalled": "Apprise установлен.", "appriseInstalled": "Информирование установлено.",
"appriseNotInstalled": "Apprise не установлен. {0}", "appriseNotInstalled": "Информирование не установлено. {0}",
"Access Token": "Токен доступа", "Access Token": "Токен доступа",
"Channel access token": "Токен доступа канала", "Channel access token": "Токен доступа канала",
"Line Developers Console": "Консоль разработчиков Line", "Line Developers Console": "Консоль разработчиков Line",
@ -301,12 +303,12 @@
"matrixDesc1": "Внутренний ID комнаты можно найти в Подробностях в параметрах канала вашего Matrix клиента. Он должен выглядеть примерно как !QMdRCpUIfLwsfjxye6:home.server.", "matrixDesc1": "Внутренний ID комнаты можно найти в Подробностях в параметрах канала вашего Matrix клиента. Он должен выглядеть примерно как !QMdRCpUIfLwsfjxye6:home.server.",
"matrixDesc2": "Рекомендуется создать нового пользователя и не использовать токен доступа личного пользователя Matrix, т.к. это влечёт за собой полный доступ к аккаунту и к комнатам, в которых вы состоите. Вместо этого создайте нового пользователя и пригласите его только в ту комнату, в которой вы хотите получать уведомления. Токен доступа можно получить, выполнив команду {0}", "matrixDesc2": "Рекомендуется создать нового пользователя и не использовать токен доступа личного пользователя Matrix, т.к. это влечёт за собой полный доступ к аккаунту и к комнатам, в которых вы состоите. Вместо этого создайте нового пользователя и пригласите его только в ту комнату, в которой вы хотите получать уведомления. Токен доступа можно получить, выполнив команду {0}",
"Method": "Метод", "Method": "Метод",
"Body": "Тело", "Body": "Объект",
"Headers": "Заголовки", "Headers": "Заголовки",
"PushUrl": "URL пуша", "PushUrl": "URL пуша",
"HeadersInvalidFormat": "Заголовки запроса некорректны JSON: ", "HeadersInvalidFormat": "Заголовки запроса не являются валидным JSON: ",
"BodyInvalidFormat": "Тело запроса некорректно JSON: ", "BodyInvalidFormat": "Тело запроса не является валидным JSON: ",
"Monitor History": "Статистика", "Monitor History": "История мониторинга",
"clearDataOlderThan": "Сохранять статистику за {0} дней.", "clearDataOlderThan": "Сохранять статистику за {0} дней.",
"PasswordsDoNotMatch": "Пароли не совпадают.", "PasswordsDoNotMatch": "Пароли не совпадают.",
"records": "записей", "records": "записей",
@ -322,7 +324,7 @@
"Created": "Создано", "Created": "Создано",
"Unpin": "Открепить", "Unpin": "Открепить",
"Show Tags": "Показать тэги", "Show Tags": "Показать тэги",
"recent": "Сейчас", "recent": "Последнее",
"3h": "3 часа", "3h": "3 часа",
"6h": "6 часов", "6h": "6 часов",
"24h": "24 часа", "24h": "24 часа",
@ -364,7 +366,7 @@
"Info": "Инфо", "Info": "Инфо",
"Steam API Key": "Steam API-Ключ", "Steam API Key": "Steam API-Ключ",
"Pick a RR-Type...": "Выберите RR-Тип…", "Pick a RR-Type...": "Выберите RR-Тип…",
"Pick Accepted Status Codes...": "Выберите принятые коды состояния…", "Pick Accepted Status Codes...": "Выберите принятые коды статуса…",
"Default": "По умолчанию", "Default": "По умолчанию",
"Please input title and content": "Пожалуйста, введите название и содержание", "Please input title and content": "Пожалуйста, введите название и содержание",
"Last Updated": "Последнее обновление", "Last Updated": "Последнее обновление",
@ -401,7 +403,7 @@
"No Proxy": "Без прокси", "No Proxy": "Без прокси",
"default": "По умолчанию", "default": "По умолчанию",
"enabled": "Включено", "enabled": "Включено",
"setAsDefault": "Установлено по умолчанию", "setAsDefault": "Установить по умолчанию",
"deleteProxyMsg": "Вы действительно хотите удалить этот прокси для всех мониторов?", "deleteProxyMsg": "Вы действительно хотите удалить этот прокси для всех мониторов?",
"proxyDescription": "Прокси должны быть привязаны к монитору, чтобы работать.", "proxyDescription": "Прокси должны быть привязаны к монитору, чтобы работать.",
"enableProxyDescription": "Этот прокси не будет влиять на запросы монитора, пока не будет активирован. Вы можете контролировать временное отключение прокси для всех мониторов через статус активации.", "enableProxyDescription": "Этот прокси не будет влиять на запросы монитора, пока не будет активирован. Вы можете контролировать временное отключение прокси для всех мониторов через статус активации.",
@ -429,8 +431,8 @@
"User": "Пользователь", "User": "Пользователь",
"Installed": "Установлено", "Installed": "Установлено",
"Not installed": "Не установлено", "Not installed": "Не установлено",
"Running": "Запускается", "Running": "Работает",
"Not running": "Не запускается", "Not running": "Не работает",
"Remove Token": "Удалить токен", "Remove Token": "Удалить токен",
"Start": "Запустить", "Start": "Запустить",
"Stop": "Остановить", "Stop": "Остановить",
@ -447,7 +449,7 @@
"Don't know how to get the token? Please read the guide:": "Не знаете, как получить токен? Пожалуйста, прочтите руководство:", "Don't know how to get the token? Please read the guide:": "Не знаете, как получить токен? Пожалуйста, прочтите руководство:",
"The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Текущее соединение может быть потеряно, если вы в данный момент подключаетесь через туннель Cloudflare. Вы уверены, что хотите это остановить? Введите свой текущий пароль, чтобы подтвердить это.", "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Текущее соединение может быть потеряно, если вы в данный момент подключаетесь через туннель Cloudflare. Вы уверены, что хотите это остановить? Введите свой текущий пароль, чтобы подтвердить это.",
"HTTP Headers": "Заголовки HTTP", "HTTP Headers": "Заголовки HTTP",
"Trust Proxy": "Доверять прокси", "Trust Proxy": "Доверенный прокси",
"Other Software": "Другое программное обеспечение", "Other Software": "Другое программное обеспечение",
"For example: nginx, Apache and Traefik.": "К примеру: nginx, Apache и Traefik.", "For example: nginx, Apache and Traefik.": "К примеру: nginx, Apache и Traefik.",
"Please read": "Пожалуйста, прочитайте", "Please read": "Пожалуйста, прочитайте",
@ -553,7 +555,7 @@
"Long-Lived Access Token": "Токен доступа с длительным сроком службы", "Long-Lived Access Token": "Токен доступа с длительным сроком службы",
"Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "Токен доступа с длительным сроком действия можно создать, нажав на имя вашего профиля (внизу слева) и прокрутив его вниз, затем нажмите Создать токен. ", "Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "Токен доступа с длительным сроком действия можно создать, нажав на имя вашего профиля (внизу слева) и прокрутив его вниз, затем нажмите Создать токен. ",
"Notification Service": "Служба уведомлений", "Notification Service": "Служба уведомлений",
"default: notify all devices": "по стандарту: уведомлять все устройства", "default: notify all devices": "по умолчанию: уведомлять все устройства",
"A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Список служб уведомлений можно найти в Home Assistant в разделе \"Инструменты разработчика > Службы\", выполнив поиск по слову \"уведомление\", чтобы найти название вашего устройства/телефона.", "A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Список служб уведомлений можно найти в Home Assistant в разделе \"Инструменты разработчика > Службы\", выполнив поиск по слову \"уведомление\", чтобы найти название вашего устройства/телефона.",
"Automations can optionally be triggered in Home Assistant:": "При желании автоматизацию можно активировать в Home Assistant.:", "Automations can optionally be triggered in Home Assistant:": "При желании автоматизацию можно активировать в Home Assistant.:",
"Trigger type:": "Тип триггера:", "Trigger type:": "Тип триггера:",
@ -578,8 +580,8 @@
"or": "или", "or": "или",
"Maintenance": "Техобслуживание", "Maintenance": "Техобслуживание",
"Schedule maintenance": "Запланировать техобслуживание", "Schedule maintenance": "Запланировать техобслуживание",
"affectedMonitorsDescription": "Выберите мониторы, которые будут затронуты во время техбслуживания", "affectedMonitorsDescription": "Выберите мониторы, которые будут затронуты во время техобслуживания",
"affectedStatusPages": "Показывать уведомление о техбслуживании на выбранных страницах статуса", "affectedStatusPages": "Показывать уведомление о техобслуживании на выбранных страницах статуса",
"atLeastOneMonitor": "Выберите больше одного затрагиваемого монитора", "atLeastOneMonitor": "Выберите больше одного затрагиваемого монитора",
"dnsPortDescription": "По умолчанию порт DNS сервера - 53. Мы можете изменить его в любое время.", "dnsPortDescription": "По умолчанию порт DNS сервера - 53. Мы можете изменить его в любое время.",
"Monitor": "Монитор | Мониторы", "Monitor": "Монитор | Мониторы",
@ -593,7 +595,7 @@
"Select status pages...": "Выберите страницу статуса…", "Select status pages...": "Выберите страницу статуса…",
"resendEveryXTimes": "Повтор каждые {0} раз", "resendEveryXTimes": "Повтор каждые {0} раз",
"resendDisabled": "Повторная отправка отключена", "resendDisabled": "Повторная отправка отключена",
"deleteMaintenanceMsg": "Вы действительно хотите удалить это техбслуживание?", "deleteMaintenanceMsg": "Вы действительно хотите удалить это техобслуживание?",
"critical": "критично", "critical": "критично",
"Custom Monitor Type": "Собственный тип монитора", "Custom Monitor Type": "Собственный тип монитора",
"markdownSupported": "Поддерживает синтаксис Markdown", "markdownSupported": "Поддерживает синтаксис Markdown",
@ -628,7 +630,7 @@
"lastDay2": "Второй последний день месяца", "lastDay2": "Второй последний день месяца",
"lastDay3": "Третий последний день месяца", "lastDay3": "Третий последний день месяца",
"lastDay4": "Четвертый последний день месяца", "lastDay4": "Четвертый последний день месяца",
"No Maintenance": "Нет техбслуживаний", "No Maintenance": "Нет техобслуживаний",
"pauseMaintenanceMsg": "Вы уверены что хотите поставить на паузу?", "pauseMaintenanceMsg": "Вы уверены что хотите поставить на паузу?",
"maintenanceStatus-under-maintenance": "На техобслуживании", "maintenanceStatus-under-maintenance": "На техобслуживании",
"maintenanceStatus-inactive": "Неактивен", "maintenanceStatus-inactive": "Неактивен",
@ -642,8 +644,8 @@
"Enable DNS Cache": "(Устарело) Включить DNS кэш для мониторов HTTP(S)", "Enable DNS Cache": "(Устарело) Включить DNS кэш для мониторов HTTP(S)",
"Enable": "Включить", "Enable": "Включить",
"Disable": "Отключить", "Disable": "Отключить",
"Single Maintenance Window": "Единое окно техбслуживания", "Single Maintenance Window": "Единое окно техобслуживания",
"Schedule Maintenance": "Запланировать техбслуживание", "Schedule Maintenance": "Запланировать техобслуживание",
"Date and Time": "Дата и время", "Date and Time": "Дата и время",
"DateTime Range": "Промежуток даты и времени", "DateTime Range": "Промежуток даты и времени",
"uninstalling": "Удаляется", "uninstalling": "Удаляется",
@ -693,9 +695,9 @@
"telegramProtectContentDescription": "Если включено, сообщения бота в Telegram будут запрещены для пересылки и сохранения.", "telegramProtectContentDescription": "Если включено, сообщения бота в Telegram будут запрещены для пересылки и сохранения.",
"telegramSendSilently": "Отправить без звука", "telegramSendSilently": "Отправить без звука",
"telegramSendSilentlyDescription": "Пользователи получат уведомление без звука.", "telegramSendSilentlyDescription": "Пользователи получат уведомление без звука.",
"Maintenance Time Window of a Day": "Суточный интервал для техбслуживания", "Maintenance Time Window of a Day": "Суточный интервал для техобслуживания",
"Clone Monitor": "Копия", "Clone Monitor": "Копия",
"Clone": "Копия", "Clone": "Клонировать",
"cloneOf": "Копия {0}", "cloneOf": "Копия {0}",
"notificationRegional": "Региональный", "notificationRegional": "Региональный",
"Add New Tag": "Добавить тег", "Add New Tag": "Добавить тег",
@ -741,7 +743,7 @@
"deleteAPIKeyMsg": "Вы уверены, что хотите удалить этот ключ API?", "deleteAPIKeyMsg": "Вы уверены, что хотите удалить этот ключ API?",
"wayToGetPagerTreeIntegrationURL": "После создания интеграции Uptime Kuma в PagerTree скопируйте файл Endpoint. См. полную информацию {0}", "wayToGetPagerTreeIntegrationURL": "После создания интеграции Uptime Kuma в PagerTree скопируйте файл Endpoint. См. полную информацию {0}",
"telegramMessageThreadIDDescription": "Необязательный уникальный идентификатор для цепочки сообщений (темы) форума; только для форумов-супергрупп", "telegramMessageThreadIDDescription": "Необязательный уникальный идентификатор для цепочки сообщений (темы) форума; только для форумов-супергрупп",
"grpcMethodDescription": "Имя метода преобразуется в формат cammelCase, например, sayHello, check и т. д.", "grpcMethodDescription": "Имя метода преобразуется в формат camelCase, например, sayHello, check и т. д.",
"Proto Service Name": "Название службы Proto", "Proto Service Name": "Название службы Proto",
"Proto Method": "Метод Proto", "Proto Method": "Метод Proto",
"Proto Content": "Содержание Proto", "Proto Content": "Содержание Proto",
@ -783,7 +785,7 @@
"pushoverMessageTtl": "TTL сообщения (в секундах)", "pushoverMessageTtl": "TTL сообщения (в секундах)",
"Badge Down Color": "Цвет значка для статуса \"Недоступен\"", "Badge Down Color": "Цвет значка для статуса \"Недоступен\"",
"Badge Label Suffix": "Суффикс надписи для значка", "Badge Label Suffix": "Суффикс надписи для значка",
"Edit Maintenance": "Редактировать техобсоуживание", "Edit Maintenance": "Редактировать техобслуживание",
"Reconnecting...": "Переподключение...", "Reconnecting...": "Переподключение...",
"Cannot connect to the socket server": "Невозможно подключиться к серверу", "Cannot connect to the socket server": "Невозможно подключиться к серверу",
"Badge Warn Color": "Цвет значка для предупреждения", "Badge Warn Color": "Цвет значка для предупреждения",
@ -806,11 +808,11 @@
"Kafka Producer Message": "Сообщение продюсера Kafka", "Kafka Producer Message": "Сообщение продюсера Kafka",
"Kafka SASL Options": "Параметры SASL в Kafka", "Kafka SASL Options": "Параметры SASL в Kafka",
"Mechanism": "Механизм", "Mechanism": "Механизм",
"Pick a SASL Mechanism...": "Выберите механизм SASL...", "Pick a SASL Mechanism...": "Выберите механизм SASL",
"AccessKey Id": "AccessKey Id", "AccessKey Id": "AccessKey Id",
"Secret AccessKey": "Секретный ключ доступа", "Secret AccessKey": "Секретный ключ доступа",
"Session Token": "Токен сессии", "Session Token": "Токен сессии",
"jsonQueryDescription": "Выполните json-запрос к ответу и проверьте наличие ожидаемого значения (возвращаемое значение будет преобразовано в строку для сравнения). Посмотрите <a href='https://jsonata.org/'>jsonata.org</a> для получения документации по языку запросов. A Потренироваться вы можете <a href='https://try.jsonata.org/'>сдесь</a>.", "jsonQueryDescription": "Выполните json-запрос к ответу и проверьте наличие ожидаемого значения (возвращаемое значение будет преобразовано в строку для сравнения). Посмотрите {0} для получения документации по языку запросов. A Потренироваться вы можете {1}.",
"Notify Channel": "Канал оповещений", "Notify Channel": "Канал оповещений",
"aboutNotifyChannel": "Уведомление о канале вызовет настольное или мобильное уведомление для всех участников канала, независимо от того, установлена ли их доступность как активная или отсутствующая.", "aboutNotifyChannel": "Уведомление о канале вызовет настольное или мобильное уведомление для всех участников канала, независимо от того, установлена ли их доступность как активная или отсутствующая.",
"Enter the list of brokers": "Введите список брокеров", "Enter the list of brokers": "Введите список брокеров",
@ -819,8 +821,8 @@
"Authorization Identity": "Авторизационная идентичность", "Authorization Identity": "Авторизационная идентичность",
"Request Body": "Тело запроса", "Request Body": "Тело запроса",
"webhookCustomBodyDesc": "Определите пользовательское HTTP Body для запроса. Принимаются шаблонные переменные {msg}, {heartbeat}, {monitor}.", "webhookCustomBodyDesc": "Определите пользовательское HTTP Body для запроса. Принимаются шаблонные переменные {msg}, {heartbeat}, {monitor}.",
"webhookBodyCustomOption": "Кастомное тело", "webhookBodyCustomOption": "Пользовательский объект",
"webhookBodyPresetOption": "Пресет - {}", "webhookBodyPresetOption": "Пресет - {0}",
"invertKeywordDescription": "Искать, чтобы ключевое слово отсутствовало, а не присутствовало.", "invertKeywordDescription": "Искать, чтобы ключевое слово отсутствовало, а не присутствовало.",
"filterActive": "Активный", "filterActive": "Активный",
"filterActivePaused": "На паузе", "filterActivePaused": "На паузе",
@ -862,5 +864,68 @@
"monitorToastMessagesLabel": "Уведомления", "monitorToastMessagesLabel": "Уведомления",
"toastErrorTimeout": "Таймаут для уведомлений об ошибках", "toastErrorTimeout": "Таймаут для уведомлений об ошибках",
"toastSuccessTimeout": "Таймаут для уведомлений об успехе", "toastSuccessTimeout": "Таймаут для уведомлений об успехе",
"pushOthers": "Другие" "pushOthers": "Другие",
"successPaused": "Успешно приостановлено.",
"authUserInactiveOrDeleted": "Пользователь неактивен или удалён.",
"authInvalidToken": "Неверный токен.",
"authIncorrectCreds": "Неверное имя пользователя или пароль.",
"2faEnabled": "2FA включена.",
"2faAlreadyEnabled": "2FA уже включена.",
"2faDisabled": "2FA отключена.",
"successAdded": "Успешно добавлено.",
"successResumed": "Успешно возобновлено.",
"GrafanaOncallUrl": "URL-адрес Grafana Oncall",
"liquidIntroduction": "Шаблонность достигается с помощью языка шаблонов Liquid. Инструкции по использованию приведены в разделе {0}. Вот доступные переменные:",
"templateLimitedToUpDownNotifications": "доступно только для уведомлений UP/DOWN",
"emailTemplateLimitedToUpDownNotification": "доступен только для сигналов UP/DOWN, в противном случае null",
"leave blank for default body": "оставьте пустым для объекта по умолчанию",
"emailTemplateServiceName": "Название сервиса",
"emailCustomisableContent": "Настраиваемый контент",
"smtpLiquidIntroduction": "Следующие два поля являются шаблонизируемыми с помощью языка шаблонов Liquid. Инструкции по их использованию приведены в разделе {0}. Вот доступные переменные:",
"leave blank for default subject": "оставьте пустым для темы по умолчанию",
"emailCustomBody": "Пользовательский объект",
"emailTemplateHostnameOrURL": "Имя хоста или URL",
"emailTemplateStatus": "Статус",
"successAuthChangePassword": "Пароль успешно обновлён.",
"successBackupRestored": "Резервная копия успешно восстановлена.",
"successDisabled": "Успешно отключено.",
"successEnabled": "Успешно включено.",
"tagNotFound": "Тег не найден.",
"foundChromiumVersion": "Обнаружен Chromium/Chrome. Версии: {0}",
"templateMsg": "сообщение уведомления",
"templateHeartbeatJSON": "объект, описывающий сигнал",
"templateMonitorJSON": "объект, описывающий монитор",
"templateLimitedToUpDownCertNotifications": "доступно только для уведомлений UP/DOWN и об окончании срока действия сертификата",
"Reset Token": "Сброс токена",
"emailTemplateMonitorJSON": "объект, описывающий монитор",
"emailTemplateHeartbeatJSON": "объект, описывающий сигнал",
"emailTemplateMsg": "сообщение уведомления",
"successDeleted": "Успешно удалено.",
"successEdited": "Успешно изменено.",
"Browser Screenshot": "Скриншот браузера",
"noDockerHostMsg": "Не доступно. Сначала настройте хост Docker.",
"DockerHostRequired": "Пожалуйста, установите хост Docker для этого монитора.",
"successKeywordExplanation": "Ключевое слово MQTT, которое будет считаться успешным",
"successKeyword": "Ключевое слово успеха",
"statusPageSpecialSlugDesc": "Специальный ярлык {0}: эта страница будет отображаться, если ярлык не указан",
"ntfyPriorityHelptextAllExceptDown": "Все события отправляются с этим приоритетом, кроме {0}-событий, которые имеют приоритет {1}",
"self-hosted container": "контейнер, который хоститься самостоятельно",
"remoteBrowserToggle": "По умолчанию Chromium работает внутри контейнера Uptime Kuma. Вы можете использовать удаленный браузер, переключив этот переключатель.",
"Remote Browsers": "Удаленные браузеры",
"Remote Browser": "Удаленный браузер",
"Add a Remote Browser": "Добавить удаленный браузер",
"Remote Browser not found!": "Удаленный браузер не найден!",
"remoteBrowsersDescription": "Удаленные браузеры — альтернатива локальному запуску Chromium. Установите такой сервис, как browserless.io, или подключитесь к своему собственному",
"settingUpDatabaseMSG": "Настраиваем базу данных. Это может занять некоторое время, пожалуйста подождите.",
"setup a new monitor group": "настроить новую группу мониторов",
"openModalTo": "открыть модальное окно {0}",
"Add a domain": "Добавить домен",
"Remove domain": "Удалить домен '{0}'",
"Search monitored sites": "Поиск отслеживаемых сайтов",
"ntfyPriorityHelptextAllEvents": "Все события отправляются с максимальным приоритетом",
"useRemoteBrowser": "Использовать удаленный браузер",
"deleteRemoteBrowserMessage": "Вы уверены, что хотите удалить этот удаленный браузер для всех мониторов?",
"Remove the expiry notification": "Удалить дату истечения срока действия уведомления",
"Add a new expiry notification day": "Добавить новый день уведомления об истечении срока действия",
"What is a Remote Browser?": "Что такое удаленный браузер?"
} }

@ -177,8 +177,10 @@
"webhookFormDataDesc": "{multipart} je dobré pre PHP. JSON bude potrebné analyzovať pomocou {decodeFunction}", "webhookFormDataDesc": "{multipart} je dobré pre PHP. JSON bude potrebné analyzovať pomocou {decodeFunction}",
"Generate": "Generovať", "Generate": "Generovať",
"Discourage search engines from indexing site": "Odradiť vyhľadávacie nástroje od indexovania stránky", "Discourage search engines from indexing site": "Odradiť vyhľadávacie nástroje od indexovania stránky",
"disableauth.message1": "Ste si istý, že chcete <strong>vypnúť autentifikáciu</strong>?", "disableauth.message1": "Ste si istý, že chcete {disableAuth}?",
"disableauth.message2": "Je navrhnutý pre scenáre, <strong>kde máte v úmysle implementovať autentifikáciu treťou stranou</strong> pred Uptime Kuma, ako je Cloudflare Access, Authelia alebo iné autentifikačné mechanizmy.", "disable authentication": "vypnúť autentifikáciu",
"disableauth.message2": "Je navrhnutý pre scenáre, {intendThirdPartyAuth} pred Uptime Kuma, ako je Cloudflare Access, Authelia alebo iné autentifikačné mechanizmy.",
"where you intend to implement third-party authentication": "kde máte v úmysle implementovať autentifikáciu treťou stranou",
"Confirm": "Potvrdiť", "Confirm": "Potvrdiť",
"Remember me": "Zapamätať si ma", "Remember me": "Zapamätať si ma",
"Resource Record Type": "Typ záznamu", "Resource Record Type": "Typ záznamu",

@ -3,7 +3,7 @@
"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 'ne deluje' 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": "Prezrite napake TLS/SSL za spletna mesta HTTPS",
"upsideDownModeDescription": "Negiraj status. Če je storitev deluje bo označena kot 'ne deluje'.", "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.",
@ -47,7 +47,7 @@
"Pause": "Pavza", "Pause": "Pavza",
"Name": "Ime", "Name": "Ime",
"Status": "Status", "Status": "Status",
"DateTime": "DateTime", "DateTime": "DatumČas",
"Message": "Sporočilo", "Message": "Sporočilo",
"No important events": "Ni pomembnih dogodkov", "No important events": "Ni pomembnih dogodkov",
"Resume": "Nadaljuj", "Resume": "Nadaljuj",
@ -100,8 +100,10 @@
"Update Password": "Posodobi geslo", "Update Password": "Posodobi geslo",
"Disable Auth": "Onemogoči auth", "Disable Auth": "Onemogoči auth",
"Enable Auth": "Omogoči auth", "Enable Auth": "Omogoči auth",
"disableauth.message1": "Ali ste prepričani, da želite onemogočiti <strong>avtentikacijo</strong>?", "disableauth.message1": "Ali ste prepričani, da želite onemogočiti {disableAuth}?",
"disableauth.message2": "Namenjen je <strong>nekomu, ki ima pred programom Uptime Kuma vklopljeno zunanje preverjanje pristnosti</strong>, na primer Cloudflare Access.", "disable authentication": "avtentikacijo",
"disableauth.message2": "Namenjen je {intendThirdPartyAuth}, na primer Cloudflare Access.",
"where you intend to implement third-party authentication": "nekomu, ki ima pred programom Uptime Kuma vklopljeno zunanje preverjanje pristnosti",
"Please use this option carefully!": "Uporabljajte previdno.", "Please use this option carefully!": "Uporabljajte previdno.",
"Logout": "Odjava", "Logout": "Odjava",
"Leave": "Zapusti", "Leave": "Zapusti",
@ -158,7 +160,7 @@
"Token": "Žeton", "Token": "Žeton",
"Show URI": "Prikaži URI", "Show URI": "Prikaži URI",
"Tags": "Značke", "Tags": "Značke",
"Add New below or Select...": "Dodaj novo spodaj ali izberi iz seznama...", "Add New below or Select...": "Dodaj novo spodaj ali izberi iz seznama",
"Tag with this name already exist.": "Značka s tem imenom že obstaja.", "Tag with this name already exist.": "Značka s tem imenom že obstaja.",
"Tag with this value already exist.": "Značka s to vrednostjo že obstaja.", "Tag with this value already exist.": "Značka s to vrednostjo že obstaja.",
"color": "barva", "color": "barva",
@ -171,7 +173,7 @@
"Indigo": "Indigo", "Indigo": "Indigo",
"Purple": "Vijolična", "Purple": "Vijolična",
"Pink": "Roza", "Pink": "Roza",
"Search...": "Išči...", "Search...": "Išči",
"Avg. Ping": "Avg. Ping", "Avg. Ping": "Avg. Ping",
"Avg. Response": "Avg. odziv", "Avg. Response": "Avg. odziv",
"Entry Page": "Vstopna stran", "Entry Page": "Vstopna stran",
@ -216,7 +218,7 @@
"wayToGetDiscordURL": "To lahko dibiš v Server Settings -> Integrations -> Create Webhook", "wayToGetDiscordURL": "To lahko dibiš v Server Settings -> Integrations -> Create Webhook",
"Bot Display Name": "Prikazno ime robotka", "Bot Display Name": "Prikazno ime robotka",
"Prefix Custom Message": "Predpona poljubnega sporočila", "Prefix Custom Message": "Predpona poljubnega sporočila",
"Hello @everyone is...": "Pozdravljen {'@'}everyone je...", "Hello @everyone is...": "Pozdravljen {'@'}everyone je",
"teams": "Microsoft Teams", "teams": "Microsoft Teams",
"Webhook URL": "Webhook URL", "Webhook URL": "Webhook URL",
"wayToGetTeamsURL": "Izvedi kako narediš webhook URL {0}.", "wayToGetTeamsURL": "Izvedi kako narediš webhook URL {0}.",
@ -315,8 +317,8 @@
"Security": "Varnost", "Security": "Varnost",
"Steam API Key": "Steam API Key", "Steam API Key": "Steam API Key",
"Shrink Database": "Stisni bazo", "Shrink Database": "Stisni bazo",
"Pick a RR-Type...": "Izberi RR tip...", "Pick a RR-Type...": "Izberi RR tip",
"Pick Accepted Status Codes...": "Izbiranje sprejetih kod stanja...", "Pick Accepted Status Codes...": "Izbiranje sprejetih kod stanja",
"Default": "Privzeto", "Default": "Privzeto",
"HTTP Options": "HTTP možnosti", "HTTP Options": "HTTP možnosti",
"Create Incident": "Ustvari incident", "Create Incident": "Ustvari incident",
@ -346,11 +348,199 @@
"Services": "Storitve", "Services": "Storitve",
"Discard": "zavrzi", "Discard": "zavrzi",
"Cancel": "Prekliči", "Cancel": "Prekliči",
"Powered by": "Powered by", "Powered by": "Poganja ga",
"shrinkDatabaseDescription": "Sprožitev podatkovne zbirke VACUUM za SQLite. Če je vaša zbirka podatkov ustvarjena po različici 1.10.0, je funkcija AUTO_VACUUM že omogočena in ta ukrep ni potreben.", "shrinkDatabaseDescription": "Sprožitev podatkovne zbirke VACUUM za SQLite. Če je vaša zbirka podatkov ustvarjena po različici 1.10.0, je funkcija AUTO_VACUUM že omogočena in ta ukrep ni potreben.",
"serwersms": "SerwerSMS.pl", "serwersms": "SerwerSMS.pl",
"serwersmsAPIUser": "API uporabniško ime (vključno z webapi_ prefix)", "serwersmsAPIUser": "API uporabniško ime (vključno z webapi_ prefix)",
"serwersmsAPIPassword": "API geslo", "serwersmsAPIPassword": "API geslo",
"serwersmsPhoneNumber": "Telefonska številka", "serwersmsPhoneNumber": "Telefonska številka",
"serwersmsSenderName": "Ime SMS pošiljatelja (registrirani prek portala za stranke)" "serwersmsSenderName": "Ime SMS pošiljatelja (registrirani prek portala za stranke)",
"Schedule maintenance": "Planiraj vzdrževalna dela",
"Start of maintenance": "Začetek vzdrževalnih del",
"error": "napaka",
"Custom CSS": "Prilagodi CSS",
"Invalid": "Neveljaven",
"Add New Status Page": "Dodaj novo stran s statusom",
"Select status pages...": "Izberi strani s statusom…",
"Custom": "Po meri",
"topic": "Tema",
"successMessage": "Sporočilo o uspešnosti",
"critical": "kritično",
"Customize": "Prilagodi",
"Custom Footer": "Prilagodi nogo",
"deleteStatusPageMsg": "Ali si prepričan, da želiš izbrisati to stran s statusi?",
"Proxies": "Posredniki",
"default": "Privzeto",
"enabled": "Omogočeno",
"setAsDefault": "Nastavi kot Privzeto",
"Valid": "Veljaven",
"User": "Uporabnik",
"Installed": "Nameščeno",
"Not installed": "Ni nameščeno",
"Remove Token": "Odstrani Žeton",
"Start": "Začni",
"Stop": "Ustavi",
"Slug": "Polž",
"resendDisabled": "Ponovno pošiljanje je onemogočeno",
"Game": "Igra",
"Help": "Pomoč",
"statusMaintenance": "Vzdrževanje",
"Maintenance": "Vzdrževanje",
"Proxy Server": "Proxy Strežnik",
"sameAsServerTimezone": "Enako kot časovni pas strežnika",
"warningTimezone": "Uporablja časovni pas strežnika",
"Single Maintenance Window": "Enotno vzdrževalno okno",
"loadingError": "Podatkov ni mogoče pridobiti, poskusite znova pozneje.",
"Topic": "Tema",
"WeCom Bot Key": "WeCom Bot ključ",
"Browser Screenshot": "Zajem zaslona brskalnika",
"setupDatabaseChooseDatabase": "Katero bazo podatkov želite uporabiti?",
"setupDatabaseMariaDB": "Povežite se z zunanjo bazo podatkov MariaDB. Nastaviti morate informacije o povezavi z bazo podatkov.",
"dbName": "Ime baze podatkov",
"Invert Keyword": "Obrni ključno besedo",
"installing": "Nameščam",
"selectedMonitorCount": "Izbrani: {0}",
"startDateTime": "Začetni datum/čas",
"endDateTime": "Končni datum/čas",
"cronExpression": "Cron izraz",
"cronSchedule": "Urnik: ",
"invalidCronExpression": "Neveljaven Cron izraz: {0}",
"recurringInterval": "Interval",
"Recurring": "Ponavljajoče se",
"strategyManual": "Ročno aktivno/neaktivno",
"enableNSCD": "Omogoči NSCD (Name Service Cache Daemon) za predpomnjenje vseh zahtev DNS",
"chromeExecutable": "Chrome/Chromium izvedljiva datoteka",
"chromeExecutableAutoDetect": "Samodejno zaznavanje",
"Maintenance Time Window of a Day": "Časovno okno vzdrževanja enega dneva",
"Effective Date Range": "Datumsko obdobje veljavnosti (neobvezno)",
"Schedule Maintenance": "Načrtuj vzdrževanje",
"Edit Maintenance": "Uredi vzdrževanje",
"Date and Time": "Datum in Čas",
"DateTime Range": "Obseg datuma in časa",
"install": "Namesti",
"uninstall": "Odstrani",
"uninstalling": "Odstranjujem",
"confirmUninstallPlugin": "Ali res želite odstraniti ta vtičnik?",
"notificationRegional": "Regionalno",
"Clone Monitor": "Klon Monitor",
"Clone": "Kloniraj",
"cloneOf": "Klon od {0}",
"Setup Proxy": "Nastavitev proxyja",
"Proxy Protocol": "Proxy protokol",
"plugin": "Vtičnik | Vtičniki",
"Request Timeout": "Časovna omejitev zahteve",
"timeoutAfter": "Časovna omejitev po {0} sekundah",
"resendEveryXTimes": "Ponovno pošlji vsakih {0}-krat",
"weekdayShortMon": "Pon",
"weekdayShortTue": "Tor",
"weekdayShortWed": "Sre",
"weekdayShortThu": "Čet",
"weekdayShortFri": "Pet",
"weekdayShortSat": "Sob",
"weekdayShortSun": "Ned",
"dayOfWeek": "Dan v tednu",
"dayOfMonth": "Dan v mesecu",
"lastDay": "Zadnji dan",
"lastDay1": "Zadnji dan v mesecu",
"lastDay2": "Predzadnji dan v mesecu",
"lastDay3": "Tretji zadnji dan v mesecu",
"lastDay4": "Četrti zadnji dan v mesecu",
"No Maintenance": "Brez vzdrževanja",
"pauseMaintenanceMsg": "Ali res želite začasno ustaviti?",
"maintenanceStatus-under-maintenance": "V vzdrževanju",
"maintenanceStatus-inactive": "Neaktivno",
"maintenanceStatus-ended": "Končano",
"maintenanceStatus-unknown": "Neznano",
"Display Timezone": "Prikaz časovnega pasu",
"Server Timezone": "Strežniški časovni pas",
"statusPageMaintenanceEndDate": "Konec",
"IconUrl": "URL ikone",
"Enable": "Omogoči",
"Disable": "Onemogoči",
"markdownSupported": "Podprta sintaksa Markdown",
"Monitor": "Monitor | Monitorji",
"Expected Value": "Pričakovana vrednost",
"Json Query": "Json poizvedba",
"Home": "Domov",
"Cannot connect to the socket server": "Ni mogoče vzpostaviti povezave s strežnikom",
"Reconnecting...": "Ponovna povezava ...",
"General Monitor Type": "Splošni tip monitorja",
"Passive Monitor Type": "Pasivni monitor tip",
"Specific Monitor Type": "Specifičen monitor tip",
"setup a new monitor group": "nastavite novo skupino monitorjev",
"smtpDkimDesc": "Za uporabo glejte Nodemailer DKIM {0}.",
"smseagleRecipient": "Prejemnik(-i) (več mora biti ločeno z vejico)",
"Server URL should not contain the nfty topic": "URL strežnika ne sme vsebovati teme nfty",
"Add API Key": "Dodaj API ključ",
"deleteAPIKeyMsg": "Ali ste prepričani, da želite izbrisati ta API ključ?",
"ntfyAuthenticationMethod": "Metoda avtentikacije",
"setupDatabaseEmbeddedMariaDB": "Ničesar vam ni treba nastaviti. Ta slika dockerja je za vas samodejno vdelala in konfigurirala MariaDB. Uptime Kuma se bo povezal s to zbirko podatkov prek vtičnice unix.",
"setupDatabaseSQLite": "Preprosta datoteka zbirke podatkov, priporočljiva za uvedbe v majhnem obsegu. Pred v2.0.0 je Uptime Kuma uporabljal SQLite kot privzeto bazo podatkov.",
"Expiry": "Iztek",
"settingUpDatabaseMSG": "Postavitev podatkovne baze. Lahko traja nekaj časa, bodite potrpežljivi.",
"smtpDkimDomain": "Ime domene",
"smtpDkimPrivateKey": "Privatni ključ",
"smtpDkimHashAlgo": "Algoritem zgoščevanja (neobvezno)",
"smseagleGroup": "Ime(na) skupinskega imenika",
"smseagleContact": "Ime kontakta skupinskega imenika(ov)",
"smseagleRecipientType": "Vrsta prejemnika",
"apiKeyAddedMsg": "Vaš ključ API je bil dodan. Zabeležite si ga, saj ne bo več prikazan.",
"Integration Key": "Integracijski ključ",
"Expiry date": "Datum poteka",
"pushOthers": "Ostalo",
"programmingLanguages": "Programski jeziki",
"openModalTo": "odpri modalno za {0}",
"Add a domain": "Dodajte domeno",
"Remove domain": "Odstrani domeno '{0}'",
"smtpDkimSettings": "DKIM Nastavitve",
"documentation": "dokumentacijo",
"Integration URL": "Integracijski URL",
"Auto resolve or acknowledged": "Samodejna razrešitev ali potrditev",
"do nothing": "ne naredi ničesar",
"auto acknowledged": "samodejno potrjeno",
"alertaRecoverState": "Obnovi stanje",
"smseagleTo": "Telefonska številka(ke)",
"smseagleEncoding": "Pošlji kot Unicode",
"smseaglePriority": "Prednost sporočila (09, privzeto = 0)",
"Recipient Number": "Številka prejemnika",
"From Name/Number": "Od Ime/Številka",
"Leave blank to use a shared sender number.": "Če želite uporabiti skupno številko pošiljatelja, pustite prazno.",
"onebotGroupMessage": "Skupina",
"onebotPrivateMessage": "Privatno",
"onebotUserOrGroupId": "Skupina/Uporabniški ID",
"onebotSafetyTips": "Zaradi varnosti morate nastaviti žeton za dostop",
"pushDeerServerDescription": "Za uporabo uradnega strežnika pustite prazno",
"Google Analytics ID": "Google Analytics ID",
"Edit Tag": "Uredi oznako",
"Server Address": "Naslov strežnika",
"Learn More": "Več o tem",
"API Keys": "API Ključi",
"Don't expire": "Ne poteče",
"Continue": "Nadaljuj",
"Add Another": "Dodaj še eno",
"Key Added": "Ključ dodan",
"No API Keys": "Ni API ključev",
"apiKey-inactive": "Neaktivno",
"Expires": "Poteče",
"disableAPIKeyMsg": "Ali ste prepričani, da želite onemogočiti ta API ključ?",
"Generate": "Generiraj",
"pagertreeIntegrationUrl": "Integracijski URL",
"pagertreeUrgency": "Nujnost",
"pagertreeSilent": "Tiho",
"pagertreeLow": "Nizko",
"pagertreeMedium": "Srednje",
"pagertreeHigh": "Visoko",
"pagertreeCritical": "Kritično",
"pagertreeResolve": "Samodejno razreši",
"pagertreeDoNothing": "Ne naredi ničesar",
"lunaseaTarget": "Cilj",
"lunaseaDeviceID": "ID Naprave",
"lunaseaUserID": "Uporabniški ID",
"ntfyPriorityHelptextAllEvents": "Vsi dogodki se pošiljajo z najvišjo prioriteto",
"alertaAlertState": "Stanje opozorila",
"auto resolve": "samodejno razreševanje",
"apiKey-active": "Aktivno",
"apiKey-expired": "Poteklo",
"Resend Notification if Down X times consecutively": "Znova pošljite obvestilo, če X-krat zapored ne uspe",
"alertaEnvironment": "Okolje"
} }

@ -84,8 +84,10 @@
"Update Password": "Izmeni lozinku", "Update Password": "Izmeni lozinku",
"Disable Auth": "Isključi autentifikaciju", "Disable Auth": "Isključi autentifikaciju",
"Enable Auth": "Uključi autentifikaciju", "Enable Auth": "Uključi autentifikaciju",
"disableauth.message1": "Da li ste sigurni da želite da <strong>isključite autentifikaciju</strong>?", "disableauth.message1": "Da li ste sigurni da želite da {disableAuth}?",
"disableauth.message2": "To je za <strong>one koji imaju dodatu autentifikaciju</strong> ispred Uptime Kuma kao na primer Cloudflare Access.", "disable authentication": "isključite autentifikaciju",
"disableauth.message2": "To je za {intendThirdPartyAuth} ispred Uptime Kuma kao na primer Cloudflare Access.",
"where you intend to implement third-party authentication": "one koji imaju dodatu autentifikaciju",
"Please use this option carefully!": "Molim Vas koristite ovo sa pažnjom.", "Please use this option carefully!": "Molim Vas koristite ovo sa pažnjom.",
"Logout": "Odloguj se", "Logout": "Odloguj se",
"Leave": "Izađi", "Leave": "Izađi",

@ -84,8 +84,10 @@
"Update Password": "Измени лозинку", "Update Password": "Измени лозинку",
"Disable Auth": "Искључи аутентификацију", "Disable Auth": "Искључи аутентификацију",
"Enable Auth": "Укључи аутентификацију", "Enable Auth": "Укључи аутентификацију",
"disableauth.message1": "Да ли сте сигурни да желите да <strong>искључите аутентификацију</strong>?", "disableauth.message1": "Да ли сте сигурни да желите да {disableAuth}?",
"disableauth.message2": "То је за <strong>оне који имају додату аутентификацију</strong> испред Uptime Kuma као на пример Cloudflare Access.", "disable authentication": "искључите аутентификацију",
"disableauth.message2": "То је за {intendThirdPartyAuth} испред Uptime Kuma као на пример Cloudflare Access.",
"where you intend to implement third-party authentication": "оне који имају додату аутентификацију",
"Please use this option carefully!": "Молим Вас користите ово са пажњом.", "Please use this option carefully!": "Молим Вас користите ово са пажњом.",
"Logout": "Одлогуј се", "Logout": "Одлогуј се",
"Leave": "Изађи", "Leave": "Изађи",

@ -1,6 +1,6 @@
{ {
"languageName": "Svenska", "languageName": "Svenska",
"checkEverySecond": "Uppdatera var {0} sekund.", "checkEverySecond": "Uppdatera var {0} sekund",
"retriesDescription": "Max antal försök innan tjänsten markeras som nere och en notis skickas", "retriesDescription": "Max antal försök innan tjänsten markeras som nere och en notis skickas",
"ignoreTLSError": "Ignorera TLS/SSL-fel för webbsidor med HTTPS", "ignoreTLSError": "Ignorera TLS/SSL-fel för webbsidor med HTTPS",
"upsideDownModeDescription": "Vänd upp och ner på statusen. Om tjänsten är nåbar visas den som NERE.", "upsideDownModeDescription": "Vänd upp och ner på statusen. Om tjänsten är nåbar visas den som NERE.",
@ -26,7 +26,7 @@
"Check Update On GitHub": "Sök efter uppdatering på GitHub", "Check Update On GitHub": "Sök efter uppdatering på GitHub",
"List": "Lista", "List": "Lista",
"Add": "Lägg till", "Add": "Lägg till",
"Add New Monitor": "Lägg Till Ny Övervakare", "Add New Monitor": "Lägg till ny övervakare",
"Quick Stats": "Snabbstatistik", "Quick Stats": "Snabbstatistik",
"Up": "Uppe", "Up": "Uppe",
"Down": "Nere", "Down": "Nere",
@ -35,7 +35,7 @@
"Pause": "Pausa", "Pause": "Pausa",
"Name": "Namn", "Name": "Namn",
"Status": "Status", "Status": "Status",
"DateTime": "Datum & Tid", "DateTime": "Datum & tid",
"Message": "Meddelande", "Message": "Meddelande",
"No important events": "Inga viktiga händelser", "No important events": "Inga viktiga händelser",
"Resume": "Återuppta", "Resume": "Återuppta",
@ -43,11 +43,11 @@
"Delete": "Ta bort", "Delete": "Ta bort",
"Current": "Nuvarande", "Current": "Nuvarande",
"Uptime": "Drifttid", "Uptime": "Drifttid",
"Cert Exp.": "Certifikat utgår", "Cert Exp.": "Certifikat utlöpt.",
"day": "dag | dagar", "day": "dag | dagar",
"-day": " dagar", "-day": "-dag",
"hour": "timme", "hour": "timme",
"-hour": " timmar", "-hour": "-timme",
"Response": "Svar", "Response": "Svar",
"Ping": "Ping", "Ping": "Ping",
"Monitor Type": "Övervakningstyp", "Monitor Type": "Övervakningstyp",
@ -63,27 +63,27 @@
"Max. Redirects": "Max antal omdirigeringar", "Max. Redirects": "Max antal omdirigeringar",
"Accepted Status Codes": "Tillåtna statuskoder", "Accepted Status Codes": "Tillåtna statuskoder",
"Save": "Spara", "Save": "Spara",
"Notifications": "Notiser", "Notifications": "Notifieringar",
"Not available, please setup.": "Ej tillgänglig, vänligen konfigurera.", "Not available, please setup.": "Ej tillgänglig, vänligen konfigurera.",
"Setup Notification": "Ny Notistjänst", "Setup Notification": "Konfigurera notifieringstjänst",
"Light": "Ljust", "Light": "Ljust",
"Dark": "Mörkt", "Dark": "Mörkt",
"Auto": "Automatiskt", "Auto": "Automatiskt",
"Theme - Heartbeat Bar": "Tema - Heartbeat Bar", "Theme - Heartbeat Bar": "Tema - Heartbeat-indikator",
"Normal": "Normal", "Normal": "Normal",
"Bottom": "Botten", "Bottom": "Botten",
"None": "Tomt", "None": "Ingen",
"Timezone": "Tidszon", "Timezone": "Tidszon",
"Search Engine Visibility": "Synlighet på Sökmotorer", "Search Engine Visibility": "Synlighet på sökmotorer",
"Allow indexing": "Tillåt indexering", "Allow indexing": "Tillåt indexering",
"Discourage search engines from indexing site": "Hindra sökmotorer från att indexera sidan", "Discourage search engines from indexing site": "Hindra sökmotorer från att indexera sidan",
"Change Password": "Byt Lösenord", "Change Password": "Byt lösenord",
"Current Password": "Nuvarande Lösenord", "Current Password": "Nuvarande lösenord",
"New Password": "Nytt Lösenord", "New Password": "Nytt lösenord",
"Repeat New Password": "Upprepa Nytt Lösenord", "Repeat New Password": "Upprepa nytt lösenord",
"Update Password": "Uppdatera Lösenord", "Update Password": "Uppdatera lösenord",
"Disable Auth": "Avaktivera Autentisering", "Disable Auth": "Avaktivera autentisering",
"Enable Auth": "Aktivera Autentisering", "Enable Auth": "Aktivera autentisering",
"Logout": "Logga ut", "Logout": "Logga ut",
"Leave": "Lämna", "Leave": "Lämna",
"I understand, please disable": "Jag förstår, vänligen avaktivera", "I understand, please disable": "Jag förstår, vänligen avaktivera",
@ -94,40 +94,42 @@
"Password": "Lösenord", "Password": "Lösenord",
"Remember me": "Kom ihåg mig", "Remember me": "Kom ihåg mig",
"Login": "Logga in", "Login": "Logga in",
"No Monitors, please": "Inga Övervakare, tack", "No Monitors, please": "Inga övervakare, tack",
"add one": "lägg till en", "add one": "lägg till en",
"Notification Type": "Notistyp", "Notification Type": "Notifieringstyp",
"Email": "Email", "Email": "Epost",
"Test": "Test", "Test": "Testa",
"Certificate Info": "Certifikatsinfo", "Certificate Info": "Certifikatsinfo",
"Resolver Server": "Resolverserver", "Resolver Server": "Resolverserver",
"Resource Record Type": "RR-typ", "Resource Record Type": "Resource Record-typ",
"Last Result": "Senaste resultat", "Last Result": "Senaste resultat",
"Create your admin account": "Skapa ditt administratörskonto", "Create your admin account": "Skapa ditt administratörskonto",
"Repeat Password": "Upprepa Lösenord", "Repeat Password": "Upprepa lösenord",
"respTime": "Svarstid (ms)", "respTime": "Svarstid (ms)",
"Specific Monitor Type": "Applikationsspecifika övervakare", "Specific Monitor Type": "Applikationsspecifik övervakartyp",
"Push URL": "Push URL", "Push URL": "Push URL",
"Passive Monitor Type": "Passiva övervakare", "Passive Monitor Type": "Passiv övervakartyp",
"markdownSupported": "Stödjer markdown-syntax", "markdownSupported": "Stödjer markdown-syntax",
"Heartbeat Retry Interval": "Omprövningsintervall", "Heartbeat Retry Interval": "Omprövningsintervall",
"needPushEvery": "Hämta denna URL var {0} sekund", "needPushEvery": "Hämta denna URL var {0} sekund.",
"pushOptionalParams": "Valfria parametrar: {0}", "pushOptionalParams": "Valfria parametrar: {0}",
"disableauth.message1": "Vill du verkligen <strong>avaktivera autentisering</strong>?", "disableauth.message1": "Vill du verkligen {disableAuth}?",
"disableauth.message2": "Det är designat för när en <strong>tredjeparts autentiseringstjänst</strong> såsom Cloudflare Access eller Authelia används framför Uptime Kuma.", "disable authentication": "avaktivera autentisering",
"disableauth.message2": "Det är designat för när en {intendThirdPartyAuth} såsom Cloudflare Access eller Authelia används framför Uptime Kuma.",
"where you intend to implement third-party authentication": "tredjeparts autentiseringstjänst",
"Please use this option carefully!": "Använd denna funktion varsamt!", "Please use this option carefully!": "Använd denna funktion varsamt!",
"Import Backup": "Importera backup", "Import Backup": "Importera säkerhetskopia",
"Affected Monitors": "Påverkade övervakare", "Affected Monitors": "Påverkade övervakare",
"Start of maintenance": "Påbörja underhåll", "Start of maintenance": "Påbörja underhåll",
"All Status Pages": "Alla statussidor", "All Status Pages": "Alla statussidor",
"alertNoFile": "Välj en fil att importera.", "alertNoFile": "Välj en fil att importera.",
"alertWrongFileType": "Välj en JSON-formatterad fil.", "alertWrongFileType": "Välj en JSON-formaterad fil.",
"Help": "Hjälp", "Help": "Hjälp",
"Export": "Export", "Export": "Exportera",
"Import": "Import", "Import": "Importera",
"Game": "Spel", "Game": "Spel",
"resendEveryXTimes": "Omsänd efter {0} gånger", "resendEveryXTimes": "Omsänd efter {0} gånger",
"Export Backup": "Exportera backup", "Export Backup": "Exportera säkerhetskopia",
"Schedule maintenance": "Schemalägg underhåll", "Schedule maintenance": "Schemalägg underhåll",
"Monitor": "Övervakare | Övervakare", "Monitor": "Övervakare | Övervakare",
"Resend Notification if Down X times consecutively": "Sänd notis igen om nere X gånger i rad", "Resend Notification if Down X times consecutively": "Sänd notis igen om nere X gånger i rad",
@ -137,53 +139,53 @@
"resendDisabled": "Omsändning inaktiverat", "resendDisabled": "Omsändning inaktiverat",
"Pick Affected Monitors...": "Välj påverkade övervakare…", "Pick Affected Monitors...": "Välj påverkade övervakare…",
"Select status pages...": "Välj statussidor…", "Select status pages...": "Välj statussidor…",
"General Monitor Type": "Allmänna övervakare", "General Monitor Type": "Allmän övervakartyp",
"webhookFormDataDesc": "{multipart} är bra för PHP. Den JSON kommer att bli analyserat med {decodeFunction}", "webhookFormDataDesc": "{multipart} är bra för PHP. JSON kommer att bli analyserat med {decodeFunction}",
"appriseInstalled": "Apprise är installerad.", "appriseInstalled": "Apprise är installerat.",
"clearDataOlderThan": "Behåll övervakare historik data i {0} dagar.", "clearDataOlderThan": "Behåll övervakarhistoriksdata i {0} dagar.",
"steamApiKeyDescription": "För att övervaka en Steam Game Server behöver man en Steam Web-API nyckel. Du kan registrera din API nyckel här: ", "steamApiKeyDescription": "För att övervaka en Steam Game Server behöver man en Steam Web-API nyckel. Du kan registrera din API nyckel här: ",
"No Monitors": "Inga Övervaktare", "No Monitors": "Inga övervakare",
"shrinkDatabaseDescription": "Utlösa databas VACUUM för SQLite. Om din databas skappades efter 1.10.0, AUTO_VACUUM är redan aktiverat och denna aktion behövs inte.", "shrinkDatabaseDescription": "Utlös databasdammsugning för SQLite. Om din databas skapades efter 1.10.0, AUTO_VACUUM är redan aktiverat och detta behövs inte.",
"proxyDescription": "Proxyservrar måste tilldelas en övervakare för att fungera.", "proxyDescription": "Proxyservrar måste tilldelas en övervakare för att fungera.",
"setAsDefaultProxyDescription": "Denna proxyserver kommer att aktiveras som standard för nya övervakare. Du kan fortfarande inaktivera proxyserven var för sig övervakare.", "setAsDefaultProxyDescription": "Denna proxyserver kommer att aktiveras som standard för nya övervakare. Du kan fortfarande inaktivera proxyserven var för sig övervakare.",
"Content Type": "Innehållstyp", "Content Type": "Innehållstyp",
"webhookAdditionalHeadersDesc": "Ställer in ytterligare headers skickat med webhooken. Varenda header skulle definieras som ett JSON nyckel/värde par.", "webhookAdditionalHeadersDesc": "Ställer in ytterligare headers skickat med webbhooken. Varenda header ska definieras som ett JSON nyckel/värde par.",
"RadiusCallingStationIdDescription": "Kallande Enhetsidentifierare", "RadiusCallingStationIdDescription": "Kallande enhetsidentifierare",
"Slug": "Slugg", "Slug": "Slugg",
"Invert Keyword": "Invertera Nyckelord", "Invert Keyword": "Invertera nyckelord",
"Degraded Service": "Försämrad Tjänst", "Degraded Service": "Försämrad tjänst",
"Request Timeout": "Request Timeout", "Request Timeout": "Request-timeout",
"timeoutAfter": "Timeout efter {0} sekunder", "timeoutAfter": "Timeout efter {0} sekunder",
"styleElapsedTime": "Förfluten tid under den heartbeat indikatorn", "styleElapsedTime": "Förfluten tid under heartbeat-indikatorn",
"styleElapsedTimeShowNoLine": "Visa (Utan Linje)", "styleElapsedTimeShowNoLine": "Visa (utan linje)",
"styleElapsedTimeShowWithLine": "Visa (Med Linje)", "styleElapsedTimeShowWithLine": "Visa (med linje)",
"Create": "Skapa", "Create": "Skapa",
"Clear Data": "Radera Data", "Clear Data": "Radera data",
"Auto Get": "Hämta Automatiskt", "Auto Get": "Hämta automatiskt",
"Overwrite": "Skriva över", "Overwrite": "Skriv över",
"Options": "Alternativ", "Options": "Alternativ",
"Verify Token": "Verifiera Token", "Verify Token": "Verifiera token",
"Enable 2FA": "Aktivera 2FA", "Enable 2FA": "Aktivera 2FA",
"Disable 2FA": "Inaktivera 2FA", "Disable 2FA": "Inaktivera 2FA",
"2FA Settings": "2FA Inställningar", "2FA Settings": "2FA inställningar",
"Two Factor Authentication": "Tvåfaktorsautentisering", "Two Factor Authentication": "Tvåfaktorsautentisering",
"filterActive": "Aktiv", "filterActive": "Aktiv",
"filterActivePaused": "Pausad", "filterActivePaused": "Pausad",
"Inactive": "Inaktiv", "Inactive": "Inaktiv",
"Setup 2FA": "Uppstart 2FA", "Setup 2FA": "Ställ in 2FA",
"Clear all statistics": "Rensa alla Statistiker", "Clear all statistics": "Rensa all statistik",
"Skip existing": "Hoppa över existerande", "Skip existing": "Hoppa över existerande",
"Keep both": "Behåll båda", "Keep both": "Behåll båda",
"Token": "Token", "Token": "Token",
"notAvailableShort": "N/A", "notAvailableShort": "N/A",
"Apply on all existing monitors": "Applicera på alla existerande övervakare", "Apply on all existing monitors": "Applicera på alla existerande övervakare",
"Heartbeats": "Heartbeats", "Heartbeats": "Hjärtslag",
"Show URI": "Visa URI", "Show URI": "Visa URI",
"color": "Färg", "color": "Färg",
"value (optional)": "Värde (valfritt)", "value (optional)": "Värde (valfritt)",
"Gray": "Grå", "Gray": "Grå",
"Tags": "Taggar", "Tags": "Taggar",
"Tag with this name already exist.": "Tag med detta namn finns redan.", "Tag with this name already exist.": "Tagg med detta namn finns redan.",
"Red": "Röd", "Red": "Röd",
"Orange": "Orange", "Orange": "Orange",
"Green": "Grön", "Green": "Grön",
@ -193,49 +195,49 @@
"Pink": "Rosa", "Pink": "Rosa",
"Custom": "Anpassad", "Custom": "Anpassad",
"Search...": "Sök…", "Search...": "Sök…",
"Avg. Ping": "Medelvärde Ping", "Avg. Ping": "Pingmedelvärde",
"Tag with this value already exist.": "Tagg med detta värde finns redan.", "Tag with this value already exist.": "Tagg med detta värde finns redan.",
"Avg. Response": "Medelvärde Respons", "Avg. Response": "Responsmedelvärde",
"Entry Page": "Entry Sida", "Entry Page": "Ingångssida",
"statusPageRefreshIn": "Uppdaterar om: {0}", "statusPageRefreshIn": "Uppdaterar om: {0}",
"No Services": "Inga Tjänster", "No Services": "Inga tjänster",
"All Systems Operational": "Alla System i Drift", "All Systems Operational": "Alla system i drift",
"Partially Degraded Service": "Delvis Försämrada Tjänster", "Partially Degraded Service": "Delvis försämrade tjänster",
"Add Group": "Lägg till Grupp", "Add Group": "Lägg till grupp",
"Add New Tag": "Lägg till Ny Tagg", "Add New Tag": "Lägg till ny tagg",
"Add New below or Select...": "Lägg till Ny under eller Välj…", "Add New below or Select...": "Lägg till ny under eller välj…",
"Add a monitor": "Lägg till en Övervakare", "Add a monitor": "Lägg till en övervakare",
"Edit Status Page": "Hantera Status Sida", "Edit Status Page": "Hantera statussida",
"Status Page": "Status Sida", "Status Page": "Statussida",
"Status Pages": "Status Sidor", "Status Pages": "Statussidor",
"Go to Dashboard": "Till Dashboard", "Go to Dashboard": "Till instrumentpanel",
"here": "här", "here": "här",
"Required": "Krävs", "Required": "Nödvändig",
"webhookJsonDesc": "{0} är bra för någon moderna HTTP servrar till exempel Express.js", "webhookJsonDesc": "{0} är bra för moderna HTTP servrar till exempel Express.js",
"webhookCustomBodyDesc": "Definiera en anpassad HTTP Body till den request. Mall variabler {msg}, {heartbeat}, {monitor} accepteras.", "webhookCustomBodyDesc": "Definiera en anpassad HTTP Body till den request. Mall variabler {msg}, {heartbeat}, {monitor} accepteras.",
"webhookAdditionalHeadersTitle": "Ytterligare Headers", "webhookAdditionalHeadersTitle": "Ytterligare headers",
"webhookBodyPresetOption": "Förinställning - {0}", "webhookBodyPresetOption": "Förinställning - {0}",
"defaultNotificationName": "Min {notification} Varna ({number})", "defaultNotificationName": "Min {notification} varna ({number})",
"webhookBodyCustomOption": "Anpassad Body", "webhookBodyCustomOption": "Anpassad body",
"Webhook URL": "Webhook URL", "Webhook URL": "Webbhook URL",
"Application Token": "Applikation Token", "Application Token": "Applikationstoken",
"Server URL": "Server URL", "Server URL": "Server URL",
"Priority": "Prioritet", "Priority": "Prioritet",
"emojiCheatSheet": "Emoji fusklapp: {0}", "emojiCheatSheet": "Emoji fusklapp: {0}",
"Read more": "Läs mer", "Read more": "Läs mer",
"appriseNotInstalled": "Apprise är inte installerad. {0}", "appriseNotInstalled": "Apprise är inte installerat. {0}",
"Method": "Metod", "Method": "Metod",
"Body": "Body", "Body": "Body",
"Headers": "Headers", "Headers": "Headers",
"HeadersInvalidFormat": "Requestens headers är inte giltig JSON: ", "HeadersInvalidFormat": "Requestheaders är inte giltig JSON: ",
"BodyInvalidFormat": "Requestens body är inte giltig JSON: ", "BodyInvalidFormat": "Requestens body är inte giltig JSON: ",
"Monitor History": "Övervakare Historik", "Monitor History": "Övervakarhistorik",
"PasswordsDoNotMatch": "Lösenorden matchar inte.", "PasswordsDoNotMatch": "Lösenorden matchar inte.",
"records": "rekorder", "records": "transaktion",
"One record": "En rekord", "One record": "En transaktion",
"Current User": "Nuvarande Användare", "Current User": "Nuvarande användare",
"topic": "Ämne", "topic": "Ämne",
"topicExplanation": "MQTT ämne att övervaka", "topicExplanation": "MQTT-ämne att övervaka",
"successMessageExplanation": "MQTT meddelande som ska anses vara framgång", "successMessageExplanation": "MQTT meddelande som ska anses vara framgång",
"successMessage": "Framgång Meddelande", "successMessage": "Framgång Meddelande",
"recent": "Nyligen", "recent": "Nyligen",
@ -243,12 +245,12 @@
"Info": "Info", "Info": "Info",
"Security": "Säkerhet", "Security": "Säkerhet",
"Steam API Key": "Steam API Nyckel", "Steam API Key": "Steam API Nyckel",
"Shrink Database": "Minska Databas", "Shrink Database": "Krymp databas",
"Pick a RR-Type...": "Välj en RR-Typ…", "Pick a RR-Type...": "Välj en RR-Typ…",
"Pick Accepted Status Codes...": "Välj Accepterade Statuskod…", "Pick Accepted Status Codes...": "Välj accepterade statuskoder…",
"Default": "Standard", "Default": "Standard",
"HTTP Options": "HTTP Alternativ", "HTTP Options": "HTTP-alternativ",
"Create Incident": "Skapa Incident", "Create Incident": "Skapa incident",
"Title": "Titel", "Title": "Titel",
"Content": "Innehåll", "Content": "Innehåll",
"Style": "Stil", "Style": "Stil",
@ -262,114 +264,627 @@
"light": "ljus", "light": "ljus",
"dark": "mörk", "dark": "mörk",
"Post": "Post", "Post": "Post",
"Please input title and content": "Snälla lägg till titel och innehåll", "Please input title and content": "Vänligen lägg till titel och innehåll",
"Created": "Skapat", "Created": "Skapad",
"Last Updated": "Senaste Uppdaterade", "Last Updated": "Senaste uppdaterad",
"Switch to Light Theme": "Byt till Ljustema", "Switch to Light Theme": "Byt till ljust tema",
"Switch to Dark Theme": "Byt till Mörktema", "Switch to Dark Theme": "Byt till mörkt tema",
"Show Tags": "Visa Taggar", "Show Tags": "Visa taggar",
"Hide Tags": "Göma Taggar", "Hide Tags": "Göm taggar",
"Description": "Beskrivning", "Description": "Beskrivning",
"No monitors available.": "Inga övervaktare tillgänglig.", "No monitors available.": "Inga övervakare tillgängliga.",
"Add one": "Lägg till en", "Add one": "Lägg till en",
"Untitled Group": "Namnlös Grupp", "Untitled Group": "Namnlös grupp",
"Services": "Tjänster", "Services": "Tjänster",
"Discard": "Radera", "Discard": "Förkasta",
"Cancel": "Kancellera", "Cancel": "Avbryt",
"Select": "Välj", "Select": "Välj",
"selectedMonitorCount": "Valt: {0}", "selectedMonitorCount": "Valt: {0}",
"Check/Uncheck": "Markera/Omarkera", "Check/Uncheck": "Markera/Avmarkera",
"Powered by": "Drivs av", "Powered by": "Drivs av",
"Customize": "Anpassa", "Customize": "Anpassa",
"Custom Footer": "Anpassad Footer", "Custom Footer": "Anpassad sidfot",
"Custom CSS": "Anpassad CSS", "Custom CSS": "Anpassad CSS",
"deleteStatusPageMsg": "Är du säkert att du vill radera denna statussida?", "deleteStatusPageMsg": "Är du säkert att du vill radera denna statussida?",
"Proxies": "Proxyservrar", "Proxies": "Proxyservrar",
"default": "Standard", "default": "Standard",
"enabled": "Aktiverad", "enabled": "Aktiverad",
"setAsDefault": "Ange Som Standard", "setAsDefault": "Ange som standard",
"deleteProxyMsg": "Är du säkert att du vill radera denna proxyserver för alla övervakare?", "deleteProxyMsg": "Är du säkert att du vill radera denna proxyserver för alla övervakare?",
"Certificate Chain": "Certifikatkedja", "Certificate Chain": "Certifikatkedja",
"Valid": "Giltig", "Valid": "Giltig",
"Invalid": "Ogiltig", "Invalid": "Ogiltig",
"User": "Användare", "User": "Användare",
"Installed": "Installerat", "Installed": "Installerat",
"Not installed": "Installerat ej", "Not installed": "Inte installerat",
"Running": "Körs", "Running": "Körs",
"Not running": "Körs inte", "Not running": "Körs inte",
"Remove Token": "Ta bort Token", "Remove Token": "Ta bort token",
"Start": "Starta", "Start": "Starta",
"Stop": "Stoppa", "Stop": "Stoppa",
"Add New Status Page": "Lägg till Ny Status Sida", "Add New Status Page": "Lägg till ny statussida",
"Accept characters:": "Acceptera tecken:", "Accept characters:": "Acceptera tecken:",
"Unpin": "Unpin", "Unpin": "Ta bort fastnålat",
"startOrEndWithOnly": "Börja eller sluta med {0} bara", "startOrEndWithOnly": "Börja eller sluta med {0} endast",
"No consecutive dashes": "Ingen följande streck", "No consecutive dashes": "Inga streck i följd",
"Next": "Nästa", "Next": "Nästa",
"The slug is already taken. Please choose another slug.": "Sluggen är redan tagit. Snälla välja en annan slugg.", "The slug is already taken. Please choose another slug.": "Sluggen är upptagen. Vänligen välj en annan slugg.",
"No Proxy": "Ingen Proxyservern", "No Proxy": "Ingen proxyserver",
"Authentication": "Autentisering", "Authentication": "Autentisering",
"HTTP Basic Auth": "HTTP Basic Auth", "HTTP Basic Auth": "HTTP Basic-auth",
"New Status Page": "Ny Status Sida", "New Status Page": "Ny statussida",
"Page Not Found": "Sida hittas inte", "Page Not Found": "Sidan hittades inte",
"Reverse Proxy": "Omvänd Proxyserver", "Reverse Proxy": "Omvänd proxyserver",
"Backup": "Backup", "Backup": "Säkerhetskopia",
"About": "Om", "About": "Om",
"wayToGetCloudflaredURL": "(Ladda ned cloudflared från {0})", "wayToGetCloudflaredURL": "(Ladda ned cloudflared från {0})",
"cloudflareWebsite": "Cloudflare Webbsida", "cloudflareWebsite": "Cloudflare webbsida",
"Message:": "Meddelande:", "Message:": "Meddelande:",
"Don't know how to get the token? Please read the guide:": "Vet inte hur att få en token? Snälla läs guiden:", "Don't know how to get the token? Please read the guide:": "Vet inte hur man får tag i en token? Vänligen läs guiden:",
"The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Den nuvarande anslutningen kan kopplas bort om du närvarande ansluter via Cloudflare Tunnel. Är du säkert du vill avsluta den? Skriv ditt nuvarande lösenord för att konfirmera.", "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "Den nuvarande anslutningen kan kopplas bort om du ansluter via Cloudflare Tunnel. Är du säkert du vill avsluta den? Skriv ditt nuvarande lösenord för att bekräfta.",
"HTTP Headers": "HTTP Headers", "HTTP Headers": "HTTP-headers",
"Trust Proxy": "Lita på Proxyserver", "Trust Proxy": "Lita på proxyserver",
"Other Software": "Annan programvara", "Other Software": "Annan programvara",
"For example: nginx, Apache and Traefik.": "Till exempel: nginx, Apache och Traefik.", "For example: nginx, Apache and Traefik.": "Till exempel: nginx, Apache och Traefik.",
"Please read": "Läs är du snäll", "Please read": "Vänligen läs",
"Subject:": "Subjekt:", "Subject:": "Ämne:",
"Valid To:": "Giltig Till:", "Valid To:": "Giltig till:",
"Days Remaining:": "Dagar kvar:", "Days Remaining:": "Dagar kvar:",
"Fingerprint:": "Fingertryck:", "Fingerprint:": "Fingeravtryck:",
"No status pages": "Ingen status sidor", "No status pages": "Inga statussidor",
"Proxy": "Proxyservern", "Proxy": "Proxyserver",
"Date Created": "Datum Skapade", "Date Created": "Skapat datum",
"Footer Text": "Footer Text", "Footer Text": "Sidfotstext",
"Show Powered By": "Visa Drivs Av", "Show Powered By": "Visa \"Drivs av\"",
"Domain Names": "Domain Namn", "Domain Names": "Domännamn",
"signedInDisp": "Inloggad som {0}", "signedInDisp": "Inloggad som {0}",
"signedInDispDisabled": "Auth Inaktiverad.", "signedInDispDisabled": "Auth inaktiverad.",
"RadiusSecret": "Radius Hemlighet", "RadiusSecret": "Radius-hemlighet",
"RadiusSecretDescription": "Delad Hemlighet mellan client och server", "RadiusSecretDescription": "Delad hemlighet mellan klient och server",
"RadiusCalledStationId": "Kancellerad Station Id", "RadiusCalledStationId": "Avbrutet Stationsid",
"RadiusCalledStationIdDescription": "Enhetsidentifierare", "RadiusCalledStationIdDescription": "Enhetsidentifierare",
"RadiusCallingStationId": "Calling Station Id", "RadiusCallingStationId": "Uppringande stationsid",
"Certificate Expiry Notification": "Notif om certifikatets utgång", "Certificate Expiry Notification": "Notifiering om certifikatets utgångsdatum",
"Domain Name Expiry Notification": "Notif om Domain Namns utgång", "Domain Name Expiry Notification": "Notifiering om förfallodatum på domännamn",
"API Key": "API Nyckel", "API Key": "API-nyckel",
"API Username": "API Användarnamn", "API Username": "API-användarnamn",
"Show update if available": "Visa uppdatering om tillgänglig", "Show update if available": "Visa uppdatering om tillgänglig",
"Also check beta release": "Kolla upp också beta version", "Also check beta release": "Kolla också betaversioner",
"Events": "Händelser", "Events": "Händelser",
"Active": "Aktiv", "Active": "Aktiv",
"statusPageNothing": "Ingenting här, snälla lägg till en grupp eller en monitor.", "statusPageNothing": "Ingenting här, vänligen lägg till en grupp eller en övervakare.",
"warning": "varning", "warning": "varning",
"Issuer:": "Utfärdare:", "Issuer:": "Utfärdare:",
"Expected Value": "Förväntat Värde", "Expected Value": "Förväntat värde",
"Primary Base URL": "Huvud Bas URL", "Primary Base URL": "Primär bas-URL",
"Home": "Hem", "Home": "Hem",
"Cannot connect to the socket server": "Kan inte koppla till socketservern", "Cannot connect to the socket server": "Kan inte ansluta till socketservern",
"Reconnecting...": "Återanslutar...", "Reconnecting...": "Återansluter...",
"Json Query": "Json Query", "Json Query": "Json-fråga",
"Default enabled": "Standard aktiverad", "Default enabled": "Standard aktiverad",
"pushViewCode": "Visa kod", "pushViewCode": "Hur använda Pushövervakare? (Visa kod)",
"Steam Game Server": "Steam Spel Server", "Steam Game Server": "Steam Spel Server",
"Docker Container": "Docker Container", "Docker Container": "Docker-container",
"setupDatabaseChooseDatabase": "Vilken databas skulle du vilja använda?", "setupDatabaseChooseDatabase": "Vilken databas vill du använda?",
"dbName": "Databas Namn", "dbName": "Databasnamn",
"What you can try:": "Vad du kan försöka:", "What you can try:": "Vad du kan försöka:",
"Container Name / ID": "Containernamn / ID", "Container Name / ID": "Containernamn / ID",
"Docker Host": "Dockervärd", "Docker Host": "Dockervärd",
"Docker Hosts": "Dockervärdar", "Docker Hosts": "Dockervärdar",
"Domain": "Domän", "Domain": "Domän",
"Most likely causes:": "Störst troliga anledningar:", "Most likely causes:": "Störst troliga anledningar:",
"Coming Soon": "Kommer snart" "Coming Soon": "Kommer snart",
"liquidIntroduction": "Mallar är uppnådda med Liquids mallspråk. Hänvisa till [0] för användningsinstruktioner. Tillgängliga variabler är:",
"emailTemplateStatus": "Status",
"templateHeartbeatJSON": "objekt beskrivande hjärtslag",
"templateLimitedToUpDownCertNotifications": "Endast tillgänglig för UPP/NER/Certifikat giltigt notifieringar",
"successKeyword": "Nyckelord för lyckat",
"successKeywordExplanation": "MQTT-nyckelord som anses lyckade",
"cronExpression": "Cronuttryck",
"invalidCronExpression": "Ogiltigt cronuttryck: {0}",
"backupRecommend": "Vänligen säkerhetskopiera volymen eller mappen (./data/) direkt istället.",
"disableCloudflaredNoAuthMsg": "Du är i Auth-läge, ett lösenord krävs inte.",
"setupDatabaseEmbeddedMariaDB": "Du behöver inte ställa in någonting. Denna dockeravbild har inbyggd och konfigurerade MariaDB automatiskt. Uptime Kuma kommer att ansluta till databasen via en unixsocket.",
"setupDatabaseMariaDB": "Anslut till en extern MariaDB databas. Du måste ange anslutningsinformation till databasen.",
"setupDatabaseSQLite": "En enkel databasfil, rekommenderas för småskaliga installationer. Före v2.0.0, använde Uptime Kuma SQLite som standarddatabas.",
"Reset Token": "Återställ token",
"Workstation": "Arbetsstation",
"socket": "Socket",
"tcp": "TCP / HTTP",
"Packet Size": "Paketstorlek",
"Bot Token": "Bott-token",
"telegramSendSilently": "Skicka tyst",
"telegramMessageThreadID": "(Valfritt) Meddelandetrådsid",
"Chat ID": "Chatt-ID",
"deleteDockerHostMsg": "Är du säker att du vill ta bort denna dockervärd för alla övervakare?",
"DockerHostRequired": "Vänligen ange Dockervärd för denna övervakare.",
"wayToGetTelegramToken": "Du kan få en token från {0}.",
"pushOthers": "Andra",
"programmingLanguages": "Programmeringsspråk",
"templateMsg": "meddelande i notifieringen",
"templateMonitorJSON": "objekt beskrivande övervakare",
"templateLimitedToUpDownNotifications": "endast tillgänglig för UPP/NER notifieringar",
"Examples": "Exempel",
"Using a Reverse Proxy?": "Används omvänd proxy?",
"Query": "Fråga",
"Connection Type": "Anslutningstyp",
"YOUR BOT TOKEN HERE": "DIN BOTT-TOKEN HÄR",
"or": "eller",
"Optional": "Valfri",
"Event data:": "Händelsedata:",
"Trigger type:": "Utlösningstyp:",
"Automations can optionally be triggered in Home Assistant:": "Automationer kan valfritt utlösas i Home Assistant:",
"default: notify all devices": "standard: notifiera alla enheter",
"Notification Service": "Notifieringstjänst",
"Home Assistant URL": "Home Assistant-URL",
"wayToGetLineNotifyToken": "Du kan få en åtkomststoken från {0}",
"telegramProtectContent": "Skydda vidarebefordring/sparning",
"weekdayShortWed": "Ons",
"weekdayShortTue": "Tis",
"weekdayShortMon": "Mån",
"weekdayShortSun": "Sön",
"weekdayShortSat": "Lör",
"weekdayShortFri": "Fre",
"weekdayShortThu": "Tors",
"cronSchedule": "Schema: ",
"endDateTime": "Slutdatum/tid",
"startDateTime": "Startdatum/tid",
"sameAsServerTimezone": "Samma som serverns tidszon",
"warningTimezone": "Den använder serverns tidszon",
"strategyManual": "Aktivera/Inaktivera manuellt",
"Recurring": "Återkommande",
"Event type:": "Händelsetyp:",
"recurringInterval": "Intervall",
"emailCustomSubject": "Anpassat ämne",
"emailCustomisableContent": "Anpassningsbart innehåll",
"smtpLiquidIntroduction": "Följande två fält är mallbara via Liquid templating Language. Vänligen referera till {0} för användningsinstruktioner. Detta är dom tillgängliga variablerna:",
"leave blank for default subject": "lämna blankt för standardämne",
"emailCustomBody": "Anpassat meddelande",
"Recipients": "Mottagare",
"twoFAVerifyLabel": "Vänligen ange din token för att verifiera 2FA:",
"pushoversounds tugboat": "Bogserbåt",
"pushoversounds alien": "Utomjordingsalarm (lång)",
"AccessKeyId": "Accessnyckel-ID",
"Uptime Kuma URL": "Uptime Kuma URL",
"Notify Channel": "Notifieringskanal",
"smseagleRecipientType": "Mottagartyp",
"smseagleTo": "Telefonnummer",
"smseagleRecipient": "Mottagare (flera måste separeras med komma)",
"clearEventsMsg": "Är du säker att du vill ta bort alla händelser för denna övervakare?",
"successDisabled": "Inaktivering lyckades.",
"confirmImportMsg": "Är du säker på att du vill importera säkerhetskopian? Verifiera att du valt korrekta importeringsval.",
"remoteBrowsersDescription": "Fjärrwebbläsare är ett alternativ istället för att köra Chromium lokalt. Ställ in en tjänst liknande browserless.io eller anslut till din egna",
"pushyToken": "Enhetstoken",
"successDeleted": "Lyckades ta bort.",
"Enable DNS Cache": "(Utfasad) Aktivera DNS-cache för HTTP(s) övervakare",
"enableNSCD": "Aktivera NSCD (Name Service Cache Daemon) för att cacha alla DNS-förfrågningar",
"chromeExecutable": "Chrome/Chromium körbar fil",
"chromeExecutableAutoDetect": "Autodetektera",
"pushoverMessageTtl": "Meddelande TTL (sekunder)",
"Example:": "Exempel: {0}",
"Sms template must contain parameters: ": "SMS-mall måste innehålla dessa parametrar: ",
"WeCom Bot Key": "WeCom-bottsnyckel",
"Add a domain": "Lägg till en domän",
"smtpDkimSettings": "DKIM-inställningar",
"Line Developers Console": "Linjeutvecklarkonsol",
"infiniteRetention": "Ange 0 för oändlig kvarhållningsperiod.",
"enableDefaultNotificationDescription": "Denna notifiering kommer att vara aktiverad som standard för nya övervakere. Du kan inaktivera notifieringen separat för varje övervakare.",
"wayToGetKookBotToken": "Skapa applikation och få din bott-token vid {0}",
"alertaApiEndpoint": "API-slutpunkt",
"Learn More": "Läs mer",
"Add Another": "Lägg till en annan",
"apiKeyAddedMsg": "Din API-nyckel har lagts till. Vänligen notera den för detta visas inte igen.",
"octopushPhoneNumber": "Telefonnummer (int. format, ex: +33612345678) ",
"noOrBadCertificate": "Inget/ogiltigt certifikat",
"successBackupRestored": "Lyckades återställa säkerhetskopia.",
"GrafanaOncallUrl": "Grafana OnCall-URL",
"Maintenance Time Window of a Day": "Underhållsfönster-tid på dagen",
"Effective Date Range": "Giltigt datumintervall (valfritt)",
"Enable": "Aktivera",
"Disable": "Inaktivera",
"Schedule Maintenance": "Schemalagt underhåll",
"Integration Key": "Integreringsnyckel",
"Remote Browsers": "Fjärrwebbläsare",
"Remote Browser": "Fjärrwebbläsare",
"Add a Remote Browser": "Lägg till en fjärrwebbläsare",
"Check how to config it for WebSocket": "Kontrollera hur man konfigurerar den för webbsocket",
"The resource is no longer available.": "Resursen är inte längre tillgänglig.",
"Connection String": "Anslutningssträng",
"wayToCheckSignalURL": "Du kan kontrollera denna URL för att visa hur man sätter upp en:",
"pushoverDesc2": "Om du vill skicka notifieringar till andra enheter, fyll i enhetsfältet.",
"Generate": "Generera",
"noDockerHostMsg": "Inte tillgängligt. Ställ in en dockervärd först.",
"tailscalePingWarning": "För att använda Tailscale Ping-övervakare, måste du installera Uptime Kuma utan docker och också installera Tailscale-klienten på din server.",
"trustProxyDescription": "Lita på 'X-Forwarded-*' headers. Om du vill få den korrekta IP-adressen för klienten och Uptime Kuma är bakom en proxy såsom Nginx eller Apache, måste du aktivera detta.",
"statusPageMaintenanceEndDate": "Slut",
"IconUrl": "Ikon-URL",
"Single Maintenance Window": "Ensamt underhållsfönster",
"maintenanceStatus-under-maintenance": "Underhåll pågår",
"maintenanceStatus-inactive": "Inaktiv",
"maintenanceStatus-scheduled": "Schemalagd",
"maintenanceStatus-ended": "Slutade",
"maintenanceStatus-unknown": "Okänd",
"Display Timezone": "Visa tidszon",
"Server Timezone": "Server-tidszon",
"smtpBCC": "Hemlig kopia",
"smtpCC": "Kopia",
"Number": "Nummer",
"To Email": "Till epost",
"emailTemplateMonitorJSON": "objekt som beskriver övervakaren",
"emailTemplateHeartbeatJSON": "objekt som beskriver hjärtslaget",
"emailTemplateMsg": "meddelande i notifieringen",
"emailTemplateLimitedToUpDownNotification": "endast tillgängligt för UPP/NER hjärtslag, annars noll",
"Discord Webhook URL": "Discord webbhook-URL",
"wayToGetDiscordURL": "Du kan hitta detta genom att gå till Serverinställningar -> Integrationer -> Visa webbhocks -> Ny webbhook",
"Bot Display Name": "Bott-visningsnamn",
"dataRetentionTimeError": "Kvarhållningsperiod måste vara större än 0",
"Integration URL": "Integrerings-URL",
"Close": "Stäng",
"Session Token": "Sessionstoken",
"noGroupMonitorMsg": "Inte tillgängligt. Skapa en gruppövervakare först.",
"successEnabled": "Aktivering lyckades.",
"tagNotFound": "Tagg hittades inte.",
"Bark API Version": "Bark API-version",
"Add a new expiry notification day": "Lägg till ett ny dag för notifiering av utgångsdatum",
"Remove the expiry notification": "Ta bort notifieringsdag för utgångsdatum",
"There might be a typing error in the address.": "Det kan vara ett stavfel i adressen.",
"Retype the address.": "Skriv om adressen.",
"Go back to the previous page.": "Gå tillbaka till föregående sida.",
"settingsCertificateExpiry": "TLS-certifikatsutgångsdatum",
"certificationExpiryDescription": "HTTPS-övervakare utlöser en notifiering när TLS-certifikatet löper ut om:",
"Setup Docker Host": "Ställ in dockervärd",
"Docker Daemon": "Docker-daemon",
"telegramSendSilentlyDescription": "Skickar meddelandet tyst. Användare kommer att få en notifiering utan ljud.",
"telegramMessageThreadIDDescription": "Valfri unik identifierare för meddelandets tråd (ämne) på forumet; endast för forum-supergrupper",
"telegramProtectContentDescription": "Om aktiverat kommer bott-meddelanden i Telegram att vara skyddade från vidarebefordring och sparande.",
"supportTelegramChatID": "Stöd direktchatt / grupp / kanalens chatt-id",
"wayToGetTelegramChatID": "Du kan se ditt chatt-id genom att skicka ett meddelande till boten och besöka denna URL för att visa chat_id:",
"chatIDNotFound": "Chatt-id hittade inte; vänligen skicka ett meddelande till den här botten först",
"Long-Lived Access Token": "Långtidsaccess-token",
"Frontend Version": "Frontend-version",
"Frontend Version do not match backend version!": "Frontend-version matchar inte backend-version!",
"backupOutdatedWarning": "Avskrivet: Eftersom en massa funktioner har lagts till och denna säkerhetskopieringsfunktion är lite ounderhållen, kan det inte generera eller återställa en komplett säkerhetskopia.",
"A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "En lista av notifieringstjänster kan hittas i Home Assistant under \"Utvecklarverktyg > Tjänster\", sök efter notifiering för att hitta din enhet/telefon-namn.",
"Then choose an action, for example switch the scene to where an RGB light is red.": "Välj en åtgärd, till exempel byt scen till en där en RGB-lampa är röd.",
"emailTemplateHostnameOrURL": "Värdnamn eller URL",
"From Email": "Från epost",
"dayOfMonth": "Dag i månad",
"dayOfWeek": "Dag i vecka",
"lastDay": "Sista dagen",
"lastDay1": "Sista dagen i månaden",
"lastDay2": "2a sista dagen i månaden",
"lastDay3": "3e sista dagen i månaden",
"lastDay4": "4e sista dagen i månaden",
"No Maintenance": "Inget underhåll",
"pauseMaintenanceMsg": "Är du säker att du vill pausa?",
"chromeExecutableDescription": "Docker-användare, om Chromium inte är installerat kommer det att dröja ett par minuter att installera innan testresultatet visas. Det tar 1GB i diskutrymme.",
"dnsCacheDescription": "Det kan misslyckas i några IPv6-miljöer, inaktivera det om du stöter på några problem.",
"Date and Time": "Datum och tid",
"DateTime Range": "Datum/tid-intervall",
"loadingError": "Kan inte hämta data, vänligen försök senare.",
"install": "Installera",
"installing": "Installerar",
"uninstall": "Avinstallera",
"uninstalling": "Avinstallerar",
"confirmUninstallPlugin": "Är du säker på att du vill avinstallera detta tillägg?",
"plugin": "Tillägg | Tillägg",
"Clone Monitor": "Klona övervakare",
"Clone": "Klona",
"smtp": "Epost (SMTP)",
"secureOptionNone": "Ingen /STARTTLS (25,587)",
"secureOptionTLS": "TLS (465)",
"Ignore TLS Error": "Ignorera TLS-fel",
"leave blank for default body": "lämna blankt för standardmeddelande",
"emailTemplateServiceName": "Tjänstenamn",
"Prefix Custom Message": "Anpassat meddelandeprefix",
"Hello @everyone is...": "Hej {'@'}alla är…",
"wayToGetTeamsURL": "Du kan lära dig hur man skapar en webbhook-URL {0}.",
"wayToGetZohoCliqURL": "Du kan lära dig hur man skapar en webbhook-URL {0}.",
"needSignalAPI": "Du måste ha en signal-klient med REST API.",
"Access Token": "Åtkomsttoken",
"Channel access token": "Kanalåtkomststoken",
"User ID": "Användarid",
"Messaging API": "Meddelandeapi",
"Icon URL": "Ikon-URL",
"deleteMaintenanceMsg": "Är du säker att du vill ta bort detta underhåll?",
"clearHeartbeatsMsg": "Är du säker att du vill ta bort alla hjärtslag för denna övervakare?",
"confirmClearStatisticsMsg": "Är du säker att du vill ta bort ALL statistik?",
"tokenValidSettingsMsg": "Giltig token! Du kan nu spara 2FA-inställningarna.",
"confirmEnableTwoFAMsg": "Är du säker att du vill aktivera 2FA?",
"confirmDisableTwoFAMsg": "Är du säker att du vill inaktivera 2FA?",
"recurringIntervalMessage": "Kör en gång varje dag | Kör en gång var {0} dagar",
"affectedMonitorsDescription": "Välj övervakare som är påverkade av det nuvarande underhållet",
"affectedStatusPages": "Visa detta underhållsmeddelande på valda statussidor",
"atLeastOneMonitor": "Välj minst en påverkad övervakare",
"Basic Settings": "Grundläggande inställningar",
"dnsPortDescription": "DNS-serverport. Standard är 53. Du kan ändra port när som helst.",
"confirmDeleteTagMsg": "Är du säker att du vill radera denna tagg? Övervakare associerade med denna tagg kommer inte att tas bort.",
"enableGRPCTls": "Tillåt att gRPC-förfrågningar skickas med TLS-anslutning",
"invertKeywordDescription": "Titta om nyckelordet frånvarande istället för närvarande.",
"pushoversounds bike": "Cykel",
"pushoversounds cashregister": "Kassaregister",
"pushoversounds classical": "Klassisk",
"pushoversounds cosmic": "Kosmisk",
"pushoversounds falling": "Fallande",
"pushoversounds gamelan": "Gamelan",
"pushoversounds incoming": "Inkommande",
"pushoversounds intermission": "Paus",
"pushoversounds magic": "Magisk",
"pushoversounds mechanical": "Mekanisk",
"pushoversounds pianobar": "Pianobar",
"pushoversounds siren": "Siren",
"pushoversounds spacealarm": "Rymdalarm",
"pushoversounds climb": "Klättra (lång)",
"pushoversounds persistent": "Beständig (lång)",
"pushoversounds echo": "Pushovereko (lång)",
"pushoversounds updown": "Upp ner (lång)",
"pushoversounds vibrate": "Vibrera endast",
"pushoversounds none": "Ingen (tyst)",
"pushyAPIKey": "Hemlig API-nyckel",
"User Key": "Användarnyckel",
"Device": "Enhet",
"Message Title": "Meddelandetitel",
"Notification Sound": "Notifieringsljud",
"More info on:": "Mer info på: {0}",
"SMS Type": "SMS-typ",
"promosmsLogin": "API-inloggninsnamn",
"promosmsPassword": "API-lösenord",
"apprise": "Apprise (Stödjer 50+ notifieringstjänster)",
"GoogleChat": "Google Chat (Google Workspace endast)",
"backupDescription": "Du kan säkerhetskopiera alla övervakare och notifieringstjänster till en JSON-fil.",
"endpoint": "slutpunkt",
"Read more:": "Lär mer: {0}",
"Status:": "Status: {0}",
"Strategy": "Strategi",
"high": "hög",
"SecretAccessKey": "Accessnyckelshemlighet",
"PhoneNumbers": "Telefonnummer",
"TemplateCode": "Mallkod",
"SignName": "Signaturnamn",
"Bark Group": "Barkgrupp",
"Bark Endpoint": "Barkslutpunkt",
"Bark Sound": "Barkljud",
"WebHookUrl": "Webbhook-URL",
"SecretKey": "Hemlig nyckel",
"For safety, must use secret key": "För säkerhet måste det användas en hemlig nyckel",
"Device Token": "Enhetstoken",
"Platform": "Plattform",
"Huawei": "Huawei",
"High": "Hög",
"Retry": "Försök igen",
"Topic": "Ämne",
"Setup Proxy": "Ställ in proxy",
"Proxy Protocol": "Proxy-protokoll",
"Proxy server has authentication": "Proxy-server har autentisering",
"Channel Name": "Kanalnamn",
"setup a new monitor group": "ställ in en ny övervakningsgrupp",
"openModalTo": "öppna modal till {0}",
"Remove domain": "Ta bort domän '{0}'",
"Icon Emoji": "Ikonemoji",
"apiCredentials": "API-referenser",
"Apprise URL": "Apprise-URL",
"checkPrice": "Kontrollera {0} pris:",
"matrixHomeserverURL": "Hemserver-URL (med http(s):// och valfri port)",
"Internal Room Id": "Internt rums-ID",
"documentation": "dokumentation",
"smtpDkimDomain": "Domännamn",
"smtpDkimKeySelector": "Nyckelväljare",
"smtpDkimPrivateKey": "Privat nyckel",
"smtpDkimHashAlgo": "Hashningsalgoritm (valfritt)",
"do nothing": "gör ingenting",
"alertaEnvironment": "Miljö",
"alertaApiKey": "API-nyckel",
"alertaAlertState": "Larmläge",
"serwersmsAPIPassword": "API-lösenord",
"serwersmsPhoneNumber": "Telefonnummer",
"API Keys": "API-nycklar",
"Expiry": "Utgången",
"Expiry date": "Utgångsdatum",
"Don't expire": "Inget utgångsdatum",
"Continue": "Fortsätt",
"Key Added": "Nyckel tillagd",
"Add API Key": "Lägg till API-nyckel",
"No API Keys": "Inga API-nycklar",
"apiKey-active": "Aktiv",
"apiKey-expired": "Utgången",
"apiKey-inactive": "Inaktiv",
"Expires": "Utgår",
"disableAPIKeyMsg": "Är du säker att du vill inaktivera denna API-nyckel?",
"deleteAPIKeyMsg": "Är du säker att du vill ta bort denna API-nyckel?",
"pagertreeIntegrationUrl": "Integrations-URL",
"pagertreeUrgency": "Brådskande",
"pagertreeSilent": "Tyst",
"pagertreeLow": "Låg",
"pagertreeMedium": "Mellan",
"pagertreeHigh": "Hög",
"pagertreeCritical": "Kritisk",
"ntfyUsernameAndPassword": "Användarnamn och lösenord",
"foundChromiumVersion": "Hittade Chromium/Chrome. Version: {0}",
"Remote Browser not found!": "Fjärrwebbläsare hittades inte!",
"self-hosted container": "själv-hosted container",
"remoteBrowserToggle": "Som standard körs Chromium inuti Uptime Kuma containern.",
"useRemoteBrowser": "Använd en fjärrwebbläsare",
"Saved.": "Sparad.",
"FlashDuty Severity": "Allvarlighetsgrad",
"2faAlreadyEnabled": "2FA är redan aktiverat.",
"2faEnabled": "2FA aktiverat.",
"2faDisabled": "2FA inaktiverat.",
"successAdded": "Lyckades lägga till.",
"successResumed": "Lyckades återuppta.",
"successPaused": "Lyckades pausa.",
"successEdited": "Lyckades redigera.",
"successAuthChangePassword": "Lyckades uppdatera lösenordet.",
"Monitor Group": "Övervakningsgrupp",
"Group": "Grupp",
"showCertificateExpiry": "Visa certifikatets utgångsdatum",
"authUserInactiveOrDeleted": "Användaren är inaktiverad eller borttagen.",
"authInvalidToken": "Ogiltig token.",
"authIncorrectCreds": "Felaktigt användarnamn eller lösenord.",
"deleteRemoteBrowserMessage": "Är du säker att du vill radera denna fjärrwebbläsare för alla övervakare?",
"Browser Screenshot": "Webbläsarskärmdump",
"enableProxyDescription": "Denna proxy påverkar inte övervakarnas förfrågan förräns den är aktiverad. Du kan kontrollera och tillfälligt inaktivera proxyn från alla övervakare genom aktiveringsstatus.",
"Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "Långtidsaccess-token kan skapas genom att klicka på ditt profilnamn (nedre vänstra) och skrolla till botten och klicka på Skapa token. ",
"Edit Maintenance": "Redigera underhåll",
"pushoversounds bugle": "Bugla",
"Enable TLS": "Aktivera TLS",
"Economy": "Ekonomi",
"Lowcost": "Låg kostnad",
"Gateway Type": "Gatewaytyp",
"You can divide numbers with": "Du kan dela nummer med",
"Base URL": "Bas-URL",
"promosmsAllowLongSMS": "Tillåt långa SMS",
"promosmsPhoneNumber": "Telefonnummer (för polska mottagare kan du skippa riktnummer)",
"Recipient Number": "Mottagarens nummer",
"From Name/Number": "Från namn/nummer",
"Leave blank to use a shared sender number.": "Lämna tomt för att använda ett delat avsändarnummer.",
"smseagleEncoding": "Skicka som unicode",
"smseaglePriority": "Meddelandeprioritet (0-9, standard = 0)",
"onebotGroupMessage": "Grupp",
"onebotPrivateMessage": "Privat",
"onebotUserOrGroupId": "Grupp/användar-ID",
"pushDeerServerDescription": "Lämna tomt för att använda den officiella servern",
"Custom Monitor Type": "Anpassad övervakartyp",
"Google Analytics ID": "Google Analytics-ID",
"Edit Tag": "Redigera tagg",
"Server Address": "Serveradress",
"wayToGetClickSendSMSToken": "Du kan hitta API-användarnamn och API-nyckel från {0} .",
"pagertreeDoNothing": "Gör ingenting",
"lunaseaTarget": "Mål",
"lunaseaDeviceID": "Enhetsid",
"lunaseaUserID": "Användarid",
"ntfyAuthenticationMethod": "Autentiseringsmetod",
"twilioApiKey": "API-nyckel (valfritt)",
"twilioFromNumber": "Från nummer",
"twilioToNumber": "Till nummer",
"Show Clickable Link": "Visa klickbar länk",
"notificationRegional": "Regional",
"cloneOf": "Klon av {0}",
"Proxy Server": "Proxy-server",
"lineDevConsoleTo": "Linjeutvecklarkonsol - {0}",
"aboutIconURL": "Du kan tillhandahålla en länk till en bild i \"Ikon-URL\" för att åsidosätta standard profilbilden. Används inte om Ikonemoji är inställt.",
"backupDescription2": "Notera: historik och händelsedata är inte inkluderat.",
"promosmsTypeFlash": "SMS FLASH - Meddelanden visas automatiskt på mottagande enhet. Begränsad till Polska mottagare.",
"promosmsTypeFull": "SMS Full - Premium nivå av SMS, du kan använda ditt avsändarnamn (du måste registrera namnet först). Pålitligt för varningar.",
"serwersmsSenderName": "SMS-avsändarnamn (registrerat via kundportalen)",
"smseagleGroup": "Telefonboksgruppnamn",
"smseagleContact": "Telefonbokskontaktsnamn",
"Body Encoding": "Body-kodning",
"Badge Label Prefix": "Bricketikettsprefix",
"Badge Preview": "Brickförhandsvisning",
"Badge Label Suffix": "Bricketikettssuffix",
"Search monitored sites": "Sök övervakade sajter",
"Badge Warn Days": "Varningsbricksdagar",
"statusPageSpecialSlugDesc": "Speciell slug {0}: denna sida kommer att visas när ingen slug anges",
"wayToGetLineChannelToken": "Först besök {0}, skapa en leverantör och kanal (Meddelande-API), efter det kan du få en accesstoken för kanalen och användarid från ovanstående menyobjekt.",
"aboutMattermostChannelName": "Du kan åsidosätta standardkanalen som webbhook postar till genom att ange kanalnamnet i \"Kanalnamn\" fältet. Detta behöver vara aktiverad i Mattermost Webbhook inställningar. Ex: #annan-kanal",
"promosmsTypeEco": "SMS ECO - billig men långsam och ofta överbelastad. Begränsad till Polska mottagare.",
"ntfyPriorityHelptextAllEvents": "Alla händelser skickas med högsta prioritet",
"aboutNotifyChannel": "Notifieringskanalen kommer att utlösa en skrivbords eller mobilnotifiering för alla medlemmar i kanalen, oavsett om deras tillgänglighet är aktiv eller borta.",
"ntfyPriorityHelptextAllExceptDown": "Alla händelser är skickade med denna prioritet, utom {0}-händelser, som har en prioritet av {1}",
"settingUpDatabaseMSG": "Ställer in databasen. Detta kan ta ett tag, ha tålamod.",
"promosmsTypeSpeed": "SMS SPEED - Högsta prioritet i system. Väldigt snabb och tillförlitlig, men kostsam (nästan dubbelt mot SMS FULL priset).",
"Badge Down Days": "Nerbricksdagar",
"grpcMethodDescription": "Metodnamn är konverterad till kamelNotation format som sayHello, check, etc.",
"importHandleDescription": "Välj 'Hoppa över existerande' om du vill hoppa över varje övervakare eller notifiering med samma namn. 'Skriv över' kommer att ta bort existerande övervakare och notifieringar.",
"pushoversounds pushover": "Pushover (standard)",
"backupDescription3": "Känslig data som ex. notifieringstokens är inkluderade i exportfilen; vänligen lagra exporten säkert.",
"octopushLogin": "\"Inloggning\" från HTTP API autentiseringsuppgifter i kontrollpanelen",
"octopushAPIKey": "\"API-nyckel\" från HTTP API autentiseringsuppgifter i kontrollpanelen",
"wayToGetKookGuildID": "Slå på 'Utvecklarläge' i Kook-inställningarna och högerklicka på guild för att få dess ID",
"Guild ID": "Guild-ID",
"pushoverDesc1": "Nödprioritet (2) har 30 sekunders timeout mellan försök och löper ut efter 1 timme som standard.",
"octopushTypePremium": "Premium (Snabb - rekommenderas för varningar)",
"octopushTypeLowCost": "Låg kostnad (långsam - blockeras ibland av operatören)",
"jsonQueryDescription": "Gör en json-förfrågan mot svaret och kontrollera det förväntade värdet (returvärde konverteras till en sträng för jämförelse). Se {0} för dokumentation angående frågespråket. En lekplats kan hittas här {1}.",
"Check octopush prices": "Kontrollera octopush priser {0}.",
"octopushSMSSender": "SMS avsändarnamn: 3-11 alfanumeriska tecken och mellanslag (a-zA-Z0-9)",
"LunaSea Device ID": "LunaSea enhetsid",
"Free Mobile User Identifier": "Fri mobilanvändaridentifierare",
"Feishu WebHookUrl": "Feishu WebbhookURL",
"signalImportant": "VIKTIGT: Du kan inte blanda grupper och nummer i mottagare!",
"octopushLegacyHint": "Använder du äldre versionen av Octopush (2011-2020) eller den nya versionen?",
"goAlertInfo": "GoAlert är en öppen källkodsapplikation för jouruppringning, automatiserade eskaleringar och notifieringar (som SMS eller röstsamtal). Engagera automatiskt rätt person, den rätta vägen och i rätt tid! {0}",
"goAlertIntegrationKeyInfo": "Få generiska API-integrationsnycklar för tjänsten i formatet \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\" vanligtvis värdet av token-parametern för den kopierade URLen.",
"matrixDesc1": "Du kan hitta det interna rumsid:t genom att titta i den avancerade sektionen av rumsinställningarna i din Matrix-klient. Det bör vara liknande !QMdRCpUIfLwsfjxye6:home.server.",
"matrixDesc2": "Det är rekommenderat att du skapar en ny användare och inte använder din egna Matrix-användares accesstoken eftersom det ger full access till ditt konto och alla rum du gått med i. Skapa en ny användare och invitera endast till rummen du vill ska få notifieringen. Du kan komma åt accesstoken genom att köra {0}",
"aboutWebhooks": "Mer information om Webbhooks på: {0}",
"aboutKumaURL": "Om du lämnar Uptime Kuma URL-fältet tomt, kommer den som standard till projektsidan på Github.",
"smtpDkimDesc": "Vänligen hänvisa till Nodemailer DKIM {0} för användning.",
"smtpDkimheaderFieldNames": "Headernycklar att signera (Valfritt)",
"smtpDkimskipFields": "Headernycklar att inte signera (Valfritt)",
"Auto resolve or acknowledged": "Automatisk lösning eller bekräftad",
"auto resolve": "automatiskt bekräftad",
"auto acknowledged": "automatiskt löst",
"alertaRecoverState": "Återställningsstatus",
"serwersmsAPIUser": "API-användarnamn (inkl. webapi_prefix)",
"smseagleToken": "API-accesstoken",
"smseagleUrl": "Din SMSEagle enhetsURL",
"pagertreeResolve": "Autolös",
"Badge Up Color": "Uppbricksfärg",
"aboutChannelName": "Ange kanalnamnet på {0} kanalnamnsfältet om du vill gå förbi webbhook-kanalen. Ex: #annan-kanal",
"wayToGetPagerDutyKey": "Du kan komma åt detta genom att gå till Tjänst -> Tjänstekatalog -> (välj tjänst) -> Integrationer -> Lägg till integration. Här kan du söka efter \"Events API V2\". För mer info {0}",
"Badge Pending Color": "Väntanbricksfärg",
"Badge Down Color": "Nerbricksfärg",
"Badge Maintenance Color": "Underhållsbricksfärg",
"Badge Warn Color": "Varningsbricksfärg",
"Badge Style": "Brickstil",
"Badge value (For Testing only.)": "Brickvärde (endast för prov.)",
"Badge URL": "BrickURL",
"nostrRelays": "Nostr-relän",
"Badge Label Color": "Bricketikettsfärg",
"Free Mobile API Key": "Fri mobil-API-nyckel",
"Proto Service Name": "Proto tjänstenamn",
"Proto Method": "Proto-metod",
"Proto Content": "Proto-innehåll",
"SendKey": "Skickanyckel",
"SMSManager API Docs": "SMSManager API-dokument ",
"promosmsSMSSender": "SMS-avsändarnamn: Förregistrerat namn eller en av standard: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
"Octopush API Version": "Octopuch API-version",
"Legacy Octopush-DM": "Äldre Octopush-DM",
"ntfy Topic": "ntfy-ämne",
"Server URL should not contain the nfty topic": "Server-URL ska inte innehålla ntfy-ämne",
"onebotHttpAddress": "OneBot HTTP-adress",
"onebotMessageType": "OneBot meddelandetyp",
"onebotSafetyTips": "För säkerhet, måste ange accesstoken",
"PushDeer Server": "PushDeer-server",
"PushDeer Key": "PuchDeer-nyckel",
"wayToGetPagerTreeIntegrationURL": "Efter att du skapat Uptime Kuma integrationen i PagerTree, kopiera endpoint. Se detaljer {0}",
"twilioAccountSID": "Konto-SID",
"Monitor Setting": "{0}s övervakarinställning",
"Show Clickable Link Description": "Om markerad har alla med access till denna statussida även access till övervakarURL.",
"Open Badge Generator": "Öppna brickgenerator",
"Badge Generator": "{0}s brickgenerator",
"Badge Type": "Bricktyp",
"Badge Duration (in hours)": "Brickvaraktighet (i timmar)",
"Badge Label": "Bricketikett",
"Badge Prefix": "Brickvärdeprefix",
"Badge Suffix": "Brickvärdesuffix",
"Badge Color": "Brickfärg",
"monitorToastMessagesLabel": "Övervakar-toastnotifiering",
"wayToGetFlashDutyKey": "Du kan gå till Kanal -> (Välj en kanal) -> Integrationer -> Lägg till ny integrationssidan, lägg till en 'Anpassad händelse' för att få en pushadress, kopiera integrationsnyckeln i adressen. För mer information, besök",
"gamedigGuessPortDescription": "Porten som används av Valve-serverns förfrågningsprotokol kan vara annorlunda från klientporten. Prova detta om övervakaren inte kan kontakta din server.",
"monitorToastMessagesDescription": "Toastnotifieringar för övervakare försvinner efter angiven tid i sekunder. Ange -1 för att inaktivera timeout. Ange 0 för att inkaktivera toastnotifieringar.",
"Mechanism": "Mekanism",
"Pick a SASL Mechanism...": "Välj en SASL-mekanism…",
"Authorization Identity": "Behörighetsidentitet",
"AccessKey Id": "Accessnyckel-ID",
"Secret AccessKey": "Hemlig accessnyckel",
"toastErrorTimeout": "Timeout för felnotifieringar",
"toastSuccessTimeout": "Timeout för lyckadesnotifieringar",
"Enter the list of brokers": "Ange en lista av mäklare",
"Kafka Brokers": "Kafka-mäklare",
"Press Enter to add broker": "Tryck enter för att lägga till mäklare",
"Kafka Topic Name": "Kafka ämnesnamn",
"Kafka Producer Message": "Kafka producentmeddelande",
"Enable Kafka SSL": "Aktivera Kafka SSL",
"Enable Kafka Producer Auto Topic Creation": "Aktivera Kafka producent autoämnesskapande",
"Kafka SASL Options": "Kafka SASL val",
"Request Body": "Förfrågningsbody",
"nostrRelaysHelp": "En relä-URL per rad",
"nostrSender": "Privat avsändarnyckel (nsec)",
"nostrRecipients": "Publik mottagarnyckel (npub)",
"nostrRecipientsHelp": "npub-format, en per rad",
"gamedigGuessPort": "Gamedig: Gissa port",
"twilioAuthToken": "Auth-token / API-nyckelhemlighet",
"What is a Remote Browser?": "Vad är en fjärrläsare?"
} }

@ -167,8 +167,10 @@
"Search Engine Visibility": "శోధన ఇంజిన్ దృశ్యమానత", "Search Engine Visibility": "శోధన ఇంజిన్ దృశ్యమానత",
"Discourage search engines from indexing site": "ఇండెక్సింగ్ సైట్ నుండి శోధన ఇంజిన్‌లను నిరుత్సాహపరచండి", "Discourage search engines from indexing site": "ఇండెక్సింగ్ సైట్ నుండి శోధన ఇంజిన్‌లను నిరుత్సాహపరచండి",
"Update Password": "పాస్‌వర్డ్‌ని నవీకరించండి", "Update Password": "పాస్‌వర్డ్‌ని నవీకరించండి",
"disableauth.message1": "మీరు ఖచ్చితంగా <strong>ప్రామాణీకరణను నిలిపివేయాలనుకుంటున్నారా</strong>?", "disableauth.message1": "మీరు ఖచ్చితంగా {disableAuth}?",
"disableauth.message2": "ఇది Cloudflare యాక్సెస్, Authelia లేదా ఇతర ప్రమాణీకరణ మెకానిజమ్‌ల వంటి Uptime Kuma ముందు <strong>థర్డ్-పార్టీ ప్రామాణీకరణను అమలు చేయాలనుకుంటున్న</strong> దృశ్యాల కోసం రూపొందించబడింది.", "disable authentication": "ప్రామాణీకరణను నిలిపివేయాలనుకుంటున్నారా",
"disableauth.message2": "ఇది Cloudflare యాక్సెస్, Authelia లేదా ఇతర ప్రమాణీకరణ మెకానిజమ్‌ల వంటి Uptime Kuma ముందు {intendThirdPartyAuth} దృశ్యాల కోసం రూపొందించబడింది.",
"where you intend to implement third-party authentication": "థర్డ్-పార్టీ ప్రామాణీకరణను అమలు చేయాలనుకుంటున్న",
"I understand, please disable": "నాకు అర్థమైంది, దయచేసి నిలిపివేయండి", "I understand, please disable": "నాకు అర్థమైంది, దయచేసి నిలిపివేయండి",
"No Monitors, please": "దయచేసి మానిటర్లు వద్దు", "No Monitors, please": "దయచేసి మానిటర్లు వద్దు",
"Certificate Info": "సర్టిఫికేట్ సమాచారం", "Certificate Info": "సర్టిఫికేట్ సమాచారం",

@ -101,7 +101,8 @@
"Update Password": "อัพเดทรหัสผ่าน", "Update Password": "อัพเดทรหัสผ่าน",
"Disable Auth": "ปิดใช้งานการตรวจสอบสิทธิ์", "Disable Auth": "ปิดใช้งานการตรวจสอบสิทธิ์",
"Enable Auth": "เปิดใช้งานการตรวจสอบสิทธิ์", "Enable Auth": "เปิดใช้งานการตรวจสอบสิทธิ์",
"disableauth.message1": "คุณต้องการที่จะ <strong>ปิดใช้งานระบบรับรองความถูกต้องใช่หรือไม่</strong>?", "disableauth.message1": "คุณต้องการที่จะ {disableAuth}?",
"disable authentication": "ปิดใช้งานระบบรับรองความถูกต้องใช่หรือไม่",
"disableauth.message2": "ระบบนี้ถูกออกแบบมาเพื่อการใช้งานกับระบบรับรองความถูกต้องของบุคคลที่สามเช่น Cloudflare Access, Authelia หรือวิธีการอื่นๆ", "disableauth.message2": "ระบบนี้ถูกออกแบบมาเพื่อการใช้งานกับระบบรับรองความถูกต้องของบุคคลที่สามเช่น Cloudflare Access, Authelia หรือวิธีการอื่นๆ",
"Please use this option carefully!": "โปรดใช้ความระมัดระวังในการเลือกใช้งานระบบนี้ !", "Please use this option carefully!": "โปรดใช้ความระมัดระวังในการเลือกใช้งานระบบนี้ !",
"Logout": "ออกจากระบบ", "Logout": "ออกจากระบบ",
@ -322,7 +323,7 @@
"Security": "ความปลอดภัย", "Security": "ความปลอดภัย",
"Steam API Key": "Steam API Key", "Steam API Key": "Steam API Key",
"Shrink Database": "ย่อฐานข้อมูล", "Shrink Database": "ย่อฐานข้อมูล",
"Pick a RR-Type...": "เลือกชนิด DNS Record", "Pick a RR-Type...": "เลือกชนิด DNS Record",
"Pick Accepted Status Codes...": "เลือกเลขสถานะที่ยอมรับ…", "Pick Accepted Status Codes...": "เลือกเลขสถานะที่ยอมรับ…",
"Default": "ค่าเริ่มต้น", "Default": "ค่าเริ่มต้น",
"HTTP Options": "ตัวเลือก HTTP", "HTTP Options": "ตัวเลือก HTTP",
@ -584,12 +585,12 @@
"statusMaintenance": "การซ่อมบำรุง", "statusMaintenance": "การซ่อมบำรุง",
"Maintenance": "การซ่อมบำรุง", "Maintenance": "การซ่อมบำรุง",
"Monitor": "มอนิเตอร์ | มอนิเตอร์", "Monitor": "มอนิเตอร์ | มอนิเตอร์",
"Select status pages...": "เลือกหน้าสถานะ", "Select status pages...": "เลือกหน้าสถานะ",
"Schedule maintenance": "กำหนดเวลาบำรุงรักษา", "Schedule maintenance": "กำหนดเวลาบำรุงรักษา",
"Affected Monitors": "มอนิเตอร์ที่ได้รับผลกระทบ", "Affected Monitors": "มอนิเตอร์ที่ได้รับผลกระทบ",
"markdownSupported": "รองรับ Markdown", "markdownSupported": "รองรับ Markdown",
"Help": "ช่วยเหลือ", "Help": "ช่วยเหลือ",
"Pick Affected Monitors...": "เลือกมอนิเตอร์ที่ได้รับผลกระทบ", "Pick Affected Monitors...": "เลือกมอนิเตอร์ที่ได้รับผลกระทบ",
"Packet Size": "ขนาดของ Packet", "Packet Size": "ขนาดของ Packet",
"ZohoCliq": "ZohoCliq", "ZohoCliq": "ZohoCliq",
"backupOutdatedWarning": "ไม่ได้รับการพัฒนาแล้ว : ไม่สามารถสร้างหรือกูข้อมูลสำรองได้สมบูรณ์ เนื่องจากมีฟีเจอร์ใหม่เพิ่มขึ้นมากและการแบ็คอัพไม่ได้ถูกพัฒนา", "backupOutdatedWarning": "ไม่ได้รับการพัฒนาแล้ว : ไม่สามารถสร้างหรือกูข้อมูลสำรองได้สมบูรณ์ เนื่องจากมีฟีเจอร์ใหม่เพิ่มขึ้นมากและการแบ็คอัพไม่ได้ถูกพัฒนา",

@ -5,7 +5,7 @@
"resendEveryXTimes": "Her {0} bir yeniden gönder", "resendEveryXTimes": "Her {0} bir yeniden gönder",
"resendDisabled": "Yeniden gönderme devre dışı", "resendDisabled": "Yeniden gönderme devre dışı",
"retriesDescription": "Servisin kapalı olarak işaretlenmeden ve bir bildirim gönderilmeden önce maksimum yeniden deneme sayısı", "retriesDescription": "Servisin kapalı olarak işaretlenmeden ve bir bildirim gönderilmeden önce maksimum yeniden deneme sayısı",
"ignoreTLSError": "HTTPS web siteleri için TLS/SSL hatasını yoksay", "ignoreTLSError": "HTTPS web siteleri için TLS/SSL hatalarını yok say",
"upsideDownModeDescription": "Servisin durumunu tersine çevirir. Servis çalışıyorsa kapalı olarak işaretler.", "upsideDownModeDescription": "Servisin durumunu tersine çevirir. Servis çalışıyorsa kapalı olarak işaretler.",
"maxRedirectDescription": "İzlenecek maksimum yönlendirme sayısı. Yönlendirmeleri devre dışı bırakmak için 0'a ayarlayın.", "maxRedirectDescription": "İzlenecek maksimum yönlendirme sayısı. Yönlendirmeleri devre dışı bırakmak için 0'a ayarlayın.",
"acceptedStatusCodesDescription": "Başarılı bir yanıt olarak kabul edilen durum kodlarını seçin.", "acceptedStatusCodesDescription": "Başarılı bir yanıt olarak kabul edilen durum kodlarını seçin.",
@ -104,8 +104,10 @@
"Update Password": "Şifreyi Değiştir", "Update Password": "Şifreyi Değiştir",
"Disable Auth": "Şifreli girişi iptal et", "Disable Auth": "Şifreli girişi iptal et",
"Enable Auth": "Şifreli girişi aktif et", "Enable Auth": "Şifreli girişi aktif et",
"disableauth.message1": "<strong>Şifreli girişi devre dışı bırakmak istediğinizden</strong>emin misiniz?", "disableauth.message1": "{disableAuth}emin misiniz?",
"disableauth.message2": "Bu, Uptime Kuma'nın önünde Cloudflare Access gibi <strong>üçüncü taraf yetkilendirmesi olan</strong> kişiler içindir.", "disable authentication": "Şifreli girişi devre dışı bırakmak istediğinizden",
"disableauth.message2": "Bu, Uptime Kuma'nın önünde Cloudflare Access gibi {intendThirdPartyAuth} kişiler içindir.",
"where you intend to implement third-party authentication": "üçüncü taraf yetkilendirmesi olan",
"Please use this option carefully!": "Lütfen dikkatli kullanın!", "Please use this option carefully!": "Lütfen dikkatli kullanın!",
"Logout": ıkış yap", "Logout": ıkış yap",
"Leave": "Ayrıl", "Leave": "Ayrıl",
@ -571,7 +573,7 @@
"backupOutdatedWarning": "Kullanımdan kaldırıldı: Birçok özellik eklendiğinden ve bu yedekleme özelliği biraz bakımsız olduğundan tam bir yedekleme oluşturamaz veya geri yükleyemez.", "backupOutdatedWarning": "Kullanımdan kaldırıldı: Birçok özellik eklendiğinden ve bu yedekleme özelliği biraz bakımsız olduğundan tam bir yedekleme oluşturamaz veya geri yükleyemez.",
"backupRecommend": "Lütfen bunun yerine birimi veya veri klasörünü (./data/) doğrudan yedekleyin.", "backupRecommend": "Lütfen bunun yerine birimi veya veri klasörünü (./data/) doğrudan yedekleyin.",
"enableGRPCTls": "TLS bağlantısıyla gRPC isteği göndermeye izin ver", "enableGRPCTls": "TLS bağlantısıyla gRPC isteği göndermeye izin ver",
"grpcMethodDescription": "Yöntem adı, sayHello, check, vb. gibi cammelCase biçimine dönüştürülür.", "grpcMethodDescription": "Yöntem adı, sayHello, check, vb. gibi camelCase biçimine dönüştürülür.",
"Maintenance": "Bakım", "Maintenance": "Bakım",
"statusMaintenance": "Bakım", "statusMaintenance": "Bakım",
"Schedule maintenance": "Bakım Planla", "Schedule maintenance": "Bakım Planla",
@ -792,7 +794,7 @@
"webhookBodyPresetOption": "Ön ayar - {0}", "webhookBodyPresetOption": "Ön ayar - {0}",
"webhookBodyCustomOption": "Özel Gövde", "webhookBodyCustomOption": "Özel Gövde",
"Request Body": "İstek Gövdesi", "Request Body": "İstek Gövdesi",
"jsonQueryDescription": "Yanıta karşı bir json sorgusu yapın ve beklenen değeri kontrol edin (Dönüş değeri, karşılaştırma için dizgeye dönüştürülür). Sorgu diliyle ilgili belgeler için <a href='https://jsonata.org/'>jsonata.org</a>'a bakın. Bir oyun alanı <a href='https://try.jsonata.org/'>burada</a> bulunabilir.", "jsonQueryDescription": "Yanıta karşı bir json sorgusu yapın ve beklenen değeri kontrol edin (Dönüş değeri, karşılaştırma için dizgeye dönüştürülür). Sorgu diliyle ilgili belgeler için {0}'a bakın. Bir oyun alanı {1} bulunabilir.",
"twilioApiKey": "Api Anahtarı (isteğe bağlı)", "twilioApiKey": "Api Anahtarı (isteğe bağlı)",
"Expected Value": "Beklenen Değer", "Expected Value": "Beklenen Değer",
"Json Query": "Json Sorgusu", "Json Query": "Json Sorgusu",
@ -808,7 +810,7 @@
"Enable Kafka SSL": "Kafka SSL'i etkinleştir", "Enable Kafka SSL": "Kafka SSL'i etkinleştir",
"Kafka SASL Options": "Kafka SASL Seçenekleri", "Kafka SASL Options": "Kafka SASL Seçenekleri",
"Mechanism": "Mekanizma", "Mechanism": "Mekanizma",
"Pick a SASL Mechanism...": "Bir SASL Mekanizması seçin...", "Pick a SASL Mechanism...": "Bir SASL Mekanizması seçin",
"Authorization Identity": "Yetki Kimliği", "Authorization Identity": "Yetki Kimliği",
"Secret AccessKey": "Gizli Erişim Anahtarı", "Secret AccessKey": "Gizli Erişim Anahtarı",
"Session Token": "Oturum Jetonu", "Session Token": "Oturum Jetonu",
@ -840,7 +842,7 @@
"styleElapsedTime": "Kalp atışı çubuğunun altında geçen süre", "styleElapsedTime": "Kalp atışı çubuğunun altında geçen süre",
"styleElapsedTimeShowWithLine": "Göster (Satır ile birlikte)", "styleElapsedTimeShowWithLine": "Göster (Satır ile birlikte)",
"enableNSCD": "Tüm DNS isteklerini önbelleğe almak için NSCD'yi (Ad Hizmeti Önbellek Programı) etkinleştirin", "enableNSCD": "Tüm DNS isteklerini önbelleğe almak için NSCD'yi (Ad Hizmeti Önbellek Programı) etkinleştirin",
"setupDatabaseEmbeddedMariaDB": "Hiçbir şey ayarlamanıza gerek yok. Bu docker imajı sizin için otomatik olarak bir MariaDB yerleştirdi ve yapılandırdı. Çalışma Süresi Kuma bu veritabanına unix soketi aracılığıyla bağlanacaktır.", "setupDatabaseEmbeddedMariaDB": "Hiçbir şey ayarlamanıza gerek yok. Bu docker imajı, MariaDB'yi sizin için otomatik olarak yerleştirdi ve yapılandırdı. Çalışma Süresi Kuma bu veritabanına unix soketi aracılığıyla bağlanacaktır.",
"setupDatabaseSQLite": "Küçük ölçekli dağıtımlar için önerilen basit bir veritabanı dosyası. v2.0.0'dan önce Uptime Kuma, varsayılan veritabanı olarak SQLite'ı kullanıyordu.", "setupDatabaseSQLite": "Küçük ölçekli dağıtımlar için önerilen basit bir veritabanı dosyası. v2.0.0'dan önce Uptime Kuma, varsayılan veritabanı olarak SQLite'ı kullanıyordu.",
"setupDatabaseChooseDatabase": "Hangi veritabanını kullanmak istiyorsunuz?", "setupDatabaseChooseDatabase": "Hangi veritabanını kullanmak istiyorsunuz?",
"setupDatabaseMariaDB": "Harici bir MariaDB veritabanına bağlanın. Veritabanı bağlantı bilgilerini ayarlamanız gerekir.", "setupDatabaseMariaDB": "Harici bir MariaDB veritabanına bağlanın. Veritabanı bağlantı bilgilerini ayarlamanız gerekir.",
@ -870,5 +872,51 @@
"authUserInactiveOrDeleted": "Kullanıcı etkin değil veya silinmiş.", "authUserInactiveOrDeleted": "Kullanıcı etkin değil veya silinmiş.",
"successAdded": "Başarıyla eklendi.", "successAdded": "Başarıyla eklendi.",
"successAuthChangePassword": "Şifre başarıyla güncellendi.", "successAuthChangePassword": "Şifre başarıyla güncellendi.",
"foundChromiumVersion": "Chromium/Chrome bulundu. Versiyon: {0}" "foundChromiumVersion": "Chromium/Chrome bulundu. Versiyon: {0}",
"Reset Token": "Jetonu Sıfırla",
"emailCustomisableContent": "Özelleştirilebilir içerik",
"smtpLiquidIntroduction": "Aşağıdaki iki alan Liquid şablonlama Dili aracılığıyla şablonlanabilir. Kullanım talimatları için lütfen {0}'a bakın. Bunlar mevcut değişkenlerdir:",
"leave blank for default subject": "varsayılan konu için boş bırakın",
"emailCustomBody": "Özel Gövde",
"leave blank for default body": "varsayılan gövde için boş bırakın",
"emailTemplateServiceName": "Hizmet Adı",
"emailTemplateHostnameOrURL": "Hostname veya URL",
"emailTemplateStatus": "Durum",
"emailTemplateMonitorJSON": "monitörü tanımlayan nesne",
"emailTemplateHeartbeatJSON": "kalp atışını tanımlayan nesne",
"liquidIntroduction": "Şablonlanabilirlik, Liquid şablonlama dili aracılığıyla sağlanır. Kullanım talimatları için lütfen {0}'a bakın. Bunlar mevcut değişkenlerdir:",
"templateMsg": "bildirim mesajı",
"templateHeartbeatJSON": "kalp atışını tanımlayan nesne",
"templateMonitorJSON": "monitörü tanımlayan nesne",
"templateLimitedToUpDownCertNotifications": "yalnızca Normal/Hatalı/Sertifika sona erme bildirimleri için kullanılabilir",
"templateLimitedToUpDownNotifications": "yalnızca Normal/Hatalı bildirimleri için kullanılabilir",
"emailTemplateMsg": "bildirim mesajı",
"emailTemplateLimitedToUpDownNotification": "yalnızca Normal/Hatalı kalp atışları için kullanılabilir, aksi takdirde boş",
"GrafanaOncallUrl": "Grafana Oncall URL'i",
"noDockerHostMsg": "Uygun değil. Önce Docker Ana Bilgisayarını Kurun.",
"DockerHostRequired": "Lütfen bu monitör için Docker Ana Bilgisayarını ayarlayın.",
"Browser Screenshot": "Tarayıcı Ekran Görüntüsü",
"successKeyword": "Başarı Anahtar Kelimesi",
"successKeywordExplanation": "Başarılı olarak kabul edilecek MQTT anahtar kelimesi",
"Add a new expiry notification day": "Yeni bir sona erme bildirim günü ekle",
"Remove the expiry notification": "Sona erme bildirim gününü kaldır",
"setup a new monitor group": "yeni bir monitör grubu kur",
"Remove domain": "'{0}' alan adını kaldır",
"Remote Browsers": "Uzak Tarayıcılar",
"Remote Browser": "Uzak Tarayıcı",
"Add a Remote Browser": "Uzak Tarayıcı Ekle",
"Remote Browser not found!": "Uzak Tarayıcı bulunamadı!",
"remoteBrowsersDescription": "Uzak Tarayıcılar, Chromium'u yerel olarak çalıştırmanın bir alternatifidir. browserless.io gibi bir hizmetle kurulum yapın veya kendi hizmetinize bağlanın",
"self-hosted container": "kendi kendine barındırılan konteyner",
"remoteBrowserToggle": "Varsayılan olarak Chromium, Uptime Kuma kapsayıcısının içinde çalışır. Bu anahtarı değiştirerek uzak bir tarayıcıyı kullanabilirsiniz.",
"useRemoteBrowser": "Uzak Tarayıcı Kullanın",
"deleteRemoteBrowserMessage": "Bu Uzak Tarayıcıyı tüm monitörler için silmek istediğinizden emin misiniz?",
"openModalTo": "modeli {0}'a aç",
"Add a domain": "Alan adı ekle",
"Search monitored sites": "İzlenen siteleri arayın",
"ntfyPriorityHelptextAllEvents": "Tüm olaylar maksimum öncelik ile gönderilir",
"settingUpDatabaseMSG": "Veritabanı kuruluyor. Biraz zaman alabilir, lütfen sabırlı olun.",
"statusPageSpecialSlugDesc": "Özel slug {0}: slug belirtilmediğinde bu sayfa gösterilecektir",
"ntfyPriorityHelptextAllExceptDown": "Önceliği {1} olan {0}-olayları hariç tüm olaylar bu öncelik ile gönderilir",
"What is a Remote Browser?": "Uzak Tarayıcı Nedir?"
} }

@ -2,7 +2,7 @@
"languageName": "Українська", "languageName": "Українська",
"checkEverySecond": "Перевірка кожні {0} секунд", "checkEverySecond": "Перевірка кожні {0} секунд",
"retriesDescription": "Максимальна кількість спроб перед позначенням сервісу як недоступного та надсиланням повідомлення", "retriesDescription": "Максимальна кількість спроб перед позначенням сервісу як недоступного та надсиланням повідомлення",
"ignoreTLSError": "Ігнорувати помилку TLS/SSL для сайтів HTTPS", "ignoreTLSError": "Ігнорувати помилки TLS/SSL для сайтів HTTPS",
"upsideDownModeDescription": "Реверс статусу сервісу. Якщо сервіс доступний, він позначається як НЕДОСТУПНИЙ.", "upsideDownModeDescription": "Реверс статусу сервісу. Якщо сервіс доступний, він позначається як НЕДОСТУПНИЙ.",
"maxRedirectDescription": "Максимальна кількість перенаправлень. Поставте 0, щоб вимкнути перенаправлення.", "maxRedirectDescription": "Максимальна кількість перенаправлень. Поставте 0, щоб вимкнути перенаправлення.",
"acceptedStatusCodesDescription": "Виберіть коди статусів для визначення доступності сервісу.", "acceptedStatusCodesDescription": "Виберіть коди статусів для визначення доступності сервісу.",
@ -84,8 +84,10 @@
"Update Password": "Оновити пароль", "Update Password": "Оновити пароль",
"Disable Auth": "Вимкнути авторизацію", "Disable Auth": "Вимкнути авторизацію",
"Enable Auth": "Увімкнути авторизацію", "Enable Auth": "Увімкнути авторизацію",
"disableauth.message1": "Ви впевнені, що бажаєте <strong>вимкнути авторизацію</strong>?", "disableauth.message1": "Ви впевнені, що бажаєте {disableAuth}?",
"disableauth.message2": "Це підходить для <strong>тих, у кого встановлена інша авторизація</strong> пееред відкриттям Uptime Kuma, наприклад Cloudflare Access.", "disable authentication": "вимкнути авторизацію",
"disableauth.message2": "Це підходить для {intendThirdPartyAuth} пееред відкриттям Uptime Kuma, наприклад Cloudflare Access.",
"where you intend to implement third-party authentication": "тих, у кого встановлена інша авторизація",
"Please use this option carefully!": "Будь ласка, використовуйте з обережністю!", "Please use this option carefully!": "Будь ласка, використовуйте з обережністю!",
"Logout": "Вийти", "Logout": "Вийти",
"Leave": "Відміна", "Leave": "Відміна",
@ -96,7 +98,7 @@
"Username": "Логін", "Username": "Логін",
"Password": "Пароль", "Password": "Пароль",
"Remember me": "Запам'ятати мене", "Remember me": "Запам'ятати мене",
"Login": "Вхід до системи", "Login": "Увійти",
"No Monitors, please": "Моніторів немає, будь ласка", "No Monitors, please": "Моніторів немає, будь ласка",
"No Monitors": "Монітори відсутні", "No Monitors": "Монітори відсутні",
"add one": "створіть новий", "add one": "створіть новий",
@ -432,9 +434,9 @@
"Stop": "Зупинити", "Stop": "Зупинити",
"Uptime Kuma": "Uptime Kuma", "Uptime Kuma": "Uptime Kuma",
"Slug": "Slug", "Slug": "Slug",
"Accept characters:": "Прийняти символи:", "Accept characters:": "Приймаються символи:",
"startOrEndWithOnly": "Починається або закінчується лише {0}", "startOrEndWithOnly": "Починається або закінчується лише {0}",
"No consecutive dashes": "Немає послідовних тире", "No consecutive dashes": "Без послідовних тире",
"The slug is already taken. Please choose another slug.": "Slug вже зайнятий. Будь ласка, виберіть інший slug.", "The slug is already taken. Please choose another slug.": "Slug вже зайнятий. Будь ласка, виберіть інший slug.",
"No Proxy": "Без проксі", "No Proxy": "Без проксі",
"Page Not Found": "Сторінку не знайдено", "Page Not Found": "Сторінку не знайдено",
@ -506,7 +508,7 @@
"pushoversounds none": "Нічого (тиша)", "pushoversounds none": "Нічого (тиша)",
"pushyAPIKey": "Секретний ключ API", "pushyAPIKey": "Секретний ключ API",
"pushyToken": "Токен пристрою", "pushyToken": "Токен пристрою",
"Using a Reverse Proxy?": "Використовувати зворотній проксі?", "Using a Reverse Proxy?": "Використовуєте зворотній проксі?",
"Check how to config it for WebSocket": "Перевірте, як налаштувати його для WebSocket", "Check how to config it for WebSocket": "Перевірте, як налаштувати його для WebSocket",
"Steam Game Server": "Ігровий сервер Steam", "Steam Game Server": "Ігровий сервер Steam",
"Most likely causes:": "Найімовірніші причини:", "Most likely causes:": "Найімовірніші причини:",
@ -728,7 +730,7 @@
"Docker Hosts": "Docker-хости", "Docker Hosts": "Docker-хости",
"wayToGetZohoCliqURL": "Ви можете дізнатися, як створити URL-адресу веб-хука {0}.", "wayToGetZohoCliqURL": "Ви можете дізнатися, як створити URL-адресу веб-хука {0}.",
"enableGRPCTls": "Дозволити надсилати gRPC-запити з TLS-з'єднанням", "enableGRPCTls": "Дозволити надсилати gRPC-запити з TLS-з'єднанням",
"grpcMethodDescription": "Ім'я методу перетворюється у формат cammelCase, наприклад, sayHello, check тощо.", "grpcMethodDescription": "Ім'я методу перетворюється у формат camelCase, наприклад, sayHello, check тощо.",
"Packet Size": "Розмір пакету", "Packet Size": "Розмір пакету",
"trustProxyDescription": "Довіряти заголовкам 'X-Forwarded-*'. Якщо ви хочете отримати правильний клієнтський IP, а ваш Uptime Kuma знаходиться за проксі-сервером, таким як Nginx або Apache, вам слід увімкнути цю опцію.", "trustProxyDescription": "Довіряти заголовкам 'X-Forwarded-*'. Якщо ви хочете отримати правильний клієнтський IP, а ваш Uptime Kuma знаходиться за проксі-сервером, таким як Nginx або Apache, вам слід увімкнути цю опцію.",
"wayToGetLineNotifyToken": "Ви можете отримати токен доступу з {0}", "wayToGetLineNotifyToken": "Ви можете отримати токен доступу з {0}",
@ -800,7 +802,7 @@
"Request Body": "Тіло запиту", "Request Body": "Тіло запиту",
"Badge Preview": "Попередній перегляд бейджа", "Badge Preview": "Попередній перегляд бейджа",
"Badge Duration (in hours)": "Тривалість бейджа (у годинах)", "Badge Duration (in hours)": "Тривалість бейджа (у годинах)",
"jsonQueryDescription": "Виконувати json-запит до відповіді та перевірити очікуване значення (значення, що повертається, буде перетворено в рядок для порівняння). Зверніться до <a href='https://jsonata.org/'>jsonata.org</a> щоб ознайомитися з документацією про мову запитів. Навчальний майданчик можна знайти <a href='https://try.jsonata.org/'>тут</a>.", "jsonQueryDescription": "Виконувати json-запит до відповіді та перевірити очікуване значення (значення, що повертається, буде перетворено в рядок для порівняння). Зверніться до {0} щоб ознайомитися з документацією про мову запитів. Навчальний майданчик можна знайти {1}.",
"twilioApiKey": "Api ключ (необов'язково)", "twilioApiKey": "Api ключ (необов'язково)",
"Expected Value": "Очікуване значення", "Expected Value": "Очікуване значення",
"Json Query": "Json-запит", "Json Query": "Json-запит",
@ -813,7 +815,7 @@
"Kafka Topic Name": "Назва теми Kafka", "Kafka Topic Name": "Назва теми Kafka",
"Kafka SASL Options": "Параметри Kafka SASL", "Kafka SASL Options": "Параметри Kafka SASL",
"Mechanism": "Механізм", "Mechanism": "Механізм",
"Pick a SASL Mechanism...": "Виберіть механізм SASL...", "Pick a SASL Mechanism...": "Виберіть механізм SASL",
"Authorization Identity": "Ідентифікатор авторизації", "Authorization Identity": "Ідентифікатор авторизації",
"AccessKey Id": "AccessKey Id", "AccessKey Id": "AccessKey Id",
"Secret AccessKey": "Secret AccessKey", "Secret AccessKey": "Secret AccessKey",
@ -840,7 +842,7 @@
"pushDeerServerDescription": "Залиште порожнім, щоб використовувати офіційний сервер", "pushDeerServerDescription": "Залиште порожнім, щоб використовувати офіційний сервер",
"Request Timeout": "Таймаут запиту", "Request Timeout": "Таймаут запиту",
"timeoutAfter": "Таймаут через {0} секунд", "timeoutAfter": "Таймаут через {0} секунд",
"styleElapsedTime": "Час, що минув під індикатором серцебиття", "styleElapsedTime": "Час, що минув під індикатором опитування",
"gamedigGuessPort": "Gamedig: Вгадати порт", "gamedigGuessPort": "Gamedig: Вгадати порт",
"gamedigGuessPortDescription": "Порт, що використовується протоколом запитів до сервера Valve, може відрізнятися від порту клієнта. Спробуйте це, якщо монітор не може підключитися до вашого сервера.", "gamedigGuessPortDescription": "Порт, що використовується протоколом запитів до сервера Valve, може відрізнятися від порту клієнта. Спробуйте це, якщо монітор не може підключитися до вашого сервера.",
"styleElapsedTimeShowWithLine": "Показати (з лінією)", "styleElapsedTimeShowWithLine": "Показати (з лінією)",
@ -876,5 +878,51 @@
"authUserInactiveOrDeleted": "Користувач неактивний або видалений.", "authUserInactiveOrDeleted": "Користувач неактивний або видалений.",
"authIncorrectCreds": "Неправильне ім'я користувача або пароль.", "authIncorrectCreds": "Неправильне ім'я користувача або пароль.",
"successEdited": "Успішно відредаговано.", "successEdited": "Успішно відредаговано.",
"successEnabled": "Успішно увімкнено." "successEnabled": "Успішно увімкнено.",
"Reset Token": "Скинути токен",
"emailCustomisableContent": "Налаштовуваний вміст",
"leave blank for default subject": "залиште порожнім для теми за замовчуванням",
"emailCustomBody": "Користувацьке тіло",
"smtpLiquidIntroduction": "Наступні два поля можна шаблонувати за допомогою мови шаблонів Liquid. Будь ласка, зверніться до {0} для отримання інструкцій з використання. Ось доступні змінні:",
"templateHeartbeatJSON": "об'єкт, що описує опитування",
"liquidIntroduction": "Шаблонність досягається за допомогою мови шаблонів Liquid. Будь ласка, зверніться до {0} для отримання інструкцій з використання. Ось доступні змінні:",
"templateMsg": "повідомлення сповіщення",
"templateMonitorJSON": "об'єкт, що описує монітор",
"templateLimitedToUpDownCertNotifications": "доступно лише для сповіщень Доступний/Недоступний/Закінчення терміну дії сертифіката",
"templateLimitedToUpDownNotifications": "доступно лише для сповіщень Доступний/Недоступний",
"leave blank for default body": "залиште порожнім для тіла за замовчуванням",
"emailTemplateServiceName": "Назва сервісу",
"emailTemplateHostnameOrURL": "Ім'я хоста або URL",
"emailTemplateStatus": "Статус",
"emailTemplateMsg": "повідомлення сповіщення",
"emailTemplateLimitedToUpDownNotification": "доступно лише для опитування Доступний/Недоступний, інакше - нуль",
"emailTemplateMonitorJSON": "об'єкт, що описує монітор",
"emailTemplateHeartbeatJSON": "об'єкт, що описує опитування",
"GrafanaOncallUrl": "Grafana Oncall URL",
"noDockerHostMsg": "Недоступно. Спочатку налаштуйте Docker-хост.",
"DockerHostRequired": "Будь ласка, встановіть Docker-хост для цього монітора.",
"Browser Screenshot": "Скріншот браузера",
"Add a new expiry notification day": "Додати новий день сповіщення про закінчення терміну дії",
"setup a new monitor group": "створити нову групу моніторів",
"Add a domain": "Додати домен",
"Remote Browsers": "Віддалені браузери",
"Remote Browser": "Віддалений браузер",
"Add a Remote Browser": "Додати віддалений браузер",
"Remote Browser not found!": "Віддалений браузер не знайдено!",
"remoteBrowsersDescription": "Віддалені браузери - це альтернатива локальному запуску Chromium. Налаштуйте за допомогою сервісу на кшталт browserless.io або підключіть свій власний",
"remoteBrowserToggle": "За замовчуванням Chromium запускається всередині контейнера Uptime Kuma. Ви можете використовувати віддалений браузер, увімкнувши цей перемикач.",
"useRemoteBrowser": "Використовувати віддалений браузер",
"deleteRemoteBrowserMessage": "Ви дійсно хочете видалити цей віддалений браузер для всіх моніторів?",
"self-hosted container": "контейнер, що хоститься самостійно",
"Remove the expiry notification": "Видалити день сповіщення про закінчення терміну дії",
"Remove domain": "Видалити домен '{0}'",
"successKeyword": "Ключове слово успіху",
"successKeywordExplanation": "Ключове слово MQTT, яке вважатиметься успіхом",
"openModalTo": "відкрити модальне вікно для {0}",
"ntfyPriorityHelptextAllExceptDown": "З цим пріоритетом надсилаються всі події, окрім {0}-подій, які мають пріоритет {1}",
"settingUpDatabaseMSG": "Налаштування бази даних. Це може зайняти деякий час, будь ласка, будьте терплячі.",
"statusPageSpecialSlugDesc": "Спеціальний slug {0}: ця сторінка буде показана, якщо slug не надано",
"Search monitored sites": "Пошук сайтів, що відстежуються",
"ntfyPriorityHelptextAllEvents": "Усі події надсилаються з максимальним пріоритетом",
"What is a Remote Browser?": "Що таке віддалений браузер?"
} }

@ -49,7 +49,7 @@
"checkEverySecond": "ہر {0} سیکنڈ میں چیک کریں", "checkEverySecond": "ہر {0} سیکنڈ میں چیک کریں",
"retryCheckEverySecond": "ہر {0} سیکنڈ میں دوبارہ کوشش کریں", "retryCheckEverySecond": "ہر {0} سیکنڈ میں دوبارہ کوشش کریں",
"Help": "مدد", "Help": "مدد",
"ignoreTLSError": "HTTPS ویب سائٹس کے لیے TLS/SSL کی خرابی کو نظر انداز کریں", "ignoreTLSError": "HTTPS ویب سائٹس کے لیے TLS/SSL کی غلطیوں کو نظر انداز کریں",
"upsideDownModeDescription": "اسٹیٹس کو الٹا پلٹائیں۔ اگر سروس قابل رسائی ہے، تو یہ نیچے ہے۔", "upsideDownModeDescription": "اسٹیٹس کو الٹا پلٹائیں۔ اگر سروس قابل رسائی ہے، تو یہ نیچے ہے۔",
"Upside Down Mode": "الٹا ڈاؤن موڈ", "Upside Down Mode": "الٹا ڈاؤن موڈ",
"Max. Redirects": "زیادہ سے زیادہ ری ڈائریکٹ کرتا ہے", "Max. Redirects": "زیادہ سے زیادہ ری ڈائریکٹ کرتا ہے",
@ -122,8 +122,10 @@
"Not available, please setup.": "دستیاب نہیں، براہ کرم سیٹ اپ کریں۔", "Not available, please setup.": "دستیاب نہیں، براہ کرم سیٹ اپ کریں۔",
"Timezone": "ٹائم زون", "Timezone": "ٹائم زون",
"Discourage search engines from indexing site": "انڈیکسنگ سائٹ سے سرچ انجنوں کی حوصلہ شکنی کریں", "Discourage search engines from indexing site": "انڈیکسنگ سائٹ سے سرچ انجنوں کی حوصلہ شکنی کریں",
"disableauth.message1": "کیا آپ واقعی <strong>تصدیق کو غیر فعال</strong> کرنا چاہتے ہیں؟", "disableauth.message1": "کیا آپ واقعی {disableAuth} کرنا چاہتے ہیں؟",
"disableauth.message2": "یہ ان منظرناموں کے لیے ڈیزائن کیا گیا ہے</strong> جہاں آپ کا ارادہ ہے کہ آپ فریق ثالث کی توثیق کو لاگو کریں</strong> اپ ٹائم کوما جیسے کہ Cloudflare Access، Authelia یا دیگر تصدیقی میکانزم کے سامنے۔", "disable authentication": "تصدیق کو غیر فعال",
"disableauth.message2": "یہ ان منظرناموں کے لیے ڈیزائن کیا گیا ہے{intendThirdPartyAuth} اپ ٹائم کوما جیسے کہ Cloudflare Access، Authelia یا دیگر تصدیقی میکانزم کے سامنے۔",
"where you intend to implement third-party authentication": "جہاں آپ کا ارادہ ہے کہ آپ فریق ثالث کی توثیق کو لاگو کریں",
"Resolver Server": "حل کرنے والا سرور", "Resolver Server": "حل کرنے والا سرور",
"Last Result": "آخری نتیجہ", "Last Result": "آخری نتیجہ",
"Create your admin account": "اپنا ایڈمن اکاؤنٹ بنائیں", "Create your admin account": "اپنا ایڈمن اکاؤنٹ بنائیں",
@ -429,7 +431,7 @@
"No Maintenance": "کوئی دیکھ بھال نہیں", "No Maintenance": "کوئی دیکھ بھال نہیں",
"weekdayShortTue": "منگل", "weekdayShortTue": "منگل",
"Add New Tag": "نیا ٹیگ شامل کریں", "Add New Tag": "نیا ٹیگ شامل کریں",
"Enable DNS Cache": "HTTP(s) مانیٹرز کے لیے DNS کیش کو فعال کریں", "Enable DNS Cache": "(فرسودہ) HTTP(s) مانیٹرز کے لیے DNS کیش کو فعال کریں",
"Effective Date Range": "مؤثر تاریخ کی حد (اختیاری)", "Effective Date Range": "مؤثر تاریخ کی حد (اختیاری)",
"Schedule Maintenance": "شیڈول کی بحالی", "Schedule Maintenance": "شیڈول کی بحالی",
"Date and Time": "تاریخ اور وقت", "Date and Time": "تاریخ اور وقت",
@ -479,5 +481,66 @@
"uninstall": "ان انسٹال کریں", "uninstall": "ان انسٹال کریں",
"Invert Keyword": "مطلوبہ الفاظ کو الٹ دیں", "Invert Keyword": "مطلوبہ الفاظ کو الٹ دیں",
"Expected Value": "متوقع قدر", "Expected Value": "متوقع قدر",
"Json Query": "Json استفسار" "Json Query": "Json استفسار",
"setupDatabaseMariaDB": "ایک بیرونی ماریا ڈی بی ڈیٹا بیس سے جڑیں۔ آپ کو ڈیٹا بیس کنکشن کی معلومات سیٹ کرنے کی ضرورت ہے۔",
"wayToGetDiscordURL": "آپ اسے سرور کی ترتیبات -> انٹیگریشنز -> ویب ہکس دیکھیں -> نیو ویب ہک پر جاکر حاصل کرسکتے ہیں",
"setupDatabaseChooseDatabase": "آپ کون سا ڈیٹا بیس استعمال کرنا چاہتے ہیں؟",
"setupDatabaseEmbeddedMariaDB": "آپ کو کچھ بھی سیٹ کرنے کی ضرورت نہیں ہے۔ اس ڈاکر امیج نے آپ کے لیے ماریا ڈی بی کو خود بخود ایمبیڈ اور کنفیگر کر دیا ہے۔ اپ ٹائم کوما یونکس ساکٹ کے ذریعے اس ڈیٹا بیس سے جڑے گا۔",
"setupDatabaseSQLite": "ایک سادہ ڈیٹا بیس فائل، چھوٹے پیمانے پر تعیناتیوں کے لیے تجویز کردہ۔ v2.0.0 سے پہلے، Uptime Kuma SQLite کو بطور ڈیفالٹ ڈیٹا بیس استعمال کرتا تھا۔",
"dbName": "ڈیٹا بیس کا نام",
"enableNSCD": "تمام DNS درخواستوں کو کیش کرنے کے لیے NSCD (Name Service Cache Daemon) کو فعال کریں",
"Reset Token": "ٹوکن ری سیٹ کریں",
"From Email": "ای میل سے",
"Prefix Custom Message": "سابقہ حسب ضرورت پیغام",
"Hello @everyone is...": "ہیلو {'@'}ہر کوئی ہے…",
"wayToGetTeamsURL": "آپ ویب ہک URL {0} بنانے کا طریقہ سیکھ سکتے ہیں۔",
"pushViewCode": "پش مانیٹر کا استعمال کیسے کریں؟ (کوڈ دیکھیں)",
"pushOthers": "دوسرے",
"programmingLanguages": "پروگرامنگ کی زبانیں",
"Clone Monitor": "کلون مانیٹر",
"Clone": "کلون",
"uninstalling": "ان انسٹال کرنا",
"confirmUninstallPlugin": "کیا آپ واقعی اس پلگ ان کو ان انسٹال کرنا چاہتے ہیں؟",
"notificationRegional": "علاقائی",
"cloneOf": "{0} کا کلون",
"smtp": "ای میل (SMTP)",
"secureOptionNone": "کوئی نہیں / STARTTLS (25, 587)",
"Ignore TLS Error": "TLS کی خرابی کو نظر انداز کریں",
"emailCustomSubject": "حسب ضرورت موضوع",
"To Email": "ای میل کرنے کے لئے",
"smtpCC": "سی سی",
"smtpBCC": "بی سی سی",
"Discord Webhook URL": "اختلاف ابھک یو آر ایل",
"Bot Display Name": "بوٹ ڈسپلے کا نام",
"secureOptionTLS": "TLS (465)",
"emailCustomisableContent": "حسب ضرورت مواد",
"smtpLiquidIntroduction": "درج ذیل دو فیلڈز مائع ٹیمپلیٹنگ لینگویج کے ذریعے قابل نمونہ ہیں۔ براہ کرم استعمال کی ہدایات کے لیے {0} سے رجوع کریں۔ یہ دستیاب متغیرات ہیں:",
"leave blank for default subject": "پہلے سے طے شدہ مضمون کے لیے خالی چھوڑ دیں",
"emailCustomBody": "حسب ضرورت باڈی",
"leave blank for default body": "ڈیفالٹ باڈی کے لیے خالی چھوڑ دیں",
"emailTemplateServiceName": "سروس کا نام",
"emailTemplateHostnameOrURL": "میزبان نام یا URL",
"emailTemplateStatus": "حالت",
"noDockerHostMsg": "دستیاب نہیں ہے. پہلے ایک ڈاکر ہوسٹ سیٹ اپ کریں۔",
"emailTemplateLimitedToUpDownNotification": "صرف UP/DOWN دل کی دھڑکنوں کے لیے دستیاب ہے، ورنہ کالعدم",
"liquidIntroduction": "Templatability Liquid templating زبان کے ذریعے حاصل کی جاتی ہے۔ براہ کرم استعمال کی ہدایات کے لیے {0} سے رجوع کریں۔ یہ دستیاب متغیرات ہیں:",
"templateMsg": "اطلاع کا پیغام",
"templateHeartbeatJSON": "دل کی دھڑکن کو بیان کرنے والی چیز",
"templateMonitorJSON": "مانیٹر کی وضاحت کرنے والی چیز",
"templateLimitedToUpDownCertNotifications": "صرف UP/DOWN/سرٹیفکیٹ کی میعاد ختم ہونے کی اطلاعات کے لیے دستیاب ہے",
"templateLimitedToUpDownNotifications": "صرف UP/DOWN اطلاعات کے لیے دستیاب ہے",
"emailTemplateHeartbeatJSON": "دل کی دھڑکن کو بیان کرنے والی چیز",
"emailTemplateMsg": "اطلاع کا پیغام",
"DockerHostRequired": "براہ کرم اس مانیٹر کے لیے ڈاکر ہوسٹ سیٹ کریں۔",
"emailTemplateMonitorJSON": "مانیٹر کی وضاحت کرنے والی چیز",
"Recipients": "وصول کنندگان",
"wayToCheckSignalURL": "آپ یہ یو آر ایل چیک کر سکتے ہیں کہ اسے کیسے ترتیب دیا جائے:",
"Basic Settings": "بنیادی ترتیبات",
"Number": "نمبر",
"wayToGetZohoCliqURL": "آپ ویب ہک URL {0} بنانے کا طریقہ سیکھ سکتے ہیں۔",
"needSignalAPI": "آپ کے پاس ریسٹ API کے ساتھ سگنل کلائنٹ ہونا ضروری ہے۔",
"Access Token": "ٹوکن تک رسائی حاصل کریں",
"Channel access token": "چینل تک رسائی کا ٹوکن",
"Line Developers Console": "لائن ڈویلپرز کنسول",
"lineDevConsoleTo": "لائن ڈیولپرز کنسول - {0}"
} }

@ -0,0 +1,97 @@
{
"languageName": "O'zbek tili",
"setupDatabaseChooseDatabase": "Qaysi ma'lumotlar ba'zasidan foydalanmoqchisiz?",
"setupDatabaseEmbeddedMariaDB": "Siz hech narsani sozlashga hojat yo'q. Bu docker obrazida MariaDB avtomatik ravishda o'rnatilgan va sozlangan. Uptime Kuma bu ma'lumotlar bazasiga unix socket orqali ulanadi.",
"setupDatabaseMariaDB": "Tashqi MariaDB ma'lumotlar bazasiga ulaning. Siz ma'lumotlar bazasi bilan bog'lanish ma'lumotlarini sozlashingiz kerak.",
"setupDatabaseSQLite": "Kichik miqyosli o'rnatishlar uchun tavsiya etiladigan sodda ma'lumotlar bazasi fayli. Uptime Kuma v2.0.0 dan oldin ma'lumotlar bazasi sifatida SQLite dan foydalangan.",
"dbName": "Ma'lumotlar ba'zasi nomi",
"Settings": "Sozlamalar",
"Dashboard": "Boshqaruv paneli",
"Help": "Yordam",
"New Update": "Yangi yangilanish",
"Language": "Til",
"Appearance": "Tashqi ko'rinish",
"Theme": "Mavzu",
"General": "Umumiy",
"Game": "O'yin",
"Primary Base URL": "Asosiy URL manzil",
"Version": "Versiya",
"List": "Ro'yxat",
"Home": "Uy",
"Add": "Qo'shish",
"Add New Monitor": "Yangi monitor qo'shish",
"Quick Stats": "Tezkor Statistika",
"Down": "Ishdan chiqqan",
"Up": "Ishga tushgan",
"Pending": "Kutilmoqda",
"statusMaintenance": "Xizmat ko'rsatish",
"Maintenance": "Xizmat ko'rsatish",
"Unknown": "Noma'lum",
"Reconnecting...": "Qayta ulanmoqda...",
"Passive Monitor Type": "Passiv Monitor turi",
"General Monitor Type": "Umumiy Monitor Turi",
"Specific Monitor Type": "Maxsus Monitor turi",
"markdownSupported": "Belgilash tili sintaksisi qo'llab-quvvatlanadi",
"pauseDashboardHome": "Tanaffus",
"Pause": "Tanaffus",
"Name": "Nom",
"Status": "Holat",
"DateTime": "Sana va vaqt",
"Message": "Xabar",
"Resume": "Davom ettirish",
"Edit": "Tahrirlash",
"Delete": "O'chirish",
"Current": "Hozirgi",
"Uptime": "Ish vaqti",
"Cert Exp.": "Sertifikat AQM.",
"Monitor": "Monitor | Monitorlar",
"day": "kun | kunlar",
"-day": "-kun",
"hour": "soat",
"-hour": "-soat",
"Response": "Javob",
"Ping": "Aloqani tekshirish",
"Invert Keyword": "Teskari Kalit so'z",
"Json Query": "Json So'rovi",
"Friendly Name": "Do'stona Nom",
"URL": "URL",
"Hostname": "Xosting nomi",
"Port": "Port",
"Heartbeat Interval": "Signal almashinuvi davomiyligi",
"Request Timeout": "So'rov muddati tugashi",
"Retries": "Qayta urinishlar",
"Heartbeat Retry Interval": "Signal almashinuvining takrorlanishlar davomiyligi",
"Advanced": "Murakkab",
"checkEverySecond": "Har {0} soniyada tekshiring",
"retryCheckEverySecond": "Har {0} soniyada qayta urining",
"resendEveryXTimes": "Har {0} martada qayta yuborish",
"resendDisabled": "Qayta yuborish o'chirilgan",
"Check Update On GitHub": "Github-da yangilanishni tekshiring",
"Cannot connect to the socket server": "Socket serverga ulanib bo'lmadi",
"No important events": "Muhim voqealar yo'q",
"Monitor Type": "Monitor Turi",
"Keyword": "Kalit so'z",
"Expected Value": "Kutilayotgan qiymat",
"timeoutAfter": "{0} soniyadan keyin kutish vaqti tugaydi",
"Resend Notification if Down X times consecutively": "Agar X marta ishdan chiqsa, xabarnomani qayta yuboring",
"Setup Notification": "Bildirishnomani sozlang",
"ignoreTLSError": "HTTPS veb-saytlari uchun TLS/SSL xatolariga e'tibor bermang",
"retriesDescription": "Xizmat o'chirilgan deb belgilanishi va bildirishnoma yuborilishidan oldin maksimal qayta urinishlar",
"upsideDownModeDescription": "Agar server ishlash holatida bo'lsa, uni O'CHIRILGAN deb hisoblang",
"maxRedirectDescription": "Yo'naltirishlar sonining maksimal miqdori. Yo'naltirishlarni o'chirish uchun 0 ga sozlang.",
"Upside Down Mode": "Teskari rejim",
"Accepted Status Codes": "Qabul qilingan holat kodlari",
"Push URL": "URL ni yuborish",
"Max. Redirects": "Qayta yo'naltirishlar chegarasi",
"needPushEvery": "Bu URL manziliga har {0} soniyada murojaat qilishingiz kerak.",
"pushOptionalParams": "Ixtiyoriy parametrlar: {0}",
"pushViewCode": "Push monitoridan qanday foydalanish kerak? (Kodni ko'rish)",
"pushOthers": "Boshqalar",
"programmingLanguages": "Dasturlash tillari",
"Save": "Saqlash",
"Notifications": "Bildirishnomalar",
"Not available, please setup.": "Mavjud emas, sozlang.",
"Light": "Yorug'",
"Dark": "Qorung'u",
"Auto": "Avto"
}

@ -3,8 +3,8 @@
"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 các lỗi TLS/SSL với các web HTTPS",
"upsideDownModeDescription": "Chế độ đảo ngược, nếu dịch vụ có thể truy cập được nghĩa là DOWN.", "upsideDownModeDescription": "Chế độ đả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ã 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.",
@ -55,7 +55,7 @@
"Delete": "Xoá", "Delete": "Xoá",
"Current": "Hiện tại", "Current": "Hiện tại",
"Uptime": "Uptime", "Uptime": "Uptime",
"Cert Exp.": "Cert hết hạn", "Cert Exp.": "Hạn chứng chỉ",
"day": "ngày", "day": "ngày",
"-day": "-ngày", "-day": "-ngày",
"hour": "giờ", "hour": "giờ",
@ -74,10 +74,10 @@
"Advanced": "Nâng cao", "Advanced": "Nâng cao",
"Upside Down Mode": "Chế độ đảo ngược", "Upside Down Mode": "Chế độ đảo ngược",
"Max. Redirects": "Số chuyển hướng tối đa", "Max. Redirects": "Số chuyển hướng tối đa",
"Accepted Status Codes": "Codes trạng thái chấp nhận", "Accepted Status Codes": "Status Code Được Chấp Nhận",
"Push URL": "Push URL", "Push URL": "Push URL",
"needPushEvery": "Bạn nên gọi URL mỗi {0} giây.", "needPushEvery": "Bạn nên gọi URL mỗi {0} giây.",
"pushOptionalParams": "Tuỳ chỉnh parameters: {0}", "pushOptionalParams": "Tham số tuỳ chọn: {0}",
"Save": "Lưu", "Save": "Lưu",
"Notifications": "Thông báo", "Notifications": "Thông báo",
"Not available, please setup.": "Chưa sẵn sàng, hãy cài đặt.", "Not available, please setup.": "Chưa sẵn sàng, hãy cài đặt.",
@ -85,23 +85,25 @@
"Light": "Sáng", "Light": "Sáng",
"Dark": "Tối", "Dark": "Tối",
"Auto": "Tự động", "Auto": "Tự động",
"Theme - Heartbeat Bar": "Theme - Heartbeat Bar", "Theme - Heartbeat Bar": "Giao Diện - Thanh Trạng Thái",
"Normal": "Bình thường", "Normal": "Bình thường",
"Bottom": "Dưới", "Bottom": "Phía dưới",
"None": "Không", "None": "Không",
"Timezone": "Múi giờ", "Timezone": "Múi giờ",
"Search Engine Visibility": "Hiển thị với các công cụ tìm kiếm", "Search Engine Visibility": "Khả năng hiển thị với các công cụ tìm kiếm",
"Allow indexing": "Cho phép indexing", "Allow indexing": "Cho phép index",
"Discourage search engines from indexing site": "Ngăn chặn các công cụ tìm kiếm indexing trang", "Discourage search engines from indexing site": "Ngăn chặn các công cụ tìm kiếm index trang",
"Change Password": "Thay đổi mật khẩu", "Change Password": "Thay đổi mật khẩu",
"Current Password": "Mật khẩu hiện tại", "Current Password": "Mật khẩu hiện tại",
"New Password": "Mật khẩu mới", "New Password": "Mật khẩu mới",
"Repeat New Password": "Lặp lại mật khẩu mới", "Repeat New Password": "Lặp lại mật khẩu mới",
"Update Password": "Cập nhật mật khẩu", "Update Password": "Cập nhật mật khẩu",
"Disable Auth": "Tắt xác minh", "Disable Auth": "Tắt xác minh đăng nhập",
"Enable Auth": "Bật xác minh", "Enable Auth": "Bật xác minh đăng nhập",
"disableauth.message1": "Bạn có muốn <strong>TẮT XÁC THỰC</strong> không?", "disableauth.message1": "Bạn có muốn {disableAuth} không?",
"disableauth.message2": "Điều này rất nguy hiểm<strong>BẤT KỲ AI</strong> cũng có thể truy cập và cướp quyền điều khiển.", "disable authentication": "tắt xác thực đăng nhập",
"disableauth.message2": "Điều này rất nguy hiểm {intendThirdPartyAuth} cũng có thể truy cập và cướp quyền điều khiển.",
"where you intend to implement third-party authentication": "BẤT KỲ AI",
"Please use this option carefully!": "Vui lòng <strong>cẩn thận</strong>!", "Please use this option carefully!": "Vui lòng <strong>cẩn thận</strong>!",
"Logout": "Đăng xuất", "Logout": "Đăng xuất",
"Leave": "Rời", "Leave": "Rời",
@ -216,7 +218,7 @@
"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",
"Webhook URL": "Webhook URL", "Webhook URL": "Webhook URL",
"wayToGetTeamsURL": "Bạn có thể học cách tạo webhook url {0}.", "wayToGetTeamsURL": "Bạn có thể học cách tạo webhook url {0}.",
@ -321,8 +323,8 @@
"Security": "Bảo mật", "Security": "Bảo mật",
"Steam API Key": "Steam API Key", "Steam API Key": "Steam API Key",
"Shrink Database": "Shrink Database", "Shrink Database": "Shrink Database",
"Pick a RR-Type...": "Pick a RR-Type...", "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...", "Pick Accepted Status Codes...": "Chọn các Codes trạng thái chấp nhận được",
"Default": "Mặc định", "Default": "Mặc định",
"HTTP Options": "Tuỳ chọn HTTP", "HTTP Options": "Tuỳ chọn HTTP",
"Create Incident": "Tạo Incident", "Create Incident": "Tạo Incident",
@ -405,7 +407,7 @@
"Platform": "Platform", "Platform": "Platform",
"Huawei": "Huawei", "Huawei": "Huawei",
"High": "High", "High": "High",
"Retry": "Retry", "Retry": "Thử lại",
"Topic": "Topic", "Topic": "Topic",
"WeCom Bot Key": "WeCom Bot Key", "WeCom Bot Key": "WeCom Bot Key",
"Setup Proxy": "Setup Proxy", "Setup Proxy": "Setup Proxy",
@ -460,7 +462,7 @@
"onebotSafetyTips": "Để đảm bảo an toàn, hãy thiết lập access token", "onebotSafetyTips": "Để đảm bảo an toàn, hãy thiết lập access token",
"Custom": "Tùy chỉnh", "Custom": "Tùy chỉnh",
"Add New Tag": "Thêm thẻ mới", "Add New Tag": "Thêm thẻ mới",
"webhookAdditionalHeadersDesc": "Đặt header bổ sung được gửi cùng với webhook.", "webhookAdditionalHeadersDesc": "Đặt header bổ sung được gửi cùng với webhook. Mỗi header nên được xác định bằng một JSON key/value.",
"error": "lỗi", "error": "lỗi",
"HTTP Headers": "HTTP Headers", "HTTP Headers": "HTTP Headers",
"recurringIntervalMessage": "Chạy một lần mỗi ngày | Chạy một lần mỗi {0} ngày", "recurringIntervalMessage": "Chạy một lần mỗi ngày | Chạy một lần mỗi {0} ngày",
@ -471,7 +473,7 @@
"Maintenance": "Bảo trì", "Maintenance": "Bảo trì",
"Affected Monitors": "Kênh theo dõi bị ảnh hưởng", "Affected Monitors": "Kênh theo dõi bị ảnh hưởng",
"Schedule maintenance": "Thêm lịch bảo trì", "Schedule maintenance": "Thêm lịch bảo trì",
"markdownSupported": "Có hỗ trợ Markdown", "markdownSupported": "Có hỗ trợ cú pháp Markdown",
"Start of maintenance": "Bắt đầu bảo trì", "Start of maintenance": "Bắt đầu bảo trì",
"All Status Pages": "Tất cả các trang trạng thái", "All Status Pages": "Tất cả các trang trạng thái",
"Select status pages...": "Chọn trang trạng thái…", "Select status pages...": "Chọn trang trạng thái…",
@ -500,5 +502,25 @@
"Domain Names": "Tên tên miền", "Domain Names": "Tên tên miền",
"signedInDisp": "Đăng ký với tư cách là {0}", "signedInDisp": "Đăng ký với tư cách là {0}",
"resendDisabled": "Vô hiệu hoá gửi phản hồi liên tục", "resendDisabled": "Vô hiệu hoá gửi phản hồi liên tục",
"resendEveryXTimes": "Gửi phản hồi mỗi {0} lần" "resendEveryXTimes": "Gửi phản hồi mỗi {0} lần",
"setupDatabaseMariaDB": "Kết nối tới một cơ sở dữ liệu MariaDB bên ngoài. Bạn cần cấu hình thông tin kết nối cơ sở dữ liệu.",
"setupDatabaseChooseDatabase": "Bạn muốn dùng cơ sở dữ liệu nào?",
"setupDatabaseEmbeddedMariaDB": "Bạn không cần phải cài đặt bất cứ thứ gì. Docker image đã nhúng và cấu hình tự động cơ sở dữ liệu MariaDB cho bạn. Uptime Kuma sẽ kết nối tới cơ sở dữ liệu thông qua unix socket.",
"setupDatabaseSQLite": "Một tệp cơ sở dữ liệu đơn giản, được khuyên dùng cho quy mô triển khai nhỏ. Trước v2.0.0, Uptime Kuma sử dụng SQLite như là một cơ sở dữ liệu mặc định.",
"dbName": "Tên cơ sở dữ liệu",
"General Monitor Type": "Loại giám sát chung",
"Passive Monitor Type": "Loại giám sát bị động",
"Specific Monitor Type": "Loại giám sát cụ thể",
"Monitor": "Giám sát",
"Invert Keyword": "Đảo ngược từ khóa",
"Expected Value": "Giá trị mong muốn",
"Json Query": "Truy vấn Json",
"settingUpDatabaseMSG": "Đang khởi tạo cơ sở dữ liệu. Có thể mất một lúc, vui lòng chờ.",
"pushOthers": "Khác",
"programmingLanguages": "Ngôn Ngữ Lập Trình",
"timeoutAfter": "Hết thời gian chờ sau {0} giây",
"styleElapsedTime": "Thời gian đã qua dưới thanh trạng thái",
"styleElapsedTimeShowNoLine": "Hiển Thị (Không Dòng Kẻ)",
"styleElapsedTimeShowWithLine": "Hiển Thị (Có Dòng Kẻ)",
"Request Timeout": "Yêu cầu hết hạn"
} }

@ -67,7 +67,8 @@
"Update Password": "更新密碼", "Update Password": "更新密碼",
"Disable Auth": "取消登入認証", "Disable Auth": "取消登入認証",
"Enable Auth": "開啟登入認証", "Enable Auth": "開啟登入認証",
"disableauth.message1": "你係咪確認想<strong>取消登入認証</strong>", "disableauth.message1": "你係咪確認想{disableAuth}",
"disable authentication": "取消登入認証",
"Please use this option carefully!": "請小心使用。", "Please use this option carefully!": "請小心使用。",
"Logout": "登出", "Logout": "登出",
"Leave": "離開", "Leave": "離開",
@ -100,5 +101,10 @@
"Quick Stats": "綜合數據", "Quick Stats": "綜合數據",
"markdownSupported": "可以用 Markdown", "markdownSupported": "可以用 Markdown",
"wayToGetFlashDutyKey": "您可以进入 协作空间 -> (选择一个 协作空间) -> 集成数据 -> 新增一个集成 页面,添加“自定义事件”获得一个推送地址,复制地址中的 Integration Key更多信息前往{0}", "wayToGetFlashDutyKey": "您可以进入 协作空间 -> (选择一个 协作空间) -> 集成数据 -> 新增一个集成 页面,添加“自定义事件”获得一个推送地址,复制地址中的 Integration Key更多信息前往{0}",
"FlashDuty Severity":"严重程度" "FlashDuty Severity": "严重程度",
"setupDatabaseChooseDatabase": "你想用咩資料庫?",
"dbName": "資料庫名稱",
"Home": "首頁",
"Cannot connect to the socket server": "連唔到 Socket 伺服器",
"Reconnecting...": "重新連線中..."
} }

@ -6,8 +6,8 @@
"resendDisabled": "禁用重复发送", "resendDisabled": "禁用重复发送",
"retriesDescription": "服务被标记为故障并发送通知之前的最大重试次数", "retriesDescription": "服务被标记为故障并发送通知之前的最大重试次数",
"ignoreTLSError": "忽略 HTTPS 站点的 TLS/SSL 错误", "ignoreTLSError": "忽略 HTTPS 站点的 TLS/SSL 错误",
"upsideDownModeDescription": "反转状态监控,如果服务可访问,则认为是故障。", "upsideDownModeDescription": "反转监控状态。如果服务可访问,则认为是故障。",
"maxRedirectDescription": "允许的最大重定向次数。设置为 0 禁用重定向。", "maxRedirectDescription": "允许的最大重定向次数。设置为 0 禁用重定向。",
"enableGRPCTls": "允许通过 TLS 连接发送 gRPC 请求", "enableGRPCTls": "允许通过 TLS 连接发送 gRPC 请求",
"grpcMethodDescription": "方法名会转换为小驼峰格式,例如 sayHello、check 等等。", "grpcMethodDescription": "方法名会转换为小驼峰格式,例如 sayHello、check 等等。",
"acceptedStatusCodesDescription": "选择被视为成功响应的状态码。", "acceptedStatusCodesDescription": "选择被视为成功响应的状态码。",
@ -119,8 +119,10 @@
"Update Password": "更新密码", "Update Password": "更新密码",
"Disable Auth": "禁用身份验证", "Disable Auth": "禁用身份验证",
"Enable Auth": "启用身份验证", "Enable Auth": "启用身份验证",
"disableauth.message1": "是否确定 <strong>取消登录验证</strong>", "disableauth.message1": "是否确定 {disableAuth}",
"disableauth.message2": "这是为 <strong>有第三方认证</strong> 的用户提供的功能,如 Cloudflare Access。", "disable authentication": "取消登录验证",
"disableauth.message2": "这是为 {intendThirdPartyAuth} 的用户提供的功能,如 Cloudflare Access。",
"where you intend to implement third-party authentication": "您打算在哪里实施第三方身份验证",
"Please use this option carefully!": "请谨慎使用!", "Please use this option carefully!": "请谨慎使用!",
"Logout": "退出", "Logout": "退出",
"Leave": "离开", "Leave": "离开",
@ -308,7 +310,7 @@
"lineDevConsoleTo": "Line 开发者控制台 - {0}", "lineDevConsoleTo": "Line 开发者控制台 - {0}",
"Basic Settings": "基本设置", "Basic Settings": "基本设置",
"User ID": "用户 ID", "User ID": "用户 ID",
"Messaging API": "Messaging API", "Messaging API": "消息 API",
"wayToGetLineChannelToken": "首先访问 {0}创建一个提供者和频道Messaging API然后您就可以从上面提到的菜单获取频道的 Access Token 和用户 ID。", "wayToGetLineChannelToken": "首先访问 {0}创建一个提供者和频道Messaging API然后您就可以从上面提到的菜单获取频道的 Access Token 和用户 ID。",
"Icon URL": "图标 URL", "Icon URL": "图标 URL",
"aboutIconURL": "您可以在“图标 URL”中提供一个图片链接来覆盖默认的资料图片。如果设置了 Emoji 图标则此字段会被忽略。", "aboutIconURL": "您可以在“图标 URL”中提供一个图片链接来覆盖默认的资料图片。如果设置了 Emoji 图标则此字段会被忽略。",
@ -382,7 +384,7 @@
"Services": "服务", "Services": "服务",
"Discard": "放弃", "Discard": "放弃",
"Cancel": "取消", "Cancel": "取消",
"Powered by": "技术支持:", "Powered by": "本站使用",
"shrinkDatabaseDescription": "触发 SQLite 数据库的 VACUUM 命令,如果您的数据库是在 1.10.0 版本之后创建的,则已启用 AUTO_VACUUM不再需要此操作。", "shrinkDatabaseDescription": "触发 SQLite 数据库的 VACUUM 命令,如果您的数据库是在 1.10.0 版本之后创建的,则已启用 AUTO_VACUUM不再需要此操作。",
"serwersms": "SerwerSMS.pl", "serwersms": "SerwerSMS.pl",
"serwersmsAPIUser": "API 用户名(包括 webapi_ 前缀)", "serwersmsAPIUser": "API 用户名(包括 webapi_ 前缀)",
@ -441,7 +443,7 @@
"Invalid": "无效", "Invalid": "无效",
"AccessKeyId": "AccessKey ID", "AccessKeyId": "AccessKey ID",
"SecretAccessKey": "AccessKey 密码", "SecretAccessKey": "AccessKey 密码",
"PhoneNumbers": "PhoneNumbers", "PhoneNumbers": "电话号码",
"TemplateCode": "TemplateCode", "TemplateCode": "TemplateCode",
"SignName": "SignName", "SignName": "SignName",
"Sms template must contain parameters: ": "短信模板必须包含以下变量: ", "Sms template must contain parameters: ": "短信模板必须包含以下变量: ",
@ -540,11 +542,11 @@
"promosmsLogin": "API 登录名", "promosmsLogin": "API 登录名",
"promosmsPassword": "API 密码", "promosmsPassword": "API 密码",
"pushoversounds pushover": "Pushover默认", "pushoversounds pushover": "Pushover默认",
"pushoversounds bike": "Bike", "pushoversounds bike": "自行车",
"pushoversounds bugle": "Bugle", "pushoversounds bugle": "军号",
"pushoversounds cashregister": "Cash Register", "pushoversounds cashregister": "Cash Register",
"pushoversounds classical": "Classical", "pushoversounds classical": "Classical",
"pushoversounds cosmic": "Cosmic", "pushoversounds cosmic": "宇宙",
"pushoversounds falling": "Falling", "pushoversounds falling": "Falling",
"pushoversounds gamelan": "Gamelan", "pushoversounds gamelan": "Gamelan",
"pushoversounds incoming": "Incoming", "pushoversounds incoming": "Incoming",
@ -554,7 +556,7 @@
"pushoversounds pianobar": "Piano Bar", "pushoversounds pianobar": "Piano Bar",
"pushoversounds siren": "Siren", "pushoversounds siren": "Siren",
"pushoversounds spacealarm": "Space Alarm", "pushoversounds spacealarm": "Space Alarm",
"pushoversounds tugboat": "Tug Boat", "pushoversounds tugboat": "汽笛",
"pushoversounds alien": "Alien Alarm长铃声", "pushoversounds alien": "Alien Alarm长铃声",
"pushoversounds climb": "Climb长铃声", "pushoversounds climb": "Climb长铃声",
"pushoversounds persistent": "Persistent长铃声", "pushoversounds persistent": "Persistent长铃声",
@ -666,7 +668,7 @@
"DateTime Range": "日期时间范围", "DateTime Range": "日期时间范围",
"Strategy": "策略", "Strategy": "策略",
"Free Mobile User Identifier": "Free Mobile 用户 ID", "Free Mobile User Identifier": "Free Mobile 用户 ID",
"Free Mobile API Key": "Free Mobile API Key", "Free Mobile API Key": "Free Mobile API 密钥",
"Enable TLS": "启用 TLS", "Enable TLS": "启用 TLS",
"Proto Service Name": "Proto 服务名称", "Proto Service Name": "Proto 服务名称",
"Proto Method": "Proto 方法", "Proto Method": "Proto 方法",
@ -765,7 +767,7 @@
"Open Badge Generator": "打开徽章生成器", "Open Badge Generator": "打开徽章生成器",
"Badge Style": "徽章样式", "Badge Style": "徽章样式",
"Badge Down Days": "故障状态所需剩余天数", "Badge Down Days": "故障状态所需剩余天数",
"Badge Warn Days": "告状态所需剩余天数", "Badge Warn Days": "徽章预警天数",
"Badge Warn Color": "警告状态下徽章颜色", "Badge Warn Color": "警告状态下徽章颜色",
"Badge Maintenance Color": "维护状态下徽章颜色", "Badge Maintenance Color": "维护状态下徽章颜色",
"Badge Down Color": "故障状态下徽章颜色", "Badge Down Color": "故障状态下徽章颜色",
@ -791,7 +793,7 @@
"nostrRecipientsHelp": "npub 格式,每行一个", "nostrRecipientsHelp": "npub 格式,每行一个",
"nostrRelaysHelp": "Relay 服务地址,每行一个", "nostrRelaysHelp": "Relay 服务地址,每行一个",
"nostrRelays": "Nostr relay 服务", "nostrRelays": "Nostr relay 服务",
"chromeExecutableDescription": "至 Docker 用户,如果 Chromium 尚未安装,则需要几分钟时间来安装并显示测试结果。这需要 1 GB 硬盘空间。", "chromeExecutableDescription": "致 Docker 用户:如果 Chromium 尚未安装,则需要几分钟时间来安装并显示测试结果。这需要 1 GB 硬盘空间。",
"chromeExecutableAutoDetect": "自动检测", "chromeExecutableAutoDetect": "自动检测",
"chromeExecutable": "Chrome/Chromium 可执行文件", "chromeExecutable": "Chrome/Chromium 可执行文件",
"Invert Keyword": "反转模式", "Invert Keyword": "反转模式",
@ -800,7 +802,7 @@
"webhookCustomBodyDesc": "为 webhook 设定一个自定义 HTTP 请求体。可在模板内使用 {msg}、{heartbeat}和{monitor} 变量。", "webhookCustomBodyDesc": "为 webhook 设定一个自定义 HTTP 请求体。可在模板内使用 {msg}、{heartbeat}和{monitor} 变量。",
"webhookBodyPresetOption": "预设 - {0}", "webhookBodyPresetOption": "预设 - {0}",
"Request Body": "请求体", "Request Body": "请求体",
"jsonQueryDescription": "对响应结果执行一次 JSON 查询,其返回值将会被转换为字符串,再与期望值进行比较。可访问 <a href='https://jsonata.org/'>jsonata.org</a> 阅读 JSON 查询语言的文档,或在<a href='https://try.jsonata.org/'>此处</a>测试查询语句。", "jsonQueryDescription": "对响应结果执行一次 JSON 查询,其返回值将会被转换为字符串,再与期望值进行比较。可访问 {0} 阅读 JSON 查询语言的文档,或在{1}测试查询语句。",
"Json Query": "JSON 查询", "Json Query": "JSON 查询",
"twilioApiKey": "API Key可选", "twilioApiKey": "API Key可选",
"Expected Value": "预期值", "Expected Value": "预期值",
@ -872,5 +874,51 @@
"2faAlreadyEnabled": "2FA 已经启用。", "2faAlreadyEnabled": "2FA 已经启用。",
"foundChromiumVersion": "已找到 Chromium/Chrome。版本{0}", "foundChromiumVersion": "已找到 Chromium/Chrome。版本{0}",
"successAuthChangePassword": "已成功更新密码。", "successAuthChangePassword": "已成功更新密码。",
"authIncorrectCreds": "错误的用户名或密码。" "authIncorrectCreds": "错误的用户名或密码。",
"Reset Token": "重置令牌",
"templateMsg": "通知的消息",
"templateHeartbeatJSON": "描述心跳信息的对象",
"templateLimitedToUpDownCertNotifications": "仅适用于“正常”、“故障”、“证书到期”类通知",
"templateMonitorJSON": "描述监控项信息的对象",
"emailCustomisableContent": "可自定义的内容",
"smtpLiquidIntroduction": "以下两个字段可通过 Liquid 模板语言进行模板化。使用说明请参阅 {0}。这些是可用变量:",
"leave blank for default subject": "留空以使用默认主题",
"emailCustomBody": "自定义正文",
"leave blank for default body": "留空以使用默认正文",
"emailTemplateMsg": "通知的消息",
"emailTemplateMonitorJSON": "描述监控项信息的对象",
"emailTemplateHeartbeatJSON": "描述心跳信息的对象",
"emailTemplateStatus": "状态",
"emailTemplateHostnameOrURL": "主机名或 URL",
"emailTemplateServiceName": "服务名称",
"liquidIntroduction": "可通过 Liquid 模板语言实现模板化。使用说明请参阅 {0}。这些是可用的变量:",
"templateLimitedToUpDownNotifications": "仅适用于“正常”、“故障”类通知",
"emailTemplateLimitedToUpDownNotification": "仅适用于“正常”、“故障”类心跳,否则为空",
"GrafanaOncallUrl": "Grafana Oncall 服务 URL",
"noDockerHostMsg": "不可用。请先设置一个 Docker 宿主。",
"DockerHostRequired": "请为此监控项设置一个 Docker 宿主。",
"Browser Screenshot": "浏览器截图",
"successKeyword": "“成功”关键词",
"successKeywordExplanation": "视为成功的MQTT关键词",
"Add a new expiry notification day": "添加一个新的天数条件",
"setup a new monitor group": "创建一个新的监控项组",
"Remote Browsers": "远程浏览器",
"Remote Browser": "远程浏览器",
"Add a Remote Browser": "添加一个远程浏览器",
"Remote Browser not found!": "未找到远程浏览器!",
"remoteBrowsersDescription": "远程浏览器可用以代替本地 Chromium 浏览器。您可使用类似于 browserless.io 的服务,或者自行运行一个类似服务",
"self-hosted container": "自托管容器",
"remoteBrowserToggle": "默认情况下 Chromium 运行于 Uptime Kuma 所在容器内。您可以通过切换此开关来使用远程浏览器。",
"useRemoteBrowser": "使用远程浏览器",
"deleteRemoteBrowserMessage": "您确定要删除此远程浏览器吗,这会影响所有监控项?",
"Remove the expiry notification": "移除该天数条件",
"openModalTo": "打开一个新窗口以{0}",
"Add a domain": "添加一个域名",
"Remove domain": "移除域名 {0}",
"ntfyPriorityHelptextAllExceptDown": "除了 {0} 类事件使用 {1} 优先级外,其他所有事件均使用该优先级",
"statusPageSpecialSlugDesc": "特殊路径 {0}:当访客未指定路径时将显示此路径对应的页面",
"Search monitored sites": "搜索监控中站点",
"settingUpDatabaseMSG": "正在配置数据库中。这需要一定的时间,请耐心等候。",
"ntfyPriorityHelptextAllEvents": "所有事件将使用最高优先级",
"What is a Remote Browser?": "什么是远程浏览器?"
} }

@ -77,8 +77,10 @@
"Update Password": "更新密碼", "Update Password": "更新密碼",
"Disable Auth": "取消登入認証", "Disable Auth": "取消登入認証",
"Enable Auth": "開啟登入認証", "Enable Auth": "開啟登入認証",
"disableauth.message1": "你是否確認<strong>取消登入認証</strong>", "disableauth.message1": "你是否確認{disableAuth}",
"disableauth.message2": "這個功能是設計給已有<strong>第三方認証</strong>的用家,例如 Cloudflare Access。", "disable authentication": "取消登入認証",
"disableauth.message2": "這個功能是設計給已有{intendThirdPartyAuth}的用家,例如 Cloudflare Access。",
"where you intend to implement third-party authentication": "第三方認証",
"Please use this option carefully!": "請小心使用。", "Please use this option carefully!": "請小心使用。",
"Logout": "登出", "Logout": "登出",
"notificationDescription": "新增後,你需要在監測器裡啟用。", "notificationDescription": "新增後,你需要在監測器裡啟用。",

@ -1,5 +1,5 @@
{ {
"languageName": "繁體中文 (灣)", "languageName": "繁體中文 (灣)",
"checkEverySecond": "每 {0} 秒檢查一次", "checkEverySecond": "每 {0} 秒檢查一次",
"retryCheckEverySecond": "每 {0} 秒重試一次", "retryCheckEverySecond": "每 {0} 秒重試一次",
"resendEveryXTimes": "每 {0} 次便重新傳送", "resendEveryXTimes": "每 {0} 次便重新傳送",
@ -45,7 +45,7 @@
"confirmEnableTwoFAMsg": "您確定要啟用雙步驟驗證嗎?", "confirmEnableTwoFAMsg": "您確定要啟用雙步驟驗證嗎?",
"confirmDisableTwoFAMsg": "您確定要停用雙步驟驗證嗎?", "confirmDisableTwoFAMsg": "您確定要停用雙步驟驗證嗎?",
"Settings": "設定", "Settings": "設定",
"Dashboard": "儀板", "Dashboard": "儀板",
"New Update": "新版本", "New Update": "新版本",
"Language": "語言", "Language": "語言",
"Appearance": "外觀", "Appearance": "外觀",
@ -119,12 +119,14 @@
"Update Password": "更新密碼", "Update Password": "更新密碼",
"Disable Auth": "停用驗證", "Disable Auth": "停用驗證",
"Enable Auth": "啟用驗證", "Enable Auth": "啟用驗證",
"disableauth.message1": ">你是否要<strong>取消登入驗證</strong>", "disableauth.message1": ">你是否要{disableAuth}",
"disableauth.message2": "此功能是設計給已有<strong>第三方認證</strong>的使用者,例如 Cloudflare Access。", "disable authentication": "取消登入驗證",
"disableauth.message2": "此功能是設計給已有{intendThirdPartyAuth}的使用者,例如 Cloudflare Access。",
"where you intend to implement third-party authentication": "第三方認證",
"Please use this option carefully!": "請謹慎使用!", "Please use this option carefully!": "請謹慎使用!",
"Logout": "登出", "Logout": "登出",
"Leave": "離開", "Leave": "離開",
"I understand, please disable": "我解了,請停用", "I understand, please disable": "我解了,請停用",
"Confirm": "確認", "Confirm": "確認",
"Yes": "是", "Yes": "是",
"No": "否", "No": "否",
@ -158,7 +160,7 @@
"Auto Get": "自動取得", "Auto Get": "自動取得",
"backupDescription": "您可以將所有監測器及通知備份成一個 JSON 檔案。", "backupDescription": "您可以將所有監測器及通知備份成一個 JSON 檔案。",
"backupDescription2": "提醒:不包含歷史紀錄及活動紀錄。", "backupDescription2": "提醒:不包含歷史紀錄及活動紀錄。",
"backupDescription3": "如通知權杖等機密資料也會一同匯出。請妥善存。", "backupDescription3": "如通知權杖等機密資料也會一同匯出。請妥善存。",
"alertNoFile": "請選擇要匯入的檔案。", "alertNoFile": "請選擇要匯入的檔案。",
"alertWrongFileType": "請選擇 JSON 檔案。", "alertWrongFileType": "請選擇 JSON 檔案。",
"Clear all statistics": "清除所有統計資料", "Clear all statistics": "清除所有統計資料",
@ -167,7 +169,7 @@
"Options": "選項", "Options": "選項",
"Keep both": "保留兩者", "Keep both": "保留兩者",
"Verify Token": "認證權杖", "Verify Token": "認證權杖",
"Setup 2FA": "設雙步驟驗證", "Setup 2FA": "設雙步驟驗證",
"Enable 2FA": "啟用雙步驟驗證", "Enable 2FA": "啟用雙步驟驗證",
"Disable 2FA": "停用雙步驟驗證", "Disable 2FA": "停用雙步驟驗證",
"2FA Settings": "雙步驟驗證設定", "2FA Settings": "雙步驟驗證設定",
@ -202,7 +204,7 @@
"Add Group": "新增群組", "Add Group": "新增群組",
"Add a monitor": "加入監測器", "Add a monitor": "加入監測器",
"Edit Status Page": "編輯狀態頁", "Edit Status Page": "編輯狀態頁",
"Go to Dashboard": "前往儀板", "Go to Dashboard": "前往儀板",
"Status Page": "狀態頁", "Status Page": "狀態頁",
"Status Pages": "狀態頁", "Status Pages": "狀態頁",
"defaultNotificationName": "我的 {notification} 通知 ({number})", "defaultNotificationName": "我的 {notification} 通知 ({number})",
@ -222,7 +224,7 @@
"webhookJsonDesc": "{0} 適合任何現代的 HTTP 伺服器,如 Express.js", "webhookJsonDesc": "{0} 適合任何現代的 HTTP 伺服器,如 Express.js",
"webhookFormDataDesc": "{multipart} 適合 PHP。 JSON 必須先經由 {decodeFunction} 剖析", "webhookFormDataDesc": "{multipart} 適合 PHP。 JSON 必須先經由 {decodeFunction} 剖析",
"webhookAdditionalHeadersTitle": "額外標頭", "webhookAdditionalHeadersTitle": "額外標頭",
"webhookAdditionalHeadersDesc": "設 webhook 請求的額外 Header。每一個 Header 應被定義為一對 JSON 鍵值對。", "webhookAdditionalHeadersDesc": "設 webhook 請求的額外 Header。每一個 Header 應被定義為一對 JSON 鍵值對。",
"smtp": "Email (SMTP)", "smtp": "Email (SMTP)",
"secureOptionNone": "無 / STARTTLS (25, 587)", "secureOptionNone": "無 / STARTTLS (25, 587)",
"secureOptionTLS": "TLS (465)", "secureOptionTLS": "TLS (465)",
@ -240,12 +242,12 @@
"Hello @everyone is...": "Hello {'@'}everyone is…", "Hello @everyone is...": "Hello {'@'}everyone is…",
"teams": "Microsoft Teams", "teams": "Microsoft Teams",
"Webhook URL": "Webhook 網址", "Webhook URL": "Webhook 網址",
"wayToGetTeamsURL": "您可以前往此頁面以解如何建立 Webhook 網址 {0}。", "wayToGetTeamsURL": "您可以前往此頁面以解如何建立 Webhook 網址 {0}。",
"signal": "Signal", "signal": "Signal",
"Number": "號碼", "Number": "號碼",
"Recipients": "收件者", "Recipients": "收件者",
"needSignalAPI": "您需要有 REST API 的 Signal 客戶端。", "needSignalAPI": "您需要有 REST API 的 Signal 客戶端。",
"wayToCheckSignalURL": "您可以前往下列網址以解如何設定:", "wayToCheckSignalURL": "您可以前往下列網址以解如何設定:",
"signalImportant": "注意: 不得混合收件者的群組和號碼!", "signalImportant": "注意: 不得混合收件者的群組和號碼!",
"gotify": "Gotify", "gotify": "Gotify",
"Application Token": "應用程式權杖", "Application Token": "應用程式權杖",
@ -298,8 +300,8 @@
"appriseNotInstalled": "尚未安裝 Apprise。{0}", "appriseNotInstalled": "尚未安裝 Apprise。{0}",
"Access Token": "存取權杖", "Access Token": "存取權杖",
"Channel access token": "頻道存取權杖", "Channel access token": "頻道存取權杖",
"Line Developers Console": "Line 開發者控制", "Line Developers Console": "Line 開發者控制",
"lineDevConsoleTo": "Line 開發者控制 - {0}", "lineDevConsoleTo": "Line 開發者控制 - {0}",
"Basic Settings": "基本設定", "Basic Settings": "基本設定",
"User ID": "使用者 ID", "User ID": "使用者 ID",
"Messaging API": "Messaging API", "Messaging API": "Messaging API",
@ -444,13 +446,13 @@
"SecretKey": "SecretKey", "SecretKey": "SecretKey",
"For safety, must use secret key": "為了安全起見,必須使用秘密金鑰", "For safety, must use secret key": "為了安全起見,必須使用秘密金鑰",
"Device Token": "裝置權杖", "Device Token": "裝置權杖",
"Platform": "平", "Platform": "平",
"Huawei": "華為", "Huawei": "華為",
"High": "高", "High": "高",
"Retry": "重試", "Retry": "重試",
"Topic": "Topic", "Topic": "Topic",
"WeCom Bot Key": "WeCom 機器人金鑰", "WeCom Bot Key": "WeCom 機器人金鑰",
"Setup Proxy": "設 Proxy", "Setup Proxy": "設 Proxy",
"Proxy Protocol": "Proxy 通訊協定", "Proxy Protocol": "Proxy 通訊協定",
"Proxy Server": "Proxy 伺服器", "Proxy Server": "Proxy 伺服器",
"Proxy server has authentication": "Proxy 伺服器啟用了驗證功能", "Proxy server has authentication": "Proxy 伺服器啟用了驗證功能",
@ -503,7 +505,7 @@
"onebotGroupMessage": "群組", "onebotGroupMessage": "群組",
"onebotPrivateMessage": "私人", "onebotPrivateMessage": "私人",
"onebotUserOrGroupId": "群組/使用者 ID", "onebotUserOrGroupId": "群組/使用者 ID",
"onebotSafetyTips": "為了安全起見,必須設存取權杖", "onebotSafetyTips": "為了安全起見,必須設存取權杖",
"PushDeer Key": "PushDeer 金鑰", "PushDeer Key": "PushDeer 金鑰",
"Footer Text": "頁尾文字", "Footer Text": "頁尾文字",
"Show Powered By": "顯示技術支援文字", "Show Powered By": "顯示技術支援文字",
@ -525,8 +527,8 @@
"Octopush API Version": "Octopush API 版本", "Octopush API Version": "Octopush API 版本",
"Legacy Octopush-DM": "舊版 Octopush-DM", "Legacy Octopush-DM": "舊版 Octopush-DM",
"endpoint": "端", "endpoint": "端",
"octopushAPIKey": "在控制的 HTTP API 憑證取得的 \"API 金鑰\"", "octopushAPIKey": "在控制的 HTTP API 憑證取得的 \"API 金鑰\"",
"octopushLogin": "在控制的 HTTP API 憑證取得的 \"Login\"", "octopushLogin": "在控制的 HTTP API 憑證取得的 \"Login\"",
"promosmsLogin": "API 登入名稱", "promosmsLogin": "API 登入名稱",
"promosmsPassword": "API 密碼", "promosmsPassword": "API 密碼",
"pushoversounds pushover": "Pushover (預設)", "pushoversounds pushover": "Pushover (預設)",
@ -548,7 +550,7 @@
"pushoversounds alien": "外星鬧鐘 (長)", "pushoversounds alien": "外星鬧鐘 (長)",
"pushoversounds climb": "爬升 (長)", "pushoversounds climb": "爬升 (長)",
"pushoversounds persistent": "持續 (長)", "pushoversounds persistent": "持續 (長)",
"pushoversounds echo": "Pushover 音 (長)", "pushoversounds echo": "Pushover 音 (長)",
"pushoversounds updown": "上下 (長)", "pushoversounds updown": "上下 (長)",
"pushoversounds vibrate": "僅震動", "pushoversounds vibrate": "僅震動",
"pushoversounds none": "無 (靜音)", "pushoversounds none": "無 (靜音)",
@ -590,7 +592,7 @@
"Examples": "範例", "Examples": "範例",
"Home Assistant URL": "Home Assistant 網址", "Home Assistant URL": "Home Assistant 網址",
"Long-Lived Access Token": "長期有效存取權杖", "Long-Lived Access Token": "長期有效存取權杖",
"Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "若要建立長期有效存取權杖,請點擊您的個人檔案名稱 (左下角),捲動至最下方,然後點擊建立權杖。 ", "Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "若要建立長期有效存取權杖,請點選您的個人檔案名稱 (左下角),捲動至最下方,然後點選建立權杖。 ",
"Notification Service": "通知服務", "Notification Service": "通知服務",
"default: notify all devices": "預設:通知所有服務", "default: notify all devices": "預設:通知所有服務",
"A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "您可以在 Home Assistant 中查看通知服務的列表,在\"開發者工具 > 服務\"下搜尋\"通知\"來找到您的裝置/手機的名稱。", "A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "您可以在 Home Assistant 中查看通知服務的列表,在\"開發者工具 > 服務\"下搜尋\"通知\"來找到您的裝置/手機的名稱。",
@ -626,7 +628,7 @@
"weekdayShortFri": "五", "weekdayShortFri": "五",
"weekdayShortSat": "六", "weekdayShortSat": "六",
"weekdayShortSun": "日", "weekdayShortSun": "日",
"dayOfWeek": "每特定一天", "dayOfWeek": "每特定一天",
"dayOfMonth": "每月特定一天", "dayOfMonth": "每月特定一天",
"lastDay": "最後一天", "lastDay": "最後一天",
"lastDay1": "每月的最後一天", "lastDay1": "每月的最後一天",
@ -644,7 +646,7 @@
"Server Timezone": "伺服器時區", "Server Timezone": "伺服器時區",
"statusPageMaintenanceEndDate": "結束", "statusPageMaintenanceEndDate": "結束",
"IconUrl": "圖示網址", "IconUrl": "圖示網址",
"Enable DNS Cache": "(已棄用)為 HTTP(s) 監控項啟用 DNS 緩存", "Enable DNS Cache": "(已棄用)為 HTTP(s) 監控項啟用 DNS 快取",
"Enable": "啟用", "Enable": "啟用",
"Disable": "停用", "Disable": "停用",
"dnsCacheDescription": "在某些 IPv6 環境可能會無法運作,如果您遇到任何問題,請停用。", "dnsCacheDescription": "在某些 IPv6 環境可能會無法運作,如果您遇到任何問題,請停用。",
@ -667,41 +669,41 @@
"General Monitor Type": "一般監測器類型", "General Monitor Type": "一般監測器類型",
"Passive Monitor Type": "被動監測器類型", "Passive Monitor Type": "被動監測器類型",
"Specific Monitor Type": "指定監測器類型", "Specific Monitor Type": "指定監測器類型",
"plugin": "插件 | 插件", "plugin": "外掛程式 | 外掛程式",
"install": "安裝", "install": "安裝",
"Game": "遊戲", "Game": "遊戲",
"Help": "幫助", "Help": "幫助",
"Monitor": "監測器 | 監測器", "Monitor": "監測器 | 監測器",
"Custom": "自訂", "Custom": "自訂",
"sameAsServerTimezone": "使用器時區", "sameAsServerTimezone": "使用服器時區",
"cronExpression": "Cron 表達式", "cronExpression": "Cron 表達式",
"telegramSendSilently": "悄悄的發送", "telegramSendSilently": "悄悄的發送",
"telegramSendSilentlyDescription": "悄悄的發送訊息。使用者會收到通知,但是是無聲的。", "telegramSendSilentlyDescription": "悄悄的發送訊息。使用者會收到通知,但是是無聲的。",
"pagertreeDoNothing": "什麼都不做", "pagertreeDoNothing": "什麼都不做",
"Add New Tag": "添加新標籤", "Add New Tag": "標籤",
"telegramMessageThreadIDDescription": "(可選) Telegram 話題描述", "telegramMessageThreadIDDescription": "(可選) Telegram 話題描述",
"telegramMessageThreadID": "(選填) Telegram 話題 ID", "telegramMessageThreadID": "(選填) Telegram 話題 ID",
"startDateTime": "開始日期/時間", "startDateTime": "開始日期/時間",
"endDateTime": "結束日期/時間", "endDateTime": "結束日期/時間",
"cronSchedule": "計劃: ", "cronSchedule": "計劃: ",
"invalidCronExpression": "無效的 Cron 表達式:{0}", "invalidCronExpression": "無效的 Cron 表達式:{0}",
"telegramProtectContent": "阻止轉發/存", "telegramProtectContent": "阻止轉發/存",
"telegramProtectContentDescription": "如果啟用Telegram 中的機器人訊息將受到保護,不會被轉發和存。", "telegramProtectContentDescription": "如果啟用Telegram 中的機器人訊息將受到保護,不會被轉發和存。",
"installing": "安裝中", "installing": "安裝中",
"uninstall": "卸載", "uninstall": "移除",
"loadingError": "無法取數據, 請重試。", "loadingError": "無法數據, 請重試。",
"markdownSupported": "支援 Markdown 語法", "markdownSupported": "支援 Markdown 語法",
"Packet Size": "數據包大小", "Packet Size": "數據包大小",
"statusPageRefreshIn": "將於 {0} 後刷新", "statusPageRefreshIn": "將於 {0} 後重新整理",
"confirmUninstallPlugin": "是否要卸載這個插件?", "confirmUninstallPlugin": "是否要移除這個外掛程式?",
"Key Added": "已建金鑰", "Key Added": "已金鑰",
"Clone Monitor": "複製監控項目", "Clone Monitor": "複製監控項目",
"Clone": "複製", "Clone": "複製",
"cloneOf": "從 {0} 複製", "cloneOf": "從 {0} 複製",
"uninstalling": "移除中", "uninstalling": "移除中",
"notificationRegional": "地區限定", "notificationRegional": "地區限定",
"wayToGetZohoCliqURL": "您可以前往此頁面以解如何建立 webhook 網址 {0}。", "wayToGetZohoCliqURL": "您可以前往此頁面以解如何建立 webhook 網址 {0}。",
"wayToGetKookBotToken": "到 {0} 建應用程式並取得 bot token", "wayToGetKookBotToken": "到 {0} 應用程式並取得 bot token",
"dataRetentionTimeError": "保留期限必須為 0 或正數", "dataRetentionTimeError": "保留期限必須為 0 或正數",
"infiniteRetention": "設定為 0 以作無限期保留。", "infiniteRetention": "設定為 0 以作無限期保留。",
"confirmDeleteTagMsg": "你確定你要刪除此標籤?相關的監測器不會被刪除。", "confirmDeleteTagMsg": "你確定你要刪除此標籤?相關的監測器不會被刪除。",
@ -755,8 +757,8 @@
"filterActive": "啟用", "filterActive": "啟用",
"filterActivePaused": "暫停", "filterActivePaused": "暫停",
"Select": "選擇", "Select": "選擇",
"enableNSCD": "啟用 NSCD名稱服務緩存)以緩存所有 DNS 請求", "enableNSCD": "啟用 NSCD名稱服務快取)以快取所有 DNS 請求",
"Server URL should not contain the nfty topic": "器地址不應包含 ntfy主題", "Server URL should not contain the nfty topic": "服器地址不應包含 ntfy主題",
"Invert Keyword": "反轉模式", "Invert Keyword": "反轉模式",
"Request Timeout": "請求超時", "Request Timeout": "請求超時",
"timeoutAfter": "{0} 秒後超時", "timeoutAfter": "{0} 秒後超時",
@ -770,19 +772,132 @@
"Check/Uncheck": "選中/取消選中", "Check/Uncheck": "選中/取消選中",
"tailscalePingWarning": "如需使用 Tailscale Ping 客戶端,您需要以非 docker 方式安裝 Uptime Kuma並同時安裝 Tailscale 客戶端。", "tailscalePingWarning": "如需使用 Tailscale Ping 客戶端,您需要以非 docker 方式安裝 Uptime Kuma並同時安裝 Tailscale 客戶端。",
"invertKeywordDescription": "出現關鍵詞將令檢測結果設為失敗,而非成功。", "invertKeywordDescription": "出現關鍵詞將令檢測結果設為失敗,而非成功。",
"jsonQueryDescription": "對響應結果執行一次 JSON 查詢,其返回值將會被轉換為字符串,再與期望值進行比較。可訪問<a href='https://jsonata.org/'>jsonata.org</a> 閱讀JSON 查詢語言的文檔,或在<a href='https://try.jsonata.org/'>此處</a>測試查詢語句。", "jsonQueryDescription": "對回應結果執行一次 JSON 查詢,其返回值將會被轉換為字串,再與期望值進行比較。可造訪{0}閱讀JSON 查詢語言的文件,或在{1}測試查詢語句。",
"wayToGetKookGuildID": "在 Kook 設置中打開“開發者模式”,然後右鍵點擊頻道可獲取其 ID", "wayToGetKookGuildID": "在 Kook 設定中打開“開發者模式”,然後右鍵點選頻道可取得其 ID",
"Notify Channel": "通知該頻道", "Notify Channel": "通知該頻道",
"aboutNotifyChannel": "勾選“通知該頻道”,會令該頻道內所有成員都收到一條桌面端或移動端通知,無論其狀態是在線或離開。", "aboutNotifyChannel": "勾選“通知該頻道”,會令該頻道內所有成員都收到一條桌面端或移動端通知,無論其狀態是在線或離開。",
"pagertreeIntegrationUrl": "集成 URL 地址", "pagertreeIntegrationUrl": "整合 URL 地址",
"pagertreeUrgency": "緊急程度", "pagertreeUrgency": "緊急程度",
"Expected Value": "預期值", "Expected Value": "預期值",
"Json Query": "JSON 查詢", "Json Query": "JSON 查詢",
"setupDatabaseChooseDatabase": "您想使用什麼資料庫?", "setupDatabaseChooseDatabase": "您想使用什麼資料庫?",
"setupDatabaseEmbeddedMariaDB": "您不需要設置任何東西。 此 docker 映像檔已自動為您嵌入並配置了 MariaDB。 Uptime Kuma 將通過 unix 套接字連接到該資料庫。", "setupDatabaseEmbeddedMariaDB": "您不需要做任何設定。此 Docker 映像檔已內建並設定了 MariaDB。Uptime Kuma 將透過 unix socket 連線到該資料庫。",
"setupDatabaseMariaDB": "連接到外部 MariaDB 資料庫。 需要設置資料庫連接資訊。", "setupDatabaseMariaDB": "連線到外部 MariaDB 資料庫。 需要設定資料庫連線資訊。",
"dbName": "資料庫名稱", "dbName": "資料庫名稱",
"Show Clickable Link": "顯示可點連結", "Show Clickable Link": "顯示可點連結",
"pagertreeSilent": "靜音", "pagertreeSilent": "靜音",
"twilioApiKey": "API 金鑰 (選用)" "twilioApiKey": "API 金鑰 (選用)",
"Badge Preview": "徽章預覽",
"pushViewCode": "如何使用 Push 監控?(檢視程式碼)",
"pushOthers": "其他",
"programmingLanguages": "程式語言",
"twilioToNumber": "目標號碼",
"Badge Duration (in hours)": "徽章持續時間(小時)",
"Badge Prefix": "徽章值字首",
"Badge Suffix": "徽章值字尾",
"Badge Label Color": "徽章標籤顏色",
"Badge Color": "徽章顏色",
"Badge Label Prefix": "徽章標籤字首",
"Badge Label Suffix": "徽章標籤字尾",
"Badge Up Color": "徽章上線顏色",
"Badge Down Color": "徽章離線顏色",
"Badge Pending Color": "徽章待定顏色",
"Badge Maintenance Color": "徽章維護顏色",
"Badge Warn Color": "徽章警告顏色",
"Badge Warn Days": "徽章警告天數",
"Badge Down Days": "徽章離線天數",
"Badge Style": "徽章風格",
"Badge value (For Testing only.)": "徽章值(僅供測試。)",
"Badge URL": "徽章網址",
"Group": "群組",
"Monitor Group": "監控群組",
"monitorToastMessagesLabel": "監控 Toast 通知",
"monitorToastMessagesDescription": "監控的 Toast 通知會在指定的秒數後消失。設定為 -1 以停用逾時。設定為 0 以停用 Toast 通知。",
"toastErrorTimeout": "錯誤通知的逾時",
"toastSuccessTimeout": "成功通知的逾時",
"Kafka Brokers": "Kafka Brokers",
"Enter the list of brokers": "輸入 Broker 清單",
"Press Enter to add broker": "按 Enter 以新增 Broker",
"Kafka Topic Name": "Kafka 主題名稱",
"Kafka Producer Message": "Kafka Producer 訊息",
"Enable Kafka SSL": "啟用 Kafka SSL",
"Enable Kafka Producer Auto Topic Creation": "啟用 Kafka Producer 自動主題建立",
"Kafka SASL Options": "Kafka SASL 選項",
"Mechanism": "機制",
"gamedigGuessPortDescription": "Valve 伺服器查詢協定使用的連接埠可能與客戶端連接埠不同。如果監控無法連線到您的伺服器,請嘗試此選項。",
"Saved.": "已儲存。",
"authInvalidToken": "無效權杖。",
"authIncorrectCreds": "使用者名稱或密碼錯誤。",
"2faAlreadyEnabled": "已啟用 2FA。",
"2faDisabled": "已停用 2FA。",
"successAdded": "新增成功。",
"successResumed": "已成功恢復。",
"successPaused": "已成功暫停。",
"successDeleted": "刪除成功。",
"successEdited": "編輯成功。",
"successAuthChangePassword": "密碼已成功更新。",
"authUserInactiveOrDeleted": "使用者已停用或已刪除。",
"2faEnabled": "已啟用 2FA。",
"liquidIntroduction": "模板功能是透過 Liquid 模板語言實現的。請參考 {0} 以取得使用說明。以下是可用的變數:",
"templateMsg": "通知訊息",
"templateHeartbeatJSON": "描述心跳的物件",
"templateMonitorJSON": "描述監控的物件",
"templateLimitedToUpDownCertNotifications": "僅適用於 UP/DOWN/憑證到期通知",
"templateLimitedToUpDownNotifications": "僅適用於 UP/DOWN 通知",
"Open Badge Generator": "開啟徽章產生器",
"Badge Generator": "{0} 的徽章產生器",
"Badge Type": "徽章類型",
"GrafanaOncallUrl": "Grafana Oncall 網址",
"emailCustomisableContent": "可自訂內容",
"smtpLiquidIntroduction": "以下兩個欄位可以透過 Liquid 模板語言進行模板化。請參考 {0} 以取得使用說明。以下是可用的變數:",
"leave blank for default subject": "留空以使用預設主旨",
"emailCustomBody": "自訂內文",
"leave blank for default body": "留空以使用預設內文",
"emailTemplateServiceName": "服務名稱",
"emailTemplateHostnameOrURL": "主機名稱或網址",
"emailTemplateStatus": "狀態",
"emailTemplateMonitorJSON": "描述監控的物件",
"emailTemplateHeartbeatJSON": "描述心跳的物件",
"emailTemplateMsg": "通知訊息",
"emailTemplateLimitedToUpDownNotification": "僅適用於 UP/DOWN 心跳,否則為空",
"successBackupRestored": "備份已成功還原。",
"successDisabled": "已成功停用。",
"successEnabled": "已成功啟用。",
"tagNotFound": "找不到標籤。",
"foundChromiumVersion": "找到 Chromium/Chrome。版本{0}",
"setupDatabaseSQLite": "一個簡單的資料庫檔案,適用於小規模部署。在 v2.0.0 之前Uptime Kuma 預設使用 SQLite 作為資料庫。",
"Pick a SASL Mechanism...": "選擇一個 SASL 機制...",
"Authorization Identity": "授權身份",
"AccessKey Id": "存取金鑰 ID",
"Secret AccessKey": "秘密存取金鑰",
"Session Token": "工作階段權杖",
"noGroupMonitorMsg": "無法使用。請先建立群組監控。",
"Close": "關閉",
"Request Body": "請求主體",
"noOrBadCertificate": "無/錯誤憑證",
"Reset Token": "重設權杖",
"Bark API Version": "Bark API 版本",
"noDockerHostMsg": "無法使用。請先設定 Docker 主機。",
"DockerHostRequired": "請為此監控設定 Docker 主機。",
"Show Clickable Link Description": "如果勾選,所有能存取此狀態頁面的人都能存取監控網址。",
"Badge Label": "徽章標籤",
"wayToGetFlashDutyKey": "您可以前往「頻道 -> (選擇一個頻道) -> 整合 -> 新增一個新的整合」頁面,新增一個「自訂事件」以取得推送地址,並複製地址中的整合金鑰。欲知更多資訊,請訪問",
"FlashDuty Severity": "嚴重性",
"nostrRelays": "Nostr 中繼",
"nostrRelaysHelp": "每行一個中繼網址",
"nostrSender": "傳送者私鑰 (nsec)",
"nostrRecipients": "接收者公鑰 (npub)",
"nostrRecipientsHelp": "npub 格式,每行一個",
"showCertificateExpiry": "顯示憑證到期",
"wayToGetPagerTreeIntegrationURL": "在 PagerTree 中建立 Uptime Kuma 整合後,複製端點。檢視完整資訊 {0}",
"twilioFromNumber": "來源號碼",
"Browser Screenshot": "瀏覽器畫面截圖",
"Remote Browsers": "遠端瀏覽器",
"Remote Browser": "遠端瀏覽器",
"Add a Remote Browser": "新增遠端瀏覽器",
"Remote Browser not found!": "找不到遠端瀏覽器!",
"self-hosted container": "自架容器",
"useRemoteBrowser": "使用遠端瀏覽器",
"Add a domain": "新增網域",
"Remove domain": "移除網域 '{0}'"
} }

@ -99,21 +99,20 @@ export default {
this.socket.initedSocketIO = true; this.socket.initedSocketIO = true;
let protocol = (location.protocol === "https:") ? "wss://" : "ws://"; let protocol = location.protocol + "//";
let wsHost; let url;
const env = process.env.NODE_ENV || "production"; const env = process.env.NODE_ENV || "production";
if (env === "development" && isDevContainer()) { if (env === "development" && isDevContainer()) {
wsHost = protocol + getDevContainerServerHostname(); url = protocol + getDevContainerServerHostname();
} else if (env === "development" || localStorage.dev === "dev") { } else if (env === "development" || localStorage.dev === "dev") {
wsHost = protocol + location.hostname + ":3001"; url = protocol + location.hostname + ":3001";
} else { } else {
wsHost = protocol + location.host; // Connect to the current url
url = undefined;
} }
socket = io(wsHost, { socket = io(url);
transports: [ "websocket" ],
});
socket.on("info", (info) => { socket.on("info", (info) => {
this.info = info; this.info = info;

@ -2,11 +2,19 @@
<transition name="slide-fade" appear> <transition name="slide-fade" appear>
<div v-if="monitor"> <div v-if="monitor">
<router-link v-if="group !== ''" :to="monitorURL(monitor.parent)"> {{ group }}</router-link> <router-link v-if="group !== ''" :to="monitorURL(monitor.parent)"> {{ group }}</router-link>
<h1> {{ monitor.name }}</h1> <h1>
{{ monitor.name }}
<div class="monitor-id">
<div class="hash">#</div>
<div>{{ monitor.id }}</div>
</div>
</h1>
<p v-if="monitor.description">{{ monitor.description }}</p> <p v-if="monitor.description">{{ monitor.description }}</p>
<div class="d-flex">
<div class="tags"> <div class="tags">
<Tag v-for="tag in monitor.tags" :key="tag.id" :item="tag" :size="'sm'" /> <Tag v-for="tag in monitor.tags" :key="tag.id" :item="tag" :size="'sm'" />
</div> </div>
</div>
<p class="url"> <p class="url">
<a v-if="monitor.type === 'http' || monitor.type === 'keyword' || monitor.type === 'json-query' || monitor.type === 'mp-health' " :href="monitor.url" target="_blank" rel="noopener noreferrer">{{ filterPassword(monitor.url) }}</a> <a v-if="monitor.type === 'http' || monitor.type === 'keyword' || monitor.type === 'json-query' || monitor.type === 'mp-health' " :href="monitor.url" target="_blank" rel="noopener noreferrer">{{ filterPassword(monitor.url) }}</a>
<span v-if="monitor.type === 'port'">TCP Port {{ monitor.hostname }}:{{ monitor.port }}</span> <span v-if="monitor.type === 'port'">TCP Port {{ monitor.hostname }}:{{ monitor.port }}</span>
@ -58,7 +66,7 @@
<router-link :to=" '/clone/' + monitor.id " class="btn btn-normal"> <router-link :to=" '/clone/' + monitor.id " class="btn btn-normal">
<font-awesome-icon icon="clone" /> {{ $t("Clone") }} <font-awesome-icon icon="clone" /> {{ $t("Clone") }}
</router-link> </router-link>
<button class="btn btn-danger" @click="deleteDialog"> <button class="btn btn-normal text-danger" @click="deleteDialog">
<font-awesome-icon icon="trash" /> {{ $t("Delete") }} <font-awesome-icon icon="trash" /> {{ $t("Delete") }}
</button> </button>
</div> </div>
@ -717,7 +725,7 @@ export default {
} }
.word { .word {
color: #aaa; color: $secondary-text;
font-size: 14px; font-size: 14px;
} }
@ -731,7 +739,7 @@ table {
.stats p { .stats p {
font-size: 13px; font-size: 13px;
color: #aaa; color: $secondary-text;
} }
.stats { .stats {
@ -802,4 +810,20 @@ table {
margin-left: 0 !important; margin-left: 0 !important;
} }
.monitor-id {
display: inline-flex;
font-size: 0.7em;
margin-left: 0.3em;
color: $secondary-text;
flex-direction: row;
flex-wrap: nowrap;
.hash {
user-select: none;
}
.dark & {
opacity: 0.7;
}
}
</style> </style>

@ -173,9 +173,10 @@
<label for="jsonPath" class="form-label">{{ $t("Json Query") }}</label> <label for="jsonPath" class="form-label">{{ $t("Json Query") }}</label>
<input id="jsonPath" v-model="monitor.jsonPath" type="text" class="form-control" required> <input id="jsonPath" v-model="monitor.jsonPath" type="text" class="form-control" required>
<!-- eslint-disable-next-line vue/no-v-html --> <i18n-t tag="div" class="form-text" keypath="jsonQueryDescription">
<div class="form-text" v-html="$t('jsonQueryDescription')"> <a href="https://jsonata.org/">jsonata.org</a>
</div> <a href="https://try.jsonata.org/">{{ $t('here') }}</a>
</i18n-t>
<br> <br>
<label for="expectedValue" class="form-label">{{ $t("Expected Value") }}</label> <label for="expectedValue" class="form-label">{{ $t("Expected Value") }}</label>

@ -53,7 +53,7 @@
<font-awesome-icon icon="edit" /> {{ $t("Edit") }} <font-awesome-icon icon="edit" /> {{ $t("Edit") }}
</router-link> </router-link>
<button class="btn btn-danger" @click="deleteDialog(item.id)"> <button class="btn btn-normal text-danger" @click="deleteDialog(item.id)">
<font-awesome-icon icon="trash" /> {{ $t("Delete") }} <font-awesome-icon icon="trash" /> {{ $t("Delete") }}
</button> </button>
</div> </div>
@ -294,8 +294,15 @@ export default {
gap: 8px; gap: 8px;
flex-direction: row-reverse; flex-direction: row-reverse;
@media (max-width: 550px) {
& {
width: 100%;
}
.btn-group { .btn-group {
width: 310px; margin: 1em 1em 0 1em;
width: 100%;
}
} }
} }
} }

@ -245,7 +245,7 @@ export default {
} }
footer { footer {
color: #aaa; color: $secondary-text;
font-size: 13px; font-size: 13px;
margin-top: 20px; margin-top: 20px;
padding-bottom: 30px; padding-bottom: 30px;

@ -78,22 +78,27 @@ test("Test getMinutelyKey", async (t) => {
test("Test getDailyKey", async (t) => { test("Test getDailyKey", async (t) => {
let c2 = new UptimeCalculator(); let c2 = new UptimeCalculator();
let dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 20:46:00").unix()); let dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 20:46:00"));
assert.strictEqual(dailyKey, dayjs.utc("2023-08-12").unix()); assert.strictEqual(dailyKey, dayjs.utc("2023-08-12").unix());
c2 = new UptimeCalculator(); c2 = new UptimeCalculator();
dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 23:45:30").unix()); dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 23:45:30"));
assert.strictEqual(dailyKey, dayjs.utc("2023-08-12").unix()); assert.strictEqual(dailyKey, dayjs.utc("2023-08-12").unix());
// Edge case 1 // Edge case 1
c2 = new UptimeCalculator(); c2 = new UptimeCalculator();
dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 23:59:59").unix()); dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 23:59:59"));
assert.strictEqual(dailyKey, dayjs.utc("2023-08-12").unix()); assert.strictEqual(dailyKey, dayjs.utc("2023-08-12").unix());
// Edge case 2 // Edge case 2
c2 = new UptimeCalculator(); c2 = new UptimeCalculator();
dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 00:00:00").unix()); dailyKey = c2.getDailyKey(dayjs.utc("2023-08-12 00:00:00"));
assert.strictEqual(dailyKey, dayjs.utc("2023-08-12").unix()); assert.strictEqual(dailyKey, dayjs.utc("2023-08-12").unix());
// Test timezone
c2 = new UptimeCalculator();
dailyKey = c2.getDailyKey(dayjs("Sat Dec 23 2023 05:38:39 GMT+0800 (Hong Kong Standard Time)"));
assert.strictEqual(dailyKey, dayjs.utc("2023-12-22").unix());
}); });
test("Test lastDailyUptimeData", async (t) => { test("Test lastDailyUptimeData", async (t) => {

@ -1,323 +0,0 @@
// ⚠️⚠️⚠️ Deprecated: Jest is not recommended for testing backend code anymore, please create a new test file in ./test/backend-test which are native Node.js test files.
const { genSecret, DOWN, log} = require("../src/util");
const utilServer = require("../server/util-server");
const Discord = require("../server/notification-providers/discord");
const axios = require("axios");
const { UptimeKumaServer } = require("../server/uptime-kuma-server");
const Database = require("../server/database");
const {Settings} = require("../server/settings");
const fs = require("fs");
const dayjs = require("dayjs");
dayjs.extend(require("dayjs/plugin/utc"));
dayjs.extend(require("dayjs/plugin/timezone"));
jest.mock("axios");
describe("Test parseCertificateInfo", () => {
it("should handle undefined", async () => {
const parseCertificateInfo = utilServer.__getPrivateFunction("parseCertificateInfo");
const info = parseCertificateInfo(undefined);
expect(info).toEqual(undefined);
}, 5000);
it("should handle normal cert chain", async () => {
const parseCertificateInfo = utilServer.__getPrivateFunction("parseCertificateInfo");
const chain1 = {
fingerprint: "CF:2C:F3:6A:FE:6B:10:EC:44:77:C8:95:BB:96:2E:06:1F:0E:15:DA",
valid_from: "Oct 22 12:00:00 2013 GMT",
valid_to: "Oct 22 12:00:00 2028 GMT",
subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net",
};
const chain2 = {
fingerprint: "A0:31:C4:67:82:E6:E6:C6:62:C2:C8:7C:76:DA:9A:A6:2C:CA:BD:8E",
valid_from: "Oct 22 12:00:00 2013 GMT",
valid_to: "Oct 22 12:00:00 2028 GMT",
subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net",
};
const chain3 = {
fingerprint: "5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25",
valid_from: "Oct 22 12:00:00 2013 GMT",
valid_to: "Oct 22 12:00:00 2028 GMT",
subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net",
};
chain1.issuerCertificate = chain2;
chain2.issuerCertificate = chain3;
chain3.issuerCertificate = chain3;
const info = parseCertificateInfo(chain1);
expect(chain1).toEqual(info);
}, 5000);
it("should handle cert chain with strange circle", async () => {
const parseCertificateInfo = utilServer.__getPrivateFunction("parseCertificateInfo");
const chain1 = {
fingerprint: "CF:2C:F3:6A:FE:6B:10:EC:44:77:C8:95:BB:96:2E:06:1F:0E:15:DA",
valid_from: "Oct 22 12:00:00 2013 GMT",
valid_to: "Oct 22 12:00:00 2028 GMT",
subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net",
};
const chain2 = {
fingerprint: "A0:31:C4:67:82:E6:E6:C6:62:C2:C8:7C:76:DA:9A:A6:2C:CA:BD:8E",
valid_from: "Oct 22 12:00:00 2013 GMT",
valid_to: "Oct 22 12:00:00 2028 GMT",
subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net",
};
const chain3 = {
fingerprint: "5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25",
valid_from: "Oct 22 12:00:00 2013 GMT",
valid_to: "Oct 22 12:00:00 2028 GMT",
subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net",
};
const chain4 = {
fingerprint: "haha",
valid_from: "Oct 22 12:00:00 2013 GMT",
valid_to: "Oct 22 12:00:00 2028 GMT",
subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net",
};
chain1.issuerCertificate = chain2;
chain2.issuerCertificate = chain3;
chain3.issuerCertificate = chain4;
chain4.issuerCertificate = chain2;
const info = parseCertificateInfo(chain1);
expect(chain1).toEqual(info);
}, 5000);
it("should handle cert chain with last undefined (should be happen in real, but just in case)", async () => {
const parseCertificateInfo = utilServer.__getPrivateFunction("parseCertificateInfo");
const chain1 = {
fingerprint: "CF:2C:F3:6A:FE:6B:10:EC:44:77:C8:95:BB:96:2E:06:1F:0E:15:DA",
valid_from: "Oct 22 12:00:00 2013 GMT",
valid_to: "Oct 22 12:00:00 2028 GMT",
subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net",
};
const chain2 = {
fingerprint: "A0:31:C4:67:82:E6:E6:C6:62:C2:C8:7C:76:DA:9A:A6:2C:CA:BD:8E",
valid_from: "Oct 22 12:00:00 2013 GMT",
valid_to: "Oct 22 12:00:00 2028 GMT",
subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net",
};
const chain3 = {
fingerprint: "5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25",
valid_from: "Oct 22 12:00:00 2013 GMT",
valid_to: "Oct 22 12:00:00 2028 GMT",
subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net",
};
const chain4 = {
fingerprint: "haha",
valid_from: "Oct 22 12:00:00 2013 GMT",
valid_to: "Oct 22 12:00:00 2028 GMT",
subjectaltname: "DNS:www.example.org, DNS:example.com, DNS:example.edu, DNS:example.net, DNS:example.org, DNS:www.example.com, DNS:www.example.edu, DNS:www.example.net",
};
chain1.issuerCertificate = chain2;
chain2.issuerCertificate = chain3;
chain3.issuerCertificate = chain4;
chain4.issuerCertificate = undefined;
const info = parseCertificateInfo(chain1);
expect(chain1).toEqual(info);
}, 5000);
});
describe("Test genSecret", () => {
beforeAll(() => {
});
it("should be correct length", () => {
let secret = genSecret(-1);
expect(secret).toEqual("");
secret = genSecret(0);
expect(secret).toEqual("");
secret = genSecret(1);
expect(secret.length).toEqual(1);
secret = genSecret(2);
expect(secret.length).toEqual(2);
secret = genSecret(64);
expect(secret.length).toEqual(64);
secret = genSecret(9000);
expect(secret.length).toEqual(9000);
secret = genSecret(90000);
expect(secret.length).toEqual(90000);
});
it("should contain first and last possible chars", () => {
let secret = genSecret(90000);
expect(secret).toContain("A");
expect(secret).toContain("9");
});
});
describe("Test reset-password", () => {
it("should able to run", async () => {
await require("../extra/reset-password").main();
}, 120000);
});
describe("Test Discord Notification Provider", () => {
const hostname = "discord.com";
const port = 1337;
const sendNotification = async (hostname, port, type) => {
const discordProvider = new Discord();
axios.post.mockResolvedValue({});
await discordProvider.send(
{
discordUsername: "Uptime Kuma",
discordWebhookUrl: "https://discord.com",
},
"test message",
{
type,
hostname,
port,
},
{
status: DOWN,
}
);
};
it("should send hostname for ping monitors", async () => {
await sendNotification(hostname, null, "ping");
expect(axios.post.mock.lastCall[1].embeds[0].fields[1].value).toBe(hostname);
});
it.each([ "dns", "port", "steam" ])("should send hostname for %p monitors", async (type) => {
await sendNotification(hostname, port, type);
expect(axios.post.mock.lastCall[1].embeds[0].fields[1].value).toBe(`${hostname}:${port}`);
});
});
describe("The function filterAndJoin", () => {
it("should join and array of strings to one string", () => {
const result = utilServer.filterAndJoin([ "one", "two", "three" ]);
expect(result).toBe("onetwothree");
});
it("should join strings using a given connector", () => {
const result = utilServer.filterAndJoin([ "one", "two", "three" ], "-");
expect(result).toBe("one-two-three");
});
it("should filter null, undefined and empty strings before joining", () => {
const result = utilServer.filterAndJoin([ undefined, "", "three" ], "--");
expect(result).toBe("three");
});
it("should return an empty string if all parts are filtered out", () => {
const result = utilServer.filterAndJoin([ undefined, "", "" ], "--");
expect(result).toBe("");
});
});
describe("Test uptimeKumaServer.getClientIP()", () => {
it("should able to get a correct client IP", async () => {
Database.initDataDir({
"data-dir": "./data/test"
});
if (! fs.existsSync(Database.sqlitePath)) {
log.info("server", "Copying Database");
fs.copyFileSync(Database.templatePath, Database.sqlitePath);
}
await Database.connect(true);
await Database.patch();
const fakeSocket = {
client: {
conn: {
remoteAddress: "192.168.10.10",
request: {
headers: {
}
}
}
}
}
const server = Object.create(UptimeKumaServer.prototype);
let ip = await server.getClientIP(fakeSocket);
await Settings.set("trustProxy", false);
expect(await Settings.get("trustProxy")).toBe(false);
expect(ip).toBe("192.168.10.10");
fakeSocket.client.conn.request.headers["x-forwarded-for"] = "10.10.10.10";
ip = await server.getClientIP(fakeSocket);
expect(ip).toBe("192.168.10.10");
fakeSocket.client.conn.request.headers["x-real-ip"] = "20.20.20.20";
ip = await server.getClientIP(fakeSocket);
expect(ip).toBe("192.168.10.10");
await Settings.set("trustProxy", true);
expect(await Settings.get("trustProxy")).toBe(true);
fakeSocket.client.conn.request.headers["x-forwarded-for"] = "10.10.10.10";
ip = await server.getClientIP(fakeSocket);
expect(ip).toBe("10.10.10.10");
// x-real-ip
delete fakeSocket.client.conn.request.headers["x-forwarded-for"];
ip = await server.getClientIP(fakeSocket);
expect(ip).toBe("20.20.20.20");
fakeSocket.client.conn.request.headers["x-forwarded-for"] = "2001:db8:85a3:8d3:1319:8a2e:370:7348";
ip = await server.getClientIP(fakeSocket);
expect(ip).toBe("2001:db8:85a3:8d3:1319:8a2e:370:7348");
fakeSocket.client.conn.request.headers["x-forwarded-for"] = "203.0.113.195";
ip = await server.getClientIP(fakeSocket);
expect(ip).toBe("203.0.113.195");
fakeSocket.client.conn.request.headers["x-forwarded-for"] = "203.0.113.195, 2001:db8:85a3:8d3:1319:8a2e:370:7348";
ip = await server.getClientIP(fakeSocket);
expect(ip).toBe("203.0.113.195");
fakeSocket.client.conn.request.headers["x-forwarded-for"] = "203.0.113.195,2001:db8:85a3:8d3:1319:8a2e:370:7348,150.172.238.178";
ip = await server.getClientIP(fakeSocket);
expect(ip).toBe("203.0.113.195");
// Elements are comma-separated, with optional whitespace surrounding the commas.
fakeSocket.client.conn.request.headers["x-forwarded-for"] = "203.0.113.195 , 2001:db8:85a3:8d3:1319:8a2e:370:7348,150.172.238.178";
ip = await server.getClientIP(fakeSocket);
expect(ip).toBe("203.0.113.195");
fakeSocket.client.conn.remoteAddress = "2001:db8::1";
fakeSocket.client.conn.request.headers = {};
ip = await server.getClientIP(fakeSocket);
expect(ip).toBe("2001:db8::1");
fakeSocket.client.conn.remoteAddress = "::ffff:127.0.0.1";
fakeSocket.client.conn.request.headers = {};
ip = await server.getClientIP(fakeSocket);
expect(ip).toBe("127.0.0.1");
await Database.close();
}, 120000);
});

@ -1,18 +0,0 @@
const actor = require("../support/actors/actor");
const userData = require("../support/const/user-data");
const dashboardPage = require("../support/pages/dashboard-page");
const setupPage = require("../support/pages/setup-page");
describe("user can create a new account on setup page", () => {
before(() => {
cy.visit("/setup");
});
it("user can create new account", () => {
cy.url().should("be.equal", setupPage.SetupPage.url);
actor.actor.setupTask.fillAndSubmitSetupForm(userData.DEFAULT_USER_DATA.username, userData.DEFAULT_USER_DATA.password, userData.DEFAULT_USER_DATA.password);
cy.url().should("be.equal", dashboardPage.DashboardPage.url);
cy.get('[role="alert"]')
.should("be.visible")
.and("contain.text", "Added Successfully.");
});
});

@ -1,8 +0,0 @@
const setupTask = require("../tasks/setup-task");
class Actor {
constructor() {
this.setupTask = new setupTask.SetupTask();
}
}
const actor = new Actor();
exports.actor = actor;

@ -1,4 +0,0 @@
exports.DEFAULT_USER_DATA = {
username: "testuser",
password: "testuser123",
};

@ -1 +0,0 @@
require("./commands");

@ -1,3 +0,0 @@
exports.DashboardPage = {
url: Cypress.env("baseUrl") + "/dashboard",
};

@ -1,7 +0,0 @@
exports.SetupPage = {
url: Cypress.env("baseUrl") + "/setup",
usernameInput: '[data-cy="username-input"]',
passWordInput: '[data-cy="password-input"]',
passwordRepeatInput: '[data-cy="password-repeat-input"]',
submitSetupForm: '[data-cy="submit-setup-form"]',
};

@ -1,11 +0,0 @@
const setupPage = require("../pages/setup-page");
class SetupTask {
fillAndSubmitSetupForm(username, password, passwordRepeat) {
cy.get(setupPage.SetupPage.usernameInput).type(username);
cy.get(setupPage.SetupPage.passWordInput).type(password);
cy.get(setupPage.SetupPage.passwordRepeatInput).type(passwordRepeat);
cy.get(setupPage.SetupPage.submitSetupForm).click();
}
}
exports.SetupTask = SetupTask;

@ -1,44 +0,0 @@
import { currentLocale } from "../../../src/i18n";
describe("Test i18n.js", () => {
it("currentLocale()", () => {
const setLanguage = (language) => {
Object.defineProperty(window.navigator, 'language', {
value: language,
writable: true
});
}
setLanguage('en-EN');
expect(currentLocale()).equal("en");
setLanguage('zh-HK');
expect(currentLocale()).equal("zh-HK");
// Note that in Safari on iOS prior to 10.2, the country code returned is lowercase: "en-us", "fr-fr" etc.
// https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language
setLanguage('zh-hk');
expect(currentLocale()).equal("en");
setLanguage('en-US');
expect(currentLocale()).equal("en");
setLanguage('ja-ZZ');
expect(currentLocale()).equal("ja");
setLanguage('zz-ZZ');
expect(currentLocale()).equal("en");
setLanguage('zz-ZZ');
expect(currentLocale()).equal("en");
setLanguage('en');
localStorage.locale = "en";
expect(currentLocale()).equal("en");
localStorage.locale = "zh-HK";
expect(currentLocale()).equal("zh-HK");
});
});

@ -1,41 +0,0 @@
import { hostNameRegexPattern } from "../../../src/util-frontend";
describe("Test util-frontend.js", () => {
describe("hostNameRegexPattern()", () => {
it('should return a valid regex for non mqtt hostnames', () => {
const regex = new RegExp(hostNameRegexPattern(false));
expect(regex.test("www.test.com")).to.be.true;
expect(regex.test("127.0.0.1")).to.be.true;
expect(regex.test("192.168.1.156")).to.be.true;
expect(regex.test(" 192.168.1.145")).to.be.false;
expect(regex.test("192.168.1.145 ")).to.be.false;
expect(regex.test(" fe80::3282:3ff:ae28:592")).to.be.false;
expect(regex.test("fe80::3282:3ff:ae28:592 ")).to.be.false;
["mqtt", "mqtts", "ws", "wss"].forEach(schema => {
expect(regex.test(`${schema}://www.test.com`)).to.be.false;
expect(regex.test(`${schema}://127.0.0.1`)).to.be.false;
});
});
it('should return a valid regex for mqtt hostnames', () => {
const hostnameString = hostNameRegexPattern(false);
console.log('*********', hostnameString, '***********');
const regex = new RegExp(hostNameRegexPattern(true));
expect(regex.test("www.test.com")).to.be.true;
expect(regex.test("127.0.0.1")).to.be.true;
expect(regex.test("192.168.1.156")).to.be.true;
expect(regex.test(" 192.168.1.145")).to.be.false;
expect(regex.test("192.168.1.145 ")).to.be.false;
expect(regex.test(" fe80::3282:3ff:ae28:592")).to.be.false;
expect(regex.test("fe80::3282:3ff:ae28:592 ")).to.be.false;
["mqtt", "mqtts", "ws", "wss"].forEach(schema => {
expect(regex.test(`${schema}://www.test.com`)).to.be.true;
expect(regex.test(`${schema}://127.0.0.1`)).to.be.true;
});
});
});
});

@ -0,0 +1,43 @@
import { test } from "@playwright/test";
import { login, screenshot } from "./util-test";
/*
* Setup
*/
test("setup sqlite", async ({ page }, testInfo) => {
await page.goto("./");
await page.getByText("SQLite").click();
await page.getByRole("button", { name: "Next" }).click();
await screenshot(testInfo, page);
});
test("setup admin", async ({ page }, testInfo) => {
await page.goto("./");
await page.getByPlaceholder("Username").click();
await page.getByPlaceholder("Username").fill("admin");
await page.getByPlaceholder("Username").press("Tab");
await page.getByPlaceholder("Password", { exact: true }).fill("admin123");
await page.getByPlaceholder("Password", { exact: true }).press("Tab");
await page.getByPlaceholder("Repeat Password").fill("admin123");
await page.getByRole("button", { name: "Create" }).click();
await screenshot(testInfo, page);
});
/*
* All other tests should be run after setup
*/
test("login", async ({ page }, testInfo) => {
await page.goto("./dashboard");
await login(page);
await screenshot(testInfo, page);
});
test("logout", async ({ page }, testInfo) => {
await page.goto("./dashboard");
await login(page);
await page.getByText("A", { exact: true }).click();
await page.getByRole("button", { name: "Log out" }).click();
await screenshot(testInfo, page);
});

@ -0,0 +1,27 @@
/**
* @param {TestInfo} testInfo Test info
* @param {Page} page Page
* @returns {Promise<void>}
*/
export async function screenshot(testInfo, page) {
const screenshot = await page.screenshot();
await testInfo.attach("screenshot", {
body: screenshot,
contentType: "image/png"
});
}
/**
* @param {Page} page Page
* @returns {Promise<void>}
*/
export async function login(page) {
// Login
await page.getByPlaceholder("Username").click();
await page.getByPlaceholder("Username").fill("admin");
await page.getByPlaceholder("Username").press("Tab");
await page.getByPlaceholder("Password").fill("admin123");
await page.getByLabel("Remember me").check();
await page.getByRole("button", { name: "Log in" }).click();
await page.isVisible("text=Add New Monitor");
}
Loading…
Cancel
Save