mirror of
				https://github.com/louislam/uptime-kuma.git
				synced 2025-11-04 13:46:13 +08:00 
			
		
		
		
	Fixed Change Language Direction In Setting Page
This commit is contained in:
		@@ -16,7 +16,7 @@ WORKDIR /app
 | 
				
			|||||||
# Install Apprise, add sqlite3 cli for debugging in the future, iputils-ping for ping, util-linux for setpriv
 | 
					# Install Apprise, add sqlite3 cli for debugging in the future, iputils-ping for ping, util-linux for setpriv
 | 
				
			||||||
RUN apt update && \
 | 
					RUN apt update && \
 | 
				
			||||||
    apt --yes install python3 python3-pip python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib \
 | 
					    apt --yes install python3 python3-pip python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib \
 | 
				
			||||||
        sqlite3 iputils-ping util-linux && \
 | 
					        sqlite3 iputils-ping util-linux dumb-init && \
 | 
				
			||||||
    pip3 --no-cache-dir install apprise && \
 | 
					    pip3 --no-cache-dir install apprise && \
 | 
				
			||||||
    rm -rf /var/lib/apt/lists/*
 | 
					    rm -rf /var/lib/apt/lists/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -26,7 +26,7 @@ COPY --from=build /app /app
 | 
				
			|||||||
EXPOSE 3001
 | 
					EXPOSE 3001
 | 
				
			||||||
VOLUME ["/app/data"]
 | 
					VOLUME ["/app/data"]
 | 
				
			||||||
HEALTHCHECK --interval=60s --timeout=30s --start-period=180s --retries=5 CMD node extra/healthcheck.js
 | 
					HEALTHCHECK --interval=60s --timeout=30s --start-period=180s --retries=5 CMD node extra/healthcheck.js
 | 
				
			||||||
ENTRYPOINT ["extra/entrypoint.sh"]
 | 
					ENTRYPOINT ["/usr/bin/dumb-init", "--", "extra/entrypoint.sh"]
 | 
				
			||||||
CMD ["node", "server/server.js"]
 | 
					CMD ["node", "server/server.js"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM release AS nightly
 | 
					FROM release AS nightly
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,7 @@ FROM node:14-alpine3.12 AS release
 | 
				
			|||||||
WORKDIR /app
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Install apprise, iputils for non-root ping, setpriv
 | 
					# Install apprise, iputils for non-root ping, setpriv
 | 
				
			||||||
RUN apk add --no-cache iputils setpriv python3 py3-cryptography py3-pip py3-six py3-yaml py3-click py3-markdown py3-requests py3-requests-oauthlib && \
 | 
					RUN apk add --no-cache iputils setpriv dumb-init python3 py3-cryptography py3-pip py3-six py3-yaml py3-click py3-markdown py3-requests py3-requests-oauthlib && \
 | 
				
			||||||
    pip3 --no-cache-dir install apprise && \
 | 
					    pip3 --no-cache-dir install apprise && \
 | 
				
			||||||
    rm -rf /root/.cache
 | 
					    rm -rf /root/.cache
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -23,7 +23,7 @@ COPY --from=build /app /app
 | 
				
			|||||||
EXPOSE 3001
 | 
					EXPOSE 3001
 | 
				
			||||||
VOLUME ["/app/data"]
 | 
					VOLUME ["/app/data"]
 | 
				
			||||||
HEALTHCHECK --interval=60s --timeout=30s --start-period=180s --retries=5 CMD node extra/healthcheck.js
 | 
					HEALTHCHECK --interval=60s --timeout=30s --start-period=180s --retries=5 CMD node extra/healthcheck.js
 | 
				
			||||||
ENTRYPOINT ["extra/entrypoint.sh"]
 | 
					ENTRYPOINT ["/usr/bin/dumb-init", "--", "extra/entrypoint.sh"]
 | 
				
			||||||
CMD ["node", "server/server.js"]
 | 
					CMD ["node", "server/server.js"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM release AS nightly
 | 
					FROM release AS nightly
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,8 +2,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# set -e Exit the script if an error happens
 | 
					# set -e Exit the script if an error happens
 | 
				
			||||||
set -e
 | 
					set -e
 | 
				
			||||||
PUID=${PUID=1000}
 | 
					PUID=${PUID=0}
 | 
				
			||||||
PGID=${PGID=1000}
 | 
					PGID=${PGID=0}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
files_ownership () {
 | 
					files_ownership () {
 | 
				
			||||||
    # -h Changes the ownership of an encountered symbolic link and not that of the file or directory pointed to by the symbolic link.
 | 
					    # -h Changes the ownership of an encountered symbolic link and not that of the file or directory pointed to by the symbolic link.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										188
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										188
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,12 +1,12 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    "name": "uptime-kuma",
 | 
					    "name": "uptime-kuma",
 | 
				
			||||||
    "version": "1.6.0",
 | 
					    "version": "1.7.0",
 | 
				
			||||||
    "lockfileVersion": 2,
 | 
					    "lockfileVersion": 2,
 | 
				
			||||||
    "requires": true,
 | 
					    "requires": true,
 | 
				
			||||||
    "packages": {
 | 
					    "packages": {
 | 
				
			||||||
        "": {
 | 
					        "": {
 | 
				
			||||||
            "name": "uptime-kuma",
 | 
					            "name": "uptime-kuma",
 | 
				
			||||||
            "version": "1.6.0",
 | 
					            "version": "1.7.0",
 | 
				
			||||||
            "license": "MIT",
 | 
					            "license": "MIT",
 | 
				
			||||||
            "dependencies": {
 | 
					            "dependencies": {
 | 
				
			||||||
                "@fortawesome/fontawesome-svg-core": "^1.2.36",
 | 
					                "@fortawesome/fontawesome-svg-core": "^1.2.36",
 | 
				
			||||||
@@ -2797,18 +2797,6 @@
 | 
				
			|||||||
                "node": ">=10"
 | 
					                "node": ">=10"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/eslint/node_modules/lru-cache": {
 | 
					 | 
				
			||||||
            "version": "6.0.0",
 | 
					 | 
				
			||||||
            "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
 | 
					 | 
				
			||||||
            "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
 | 
					 | 
				
			||||||
            "dev": true,
 | 
					 | 
				
			||||||
            "dependencies": {
 | 
					 | 
				
			||||||
                "yallist": "^4.0.0"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            "engines": {
 | 
					 | 
				
			||||||
                "node": ">=10"
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "node_modules/eslint/node_modules/semver": {
 | 
					        "node_modules/eslint/node_modules/semver": {
 | 
				
			||||||
            "version": "7.3.5",
 | 
					            "version": "7.3.5",
 | 
				
			||||||
            "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
 | 
				
			||||||
@@ -2824,12 +2812,6 @@
 | 
				
			|||||||
                "node": ">=10"
 | 
					                "node": ">=10"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/eslint/node_modules/yallist": {
 | 
					 | 
				
			||||||
            "version": "4.0.0",
 | 
					 | 
				
			||||||
            "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
 | 
					 | 
				
			||||||
            "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
 | 
					 | 
				
			||||||
            "dev": true
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "node_modules/esm": {
 | 
					        "node_modules/esm": {
 | 
				
			||||||
            "version": "3.2.25",
 | 
					            "version": "3.2.25",
 | 
				
			||||||
            "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
 | 
				
			||||||
@@ -4296,6 +4278,18 @@
 | 
				
			|||||||
                "url": "https://github.com/sponsors/wooorm"
 | 
					                "url": "https://github.com/sponsors/wooorm"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        "node_modules/lru-cache": {
 | 
				
			||||||
 | 
					            "version": "6.0.0",
 | 
				
			||||||
 | 
					            "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
 | 
				
			||||||
 | 
					            "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
 | 
				
			||||||
 | 
					            "dev": true,
 | 
				
			||||||
 | 
					            "dependencies": {
 | 
				
			||||||
 | 
					                "yallist": "^4.0.0"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "engines": {
 | 
				
			||||||
 | 
					                "node": ">=10"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "node_modules/magic-string": {
 | 
					        "node_modules/magic-string": {
 | 
				
			||||||
            "version": "0.25.7",
 | 
					            "version": "0.25.7",
 | 
				
			||||||
            "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
 | 
				
			||||||
@@ -4615,6 +4609,7 @@
 | 
				
			|||||||
            "version": "3.1.25",
 | 
					            "version": "3.1.25",
 | 
				
			||||||
            "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
 | 
				
			||||||
            "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
 | 
					            "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
 | 
				
			||||||
 | 
					            "dev": true,
 | 
				
			||||||
            "bin": {
 | 
					            "bin": {
 | 
				
			||||||
                "nanoid": "bin/nanoid.cjs"
 | 
					                "nanoid": "bin/nanoid.cjs"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
@@ -7447,6 +7442,64 @@
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        "node_modules/vue-chart-3/node_modules/@vue/reactivity": {
 | 
				
			||||||
 | 
					            "version": "3.2.19",
 | 
				
			||||||
 | 
					            "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.19.tgz",
 | 
				
			||||||
 | 
					            "integrity": "sha512-FtachoYs2SnyrWup5UikP54xDX6ZJ1s5VgHcJp4rkGoutU3Ry61jhs+nCX7J64zjX992Mh9gGUC0LqTs8q9vCA==",
 | 
				
			||||||
 | 
					            "dependencies": {
 | 
				
			||||||
 | 
					                "@vue/shared": "3.2.19"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "node_modules/vue-chart-3/node_modules/@vue/runtime-core": {
 | 
				
			||||||
 | 
					            "version": "3.2.19",
 | 
				
			||||||
 | 
					            "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.19.tgz",
 | 
				
			||||||
 | 
					            "integrity": "sha512-qArZSWKxWsgKfxk9BelZ32nY0MZ31CAW2kUUyVJyxh4cTfHaXGbjiQB5JgsvKc49ROMNffv9t3/qjasQqAH+RQ==",
 | 
				
			||||||
 | 
					            "dependencies": {
 | 
				
			||||||
 | 
					                "@vue/reactivity": "3.2.19",
 | 
				
			||||||
 | 
					                "@vue/shared": "3.2.19"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "node_modules/vue-chart-3/node_modules/@vue/runtime-dom": {
 | 
				
			||||||
 | 
					            "version": "3.2.19",
 | 
				
			||||||
 | 
					            "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.19.tgz",
 | 
				
			||||||
 | 
					            "integrity": "sha512-hIRboxXwafeHhbZEkZYNV0MiJXPNf4fP0X6hM2TJb0vssz8BKhD9cF92BkRgZztTQevecbhk0gu4uAPJ3dxL9A==",
 | 
				
			||||||
 | 
					            "dependencies": {
 | 
				
			||||||
 | 
					                "@vue/runtime-core": "3.2.19",
 | 
				
			||||||
 | 
					                "@vue/shared": "3.2.19",
 | 
				
			||||||
 | 
					                "csstype": "^2.6.8"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "node_modules/vue-chart-3/node_modules/@vue/runtime-dom/node_modules/csstype": {
 | 
				
			||||||
 | 
					            "version": "2.6.18",
 | 
				
			||||||
 | 
					            "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.18.tgz",
 | 
				
			||||||
 | 
					            "integrity": "sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ=="
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "node_modules/vue-chart-3/node_modules/@vue/shared": {
 | 
				
			||||||
 | 
					            "version": "3.2.19",
 | 
				
			||||||
 | 
					            "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz",
 | 
				
			||||||
 | 
					            "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew=="
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "node_modules/vue-chart-3/node_modules/csstype": {
 | 
				
			||||||
 | 
					            "version": "3.0.9",
 | 
				
			||||||
 | 
					            "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz",
 | 
				
			||||||
 | 
					            "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw=="
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "node_modules/vue-chart-3/node_modules/lodash": {
 | 
				
			||||||
 | 
					            "version": "4.17.21",
 | 
				
			||||||
 | 
					            "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
 | 
				
			||||||
 | 
					            "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "node_modules/vue-chart-3/node_modules/nanoid": {
 | 
				
			||||||
 | 
					            "version": "3.1.28",
 | 
				
			||||||
 | 
					            "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.28.tgz",
 | 
				
			||||||
 | 
					            "integrity": "sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw==",
 | 
				
			||||||
 | 
					            "bin": {
 | 
				
			||||||
 | 
					                "nanoid": "bin/nanoid.cjs"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "engines": {
 | 
				
			||||||
 | 
					                "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "node_modules/vue-confirm-dialog": {
 | 
					        "node_modules/vue-confirm-dialog": {
 | 
				
			||||||
            "version": "1.0.2",
 | 
					            "version": "1.0.2",
 | 
				
			||||||
            "resolved": "https://registry.npmjs.org/vue-confirm-dialog/-/vue-confirm-dialog-1.0.2.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/vue-confirm-dialog/-/vue-confirm-dialog-1.0.2.tgz",
 | 
				
			||||||
@@ -7804,6 +7857,12 @@
 | 
				
			|||||||
            "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
 | 
				
			||||||
            "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
 | 
					            "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        "node_modules/yallist": {
 | 
				
			||||||
 | 
					            "version": "4.0.0",
 | 
				
			||||||
 | 
					            "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
 | 
				
			||||||
 | 
					            "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
 | 
				
			||||||
 | 
					            "dev": true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "node_modules/yaml": {
 | 
					        "node_modules/yaml": {
 | 
				
			||||||
            "version": "1.10.2",
 | 
					            "version": "1.10.2",
 | 
				
			||||||
            "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
 | 
				
			||||||
@@ -10065,15 +10124,6 @@
 | 
				
			|||||||
                "v8-compile-cache": "^2.0.3"
 | 
					                "v8-compile-cache": "^2.0.3"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "dependencies": {
 | 
					            "dependencies": {
 | 
				
			||||||
                "lru-cache": {
 | 
					 | 
				
			||||||
                    "version": "6.0.0",
 | 
					 | 
				
			||||||
                    "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
 | 
					 | 
				
			||||||
                    "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
 | 
					 | 
				
			||||||
                    "dev": true,
 | 
					 | 
				
			||||||
                    "requires": {
 | 
					 | 
				
			||||||
                        "yallist": "^4.0.0"
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                },
 | 
					 | 
				
			||||||
                "semver": {
 | 
					                "semver": {
 | 
				
			||||||
                    "version": "7.3.5",
 | 
					                    "version": "7.3.5",
 | 
				
			||||||
                    "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
 | 
					                    "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
 | 
				
			||||||
@@ -10082,12 +10132,6 @@
 | 
				
			|||||||
                    "requires": {
 | 
					                    "requires": {
 | 
				
			||||||
                        "lru-cache": "^6.0.0"
 | 
					                        "lru-cache": "^6.0.0"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                },
 | 
					 | 
				
			||||||
                "yallist": {
 | 
					 | 
				
			||||||
                    "version": "4.0.0",
 | 
					 | 
				
			||||||
                    "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
 | 
					 | 
				
			||||||
                    "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
 | 
					 | 
				
			||||||
                    "dev": true
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -11260,6 +11304,15 @@
 | 
				
			|||||||
            "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==",
 | 
					            "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==",
 | 
				
			||||||
            "dev": true
 | 
					            "dev": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        "lru-cache": {
 | 
				
			||||||
 | 
					            "version": "6.0.0",
 | 
				
			||||||
 | 
					            "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
 | 
				
			||||||
 | 
					            "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
 | 
				
			||||||
 | 
					            "dev": true,
 | 
				
			||||||
 | 
					            "requires": {
 | 
				
			||||||
 | 
					                "yallist": "^4.0.0"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "magic-string": {
 | 
					        "magic-string": {
 | 
				
			||||||
            "version": "0.25.7",
 | 
					            "version": "0.25.7",
 | 
				
			||||||
            "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
 | 
				
			||||||
@@ -11489,7 +11542,8 @@
 | 
				
			|||||||
        "nanoid": {
 | 
					        "nanoid": {
 | 
				
			||||||
            "version": "3.1.25",
 | 
					            "version": "3.1.25",
 | 
				
			||||||
            "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
 | 
				
			||||||
            "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q=="
 | 
					            "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
 | 
				
			||||||
 | 
					            "dev": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "natural-compare": {
 | 
					        "natural-compare": {
 | 
				
			||||||
            "version": "1.4.0",
 | 
					            "version": "1.4.0",
 | 
				
			||||||
@@ -13683,6 +13737,62 @@
 | 
				
			|||||||
                "lodash": "latest",
 | 
					                "lodash": "latest",
 | 
				
			||||||
                "nanoid": "latest",
 | 
					                "nanoid": "latest",
 | 
				
			||||||
                "vue-demi": "^0.10.1"
 | 
					                "vue-demi": "^0.10.1"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "dependencies": {
 | 
				
			||||||
 | 
					                "@vue/reactivity": {
 | 
				
			||||||
 | 
					                    "version": "3.2.19",
 | 
				
			||||||
 | 
					                    "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.19.tgz",
 | 
				
			||||||
 | 
					                    "integrity": "sha512-FtachoYs2SnyrWup5UikP54xDX6ZJ1s5VgHcJp4rkGoutU3Ry61jhs+nCX7J64zjX992Mh9gGUC0LqTs8q9vCA==",
 | 
				
			||||||
 | 
					                    "requires": {
 | 
				
			||||||
 | 
					                        "@vue/shared": "3.2.19"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "@vue/runtime-core": {
 | 
				
			||||||
 | 
					                    "version": "3.2.19",
 | 
				
			||||||
 | 
					                    "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.19.tgz",
 | 
				
			||||||
 | 
					                    "integrity": "sha512-qArZSWKxWsgKfxk9BelZ32nY0MZ31CAW2kUUyVJyxh4cTfHaXGbjiQB5JgsvKc49ROMNffv9t3/qjasQqAH+RQ==",
 | 
				
			||||||
 | 
					                    "requires": {
 | 
				
			||||||
 | 
					                        "@vue/reactivity": "3.2.19",
 | 
				
			||||||
 | 
					                        "@vue/shared": "3.2.19"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "@vue/runtime-dom": {
 | 
				
			||||||
 | 
					                    "version": "3.2.19",
 | 
				
			||||||
 | 
					                    "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.19.tgz",
 | 
				
			||||||
 | 
					                    "integrity": "sha512-hIRboxXwafeHhbZEkZYNV0MiJXPNf4fP0X6hM2TJb0vssz8BKhD9cF92BkRgZztTQevecbhk0gu4uAPJ3dxL9A==",
 | 
				
			||||||
 | 
					                    "requires": {
 | 
				
			||||||
 | 
					                        "@vue/runtime-core": "3.2.19",
 | 
				
			||||||
 | 
					                        "@vue/shared": "3.2.19",
 | 
				
			||||||
 | 
					                        "csstype": "^2.6.8"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "dependencies": {
 | 
				
			||||||
 | 
					                        "csstype": {
 | 
				
			||||||
 | 
					                            "version": "2.6.18",
 | 
				
			||||||
 | 
					                            "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.18.tgz",
 | 
				
			||||||
 | 
					                            "integrity": "sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ=="
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "@vue/shared": {
 | 
				
			||||||
 | 
					                    "version": "3.2.19",
 | 
				
			||||||
 | 
					                    "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz",
 | 
				
			||||||
 | 
					                    "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew=="
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "csstype": {
 | 
				
			||||||
 | 
					                    "version": "3.0.9",
 | 
				
			||||||
 | 
					                    "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz",
 | 
				
			||||||
 | 
					                    "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw=="
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "lodash": {
 | 
				
			||||||
 | 
					                    "version": "4.17.21",
 | 
				
			||||||
 | 
					                    "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
 | 
				
			||||||
 | 
					                    "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "nanoid": {
 | 
				
			||||||
 | 
					                    "version": "3.1.28",
 | 
				
			||||||
 | 
					                    "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.28.tgz",
 | 
				
			||||||
 | 
					                    "integrity": "sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw=="
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "vue-confirm-dialog": {
 | 
					        "vue-confirm-dialog": {
 | 
				
			||||||
@@ -13922,6 +14032,12 @@
 | 
				
			|||||||
            "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
 | 
				
			||||||
            "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
 | 
					            "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        "yallist": {
 | 
				
			||||||
 | 
					            "version": "4.0.0",
 | 
				
			||||||
 | 
					            "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
 | 
				
			||||||
 | 
					            "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
 | 
				
			||||||
 | 
					            "dev": true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "yaml": {
 | 
					        "yaml": {
 | 
				
			||||||
            "version": "1.10.2",
 | 
					            "version": "1.10.2",
 | 
				
			||||||
            "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    "name": "uptime-kuma",
 | 
					    "name": "uptime-kuma",
 | 
				
			||||||
    "version": "1.7.0",
 | 
					    "version": "1.7.1",
 | 
				
			||||||
    "license": "MIT",
 | 
					    "license": "MIT",
 | 
				
			||||||
    "repository": {
 | 
					    "repository": {
 | 
				
			||||||
        "type": "git",
 | 
					        "type": "git",
 | 
				
			||||||
@@ -23,12 +23,12 @@
 | 
				
			|||||||
        "tsc": "tsc",
 | 
					        "tsc": "tsc",
 | 
				
			||||||
        "vite-preview-dist": "vite preview --host",
 | 
					        "vite-preview-dist": "vite preview --host",
 | 
				
			||||||
        "build-docker": "npm run build-docker-debian && npm run build-docker-alpine",
 | 
					        "build-docker": "npm run build-docker-debian && npm run build-docker-alpine",
 | 
				
			||||||
        "build-docker-alpine": "docker buildx build -f dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:1.7.0-alpine --target release . --push",
 | 
					        "build-docker-alpine": "docker buildx build -f dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:1.7.1-alpine --target release . --push",
 | 
				
			||||||
        "build-docker-debian": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.7.0 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.7.0-debian --target release . --push",
 | 
					        "build-docker-debian": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.7.1 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.7.1-debian --target release . --push",
 | 
				
			||||||
        "build-docker-nightly": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
 | 
					        "build-docker-nightly": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
 | 
				
			||||||
        "build-docker-nightly-alpine": "docker buildx build -f dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly-alpine --target nightly . --push",
 | 
					        "build-docker-nightly-alpine": "docker buildx build -f dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly-alpine --target nightly . --push",
 | 
				
			||||||
        "build-docker-nightly-amd64": "docker buildx build --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
 | 
					        "build-docker-nightly-amd64": "docker buildx build --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
 | 
				
			||||||
        "setup": "git checkout 1.7.0 && npm install --legacy-peer-deps && node node_modules/esbuild/install.js && npm run build && npm prune",
 | 
					        "setup": "git checkout 1.7.1 && npm install --legacy-peer-deps && node node_modules/esbuild/install.js && npm run build && npm prune",
 | 
				
			||||||
        "update-version": "node extra/update-version.js",
 | 
					        "update-version": "node extra/update-version.js",
 | 
				
			||||||
        "mark-as-nightly": "node extra/mark-as-nightly.js",
 | 
					        "mark-as-nightly": "node extra/mark-as-nightly.js",
 | 
				
			||||||
        "reset-password": "node extra/reset-password.js",
 | 
					        "reset-password": "node extra/reset-password.js",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										25
									
								
								src/App.vue
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								src/App.vue
									
									
									
									
									
								
							@@ -1,27 +1,12 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
    <router-view />
 | 
					  <router-view />
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
 | 
					import { setPageLocale } from "./util-frontend";
 | 
				
			||||||
import { i18n, localeDirection } from "./i18n";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
    created() {
 | 
					  created() {
 | 
				
			||||||
    
 | 
					    setPageLocale();
 | 
				
			||||||
    this.setPageLocale();
 | 
					 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					};
 | 
				
			||||||
      setPageLocale() {
 | 
					 | 
				
			||||||
        const html = document.documentElement 
 | 
					 | 
				
			||||||
        html.setAttribute('lang', this.$i18n.locale )
 | 
					 | 
				
			||||||
        html.setAttribute('dir', localeDirection() )
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  watch: {
 | 
					 | 
				
			||||||
        "$i18n.locale"() {
 | 
					 | 
				
			||||||
            this.setPageLocale();
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,5 @@
 | 
				
			|||||||
import { createI18n } from "vue-i18n";
 | 
					import { createI18n } from "vue-i18n";
 | 
				
			||||||
 | 
					import bgBG from "./languages/bg-BG";
 | 
				
			||||||
import daDK from "./languages/da-DK";
 | 
					import daDK from "./languages/da-DK";
 | 
				
			||||||
import deDE from "./languages/de-DE";
 | 
					import deDE from "./languages/de-DE";
 | 
				
			||||||
import en from "./languages/en";
 | 
					import en from "./languages/en";
 | 
				
			||||||
@@ -23,6 +24,7 @@ import zhHK from "./languages/zh-HK";
 | 
				
			|||||||
const languageList = {
 | 
					const languageList = {
 | 
				
			||||||
    en,
 | 
					    en,
 | 
				
			||||||
    "zh-HK": zhHK,
 | 
					    "zh-HK": zhHK,
 | 
				
			||||||
 | 
					    "bg-BG": bgBG,
 | 
				
			||||||
    "de-DE": deDE,
 | 
					    "de-DE": deDE,
 | 
				
			||||||
    "nl-NL": nlNL,
 | 
					    "nl-NL": nlNL,
 | 
				
			||||||
    "es-ES": esEs,
 | 
					    "es-ES": esEs,
 | 
				
			||||||
@@ -45,7 +47,7 @@ const languageList = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const rtlLangs = ["fa"];
 | 
					const rtlLangs = ["fa"];
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
const currentLocale = () => localStorage.locale || "en";
 | 
					export const currentLocale = () => localStorage.locale || "en";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const localeDirection = () => {
 | 
					export const localeDirection = () => {
 | 
				
			||||||
    return rtlLangs.includes(currentLocale()) ? "rtl" : "ltr"
 | 
					    return rtlLangs.includes(currentLocale()) ? "rtl" : "ltr"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										181
									
								
								src/languages/bg-BG.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										181
									
								
								src/languages/bg-BG.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,181 @@
 | 
				
			|||||||
 | 
					export default {
 | 
				
			||||||
 | 
					    languageName: "Български",
 | 
				
			||||||
 | 
					    checkEverySecond: "Проверявай на всеки {0} секунди.",
 | 
				
			||||||
 | 
					    retryCheckEverySecond: "Повторен опит на всеки {0} секунди.",
 | 
				
			||||||
 | 
					    retriesDescription: "Максимакен брой опити преди услугата да бъде маркирана като недостъпна и да бъде изпратено известие",
 | 
				
			||||||
 | 
					    ignoreTLSError: "Игнорирай TLS/SSL грешки за HTTPS уебсайтове",
 | 
				
			||||||
 | 
					    upsideDownModeDescription: "Обърни статуса от достъпен на недостъпен. Ако услугата е достъпна се вижда НЕДОСТЪПНА.",
 | 
				
			||||||
 | 
					    maxRedirectDescription: "Максимален брой пренасочвания, които да бъдат следвани. Въведете 0 за да изключите пренасочване.",
 | 
				
			||||||
 | 
					    acceptedStatusCodesDescription: "Изберете статус кодове, които се считат за успешен отговор.",
 | 
				
			||||||
 | 
					    passwordNotMatchMsg: "Повторената парола не съвпада.",
 | 
				
			||||||
 | 
					    notificationDescription: "Моля, задайте известието към монитор(и), за да функционира.",
 | 
				
			||||||
 | 
					    keywordDescription: "Търсете ключова дума в обикновен html или JSON отговор - чувствителна е към регистъра",
 | 
				
			||||||
 | 
					    pauseDashboardHome: "Пауза",
 | 
				
			||||||
 | 
					    deleteMonitorMsg: "Наистина ли желаете да изтриете този монитор?",
 | 
				
			||||||
 | 
					    deleteNotificationMsg: "Наистина ли желаете да изтриете известието за всички монитори?",
 | 
				
			||||||
 | 
					    resoverserverDescription: "Cloudflare е сървърът по подразбиране, можете да промените сървъра по всяко време.",
 | 
				
			||||||
 | 
					    rrtypeDescription: "Изберете ресурсния запис, който желаете да наблюдавате",
 | 
				
			||||||
 | 
					    pauseMonitorMsg: "Наистина ли желаете да поставите в режим пауза?",
 | 
				
			||||||
 | 
					    enableDefaultNotificationDescription: "За всеки нов монитор това известие ще бъде активирано по подразбиране. Можете да изключите известието за всеки отделен монитор.",
 | 
				
			||||||
 | 
					    clearEventsMsg: "Наистина ли желаете да изтриете всички събития за този монитор?",
 | 
				
			||||||
 | 
					    clearHeartbeatsMsg: "Наистина ли желаете да изтриете всички записи за честотни проверки на този монитор?",
 | 
				
			||||||
 | 
					    confirmClearStatisticsMsg: "Наистина ли желаете да изтриете всички статистически данни?",
 | 
				
			||||||
 | 
					    importHandleDescription: "Изберете 'Пропусни съществуващите', ако искате да пропуснете всеки монитор или известие със същото име. 'Презапис' ще изтрие всеки съществуващ монитор и известие.",
 | 
				
			||||||
 | 
					    confirmImportMsg: "Сигурни ли сте за импортирането на архива? Моля, уверете се, че сте избрали правилната опция за импортиране.",
 | 
				
			||||||
 | 
					    twoFAVerifyLabel: "Моля, въведете вашия токен код, за да проверите дали 2FA работи",
 | 
				
			||||||
 | 
					    tokenValidSettingsMsg: "Токен кодът е валиден! Вече можете да запазите настройките за 2FA.",
 | 
				
			||||||
 | 
					    confirmEnableTwoFAMsg: "Сигурни ли сте, че желаете да активирате 2FA?",
 | 
				
			||||||
 | 
					    confirmDisableTwoFAMsg: "Сигурни ли сте, че желаете да изключите 2FA?",
 | 
				
			||||||
 | 
					    Settings: "Настройки",
 | 
				
			||||||
 | 
					    Dashboard: "Табло",
 | 
				
			||||||
 | 
					    "New Update": "Нова актуализация",
 | 
				
			||||||
 | 
					    Language: "Език",
 | 
				
			||||||
 | 
					    Appearance: "Изглед",
 | 
				
			||||||
 | 
					    Theme: "Тема",
 | 
				
			||||||
 | 
					    General: "Общи",
 | 
				
			||||||
 | 
					    Version: "Версия",
 | 
				
			||||||
 | 
					    "Check Update On GitHub": "Провери за актуализация в GitHub",
 | 
				
			||||||
 | 
					    List: "Списък",
 | 
				
			||||||
 | 
					    Add: "Добави",
 | 
				
			||||||
 | 
					    "Add New Monitor": "Добави монитор",
 | 
				
			||||||
 | 
					    "Quick Stats": "Кратка статистика",
 | 
				
			||||||
 | 
					    Up: "Достъпни",
 | 
				
			||||||
 | 
					    Down: "Недостъпни",
 | 
				
			||||||
 | 
					    Pending: "В изчакване",
 | 
				
			||||||
 | 
					    Unknown: "Неизвестни",
 | 
				
			||||||
 | 
					    Pause: "В пауза",
 | 
				
			||||||
 | 
					    Name: "Име",
 | 
				
			||||||
 | 
					    Status: "Статус",
 | 
				
			||||||
 | 
					    DateTime: "Дата и час",
 | 
				
			||||||
 | 
					    Message: "Съобщение",
 | 
				
			||||||
 | 
					    "No important events": "Няма важни събития",
 | 
				
			||||||
 | 
					    Resume: "Възобнови",
 | 
				
			||||||
 | 
					    Edit: "Редактирай",
 | 
				
			||||||
 | 
					    Delete: "Изтрий",
 | 
				
			||||||
 | 
					    Current: "Текущ",
 | 
				
			||||||
 | 
					    Uptime: "Време на работа",
 | 
				
			||||||
 | 
					    "Cert Exp.": "Вал. сертификат",
 | 
				
			||||||
 | 
					    days: "дни",
 | 
				
			||||||
 | 
					    day: "ден",
 | 
				
			||||||
 | 
					    "-day": "-ден",
 | 
				
			||||||
 | 
					    hour: "час",
 | 
				
			||||||
 | 
					    "-hour": "-час",
 | 
				
			||||||
 | 
					    Response: "Отговор",
 | 
				
			||||||
 | 
					    Ping: "Пинг",
 | 
				
			||||||
 | 
					    "Monitor Type": "Монитор тип",
 | 
				
			||||||
 | 
					    Keyword: "Ключова дума",
 | 
				
			||||||
 | 
					    "Friendly Name": "Псевдоним",
 | 
				
			||||||
 | 
					    URL: "URL Адрес",
 | 
				
			||||||
 | 
					    Hostname: "Име на хост",
 | 
				
			||||||
 | 
					    Port: "Порт",
 | 
				
			||||||
 | 
					    "Heartbeat Interval": "Честота на проверка",
 | 
				
			||||||
 | 
					    Retries: "Повторни опити",
 | 
				
			||||||
 | 
					    "Heartbeat Retry Interval": "Честота на повторните опити",
 | 
				
			||||||
 | 
					    Advanced: "Разширени",
 | 
				
			||||||
 | 
					    "Upside Down Mode": "Обърнат режим",
 | 
				
			||||||
 | 
					    "Max. Redirects": "Макс. брой пренасочвания",
 | 
				
			||||||
 | 
					    "Accepted Status Codes": "Допустими статус кодове",
 | 
				
			||||||
 | 
					    Save: "Запази",
 | 
				
			||||||
 | 
					    Notifications: "Известявания",
 | 
				
			||||||
 | 
					    "Not available, please setup.": "Не е налично. Моля, настройте.",
 | 
				
			||||||
 | 
					    "Setup Notification": "Настройка за известяване",
 | 
				
			||||||
 | 
					    Light: "Светла",
 | 
				
			||||||
 | 
					    Dark: "Тъмна",
 | 
				
			||||||
 | 
					    Auto: "Автоматично",
 | 
				
			||||||
 | 
					    "Theme - Heartbeat Bar": "Тема - поле проверки",
 | 
				
			||||||
 | 
					    Normal: "Нормално",
 | 
				
			||||||
 | 
					    Bottom: "Долу",
 | 
				
			||||||
 | 
					    None: "Без",
 | 
				
			||||||
 | 
					    Timezone: "Часова зона",
 | 
				
			||||||
 | 
					    "Search Engine Visibility": "Видимост за търсачки",
 | 
				
			||||||
 | 
					    "Allow indexing": "Разреши индексиране",
 | 
				
			||||||
 | 
					    "Discourage search engines from indexing site": "Обезкуражи индексирането на сайта от търсачките",
 | 
				
			||||||
 | 
					    "Change Password": "Промени парола",
 | 
				
			||||||
 | 
					    "Current Password": "Текуща парола",
 | 
				
			||||||
 | 
					    "New Password": "Нова парола",
 | 
				
			||||||
 | 
					    "Repeat New Password": "Повторете новата парола",
 | 
				
			||||||
 | 
					    "Update Password": "Актуализирай парола",
 | 
				
			||||||
 | 
					    "Disable Auth": "Изключи удостоверяване",
 | 
				
			||||||
 | 
					    "Enable Auth": "Включи удостоверяване",
 | 
				
			||||||
 | 
					    Logout: "Изход от профила",
 | 
				
			||||||
 | 
					    Leave: "Напускам",
 | 
				
			||||||
 | 
					    "I understand, please disable": "Разбирам. Моля, изключи",
 | 
				
			||||||
 | 
					    Confirm: "Потвърди",
 | 
				
			||||||
 | 
					    Yes: "Да",
 | 
				
			||||||
 | 
					    No: "Не",
 | 
				
			||||||
 | 
					    Username: "Потребител",
 | 
				
			||||||
 | 
					    Password: "Парола",
 | 
				
			||||||
 | 
					    "Remember me": "Запомни ме",
 | 
				
			||||||
 | 
					    Login: "Вход",
 | 
				
			||||||
 | 
					    "No Monitors, please": "Моля, без монитори",
 | 
				
			||||||
 | 
					    "add one": "добави един",
 | 
				
			||||||
 | 
					    "Notification Type": "Тип известяване",
 | 
				
			||||||
 | 
					    Email: "Имейл",
 | 
				
			||||||
 | 
					    Test: "Тест",
 | 
				
			||||||
 | 
					    "Certificate Info": "Информация за сертификат",
 | 
				
			||||||
 | 
					    "Resolver Server": "Преобразуващ (DNS) сървър",
 | 
				
			||||||
 | 
					    "Resource Record Type": "Тип запис",
 | 
				
			||||||
 | 
					    "Last Result": "Последен резултат",
 | 
				
			||||||
 | 
					    "Create your admin account": "Създаване на администриращ акаунт",
 | 
				
			||||||
 | 
					    "Repeat Password": "Повторете паролата",
 | 
				
			||||||
 | 
					    "Import Backup": "Импорт на архив",
 | 
				
			||||||
 | 
					    "Export Backup": "Експорт на архив",
 | 
				
			||||||
 | 
					    Export: "Експорт",
 | 
				
			||||||
 | 
					    Import: "Импорт",
 | 
				
			||||||
 | 
					    respTime: "Време за отговор (ms)",
 | 
				
			||||||
 | 
					    notAvailableShort: "Няма",
 | 
				
			||||||
 | 
					    "Default enabled": "Включен по подразбиране",
 | 
				
			||||||
 | 
					    "Apply on all existing monitors": "Приложи върху всички съществуващи монитори",
 | 
				
			||||||
 | 
					    Create: "Създай",
 | 
				
			||||||
 | 
					    "Clear Data": "Изчисти данни",
 | 
				
			||||||
 | 
					    Events: "Събития",
 | 
				
			||||||
 | 
					    Heartbeats: "Проверки",
 | 
				
			||||||
 | 
					    "Auto Get": "Автоматияно получаване",
 | 
				
			||||||
 | 
					    backupDescription: "Можете да архивирате всички монитори и всички известия в JSON файл.",
 | 
				
			||||||
 | 
					    backupDescription2: "PS: Данни за история и събития не са включени.",
 | 
				
			||||||
 | 
					    backupDescription3: "Чувствителни данни, като токен кодове за известяване, се съдържат в експортирания файл. Моля, бъдете внимателни с неговото съхранение.",
 | 
				
			||||||
 | 
					    alertNoFile: "Моля, изберете файл за импортиране.",
 | 
				
			||||||
 | 
					    alertWrongFileType: "Моля, изберете JSON файл.",
 | 
				
			||||||
 | 
					    "Clear all statistics": "Изчисти всички статистики",
 | 
				
			||||||
 | 
					    "Skip existing": "Пропусни съществуващите",
 | 
				
			||||||
 | 
					    Overwrite: "Презапиши",
 | 
				
			||||||
 | 
					    Options: "Опции",
 | 
				
			||||||
 | 
					    "Keep both": "Запази двете",
 | 
				
			||||||
 | 
					    "Verify Token": "Проверка на токен код",
 | 
				
			||||||
 | 
					    "Setup 2FA": "Настройка 2FA",
 | 
				
			||||||
 | 
					    "Enable 2FA": "Включи 2FA",
 | 
				
			||||||
 | 
					    "Disable 2FA": "Изключи 2FA",
 | 
				
			||||||
 | 
					    "2FA Settings": "Настройки 2FA",
 | 
				
			||||||
 | 
					    "Two Factor Authentication": "Двуфакторно удостоверяване",
 | 
				
			||||||
 | 
					    Active: "Активно",
 | 
				
			||||||
 | 
					    Inactive: "Неактивно",
 | 
				
			||||||
 | 
					    Token: "Токен код",
 | 
				
			||||||
 | 
					    "Show URI": "Покажи URI",
 | 
				
			||||||
 | 
					    Tags: "Етикети",
 | 
				
			||||||
 | 
					    "Add New below or Select...": "Добави нов по-долу или избери...",
 | 
				
			||||||
 | 
					    "Tag with this name already exist.": "Етикет с това име вече съществува.",
 | 
				
			||||||
 | 
					    "Tag with this value already exist.": "Етикет с тази стойност вече съществува.",
 | 
				
			||||||
 | 
					    color: "цвят",
 | 
				
			||||||
 | 
					    "value (optional)": "стойност (по желание)",
 | 
				
			||||||
 | 
					    Gray: "Сиво",
 | 
				
			||||||
 | 
					    Red: "Червено",
 | 
				
			||||||
 | 
					    Orange: "Оранжево",
 | 
				
			||||||
 | 
					    Green: "Зелено",
 | 
				
			||||||
 | 
					    Blue: "Синьо",
 | 
				
			||||||
 | 
					    Indigo: "Индиго",
 | 
				
			||||||
 | 
					    Purple: "Лилаво",
 | 
				
			||||||
 | 
					    Pink: "Розово",
 | 
				
			||||||
 | 
					    "Search...": "Търси...",
 | 
				
			||||||
 | 
					    "Avg. Ping": "Ср. пинг",
 | 
				
			||||||
 | 
					    "Avg. Response": "Ср. отговор",
 | 
				
			||||||
 | 
					    "Entry Page": "Основна страница",
 | 
				
			||||||
 | 
					    statusPageNothing: "Все още няма нищо тук. Моля, добавете група или монитор.",
 | 
				
			||||||
 | 
					    "No Services": "Няма Услуги",
 | 
				
			||||||
 | 
					    "All Systems Operational": "Всички системи функционират",
 | 
				
			||||||
 | 
					    "Partially Degraded Service": "Частично влошена услуга",
 | 
				
			||||||
 | 
					    "Degraded Service": "Влошена услуга",
 | 
				
			||||||
 | 
					    "Add Group": "Добави група",
 | 
				
			||||||
 | 
					    "Add a monitor": "Добави монитор",
 | 
				
			||||||
 | 
					    "Edit Status Page": "Редактирай статус страница",
 | 
				
			||||||
 | 
					    "Go to Dashboard": "Към Таблото",
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
@@ -126,57 +126,57 @@ export default {
 | 
				
			|||||||
    backupDescription3: "Følsom data, f.eks. underretnings-tokener, er inkluderet i eksportfilen. Gem den sikkert.",
 | 
					    backupDescription3: "Følsom data, f.eks. underretnings-tokener, er inkluderet i eksportfilen. Gem den sikkert.",
 | 
				
			||||||
    alertNoFile: "Vælg en fil der skal importeres.",
 | 
					    alertNoFile: "Vælg en fil der skal importeres.",
 | 
				
			||||||
    alertWrongFileType: "Vælg venligst en JSON-fil.",
 | 
					    alertWrongFileType: "Vælg venligst en JSON-fil.",
 | 
				
			||||||
    twoFAVerifyLabel: "Please type in your token to verify that 2FA is working",
 | 
					    twoFAVerifyLabel: "Indtast venligst dit token for at bekræfte, at 2FA fungerer",
 | 
				
			||||||
    tokenValidSettingsMsg: "Token is valid! You can now save the 2FA settings.",
 | 
					    tokenValidSettingsMsg: "Token er gyldigt! Du kan nu gemme 2FA -indstillingerne.",
 | 
				
			||||||
    confirmEnableTwoFAMsg: "Are you sure you want to enable 2FA?",
 | 
					    confirmEnableTwoFAMsg: "Er du sikker på at du vil aktivere 2FA?",
 | 
				
			||||||
    confirmDisableTwoFAMsg: "Are you sure you want to disable 2FA?",
 | 
					    confirmDisableTwoFAMsg: "Er du sikker på at du vil deaktivere 2FA?",
 | 
				
			||||||
    "Apply on all existing monitors": "Apply on all existing monitors",
 | 
					    "Apply on all existing monitors": "Anvend på alle eksisterende overvågere",
 | 
				
			||||||
    "Verify Token": "Verify Token",
 | 
					    "Verify Token": "Verificere Token",
 | 
				
			||||||
    "Setup 2FA": "Setup 2FA",
 | 
					    "Setup 2FA": "Opsæt 2FA",
 | 
				
			||||||
    "Enable 2FA": "Enable 2FA",
 | 
					    "Enable 2FA": "Aktiver 2FA",
 | 
				
			||||||
    "Disable 2FA": "Disable 2FA",
 | 
					    "Disable 2FA": "Deaktiver 2FA",
 | 
				
			||||||
    "2FA Settings": "2FA Settings",
 | 
					    "2FA Settings": "2FA Indstillinger",
 | 
				
			||||||
    "Two Factor Authentication": "Two Factor Authentication",
 | 
					    "Two Factor Authentication": "To-Faktor Autentificering",
 | 
				
			||||||
    Active: "Active",
 | 
					    Active: "Aktive",
 | 
				
			||||||
    Inactive: "Inactive",
 | 
					    Inactive: "Inaktive",
 | 
				
			||||||
    Token: "Token",
 | 
					    Token: "Token",
 | 
				
			||||||
    "Show URI": "Show URI",
 | 
					    "Show URI": "Vis URI",
 | 
				
			||||||
    "Clear all statistics": "Clear all Statistics",
 | 
					    "Clear all statistics": "Ryd alle Statistikker",
 | 
				
			||||||
    retryCheckEverySecond: "Retry every {0} seconds.",
 | 
					    retryCheckEverySecond: "Prøv igen hvert {0} sekund.",
 | 
				
			||||||
    importHandleDescription: "Choose 'Skip existing' if you want to skip every monitor or notification with the same name. 'Overwrite' will delete every existing monitor and notification.",
 | 
					    importHandleDescription: "Vælg 'Spring over eksisterende', hvis du vil springe over hver overvåger eller underretning med samme navn. 'Overskriv' sletter alle eksisterende overvågere og underretninger.",
 | 
				
			||||||
    confirmImportMsg: "Are you sure to import the backup? Please make sure you've selected the right import option.",
 | 
					    confirmImportMsg: "Er du sikker på at importere sikkerhedskopien? Sørg for, at du har valgt den rigtige importindstilling.",
 | 
				
			||||||
    "Heartbeat Retry Interval": "Heartbeat Retry Interval",
 | 
					    "Heartbeat Retry Interval": "Heartbeat Gentagelsesinterval",
 | 
				
			||||||
    "Import Backup": "Import Backup",
 | 
					    "Import Backup": "Importer Backup",
 | 
				
			||||||
    "Export Backup": "Export Backup",
 | 
					    "Export Backup": "Eksporter Backup",
 | 
				
			||||||
    "Skip existing": "Skip existing",
 | 
					    "Skip existing": "Spring over eksisterende",
 | 
				
			||||||
    Overwrite: "Overwrite",
 | 
					    Overwrite: "Overskriv",
 | 
				
			||||||
    Options: "Options",
 | 
					    Options: "Valgmuligheder",
 | 
				
			||||||
    "Keep both": "Keep both",
 | 
					    "Keep both": "Behold begge",
 | 
				
			||||||
    Tags: "Tags",
 | 
					    Tags: "Tags",
 | 
				
			||||||
    "Add New below or Select...": "Add New below or Select...",
 | 
					    "Add New below or Select...": "Tilføj Nyt nedenfor eller Vælg ...",
 | 
				
			||||||
    "Tag with this name already exist.": "Tag with this name already exist.",
 | 
					    "Tag with this name already exist.": "Et Tag med dette navn findes allerede.",
 | 
				
			||||||
    "Tag with this value already exist.": "Tag with this value already exist.",
 | 
					    "Tag with this value already exist.": "Et Tag med denne værdi findes allerede.",
 | 
				
			||||||
    color: "color",
 | 
					    color: "farve",
 | 
				
			||||||
    "value (optional)": "value (optional)",
 | 
					    "value (optional)": "værdi (valgfri)",
 | 
				
			||||||
    Gray: "Gray",
 | 
					    Gray: "Grå",
 | 
				
			||||||
    Red: "Red",
 | 
					    Red: "Rød",
 | 
				
			||||||
    Orange: "Orange",
 | 
					    Orange: "Orange",
 | 
				
			||||||
    Green: "Green",
 | 
					    Green: "Grøn",
 | 
				
			||||||
    Blue: "Blue",
 | 
					    Blue: "Blå",
 | 
				
			||||||
    Indigo: "Indigo",
 | 
					    Indigo: "Indigo",
 | 
				
			||||||
    Purple: "Purple",
 | 
					    Purple: "Lilla",
 | 
				
			||||||
    Pink: "Pink",
 | 
					    Pink: "Pink",
 | 
				
			||||||
    "Search...": "Search...",
 | 
					    "Search...": "Søg...",
 | 
				
			||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Gns. Ping",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Gns. Respons",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Entry Side",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    "statusPageNothing": "Intet her, tilføj venligst en Gruppe eller en Overvåger.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "Ingen Tjenester",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "Alle Systemer i Drift",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Delvist Forringet Service",
 | 
				
			||||||
    "Degraded Service": "Degraded Service",
 | 
					    "Degraded Service": "Forringet Service",
 | 
				
			||||||
    "Add Group": "Add Group",
 | 
					    "Add Group": "Tilføj Gruppe",
 | 
				
			||||||
    "Add a monitor": "Add a monitor",
 | 
					    "Add a monitor": "Tilføj en Overvåger",
 | 
				
			||||||
    "Edit Status Page": "Edit Status Page",
 | 
					    "Edit Status Page": "Rediger Statusside",
 | 
				
			||||||
    "Go to Dashboard": "Go to Dashboard",
 | 
					    "Go to Dashboard": "Gå til Dashboard",
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -169,7 +169,7 @@ export default {
 | 
				
			|||||||
    "Avg. Ping": "Durchsch. Ping",
 | 
					    "Avg. Ping": "Durchsch. Ping",
 | 
				
			||||||
    "Avg. Response": "Durchsch. Antwort",
 | 
					    "Avg. Response": "Durchsch. Antwort",
 | 
				
			||||||
    "Entry Page": "Einstiegsseite",
 | 
					    "Entry Page": "Einstiegsseite",
 | 
				
			||||||
    "statusPageNothing": "Nichts ist hier, bitte füge eine Gruppe oder Monitor hinzu.",
 | 
					    statusPageNothing: "Nichts ist hier, bitte füge eine Gruppe oder Monitor hinzu.",
 | 
				
			||||||
    "No Services": "Keine Dienste",
 | 
					    "No Services": "Keine Dienste",
 | 
				
			||||||
    "All Systems Operational": "Alle Systeme Betriebsbereit",
 | 
					    "All Systems Operational": "Alle Systeme Betriebsbereit",
 | 
				
			||||||
    "Partially Degraded Service": "Teilweise beeinträchtigter Dienst",
 | 
					    "Partially Degraded Service": "Teilweise beeinträchtigter Dienst",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -169,7 +169,7 @@ export default {
 | 
				
			|||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Avg. Ping",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Avg. Response",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Entry Page",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    statusPageNothing: "Nothing here, please add a group or a monitor.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "No Services",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "All Systems Operational",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Partially Degraded Service",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,7 +170,7 @@ export default {
 | 
				
			|||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Avg. Ping",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Avg. Response",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Entry Page",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    statusPageNothing: "Nothing here, please add a group or a monitor.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "No Services",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "All Systems Operational",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Partially Degraded Service",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,7 +170,7 @@ export default {
 | 
				
			|||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Avg. Ping",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Avg. Response",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Entry Page",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    statusPageNothing: "Nothing here, please add a group or a monitor.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "No Services",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "All Systems Operational",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Partially Degraded Service",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -109,74 +109,74 @@ export default {
 | 
				
			|||||||
    respTime: "Temps de réponse (ms)",
 | 
					    respTime: "Temps de réponse (ms)",
 | 
				
			||||||
    notAvailableShort: "N/A",
 | 
					    notAvailableShort: "N/A",
 | 
				
			||||||
    Create: "Créer",
 | 
					    Create: "Créer",
 | 
				
			||||||
    clearEventsMsg: "Are you sure want to delete all events for this monitor?",
 | 
					    clearEventsMsg: "Êtes-vous sûr de vouloir supprimer tous les événements pour cette sonde ?",
 | 
				
			||||||
    clearHeartbeatsMsg: "Are you sure want to delete all heartbeats for this monitor?",
 | 
					    clearHeartbeatsMsg: "Êtes-vous sûr de vouloir supprimer tous les vérifications pour cette sonde ? Are you sure want to delete all heartbeats for this monitor?",
 | 
				
			||||||
    confirmClearStatisticsMsg: "Are you sure want to delete ALL statistics?",
 | 
					    confirmClearStatisticsMsg: "tes-vous sûr de vouloir supprimer tous les statistiques ?",
 | 
				
			||||||
    "Clear Data": "Clear Data",
 | 
					    "Clear Data": "Effacer les données",
 | 
				
			||||||
    Events: "Events",
 | 
					    Events: "Evénements",
 | 
				
			||||||
    Heartbeats: "Heartbeats",
 | 
					    Heartbeats: "Vérfications",
 | 
				
			||||||
    "Auto Get": "Auto Get",
 | 
					    "Auto Get": "Auto Get",
 | 
				
			||||||
    enableDefaultNotificationDescription: "For every new monitor this notification will be enabled by default. You can still disable the notification separately for each monitor.",
 | 
					    enableDefaultNotificationDescription: "Pour chaque nouvelle sonde, cette notification sera activée par défaut. Vous pouvez toujours désactiver la notification séparément pour chaque sonde.",
 | 
				
			||||||
    "Default enabled": "Default enabled",
 | 
					    "Default enabled": "Activé par défaut",
 | 
				
			||||||
    "Also apply to existing monitors": "Also apply to existing monitors",
 | 
					    "Also apply to existing monitors": "S'applique également aux sondes existantes",
 | 
				
			||||||
    Export: "Export",
 | 
					    Export: "Exporter",
 | 
				
			||||||
    Import: "Import",
 | 
					    Import: "Importer",
 | 
				
			||||||
    backupDescription: "You can backup all monitors and all notifications into a JSON file.",
 | 
					    backupDescription: "Vous pouvez sauvegarder toutes les sondes et toutes les notifications dans un fichier JSON.",
 | 
				
			||||||
    backupDescription2: "PS: History and event data is not included.",
 | 
					    backupDescription2: "PS: Les données relatives à l'historique et aux événements ne sont pas incluses.",
 | 
				
			||||||
    backupDescription3: "Sensitive data such as notification tokens is included in the export file, please keep it carefully.",
 | 
					    backupDescription3: "Les données sensibles telles que les jetons de notification sont incluses dans le fichier d'exportation, veuillez les conserver soigneusement.",
 | 
				
			||||||
    alertNoFile: "Please select a file to import.",
 | 
					    alertNoFile: "Veuillez sélectionner un fichier à importer.",
 | 
				
			||||||
    alertWrongFileType: "Please select a JSON file.",
 | 
					    alertWrongFileType: "Veuillez sélectionner un fichier JSON à importer.",
 | 
				
			||||||
    twoFAVerifyLabel: "Please type in your token to verify that 2FA is working",
 | 
					    twoFAVerifyLabel: "Veuillez saisir votre jeton pour vérifier que le système 2FA fonctionne.",
 | 
				
			||||||
    tokenValidSettingsMsg: "Token is valid! You can now save the 2FA settings.",
 | 
					    tokenValidSettingsMsg: "Le jeton est valide ! Vous pouvez maintenant sauvegarder les paramètres 2FA.",
 | 
				
			||||||
    confirmEnableTwoFAMsg: "Are you sure you want to enable 2FA?",
 | 
					    confirmEnableTwoFAMsg: "Êtes-vous sûr de vouloir activer le 2FA ?",
 | 
				
			||||||
    confirmDisableTwoFAMsg: "Are you sure you want to disable 2FA?",
 | 
					    confirmDisableTwoFAMsg: "Êtes-vous sûr de vouloir désactiver le 2FA ?",
 | 
				
			||||||
    "Apply on all existing monitors": "Apply on all existing monitors",
 | 
					    "Apply on all existing monitors": "Appliquer sur toutes les sondes existantes",
 | 
				
			||||||
    "Verify Token": "Verify Token",
 | 
					    "Verify Token": "Vérifier le jeton",
 | 
				
			||||||
    "Setup 2FA": "Setup 2FA",
 | 
					    "Setup 2FA": "Configurer 2FA",
 | 
				
			||||||
    "Enable 2FA": "Enable 2FA",
 | 
					    "Enable 2FA": "Activer 2FA",
 | 
				
			||||||
    "Disable 2FA": "Disable 2FA",
 | 
					    "Disable 2FA": "Désactiver 2FA",
 | 
				
			||||||
    "2FA Settings": "2FA Settings",
 | 
					    "2FA Settings": "Paramètres 2FA",
 | 
				
			||||||
    "Two Factor Authentication": "Two Factor Authentication",
 | 
					    "Two Factor Authentication": "Authentification à deux facteurs",
 | 
				
			||||||
    Active: "Active",
 | 
					    Active: "Actif",
 | 
				
			||||||
    Inactive: "Inactive",
 | 
					    Inactive: "Inactif",
 | 
				
			||||||
    Token: "Token",
 | 
					    Token: "Jeton",
 | 
				
			||||||
    "Show URI": "Show URI",
 | 
					    "Show URI": "Afficher l'URI",
 | 
				
			||||||
    "Clear all statistics": "Clear all Statistics",
 | 
					    "Clear all statistics": "Effacer touutes les statistiques",
 | 
				
			||||||
    retryCheckEverySecond: "Retry every {0} seconds.",
 | 
					    retryCheckEverySecond: "Réessayer toutes les {0} secondes.",
 | 
				
			||||||
    importHandleDescription: "Choose 'Skip existing' if you want to skip every monitor or notification with the same name. 'Overwrite' will delete every existing monitor and notification.",
 | 
					    importHandleDescription: "Choisissez 'Ignorer l'existant' si vous voulez ignorer chaque sonde ou notification portant le même nom. L'option 'Écraser' supprime tous les sondes et notifications existantes.",
 | 
				
			||||||
    confirmImportMsg: "Are you sure to import the backup? Please make sure you've selected the right import option.",
 | 
					    confirmImportMsg: "Êtes-vous sûr d'importer la sauvegarde ? Veuillez vous assurer que vous avez sélectionné la bonne option d'importation.",
 | 
				
			||||||
    "Heartbeat Retry Interval": "Heartbeat Retry Interval",
 | 
					    "Heartbeat Retry Interval": "Réessayer l'intervale de vérification",
 | 
				
			||||||
    "Import Backup": "Import Backup",
 | 
					    "Import Backup": "Importation de la sauvegarde",
 | 
				
			||||||
    "Export Backup": "Export Backup",
 | 
					    "Export Backup": "Exportation de la sauvegarde",
 | 
				
			||||||
    "Skip existing": "Skip existing",
 | 
					    "Skip existing": "Sauter l'existant",
 | 
				
			||||||
    Overwrite: "Overwrite",
 | 
					    Overwrite: "Ecraser",
 | 
				
			||||||
    Options: "Options",
 | 
					    Options: "Options",
 | 
				
			||||||
    "Keep both": "Keep both",
 | 
					    "Keep both": "Garder les deux",
 | 
				
			||||||
    Tags: "Tags",
 | 
					    Tags: "Étiquettes",
 | 
				
			||||||
    "Add New below or Select...": "Add New below or Select...",
 | 
					    "Add New below or Select...": "Ajouter nouveau ci-dessous ou sélectionner...",
 | 
				
			||||||
    "Tag with this name already exist.": "Tag with this name already exist.",
 | 
					    "Tag with this name already exist.": "Une étiquette portant ce nom existe déjà.",
 | 
				
			||||||
    "Tag with this value already exist.": "Tag with this value already exist.",
 | 
					    "Tag with this value already exist.": "Une étiquette avec cette valeur existe déjà.",
 | 
				
			||||||
    color: "color",
 | 
					    color: "couleur",
 | 
				
			||||||
    "value (optional)": "value (optional)",
 | 
					    "value (optional)": "valeur (facultatif)",
 | 
				
			||||||
    Gray: "Gray",
 | 
					    Gray: "Gris",
 | 
				
			||||||
    Red: "Red",
 | 
					    Red: "Rouge",
 | 
				
			||||||
    Orange: "Orange",
 | 
					    Orange: "Orange",
 | 
				
			||||||
    Green: "Green",
 | 
					    Green: "Vert",
 | 
				
			||||||
    Blue: "Blue",
 | 
					    Blue: "Bleu",
 | 
				
			||||||
    Indigo: "Indigo",
 | 
					    Indigo: "Indigo",
 | 
				
			||||||
    Purple: "Purple",
 | 
					    Purple: "Violet",
 | 
				
			||||||
    Pink: "Pink",
 | 
					    Pink: "Rose",
 | 
				
			||||||
    "Search...": "Search...",
 | 
					    "Search...": "Rechercher...",
 | 
				
			||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Ping moyen",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Réponse moyenne",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Page d'accueil",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    "statusPageNothing": "Rien ici, veuillez ajouter un groupe ou une sonde.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "Aucun service",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "Tous les systèmes sont opérationnels",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Service partiellement dégradé",
 | 
				
			||||||
    "Degraded Service": "Degraded Service",
 | 
					    "Degraded Service": "Service dégradé",
 | 
				
			||||||
    "Add Group": "Add Group",
 | 
					    "Add Group": "Ajouter un groupe",
 | 
				
			||||||
    "Add a monitor": "Add a monitor",
 | 
					    "Add a monitor": "Ajouter une sonde",
 | 
				
			||||||
    "Edit Status Page": "Edit Status Page",
 | 
					    "Edit Status Page": "Modifier la page de statut",
 | 
				
			||||||
    "Go to Dashboard": "Go to Dashboard",
 | 
					    "Go to Dashboard": "Accéder au tableau de bord",
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -73,7 +73,7 @@ export default {
 | 
				
			|||||||
    "Heartbeat Retry Interval": "Intervallo tra un tentativo di controllo e l'altro",
 | 
					    "Heartbeat Retry Interval": "Intervallo tra un tentativo di controllo e l'altro",
 | 
				
			||||||
    Advanced: "Avanzate",
 | 
					    Advanced: "Avanzate",
 | 
				
			||||||
    "Upside Down Mode": "Modalità capovolta",
 | 
					    "Upside Down Mode": "Modalità capovolta",
 | 
				
			||||||
    "Max. Redirects": "Redirezionamenti massimi",
 | 
					    "Max. Redirects": "Reindirizzamenti massimi",
 | 
				
			||||||
    "Accepted Status Codes": "Codici di stato accettati",
 | 
					    "Accepted Status Codes": "Codici di stato accettati",
 | 
				
			||||||
    Save: "Salva",
 | 
					    Save: "Salva",
 | 
				
			||||||
    Notifications: "Notifiche",
 | 
					    Notifications: "Notifiche",
 | 
				
			||||||
@@ -166,16 +166,16 @@ export default {
 | 
				
			|||||||
    Purple: "Viola",
 | 
					    Purple: "Viola",
 | 
				
			||||||
    Pink: "Rosa",
 | 
					    Pink: "Rosa",
 | 
				
			||||||
    "Search...": "Cerca...",
 | 
					    "Search...": "Cerca...",
 | 
				
			||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Ping medio",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Risposta media",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Entry Page",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    "statusPageNothing": "Non c'è nulla qui, aggiungere un gruppo oppure un monitoraggio.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "Nessun Servizio",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "Tutti i sistemi sono operativi",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Servizio parzialmente degradato",
 | 
				
			||||||
    "Degraded Service": "Degraded Service",
 | 
					    "Degraded Service": "Servizio degradato",
 | 
				
			||||||
    "Add Group": "Add Group",
 | 
					    "Add Group": "Aggiungi Gruppo",
 | 
				
			||||||
    "Add a monitor": "Add a monitor",
 | 
					    "Add a monitor": "Aggiungi un monitoraggio",
 | 
				
			||||||
    "Edit Status Page": "Edit Status Page",
 | 
					    "Edit Status Page": "Modifica pagina di stato",
 | 
				
			||||||
    "Go to Dashboard": "Go to Dashboard",
 | 
					    "Go to Dashboard": "Vai al Cruscotto",
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,7 +170,7 @@ export default {
 | 
				
			|||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Avg. Ping",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Avg. Response",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Entry Page",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    statusPageNothing: "Nothing here, please add a group or a monitor.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "No Services",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "All Systems Operational",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Partially Degraded Service",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,7 +170,7 @@ export default {
 | 
				
			|||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Avg. Ping",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Avg. Response",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Entry Page",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    statusPageNothing: "Nothing here, please add a group or a monitor.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "No Services",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "All Systems Operational",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Partially Degraded Service",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -87,7 +87,7 @@ export default {
 | 
				
			|||||||
    "Allow indexing": "Indexering toestaan",
 | 
					    "Allow indexing": "Indexering toestaan",
 | 
				
			||||||
    "Discourage search engines from indexing site": "Ontmoedig zoekmachines om de site te indexeren",
 | 
					    "Discourage search engines from indexing site": "Ontmoedig zoekmachines om de site te indexeren",
 | 
				
			||||||
    "Change Password": "Verander wachtwoord",
 | 
					    "Change Password": "Verander wachtwoord",
 | 
				
			||||||
    "Current Password": "Huidig wachtwoord",
 | 
					    "Current Password": "Huidig wachtwoord",
 | 
				
			||||||
    "New Password": "Nieuw wachtwoord",
 | 
					    "New Password": "Nieuw wachtwoord",
 | 
				
			||||||
    "Repeat New Password": "Herhaal nieuw wachtwoord",
 | 
					    "Repeat New Password": "Herhaal nieuw wachtwoord",
 | 
				
			||||||
    "Update Password": "Vernieuw wachtwoord",
 | 
					    "Update Password": "Vernieuw wachtwoord",
 | 
				
			||||||
@@ -170,7 +170,7 @@ export default {
 | 
				
			|||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Avg. Ping",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Avg. Response",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Entry Page",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    statusPageNothing: "Nothing here, please add a group or a monitor.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "No Services",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "All Systems Operational",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Partially Degraded Service",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
export default {
 | 
					export default {
 | 
				
			||||||
    languageName: "Polski",
 | 
					    languageName: "Polski",
 | 
				
			||||||
    checkEverySecond: "Sprawdzaj co {0} sekund.",
 | 
					    checkEverySecond: "Sprawdzam co {0} sekund.",
 | 
				
			||||||
    retriesDescription: "Maksymalna liczba powtórzeń, zanim usługa zostanie oznaczona jako wyłączona i zostanie wysłane powiadomienie",
 | 
					    retriesDescription: "Maksymalna liczba powtórzeń, zanim usługa zostanie oznaczona jako wyłączona i zostanie wysłane powiadomienie",
 | 
				
			||||||
    ignoreTLSError: "Ignoruj błąd TLS/SSL dla stron HTTPS",
 | 
					    ignoreTLSError: "Ignoruj błąd 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.",
 | 
				
			||||||
@@ -169,14 +169,14 @@ export default {
 | 
				
			|||||||
    "Search...": "Szukaj...",
 | 
					    "Search...": "Szukaj...",
 | 
				
			||||||
    "Avg. Ping": "Średni ping",
 | 
					    "Avg. Ping": "Średni ping",
 | 
				
			||||||
    "Avg. Response": "Średnia odpowiedź",
 | 
					    "Avg. Response": "Średnia odpowiedź",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Wejdź na stronę",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    "statusPageNothing": "Nic tu nie ma, dodaj monitor lub grupę.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "Brak usług",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "Wszystkie systemy działają",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Częściowy błąd usługi",
 | 
				
			||||||
    "Degraded Service": "Degraded Service",
 | 
					    "Degraded Service": "Błąd usługi",
 | 
				
			||||||
    "Add Group": "Add Group",
 | 
					    "Add Group": "Dodaj grupę",
 | 
				
			||||||
    "Add a monitor": "Add a monitor",
 | 
					    "Add a monitor": "Dodaj monitoe",
 | 
				
			||||||
    "Edit Status Page": "Edit Status Page",
 | 
					    "Edit Status Page": "Edytuj stronę statusu",
 | 
				
			||||||
    "Go to Dashboard": "Go to Dashboard",
 | 
					    "Go to Dashboard": "Idź do panelu",
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,7 +170,7 @@ export default {
 | 
				
			|||||||
    "Avg. Response": "Resposta Média. ",
 | 
					    "Avg. Response": "Resposta Média. ",
 | 
				
			||||||
    "Status Page": "Página de Status",
 | 
					    "Status Page": "Página de Status",
 | 
				
			||||||
    "Entry Page": "Página de entrada",
 | 
					    "Entry Page": "Página de entrada",
 | 
				
			||||||
    "statusPageNothing": "Nada aqui, por favor, adicione um grupo ou monitor.",
 | 
					    statusPageNothing: "Nada aqui, por favor, adicione um grupo ou monitor.",
 | 
				
			||||||
    "No Services": "Nenhum Serviço",
 | 
					    "No Services": "Nenhum Serviço",
 | 
				
			||||||
    "All Systems Operational": "Todos os Serviços Operacionais",
 | 
					    "All Systems Operational": "Todos os Serviços Operacionais",
 | 
				
			||||||
    "Partially Degraded Service": "Serviço parcialmente degradado",
 | 
					    "Partially Degraded Service": "Serviço parcialmente degradado",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,11 @@
 | 
				
			|||||||
export default {
 | 
					export default {
 | 
				
			||||||
    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-ответе (чувствительно к регистру)",
 | 
				
			||||||
@@ -16,7 +16,7 @@ export default {
 | 
				
			|||||||
    rrtypeDescription: "Выберите тип ресурсной записи, который вы хотите отслеживать",
 | 
					    rrtypeDescription: "Выберите тип ресурсной записи, который вы хотите отслеживать",
 | 
				
			||||||
    pauseMonitorMsg: "Вы действительно хотите поставить на паузу?",
 | 
					    pauseMonitorMsg: "Вы действительно хотите поставить на паузу?",
 | 
				
			||||||
    Settings: "Настройки",
 | 
					    Settings: "Настройки",
 | 
				
			||||||
    Dashboard: "Панель",
 | 
					    Dashboard: "Панель мониторов",
 | 
				
			||||||
    "New Update": "Обновление",
 | 
					    "New Update": "Обновление",
 | 
				
			||||||
    Language: "Язык",
 | 
					    Language: "Язык",
 | 
				
			||||||
    Appearance: "Внешний вид",
 | 
					    Appearance: "Внешний вид",
 | 
				
			||||||
@@ -28,8 +28,8 @@ export default {
 | 
				
			|||||||
    Add: "Добавить",
 | 
					    Add: "Добавить",
 | 
				
			||||||
    "Add New Monitor": "Новый монитор",
 | 
					    "Add New Monitor": "Новый монитор",
 | 
				
			||||||
    "Quick Stats": "Статистика",
 | 
					    "Quick Stats": "Статистика",
 | 
				
			||||||
    Up: "Доступно",
 | 
					    Up: "Доступен",
 | 
				
			||||||
    Down: "Недоступно",
 | 
					    Down: "Н/Д",
 | 
				
			||||||
    Pending: "Ожидание",
 | 
					    Pending: "Ожидание",
 | 
				
			||||||
    Unknown: "Неизвестно",
 | 
					    Unknown: "Неизвестно",
 | 
				
			||||||
    Pause: "Пауза",
 | 
					    Pause: "Пауза",
 | 
				
			||||||
@@ -61,7 +61,7 @@ export default {
 | 
				
			|||||||
    Retries: "Попыток",
 | 
					    Retries: "Попыток",
 | 
				
			||||||
    Advanced: "Дополнительно",
 | 
					    Advanced: "Дополнительно",
 | 
				
			||||||
    "Upside Down Mode": "Режим реверса статуса",
 | 
					    "Upside Down Mode": "Режим реверса статуса",
 | 
				
			||||||
    "Max. Redirects": "Макс. перенаправлений",
 | 
					    "Max. Redirects": "Макс. количество перенаправлений",
 | 
				
			||||||
    "Accepted Status Codes": "Допустимые коды статуса",
 | 
					    "Accepted Status Codes": "Допустимые коды статуса",
 | 
				
			||||||
    Save: "Сохранить",
 | 
					    Save: "Сохранить",
 | 
				
			||||||
    Notifications: "Уведомления",
 | 
					    Notifications: "Уведомления",
 | 
				
			||||||
@@ -112,18 +112,18 @@ export default {
 | 
				
			|||||||
    clearEventsMsg: "Вы действительно хотите удалить всю статистику событий данного монитора?",
 | 
					    clearEventsMsg: "Вы действительно хотите удалить всю статистику событий данного монитора?",
 | 
				
			||||||
    clearHeartbeatsMsg: "Вы действительно хотите удалить всю статистику опросов данного монитора?",
 | 
					    clearHeartbeatsMsg: "Вы действительно хотите удалить всю статистику опросов данного монитора?",
 | 
				
			||||||
    confirmClearStatisticsMsg: "Вы действительно хотите удалить ВСЮ статистику?",
 | 
					    confirmClearStatisticsMsg: "Вы действительно хотите удалить ВСЮ статистику?",
 | 
				
			||||||
    "Clear Data": "Очистить статистику",
 | 
					    "Clear Data": "Удалить статистику",
 | 
				
			||||||
    Events: "События",
 | 
					    Events: "События",
 | 
				
			||||||
    Heartbeats: "Опросы",
 | 
					    Heartbeats: "Опросы",
 | 
				
			||||||
    "Auto Get": "Авто-получение",
 | 
					    "Auto Get": "Авто-получение",
 | 
				
			||||||
    enableDefaultNotificationDescription: "Для каждого нового монитора это уведомление будет включено по умолчанию. Вы всё ещё можете отключить уведомления в каждом мониторе отдельно.",
 | 
					    enableDefaultNotificationDescription: "Для каждого нового монитора это уведомление будет включено по умолчанию. Вы всё ещё можете отключить уведомления в каждом мониторе отдельно.",
 | 
				
			||||||
    "Default enabled": "Использовать по умолчанию",
 | 
					    "Default enabled": "Использовать по умолчанию",
 | 
				
			||||||
    "Also apply to existing monitors": "Применить к существующим мониторам",
 | 
					    "Also apply to existing monitors": "Применить к существующим мониторам",
 | 
				
			||||||
    Export: "Экспорт",
 | 
					    Export: "Резервная копия",
 | 
				
			||||||
    Import: "Импорт",
 | 
					    Import: "Восстановление",
 | 
				
			||||||
    backupDescription: "Вы можете сохранить резервную копию всех мониторов и уведомлений в виде JSON-файла",
 | 
					    backupDescription: "Вы можете сохранить резервную копию всех мониторов и уведомлений в виде JSON-файла",
 | 
				
			||||||
    backupDescription2: "P.S.: История и события сохранены не будут.",
 | 
					    backupDescription2: "P.S. История и события сохранены не будут",
 | 
				
			||||||
    backupDescription3: "Важные данные, такие как токены уведомлений, добавляются при экспорте, поэтому храните файлы в безопасном месте.",
 | 
					    backupDescription3: "Важные данные, такие как токены уведомлений, добавляются при экспорте, поэтому храните файлы в безопасном месте",
 | 
				
			||||||
    alertNoFile: "Выберите файл для импорта.",
 | 
					    alertNoFile: "Выберите файл для импорта.",
 | 
				
			||||||
    alertWrongFileType: "Выберите JSON-файл.",
 | 
					    alertWrongFileType: "Выберите JSON-файл.",
 | 
				
			||||||
    twoFAVerifyLabel: "Пожалуйста, введите свой токен, чтобы проверить работу 2FA",
 | 
					    twoFAVerifyLabel: "Пожалуйста, введите свой токен, чтобы проверить работу 2FA",
 | 
				
			||||||
@@ -141,19 +141,19 @@ export default {
 | 
				
			|||||||
    Inactive: "Неактивно",
 | 
					    Inactive: "Неактивно",
 | 
				
			||||||
    Token: "Токен",
 | 
					    Token: "Токен",
 | 
				
			||||||
    "Show URI": "Показать URI",
 | 
					    "Show URI": "Показать URI",
 | 
				
			||||||
    "Clear all statistics": "Очистить всю статистику",
 | 
					    "Clear all statistics": "Удалить всю статистику",
 | 
				
			||||||
    retryCheckEverySecond: "Повторять каждые {0} секунд.",
 | 
					    retryCheckEverySecond: "повторять каждые {0} секунд",
 | 
				
			||||||
    importHandleDescription: "Выберите 'Пропустить существующие' если вы хотите пропустить каждый монитор или уведомление с таким же именем. 'Перезаписать' удалит каждый существующий монитор или уведомление.",
 | 
					    importHandleDescription: "Выберите \"Пропустить существующие\", если вы хотите пропустить каждый монитор или уведомление с таким же именем. \"Перезаписать\" удалит каждый существующий монитор или уведомление и добавит заново. Вариант \"Не проверять\" принудительно восстанавливает все мониторы и уведомления, даже если они уже существуют.",
 | 
				
			||||||
    confirmImportMsg: "Вы действительно хотите восстановить резервную копию? Убедитесь, что вы выбрали подходящий вариант импорта.",
 | 
					    confirmImportMsg: "Вы действительно хотите восстановить резервную копию? Убедитесь, что вы выбрали подходящий вариант импорта.",
 | 
				
			||||||
    "Heartbeat Retry Interval": "Интервал повтора опроса",
 | 
					    "Heartbeat Retry Interval": "Интервал повтора опроса",
 | 
				
			||||||
    "Import Backup": "Импорт резервной копии",
 | 
					    "Import Backup": "Восстановление резервной копии",
 | 
				
			||||||
    "Export Backup": "Экспорт резервной копии",
 | 
					    "Export Backup": "Резервная копия",
 | 
				
			||||||
    "Skip existing": "Пропустить существующие",
 | 
					    "Skip existing": "Пропустить существующие",
 | 
				
			||||||
    Overwrite: "Перезаписать",
 | 
					    Overwrite: "Перезаписать",
 | 
				
			||||||
    Options: "Опции",
 | 
					    Options: "Опции",
 | 
				
			||||||
    "Keep both": "Оставить оба",
 | 
					    "Keep both": "Не проверять",
 | 
				
			||||||
    Tags: "Теги",
 | 
					    Tags: "Теги",
 | 
				
			||||||
    "Add New below or Select...": "Добавить новое ниже или выбрать...",
 | 
					    "Add New below or Select...": "Добавить новый или выбрать...",
 | 
				
			||||||
    "Tag with this name already exist.": "Такой тег уже существует.",
 | 
					    "Tag with this name already exist.": "Такой тег уже существует.",
 | 
				
			||||||
    "Tag with this value already exist.": "Тег с таким значением уже существует.",
 | 
					    "Tag with this value already exist.": "Тег с таким значением уже существует.",
 | 
				
			||||||
    color: "цвет",
 | 
					    color: "цвет",
 | 
				
			||||||
@@ -167,16 +167,21 @@ export default {
 | 
				
			|||||||
    Purple: "Пурпурный",
 | 
					    Purple: "Пурпурный",
 | 
				
			||||||
    Pink: "Розовый",
 | 
					    Pink: "Розовый",
 | 
				
			||||||
    "Search...": "Поиск...",
 | 
					    "Search...": "Поиск...",
 | 
				
			||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Средн. пинг",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Средн. ответ",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Главная страница",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    statusPageNothing: "Здесь пусто. Добавьте группу или монитор.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "Нет сервисов",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "Все сервисы работают",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Сервисы частично не работают",
 | 
				
			||||||
    "Degraded Service": "Degraded Service",
 | 
					    "Degraded Service": "Все сервисы не работают",
 | 
				
			||||||
    "Add Group": "Add Group",
 | 
					    "Add Group": "Добавить группу",
 | 
				
			||||||
    "Add a monitor": "Add a monitor",
 | 
					    "Add a monitor": "Добавить монитор",
 | 
				
			||||||
    "Edit Status Page": "Edit Status Page",
 | 
					    "Edit Status Page": "Редактировать",
 | 
				
			||||||
    "Go to Dashboard": "Go to Dashboard",
 | 
					    "Go to Dashboard": "Панель мониторов",
 | 
				
			||||||
 | 
					    "Status Page": "Статус сервисов",
 | 
				
			||||||
 | 
					    "Discard": "Отмена",
 | 
				
			||||||
 | 
					    "Create Incident": "Создать инцидент",
 | 
				
			||||||
 | 
					    "Switch to Dark Theme": "Тёмная тема",
 | 
				
			||||||
 | 
					    "Switch to Light Theme": "Светлая тема",
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,7 +170,7 @@ export default {
 | 
				
			|||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Avg. Ping",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Avg. Response",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Entry Page",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    statusPageNothing: "Nothing here, please add a group or a monitor.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "No Services",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "All Systems Operational",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Partially Degraded Service",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,7 +170,7 @@ export default {
 | 
				
			|||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Avg. Ping",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Avg. Response",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Entry Page",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    statusPageNothing: "Nothing here, please add a group or a monitor.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "No Services",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "All Systems Operational",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Partially Degraded Service",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,7 +170,7 @@ export default {
 | 
				
			|||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Avg. Ping",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Avg. Response",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Entry Page",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    statusPageNothing: "Nothing here, please add a group or a monitor.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "No Services",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "All Systems Operational",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Partially Degraded Service",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -169,7 +169,7 @@ export default {
 | 
				
			|||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Avg. Ping",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Avg. Response",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Entry Page",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    statusPageNothing: "Nothing here, please add a group or a monitor.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "No Services",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "All Systems Operational",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Partially Degraded Service",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -126,57 +126,57 @@ export default {
 | 
				
			|||||||
    backupDescription3: "导出的文件中可能包含敏感信息,如消息通知的 Token 信息,请小心存放!",
 | 
					    backupDescription3: "导出的文件中可能包含敏感信息,如消息通知的 Token 信息,请小心存放!",
 | 
				
			||||||
    alertNoFile: "请选择一个文件导入",
 | 
					    alertNoFile: "请选择一个文件导入",
 | 
				
			||||||
    alertWrongFileType: "请选择一个 JSON 格式的文件",
 | 
					    alertWrongFileType: "请选择一个 JSON 格式的文件",
 | 
				
			||||||
    twoFAVerifyLabel: "Please type in your token to verify that 2FA is working",
 | 
					    twoFAVerifyLabel: "请输入Token以验证2FA(二次验证)是否正常工作",
 | 
				
			||||||
    tokenValidSettingsMsg: "Token is valid! You can now save the 2FA settings.",
 | 
					    tokenValidSettingsMsg: "Token有效!您现在可以保存2FA(二次验证)设置",
 | 
				
			||||||
    confirmEnableTwoFAMsg: "Are you sure you want to enable 2FA?",
 | 
					    confirmEnableTwoFAMsg: "确定要启用2FA(二次验证)吗?",
 | 
				
			||||||
    confirmDisableTwoFAMsg: "Are you sure you want to disable 2FA?",
 | 
					    confirmDisableTwoFAMsg: "确定要禁用2FA(二次验证)吗?",
 | 
				
			||||||
    "Apply on all existing monitors": "应用到所有监控项",
 | 
					    "Apply on all existing monitors": "应用到所有监控项",
 | 
				
			||||||
    "Verify Token": "Verify Token",
 | 
					    "Verify Token": "验证Token",
 | 
				
			||||||
    "Setup 2FA": "Setup 2FA",
 | 
					    "Setup 2FA": "设置2FA",
 | 
				
			||||||
    "Enable 2FA": "Enable 2FA",
 | 
					    "Enable 2FA": "启用2FA",
 | 
				
			||||||
    "Disable 2FA": "Disable 2FA",
 | 
					    "Disable 2FA": "禁用2FA",
 | 
				
			||||||
    "2FA Settings": "2FA Settings",
 | 
					    "2FA Settings": "2FA设置",
 | 
				
			||||||
    "Two Factor Authentication": "Two Factor Authentication",
 | 
					    "Two Factor Authentication": "双因素认证",
 | 
				
			||||||
    Active: "Active",
 | 
					    Active: "有效",
 | 
				
			||||||
    Inactive: "Inactive",
 | 
					    Inactive: "无效",
 | 
				
			||||||
    Token: "Token",
 | 
					    Token: "Token",
 | 
				
			||||||
    "Show URI": "Show URI",
 | 
					    "Show URI": "显示URI",
 | 
				
			||||||
    "Clear all statistics": "Clear all Statistics",
 | 
					    "Clear all statistics": "清除所有统计数据",
 | 
				
			||||||
    retryCheckEverySecond: "Retry every {0} seconds.",
 | 
					    retryCheckEverySecond: "重试间隔 {0} 秒",
 | 
				
			||||||
    importHandleDescription: "Choose 'Skip existing' if you want to skip every monitor or notification with the same name. 'Overwrite' will delete every existing monitor and notification.",
 | 
					    importHandleDescription: "如果想跳过同名的监控项或通知,请选择“跳过”;“覆盖”将删除所有现有的监控项和通知。",
 | 
				
			||||||
    confirmImportMsg: "Are you sure to import the backup? Please make sure you've selected the right import option.",
 | 
					    confirmImportMsg: "确定要导入备份吗?请确保已经选择了正确的导入选项。",
 | 
				
			||||||
    "Heartbeat Retry Interval": "Heartbeat Retry Interval",
 | 
					    "Heartbeat Retry Interval": "心跳重试间隔",
 | 
				
			||||||
    "Import Backup": "Import Backup",
 | 
					    "Import Backup": "导入备份",
 | 
				
			||||||
    "Export Backup": "Export Backup",
 | 
					    "Export Backup": "导出备份",
 | 
				
			||||||
    "Skip existing": "Skip existing",
 | 
					    "Skip existing": "跳过",
 | 
				
			||||||
    Overwrite: "Overwrite",
 | 
					    Overwrite: "覆盖",
 | 
				
			||||||
    Options: "Options",
 | 
					    Options: "选项",
 | 
				
			||||||
    "Keep both": "Keep both",
 | 
					    "Keep both": "全部保留",
 | 
				
			||||||
    Tags: "Tags",
 | 
					    Tags: "标签",
 | 
				
			||||||
    "Add New below or Select...": "Add New below or Select...",
 | 
					    "Add New below or Select...": "在下面新增或选择...",
 | 
				
			||||||
    "Tag with this name already exist.": "Tag with this name already exist.",
 | 
					    "Tag with this name already exist.": "相同名称的标签已存在",
 | 
				
			||||||
    "Tag with this value already exist.": "Tag with this value already exist.",
 | 
					    "Tag with this value already exist.": "相同内容的标签已存在",
 | 
				
			||||||
    color: "color",
 | 
					    color: "颜色",
 | 
				
			||||||
    "value (optional)": "value (optional)",
 | 
					    "value (optional)": "值(可选)",
 | 
				
			||||||
    Gray: "Gray",
 | 
					    Gray: "灰色",
 | 
				
			||||||
    Red: "Red",
 | 
					    Red: "红色",
 | 
				
			||||||
    Orange: "Orange",
 | 
					    Orange: "橙色",
 | 
				
			||||||
    Green: "Green",
 | 
					    Green: "绿色",
 | 
				
			||||||
    Blue: "Blue",
 | 
					    Blue: "蓝色",
 | 
				
			||||||
    Indigo: "Indigo",
 | 
					    Indigo: "靛蓝",
 | 
				
			||||||
    Purple: "Purple",
 | 
					    Purple: "紫色",
 | 
				
			||||||
    Pink: "Pink",
 | 
					    Pink: "粉色",
 | 
				
			||||||
    "Search...": "Search...",
 | 
					    "Search...": "搜索...",
 | 
				
			||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "平均Ping",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "平均响应",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "入口页面",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    "statusPageNothing": "这里什么也没有,请添加一个分组或一个监控项。",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "无服务",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "所有服务运行正常",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "部分服务出现故障",
 | 
				
			||||||
    "Degraded Service": "Degraded Service",
 | 
					    "Degraded Service": "全部服务出现故障",
 | 
				
			||||||
    "Add Group": "Add Group",
 | 
					    "Add Group": "新建分组",
 | 
				
			||||||
    "Add a monitor": "Add a monitor",
 | 
					    "Add a monitor": "添加监控项",
 | 
				
			||||||
    "Edit Status Page": "Edit Status Page",
 | 
					    "Edit Status Page": "编辑状态页",
 | 
				
			||||||
    "Go to Dashboard": "Go to Dashboard",
 | 
					    "Go to Dashboard": "前往仪表盘",
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,7 +170,7 @@ export default {
 | 
				
			|||||||
    "Avg. Ping": "Avg. Ping",
 | 
					    "Avg. Ping": "Avg. Ping",
 | 
				
			||||||
    "Avg. Response": "Avg. Response",
 | 
					    "Avg. Response": "Avg. Response",
 | 
				
			||||||
    "Entry Page": "Entry Page",
 | 
					    "Entry Page": "Entry Page",
 | 
				
			||||||
    "statusPageNothing": "Nothing here, please add a group or a monitor.",
 | 
					    statusPageNothing: "Nothing here, please add a group or a monitor.",
 | 
				
			||||||
    "No Services": "No Services",
 | 
					    "No Services": "No Services",
 | 
				
			||||||
    "All Systems Operational": "All Systems Operational",
 | 
					    "All Systems Operational": "All Systems Operational",
 | 
				
			||||||
    "Partially Degraded Service": "Partially Degraded Service",
 | 
					    "Partially Degraded Service": "Partially Degraded Service",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -322,6 +322,12 @@
 | 
				
			|||||||
                    <p>لطفا از این امکان با دقت استفاده کنید.</p>
 | 
					                    <p>لطفا از این امکان با دقت استفاده کنید.</p>
 | 
				
			||||||
                </template>
 | 
					                </template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                <template v-else-if="$i18n.locale === 'bg-BG' ">
 | 
				
			||||||
 | 
					                    <p>Сигурни ли сте, че желаете да <strong>изключите удостоверяването</strong>?</p>
 | 
				
			||||||
 | 
					                    <p>Използва се в случаите, когато <strong>има настроен алтернативен метод за удостоверяване</strong> преди Uptime Kuma, например Cloudflare Access.</p>
 | 
				
			||||||
 | 
					                    <p>Моля, използвайте внимателно.</p>
 | 
				
			||||||
 | 
					                </template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                <!-- English (en) -->
 | 
					                <!-- English (en) -->
 | 
				
			||||||
                <template v-else>
 | 
					                <template v-else>
 | 
				
			||||||
                    <p>Are you sure want to <strong>disable auth</strong>?</p>
 | 
					                    <p>Are you sure want to <strong>disable auth</strong>?</p>
 | 
				
			||||||
@@ -350,8 +356,9 @@ import TwoFADialog from "../components/TwoFADialog.vue";
 | 
				
			|||||||
dayjs.extend(utc);
 | 
					dayjs.extend(utc);
 | 
				
			||||||
dayjs.extend(timezone);
 | 
					dayjs.extend(timezone);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { timezoneList } from "../util-frontend";
 | 
					import { timezoneList, setPageLocale } from "../util-frontend";
 | 
				
			||||||
import { useToast } from "vue-toastification";
 | 
					import { useToast } from "vue-toastification";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const toast = useToast();
 | 
					const toast = useToast();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
@@ -387,6 +394,7 @@ export default {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        "$i18n.locale"() {
 | 
					        "$i18n.locale"() {
 | 
				
			||||||
            localStorage.locale = this.$i18n.locale;
 | 
					            localStorage.locale = this.$i18n.locale;
 | 
				
			||||||
 | 
					            setPageLocale()
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,7 @@ import dayjs from "dayjs";
 | 
				
			|||||||
import timezone from "dayjs/plugin/timezone";
 | 
					import timezone from "dayjs/plugin/timezone";
 | 
				
			||||||
import utc from "dayjs/plugin/utc";
 | 
					import utc from "dayjs/plugin/utc";
 | 
				
			||||||
import timezones from "timezones-list";
 | 
					import timezones from "timezones-list";
 | 
				
			||||||
 | 
					import { localeDirection, currentLocale } from "./i18n";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dayjs.extend(utc);
 | 
					dayjs.extend(utc);
 | 
				
			||||||
dayjs.extend(timezone);
 | 
					dayjs.extend(timezone);
 | 
				
			||||||
@@ -30,7 +31,7 @@ export function timezoneList() {
 | 
				
			|||||||
                time: getTimezoneOffset(timezone.tzCode),
 | 
					                time: getTimezoneOffset(timezone.tzCode),
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
        } catch (e) {
 | 
					        } catch (e) {
 | 
				
			||||||
            console.log("Skip Timezone: " + timezone.tzCode);
 | 
					            // Skipping not supported timezone.tzCode by dayjs
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -48,3 +49,9 @@ export function timezoneList() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    return result;
 | 
					    return result;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function setPageLocale() {
 | 
				
			||||||
 | 
					    const html = document.documentElement 
 | 
				
			||||||
 | 
					    html.setAttribute('lang', currentLocale() )
 | 
				
			||||||
 | 
					    html.setAttribute('dir', localeDirection() )
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
		Reference in New Issue
	
	Block a user