Rename work 🏗

This commit is contained in:
jokob-sk
2024-04-12 19:44:29 +10:00
parent b003df323d
commit 5cb7553ed5
151 changed files with 2070 additions and 1735 deletions

View File

@@ -16,5 +16,4 @@ CONTRIBUTING
FUNDING.yml FUNDING.yml
config/.gitignore config/.gitignore
db/.gitignore db/.gitignore
pialert/README.md
pialert/README_ES.md

View File

@@ -34,9 +34,9 @@ body:
required: false required: false
- type: textarea - type: textarea
attributes: attributes:
label: pialert.conf label: app.conf
description: | description: |
Paste your `pialert.conf` (remove personal info) Paste your `app.conf` (remove personal info)
render: python render: python
validations: validations:
required: false required: false
@@ -58,13 +58,13 @@ body:
required: true required: true
- type: textarea - type: textarea
attributes: attributes:
label: pialert.log label: app.log
description: | description: |
Logs with debug enabled (https://github.com/jokob-sk/NetAlertX/blob/main/docs/DEBUG_TIPS.md) ⚠ Logs with debug enabled (https://github.com/jokob-sk/NetAlertX/blob/main/docs/DEBUG_TIPS.md) ⚠
***Generally speaking, all bug reports should have logs provided.*** ***Generally speaking, all bug reports should have logs provided.***
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
Additionally, any additional info? Screenshots? References? Anything that will give us more context about the issue you are encountering! Additionally, any additional info? Screenshots? References? Anything that will give us more context about the issue you are encountering!
You can use `tail -100 /home/pi/pialert/front/log/pialert.log` in teh container if you have troubles getting to the log files. You can use `tail -100 /app/front/log/app.log` in the container if you have troubles getting to the log files.
validations: validations:
required: false required: false
- type: checkboxes - type: checkboxes

View File

@@ -4,8 +4,8 @@ on:
workflow_dispatch: # manual option workflow_dispatch: # manual option
schedule: # schedule:
- cron: '15 22 * * 1' # every Monday 10.15pm UTC (~11.15am Tuesday NZT) # - cron: '15 22 * * 1' # every Monday 10.15pm UTC (~11.15am Tuesday NZT)
jobs: jobs:

2
.gitignore vendored
View File

@@ -2,8 +2,10 @@
.DS_Store .DS_Store
config/* config/*
config/pialert.conf config/pialert.conf
config/app.conf
db/* db/*
db/pialert.db db/pialert.db
db/app.db
front/log/* front/log/*
front/api/* front/api/*
**/plugins/**/*.log **/plugins/**/*.log

View File

@@ -1,6 +1,7 @@
FROM alpine:3.19 as builder FROM alpine:3.19 as builder
ARG INSTALL_DIR=/home/pi ARG INSTALL_DIR=/app
ENV PYTHONUNBUFFERED 1 ENV PYTHONUNBUFFERED 1
RUN apk add --no-cache bash python3 \ RUN apk add --no-cache bash python3 \
@@ -9,7 +10,7 @@ RUN apk add --no-cache bash python3 \
# Enable venv # Enable venv
ENV PATH="/opt/venv/bin:$PATH" ENV PATH="/opt/venv/bin:$PATH"
COPY . ${INSTALL_DIR}/pialert/ COPY . ${INSTALL_DIR}/
RUN pip install requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet \ RUN pip install requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet \
&& bash -c "find ${INSTALL_DIR} -type d -exec chmod 750 {} \;" \ && bash -c "find ${INSTALL_DIR} -type d -exec chmod 750 {} \;" \
@@ -19,7 +20,7 @@ RUN pip install requests paho-mqtt scapy cron-converter pytz json2table dhcp-lea
# second stage # second stage
FROM alpine:3.19 as runner FROM alpine:3.19 as runner
ARG INSTALL_DIR=/home/pi ARG INSTALL_DIR=/app
COPY --from=builder /opt/venv /opt/venv COPY --from=builder /opt/venv /opt/venv
@@ -40,12 +41,12 @@ RUN apk update --no-cache \
&& apk add --no-cache sqlite php82 php82-fpm php82-cgi php82-curl php82-sqlite3 php82-session \ && apk add --no-cache sqlite php82 php82-fpm php82-cgi php82-curl php82-sqlite3 php82-session \
&& apk add --no-cache python3 nginx \ && apk add --no-cache python3 nginx \
&& ln -s /usr/bin/awake /usr/bin/wakeonlan \ && ln -s /usr/bin/awake /usr/bin/wakeonlan \
&& bash -c "install -d -m 750 -o nginx -g www-data ${INSTALL_DIR} ${INSTALL_DIR}/pialert" \ && bash -c "install -d -m 750 -o nginx -g www-data ${INSTALL_DIR} ${INSTALL_DIR}" \
&& rm -f /etc/nginx/http.d/default.conf && rm -f /etc/nginx/http.d/default.conf
COPY --from=builder --chown=nginx:www-data ${INSTALL_DIR}/pialert/ ${INSTALL_DIR}/pialert/ COPY --from=builder --chown=nginx:www-data ${INSTALL_DIR}/ ${INSTALL_DIR}/
RUN ${INSTALL_DIR}/pialert/dockerfiles/pre-setup.sh RUN ${INSTALL_DIR}/dockerfiles/pre-setup.sh
HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=2 \ HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=2 \
CMD curl -sf -o /dev/null ${LISTEN_ADDR}:${PORT}/api/app_state.json CMD curl -sf -o /dev/null ${LISTEN_ADDR}:${PORT}/api/app_state.json

View File

@@ -10,6 +10,7 @@ ENV USER=pi USER_ID=1000 USER_GID=1000 PORT=20211
RUN apt-get update RUN apt-get update
RUN apt-get install sudo -y RUN apt-get install sudo -y
ARG INSTALL_DIR=/app
# create pi user and group # create pi user and group
# add root and www-data to pi group so they can r/w files and db # add root and www-data to pi group so they can r/w files and db
@@ -23,7 +24,7 @@ RUN groupadd --gid "${USER_GID}" "${USER}" && \
usermod -a -G ${USER_GID} root && \ usermod -a -G ${USER_GID} root && \
usermod -a -G ${USER_GID} www-data usermod -a -G ${USER_GID} www-data
COPY --chmod=775 --chown=${USER_ID}:${USER_GID} . /home/pi/pialert/ COPY --chmod=775 --chown=${USER_ID}:${USER_GID} . ${INSTALL_DIR}/
# ❗ IMPORTANT - if you modify this file modify the /install/install_dependecies.debian.sh file as well ❗ # ❗ IMPORTANT - if you modify this file modify the /install/install_dependecies.debian.sh file as well ❗
@@ -43,8 +44,8 @@ RUN python3 -m venv myenv
RUN /bin/bash -c "source myenv/bin/activate && update-alternatives --install /usr/bin/python python /usr/bin/python3 10 && pip3 install requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet" RUN /bin/bash -c "source myenv/bin/activate && update-alternatives --install /usr/bin/python python /usr/bin/python3 10 && pip3 install requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet"
# Create a buildtimestamp.txt to later check if a new version was released # Create a buildtimestamp.txt to later check if a new version was released
RUN date +%s > /home/pi/pialert/front/buildtimestamp.txt RUN date +%s > ${INSTALL_DIR}/front/buildtimestamp.txt
CMD ["/home/pi/pialert/install/start.debian.sh"] CMD ["${INSTALL_DIR}/install/start.debian.sh"]

View File

@@ -74,7 +74,9 @@ Get visibility of what's going on on your WIFI/LAN network. Schedule scans for d
[![GitHub Sponsors](https://img.shields.io/github/sponsors/jokob-sk?style=social)](https://github.com/sponsors/jokob-sk) [![GitHub Sponsors](https://img.shields.io/github/sponsors/jokob-sk?style=social)](https://github.com/sponsors/jokob-sk)
Thank you to all the wonderful people who are sponsoring this project (=preventing my burnout🔥🤯): Thank you to all the wonderful people who are sponsoring this project.
> preventing my burnout😅 are:
<!-- SPONSORS-LIST DO NOT MODIFY BELOW --> <!-- SPONSORS-LIST DO NOT MODIFY BELOW -->
| All Sponsors | | All Sponsors |

View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT=$(readlink -f $0) SCRIPT=$(readlink -f $0)
SCRIPTPATH=`dirname $SCRIPT` SCRIPTPATH=`dirname $SCRIPT`
CONFFILENAME="pialert.conf" CONFFILENAME="app.conf"
PIA_CONF_FILE=${SCRIPTPATH}'/../config/${CONFFILENAME}' PIA_CONF_FILE=${SCRIPTPATH}'/../config/${CONFFILENAME}'
case $1 in case $1 in

View File

@@ -13,7 +13,7 @@
<table align=center width=100% cellpadding=0 cellspacing=0 style="border-radius: 5px;"> <table align=center width=100% cellpadding=0 cellspacing=0 style="border-radius: 5px;">
<tr> <tr>
<td bgcolor=#3c8dbc align=center style="padding: 20px 10px 10px 10px; font-size: 30px; font-weight: bold; color:#ffffff; border-top-right-radius: 5px; border-top-left-radius: 5px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2)"> <td bgcolor=#3c8dbc align=center style="padding: 20px 10px 10px 10px; font-size: 30px; font-weight: bold; color:#ffffff; border-top-right-radius: 5px; border-top-left-radius: 5px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2)">
NetAlertX Report Net Alert<sup>x</sup>
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@@ -22,7 +22,7 @@
<table align=center width=100% cellpadding=0 cellspacing=0 style="border-radius: 5px;"> <table align=center width=100% cellpadding=0 cellspacing=0 style="border-radius: 5px;">
<tr> <tr>
<td bgcolor=#3c8dbc align=center style="padding: 20px 10px 10px 10px; font-size: 30px; font-weight: bold; color:#ffffff; border-top-right-radius: 5px; border-top-left-radius: 5px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2)"> <td bgcolor=#3c8dbc align=center style="padding: 20px 10px 10px 10px; font-size: 30px; font-weight: bold; color:#ffffff; border-top-right-radius: 5px; border-top-left-radius: 5px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2)">
NetAlertX Report Net Alert<sup>x</sup>
</td> </td>
</tr> </tr>
@@ -55,7 +55,7 @@
<a href="https://github.com/jokob-sk/NetAlertX" target="_blank" style="color: white">NetAlertX</a> <a href="https://github.com/jokob-sk/NetAlertX" target="_blank" style="color: white">NetAlertX</a>
<a href=".." target="_blank" style="color: white"> (<SERVER_NAME>)</a> <a href=".." target="_blank" style="color: white"> (<SERVER_NAME>)</a>
<br><span style="display:inline-block;color: white; transform: rotate(180deg)">&copy;</span>2020 Puche (2022+ <br><span style="display:inline-block;color: white; transform: rotate(180deg)">&copy;</span>2020 Puche (2022+
<a style="color: white" href="mailto:jokob@duck.com?subject=NetAlertX">jokob-sk</a>) | <b>Built on: <BUILD_PIALERT> </b> | <b> Version: <VERSION_PIALERT> </b> | <a style="color: white" href="mailto:jokob@duck.com?subject=NetAlertX">jokob-sk</a>) | <b>Built on: <BUILD_DATE> </b> | <b> Version: <BUILD_VERSION> </b> |
<a href="https://github.com/jokob-sk/NetAlertX/tree/main/docs" target="_blank" style="color: white"> <a href="https://github.com/jokob-sk/NetAlertX/tree/main/docs" target="_blank" style="color: white">
<span>Docs <i class="fa fa-circle-question"></i> <span>Docs <i class="fa fa-circle-question"></i>
</a><span> </a><span>

View File

@@ -22,7 +22,7 @@
<table align=center width=100% cellpadding=0 cellspacing=0 style="border-radius: 5px;"> <table align=center width=100% cellpadding=0 cellspacing=0 style="border-radius: 5px;">
<tr> <tr>
<td bgcolor=#3c8dbc align=center style="padding: 20px 10px 10px 10px; font-size: 30px; font-weight: bold; color:#ffffff; border-top-right-radius: 5px; border-top-left-radius: 5px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2)"> <td bgcolor=#3c8dbc align=center style="padding: 20px 10px 10px 10px; font-size: 30px; font-weight: bold; color:#ffffff; border-top-right-radius: 5px; border-top-left-radius: 5px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2)">
NetAlertX Report Net Alert<sup>x</sup> Report
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -59,7 +59,7 @@
<a href="https://github.com/jokob-sk/NetAlertX" target="_blank" style="color: white">NetAlertX</a> <a href="https://github.com/jokob-sk/NetAlertX" target="_blank" style="color: white">NetAlertX</a>
<a href=".." target="_blank" style="color: white"> (<SERVER_NAME>)</a> <a href=".." target="_blank" style="color: white"> (<SERVER_NAME>)</a>
<br><span style="display:inline-block;color: white; transform: rotate(180deg)">&copy;</span>2020 Puche (2022+ <br><span style="display:inline-block;color: white; transform: rotate(180deg)">&copy;</span>2020 Puche (2022+
<a style="color: white" href="mailto:jokob@duck.com?subject=NetAlertX">jokob-sk</a>) | <b>Built on: <BUILD_PIALERT> </b> | <b> Version: <VERSION_PIALERT> </b> | <a style="color: white" href="mailto:jokob@duck.com?subject=NetAlertX">jokob-sk</a>) | <b>Built on: <BUILD_DATE> </b> | <b> Version: <BUILD_VERSION> </b> |
<a href="https://github.com/jokob-sk/NetAlertX/tree/main/docs" target="_blank" style="color: white"> <a href="https://github.com/jokob-sk/NetAlertX/tree/main/docs" target="_blank" style="color: white">
<span>Docs <i class="fa fa-circle-question"></i> <span>Docs <i class="fa fa-circle-question"></i>
</a><span> </a><span>

View File

@@ -11,12 +11,14 @@ services:
network_mode: host network_mode: host
# restart: unless-stopped # restart: unless-stopped
volumes: volumes:
# - ${APP_DATA_LOCATION}/netalertx_dev/config:/home/pi/pialert/config # - ${APP_DATA_LOCATION}/netalertx_dev/config:/app/config
# - ${APP_DATA_LOCATION}/netalertx/config:/app/config
- ${APP_DATA_LOCATION}/netalertx/config:/home/pi/pialert/config - ${APP_DATA_LOCATION}/netalertx/config:/home/pi/pialert/config
# - ${APP_DATA_LOCATION}/netalertx_dev/db:/home/pi/pialert/db # - ${APP_DATA_LOCATION}/netalertx_dev/db:/app/db
# - ${APP_DATA_LOCATION}/netalertx/db:/app/db
- ${APP_DATA_LOCATION}/netalertx/db:/home/pi/pialert/db - ${APP_DATA_LOCATION}/netalertx/db:/home/pi/pialert/db
# (optional) useful for debugging if you have issues setting up the container # (optional) useful for debugging if you have issues setting up the container
# - ${LOGS_LOCATION}:/home/pi/pialert/front/log # - ${LOGS_LOCATION}:/app/front/log
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# DELETE START anyone trying to use this file: comment out / delete BELOW lines, they are only for development purposes # DELETE START anyone trying to use this file: comment out / delete BELOW lines, they are only for development purposes
- ${APP_DATA_LOCATION}/netalertx/dhcp_samples/dhcp1.leases:/mnt/dhcp1.leases - ${APP_DATA_LOCATION}/netalertx/dhcp_samples/dhcp1.leases:/mnt/dhcp1.leases
@@ -24,39 +26,40 @@ services:
- ${APP_DATA_LOCATION}/netalertx/dhcp_samples/pihole_dhcp_full.leases:/etc/pihole/dhcp.leases - ${APP_DATA_LOCATION}/netalertx/dhcp_samples/pihole_dhcp_full.leases:/etc/pihole/dhcp.leases
- ${APP_DATA_LOCATION}/netalertx/dhcp_samples/pihole_dhcp_2.leases:/etc/pihole/dhcp2.leases - ${APP_DATA_LOCATION}/netalertx/dhcp_samples/pihole_dhcp_2.leases:/etc/pihole/dhcp2.leases
- ${APP_DATA_LOCATION}/pihole/etc-pihole/pihole-FTL.db:/etc/pihole/pihole-FTL.db - ${APP_DATA_LOCATION}/pihole/etc-pihole/pihole-FTL.db:/etc/pihole/pihole-FTL.db
- ${DEV_LOCATION}/netalertx:/home/pi/pialert/netalertx - ${DEV_LOCATION}/server:/app/server
- ${DEV_LOCATION}/dockerfiles:/home/pi/pialert/dockerfiles - ${DEV_LOCATION}/dockerfiles:/app/dockerfiles
- ${APP_DATA_LOCATION}/netalertx/php.ini:/etc/php/8.2/fpm/php.ini - ${APP_DATA_LOCATION}/netalertx/php.ini:/etc/php/8.2/fpm/php.ini
- ${DEV_LOCATION}/install:/home/pi/pialert/install - ${DEV_LOCATION}/install:/app/install
- ${DEV_LOCATION}/front/css:/home/pi/pialert/front/css - ${DEV_LOCATION}/front/css:/app/front/css
- ${DEV_LOCATION}/back/update_vendors.sh:/home/pi/pialert/back/update_vendors.sh - ${DEV_LOCATION}/front/img:/app/front/img
- ${DEV_LOCATION}/front/lib/AdminLTE:/home/pi/pialert/front/lib/AdminLTE - ${DEV_LOCATION}/back/update_vendors.sh:/app/back/update_vendors.sh
- ${DEV_LOCATION}/front/js:/home/pi/pialert/front/js - ${DEV_LOCATION}/front/lib/AdminLTE:/app/front/lib/AdminLTE
- ${DEV_LOCATION}/install/start.debian.sh:/home/pi/pialert/install/start.debian.sh - ${DEV_LOCATION}/front/js:/app/front/js
- ${DEV_LOCATION}/install/user-mapping.debian.sh:/home/pi/pialert/install/user-mapping.debian.sh - ${DEV_LOCATION}/install/start.debian.sh:/app/install/start.debian.sh
- ${DEV_LOCATION}/install/install.debian.sh:/home/pi/pialert/install/install.debian.sh - ${DEV_LOCATION}/install/user-mapping.debian.sh:/app/install/user-mapping.debian.sh
- ${DEV_LOCATION}/install/install_dependencies.debian.sh:/home/pi/pialert/install/install_dependencies.debian.sh - ${DEV_LOCATION}/install/install.debian.sh:/app/install/install.debian.sh
- ${DEV_LOCATION}/front/api:/home/pi/pialert/front/api - ${DEV_LOCATION}/install/install_dependencies.debian.sh:/app/install/install_dependencies.debian.sh
- ${DEV_LOCATION}/front/php:/home/pi/pialert/front/php - ${DEV_LOCATION}/front/api:/app/front/api
- ${DEV_LOCATION}/front/deviceDetails.php:/home/pi/pialert/front/deviceDetails.php - ${DEV_LOCATION}/front/php:/app/front/php
- ${DEV_LOCATION}/front/deviceDetailsTools.php:/home/pi/pialert/front/deviceDetailsTools.php - ${DEV_LOCATION}/front/deviceDetails.php:/app/front/deviceDetails.php
- ${DEV_LOCATION}/front/devices.php:/home/pi/pialert/front/devices.php - ${DEV_LOCATION}/front/deviceDetailsTools.php:/app/front/deviceDetailsTools.php
- ${DEV_LOCATION}/front/events.php:/home/pi/pialert/front/events.php - ${DEV_LOCATION}/front/devices.php:/app/front/devices.php
- ${DEV_LOCATION}/front/plugins.php:/home/pi/pialert/front/plugins.php - ${DEV_LOCATION}/front/events.php:/app/front/events.php
- ${DEV_LOCATION}/front/pluginsCore.php:/home/pi/pialert/front/pluginsCore.php - ${DEV_LOCATION}/front/plugins.php:/app/front/plugins.php
- ${DEV_LOCATION}/front/help_faq.php:/home/pi/pialert/front/help_faq.php - ${DEV_LOCATION}/front/pluginsCore.php:/app/front/pluginsCore.php
- ${DEV_LOCATION}/front/index.php:/home/pi/pialert/front/index.php - ${DEV_LOCATION}/front/help_faq.php:/app/front/help_faq.php
- ${DEV_LOCATION}/front/maintenance.php:/home/pi/pialert/front/maintenance.php - ${DEV_LOCATION}/front/index.php:/app/front/index.php
- ${DEV_LOCATION}/front/network.php:/home/pi/pialert/front/network.php - ${DEV_LOCATION}/front/maintenance.php:/app/front/maintenance.php
- ${DEV_LOCATION}/front/presence.php:/home/pi/pialert/front/presence.php - ${DEV_LOCATION}/front/network.php:/app/front/network.php
- ${DEV_LOCATION}/front/settings.php:/home/pi/pialert/front/settings.php - ${DEV_LOCATION}/front/presence.php:/app/front/presence.php
- ${DEV_LOCATION}/front/systeminfo.php:/home/pi/pialert/front/systeminfo.php - ${DEV_LOCATION}/front/settings.php:/app/front/settings.php
- ${DEV_LOCATION}/front/report.php:/home/pi/pialert/front/report.php - ${DEV_LOCATION}/front/systeminfo.php:/app/front/systeminfo.php
- ${DEV_LOCATION}/front/workflows.php:/home/pi/pialert/front/workflows.php - ${DEV_LOCATION}/front/report.php:/app/front/report.php
- ${DEV_LOCATION}/front/appEventsCore.php:/home/pi/pialert/front/appEventsCore.php - ${DEV_LOCATION}/front/workflows.php:/app/front/workflows.php
- ${DEV_LOCATION}/front/multiEditCore.php:/home/pi/pialert/front/multiEditCore.php - ${DEV_LOCATION}/front/appEventsCore.php:/app/front/appEventsCore.php
- ${DEV_LOCATION}/front/donations.php:/home/pi/pialert/front/donations.php - ${DEV_LOCATION}/front/multiEditCore.php:/app/front/multiEditCore.php
- ${DEV_LOCATION}/front/plugins:/home/pi/pialert/front/plugins - ${DEV_LOCATION}/front/donations.php:/app/front/donations.php
- ${DEV_LOCATION}/front/plugins:/app/front/plugins
# DELETE END anyone trying to use this file: comment out / delete ABOVE lines, they are only for development purposes # DELETE END anyone trying to use this file: comment out / delete ABOVE lines, they are only for development purposes
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
environment: environment:

View File

@@ -25,8 +25,8 @@
```yaml ```yaml
docker run -d --rm --network=host \ docker run -d --rm --network=host \
-v local/path/pialert/config:/home/pi/pialert/config \ -v local/path/config:/app/config \
-v local/path/pialert/db:/home/pi/pialert/db \ -v local/path/db:/app/db \
-e TZ=Europe/Berlin \ -e TZ=Europe/Berlin \
-e PORT=20211 \ -e PORT=20211 \
jokobsk/netalertx:latest jokobsk/netalertx:latest
@@ -49,22 +49,22 @@ docker run -d --rm --network=host \
| Required | Path | Description | | Required | Path | Description |
| :------------- | :------------- | :-------------| | :------------- | :------------- | :-------------|
| ✅ | `:/home/pi/pialert/config` | Folder which will contain the `pialert.conf` & `devices.csv` ([read about devices.csv](https://github.com/jokob-sk/NetAlertX/blob/main/docs/DEVICES_BULK_EDITING.md)) files (see below for details). | | ✅ | `:/app/config` | Folder which will contain the `app.conf` & `devices.csv` ([read about devices.csv](https://github.com/jokob-sk/NetAlertX/blob/main/docs/DEVICES_BULK_EDITING.md)) files (see below for details). |
| ✅ | `:/home/pi/pialert/db` | Folder which will contain the `pialert.db` file | | ✅ | `:/app/db` | Folder which will contain the `app.db` file |
| | `:/home/pi/pialert/front/log` | Logs folder useful for debugging if you have issues setting up the container | | | `:/app/front/log` | Logs folder useful for debugging if you have issues setting up the container |
| | `:/etc/pihole/pihole-FTL.db` | PiHole's `pihole-FTL.db` database file. Required if you want to use PiHole DB mapping. | | | `:/etc/pihole/pihole-FTL.db` | PiHole's `pihole-FTL.db` database file. Required if you want to use PiHole DB mapping. |
| | `:/etc/pihole/dhcp.leases` | PiHole's `dhcp.leases` file. Required if you want to use PiHole `dhcp.leases` file. This has to be matched with a corresponding `DHCPLSS_paths_to_check` setting entry (the path in the container must contain `pihole`)| | | `:/etc/pihole/dhcp.leases` | PiHole's `dhcp.leases` file. Required if you want to use PiHole `dhcp.leases` file. This has to be matched with a corresponding `DHCPLSS_paths_to_check` setting entry (the path in the container must contain `pihole`)|
| | `:/home/pi/pialert/front/api` | A simple [API endpoint](https://github.com/jokob-sk/NetAlertX/blob/main/docs/API.md) containing static (but regularly updated) json and other files. | | | `:/app/front/api` | A simple [API endpoint](https://github.com/jokob-sk/NetAlertX/blob/main/docs/API.md) containing static (but regularly updated) json and other files. |
| | `:/home/pi/pialert/front/plugins/<plugin>/ignore_plugin` | Map a file `ignore_plugin` to ignore a plugin. Plugins can be soft-disabled via settings. More in the [Plugin docs](https://github.com/jokob-sk/NetAlertX/blob/main/front/plugins/README.md). | | | `:/app/front/plugins/<plugin>/ignore_plugin` | Map a file `ignore_plugin` to ignore a plugin. Plugins can be soft-disabled via settings. More in the [Plugin docs](https://github.com/jokob-sk/NetAlertX/blob/main/front/plugins/README.md). |
| | `:/etc/resolv.conf` | Use a custom `resolv.conf` file for [better name resolution](https://github.com/jokob-sk/NetAlertX/blob/main/docs/REVERSE_DNS.md). | | | `:/etc/resolv.conf` | Use a custom `resolv.conf` file for [better name resolution](https://github.com/jokob-sk/NetAlertX/blob/main/docs/REVERSE_DNS.md). |
> Use separate `db` and `config` directories, don't nest them. > Use separate `db` and `config` directories, don't nest them.
### (If UI is not available) Modify the config (`pialert.conf`) ### (If UI is not available) Modify the config (`app.conf`)
- The preferred way is to manage the configuration via the Settings section in the UI. - The preferred way is to manage the configuration via the Settings section in the UI.
- You can modify [pialert.conf](https://github.com/jokob-sk/NetAlertX/tree/main/config) directly, if needed. - You can modify [app.conf](https://github.com/jokob-sk/NetAlertX/tree/main/config) directly, if needed.
- If unavailable, the app generates a default `pialert.conf` and `pialert.db` file on the first run. - If unavailable, the app generates a default `app.conf` and `app.db` file on the first run.
#### Important settings #### Important settings
@@ -130,10 +130,10 @@ services:
network_mode: "host" network_mode: "host"
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- local/path/pialert/config:/home/pi/pialert/config - local/path/config:/app/config
- local/path/pialert/db:/home/pi/pialert/db - local/path/db:/app/db
# (optional) useful for debugging if you have issues setting up the container # (optional) useful for debugging if you have issues setting up the container
- local/path/logs:/home/pi/pialert/front/log - local/path/logs:/app/front/log
environment: environment:
- TZ=Europe/Berlin - TZ=Europe/Berlin
- PORT=20211 - PORT=20211
@@ -157,8 +157,8 @@ Example by [SeimuS](https://github.com/SeimusS).
- TZ=Europe/Bratislava - TZ=Europe/Bratislava
restart: always restart: always
volumes: volumes:
- ./pialert/pialert_db:/home/pi/pialert/db - ./netalertx/db:/app/db
- ./pialert/pialert_config:/home/pi/pialert/config - ./netalertx/config:/app/config
network_mode: host network_mode: host
``` ```
@@ -179,10 +179,10 @@ services:
network_mode: "host" network_mode: "host"
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- ${APP_DATA_LOCATION}/netalertx/config:/home/pi/pialert/config - ${APP_DATA_LOCATION}/netalertx/config:/app/config
- ${APP_DATA_LOCATION}/netalertx/db/pialert.db:/home/pi/pialert/db/pialert.db - ${APP_DATA_LOCATION}/netalertx/db/:/app/db/
# (optional) useful for debugging if you have issues setting up the container # (optional) useful for debugging if you have issues setting up the container
- ${LOGS_LOCATION}:/home/pi/pialert/front/log - ${LOGS_LOCATION}:/app/front/log
environment: environment:
- TZ=${TZ} - TZ=${TZ}
- PORT=${PORT} - PORT=${PORT}
@@ -211,7 +211,7 @@ To run the container execute: `sudo docker-compose --env-file /path/to/.env up`
### Example 4 ### Example 4
Courtesy of [pbek](https://github.com/pbek). The volume `pialert_db` is used by the db directory. The two config files are mounted directly from a local folder to their places in the config folder. You can backup the `docker-compose.yaml` folder and the docker volumes folder. Courtesy of [pbek](https://github.com/pbek). The volume `netalertx_db` is used by the db directory. The two config files are mounted directly from a local folder to their places in the config folder. You can backup the `docker-compose.yaml` folder and the docker volumes folder.
```yaml ```yaml
netalertx: netalertx:
@@ -227,15 +227,15 @@ Courtesy of [pbek](https://github.com/pbek). The volume `pialert_db` is used by
ipv4_address: 192.168.1.2 ipv4_address: 192.168.1.2
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- pialert_db:/home/pi/pialert/db - netalertx_db:/app/db
- ./pialert/pialert.conf:/home/pi/pialert/config/pialert.conf - ./netalertx/:/app/config/
``` ```
## 🏅 Recognitions ## 🏅 Recognitions
Big thanks to <a href="https://github.com/Macleykun">@Macleykun</a> & for help and tips & tricks for Dockerfile(s) and <a href="https://github.com/vladaurosh">@vladaurosh</a> for Alpine re-base help. Big thanks to <a href="https://github.com/Macleykun">@Macleykun</a> & for help and tips & tricks for Dockerfile(s) and <a href="https://github.com/vladaurosh">@vladaurosh</a> for Alpine re-base help.
## ❤ Support me to prevent my burnout 🔥🤯 ## ❤ Support me
| [![GitHub](https://i.imgur.com/emsRCPh.png)](https://github.com/sponsors/jokob-sk) | [![Buy Me A Coffee](https://i.imgur.com/pIM6YXL.png)](https://www.buymeacoffee.com/jokobsk) | [![Patreon](https://i.imgur.com/MuYsrq1.png)](https://www.patreon.com/user?u=84385063) | | [![GitHub](https://i.imgur.com/emsRCPh.png)](https://github.com/sponsors/jokob-sk) | [![Buy Me A Coffee](https://i.imgur.com/pIM6YXL.png)](https://www.buymeacoffee.com/jokobsk) | [![Patreon](https://i.imgur.com/MuYsrq1.png)](https://www.patreon.com/user?u=84385063) |
| --- | --- | --- | | --- | --- | --- |

View File

@@ -1,6 +1,7 @@
#!/bin/bash #!/bin/bash
export INSTALL_DIR=/home/pi export INSTALL_DIR=/app
export APP_NAME=netalertx
# php-fpm setup # php-fpm setup
install -d -o nginx -g www-data /run/php/ install -d -o nginx -g www-data /run/php/
@@ -13,12 +14,12 @@ sed -i "/^group/c\group = www-data" /etc/php82/php-fpm.d/www.conf
# s6 overlay setup # s6 overlay setup
mkdir -p /etc/s6-overlay/s6-rc.d/{SetupOneshot,php-fpm/dependencies.d,nginx/dependencies.d} mkdir -p /etc/s6-overlay/s6-rc.d/{SetupOneshot,php-fpm/dependencies.d,nginx/dependencies.d}
mkdir -p /etc/s6-overlay/s6-rc.d/{SetupOneshot,php-fpm/dependencies.d,nginx/dependencies.d,pialert/dependencies.d} mkdir -p /etc/s6-overlay/s6-rc.d/{SetupOneshot,php-fpm/dependencies.d,nginx/dependencies.d,$APP_NAME/dependencies.d}
echo "oneshot" > /etc/s6-overlay/s6-rc.d/SetupOneshot/type echo "oneshot" > /etc/s6-overlay/s6-rc.d/SetupOneshot/type
echo "longrun" > /etc/s6-overlay/s6-rc.d/php-fpm/type echo "longrun" > /etc/s6-overlay/s6-rc.d/php-fpm/type
echo "longrun" > /etc/s6-overlay/s6-rc.d/nginx/type echo "longrun" > /etc/s6-overlay/s6-rc.d/nginx/type
echo "longrun" > /etc/s6-overlay/s6-rc.d/pialert/type echo "longrun" > /etc/s6-overlay/s6-rc.d/$APP_NAME/type
echo -e "${INSTALL_DIR}/pialert/dockerfiles/setup.sh" > /etc/s6-overlay/s6-rc.d/SetupOneshot/up echo -e "${INSTALL_DIR}/dockerfiles/setup.sh" > /etc/s6-overlay/s6-rc.d/SetupOneshot/up
echo -e "#!/bin/execlineb -P\n/usr/sbin/php-fpm82 -F" > /etc/s6-overlay/s6-rc.d/php-fpm/run echo -e "#!/bin/execlineb -P\n/usr/sbin/php-fpm82 -F" > /etc/s6-overlay/s6-rc.d/php-fpm/run
echo -e '#!/bin/execlineb -P\nnginx -g "daemon off;"' > /etc/s6-overlay/s6-rc.d/nginx/run echo -e '#!/bin/execlineb -P\nnginx -g "daemon off;"' > /etc/s6-overlay/s6-rc.d/nginx/run
echo -e '#!/bin/execlineb -P echo -e '#!/bin/execlineb -P
@@ -30,11 +31,11 @@ echo -e '#!/bin/execlineb -P
" "
[INSTALL] 🚀 Starting app (:${PORT}) [INSTALL] 🚀 Starting app (:${PORT})
" }' > /etc/s6-overlay/s6-rc.d/pialert/run " }' > /etc/s6-overlay/s6-rc.d/$APP_NAME/run
echo -e "python ${INSTALL_DIR}/pialert/netalertx" >> /etc/s6-overlay/s6-rc.d/pialert/run echo -e "python ${INSTALL_DIR}/server" >> /etc/s6-overlay/s6-rc.d/server/run
touch /etc/s6-overlay/s6-rc.d/user/contents.d/{SetupOneshot,php-fpm,nginx} /etc/s6-overlay/s6-rc.d/{php-fpm,nginx}/dependencies.d/SetupOneshot touch /etc/s6-overlay/s6-rc.d/user/contents.d/{SetupOneshot,php-fpm,nginx} /etc/s6-overlay/s6-rc.d/{php-fpm,nginx}/dependencies.d/SetupOneshot
touch /etc/s6-overlay/s6-rc.d/user/contents.d/{SetupOneshot,php-fpm,nginx,pialert} /etc/s6-overlay/s6-rc.d/{php-fpm,nginx,pialert}/dependencies.d/SetupOneshot touch /etc/s6-overlay/s6-rc.d/user/contents.d/{SetupOneshot,php-fpm,nginx,$APP_NAME} /etc/s6-overlay/s6-rc.d/{php-fpm,nginx,$APP_NAME}/dependencies.d/SetupOneshot
touch /etc/s6-overlay/s6-rc.d/nginx/dependencies.d/php-fpm touch /etc/s6-overlay/s6-rc.d/nginx/dependencies.d/php-fpm
touch /etc/s6-overlay/s6-rc.d/pialert/dependencies.d/nginx touch /etc/s6-overlay/s6-rc.d/$APP_NAME/dependencies.d/nginx
rm -f $0 rm -f $0

View File

@@ -4,14 +4,20 @@ echo "---------------------------------------------------------"
echo "[INSTALL] Run setup.sh" echo "[INSTALL] Run setup.sh"
echo "---------------------------------------------------------" echo "---------------------------------------------------------"
export INSTALL_DIR=/home/pi # Specify the installation directory here export INSTALL_DIR=/app # Specify the installation directory here
# DO NOT CHANGE ANYTHING BELOW THIS LINE! # DO NOT CHANGE ANYTHING BELOW THIS LINE!
CONFFILENAME="pialert.conf"
NGINX_CONFIG_FILE="/etc/nginx/http.d/${CONFFILENAME}" CONF_FILE="app.conf"
DBFILENAME="pialert.db" NGINX_CONF_FILE=netalertx.conf
DB_FILE="app.db"
NGINX_CONFIG_FILE="/etc/nginx/http.d/${NGINX_CONF_FILE}"
OUI_FILE="/usr/share/arp-scan/ieee-oui.txt" # Define the path to ieee-oui.txt and ieee-iab.txt OUI_FILE="/usr/share/arp-scan/ieee-oui.txt" # Define the path to ieee-oui.txt and ieee-iab.txt
FILEDB="${INSTALL_DIR}/pialert/db/${DBFILENAME}"
FULL_FILEDB_PATH="${INSTALL_DIR}/db/${DB_FILE}"
# DO NOT CHANGE ANYTHING ABOVE THIS LINE! # DO NOT CHANGE ANYTHING ABOVE THIS LINE!
@@ -21,25 +27,41 @@ if [[ $EUID -ne 0 ]]; then
exit 1 exit 1
fi fi
echo "[INSTALL] Copy starter ${DBFILENAME} and ${CONFFILENAME} if they don't exist" echo "[INSTALL] Copy starter ${DB_FILE} and ${CONF_FILE} if they don't exist"
# DANGER ZONE: ALWAYS_FRESH_INSTALL # DANGER ZONE: ALWAYS_FRESH_INSTALL
if [ "$ALWAYS_FRESH_INSTALL" = true ]; then if [ "$ALWAYS_FRESH_INSTALL" = true ]; then
echo "[INSTALL] ❗ ALERT /db and /config folders are cleared because the ALWAYS_FRESH_INSTALL is set to: $ALWAYS_FRESH_INSTALL" echo "[INSTALL] ❗ ALERT /db and /config folders are cleared because the ALWAYS_FRESH_INSTALL is set to: $ALWAYS_FRESH_INSTALL"
# Delete content of "$INSTALL_DIR/pialert/config/" # Delete content of "$INSTALL_DIR/config/"
rm -rf "$INSTALL_DIR/pialert/config/"* rm -rf "$INSTALL_DIR/config/"*
# Delete content of "$INSTALL_DIR/pialert/db/" # Delete content of "$INSTALL_DIR/db/"
rm -rf "$INSTALL_DIR/pialert/db/"* rm -rf "$INSTALL_DIR/db/"*
fi fi
# 🔻 FOR BACKWARD COMPATIBILITY - REMOVE AFTER 12/12/2024
# Check if pialert.db exists, then copy to app.db
INSTALL_DIR_OLD=/home/pi/pialert
OLD_APP_NAME=pialert
# Check if pialert.db exists, then create a symbolic link to app.db
if [ -f "${INSTALL_DIR_OLD}/db/${OLD_APP_NAME}.db" ]; then
ln -s "${INSTALL_DIR_OLD}/db/${OLD_APP_NAME}.db" "${FULL_FILEDB_PATH}"
fi
# Check if ${OLD_APP_NAME}.conf exists, then create a symbolic link to app.conf
if [ -f "${INSTALL_DIR_OLD}/config/${OLD_APP_NAME}.conf" ]; then
ln -s "${INSTALL_DIR_OLD}/config/${OLD_APP_NAME}.conf" "${INSTALL_DIR}/config/${CONF_FILE}"
fi
# 🔺 FOR BACKWARD COMPATIBILITY - REMOVE AFTER 12/12/2024
# Copy starter .db and .conf if they don't exist # Copy starter .db and .conf if they don't exist
cp -na "${INSTALL_DIR}/pialert/back/${CONFFILENAME}" "${INSTALL_DIR}/pialert/config/${CONFFILENAME}" cp -na "${INSTALL_DIR}/back/${CONF_FILE}" "${INSTALL_DIR}/config/${CONF_FILE}"
cp -na "${INSTALL_DIR}/pialert/back/${DBFILENAME}" "${FILEDB}" cp -na "${INSTALL_DIR}/back/${DB_FILE}" "${FULL_FILEDB_PATH}"
# if custom variables not set we do not need to do anything # if custom variables not set we do not need to do anything
if [ -n "${TZ}" ]; then if [ -n "${TZ}" ]; then
FILECONF="${INSTALL_DIR}/pialert/config/${CONFFILENAME}" FILECONF="${INSTALL_DIR}/config/${CONF_FILE}"
echo "[INSTALL] Setup timezone" echo "[INSTALL] Setup timezone"
sed -i "\#^TIMEZONE=#c\TIMEZONE='${TZ}'" "${FILECONF}" sed -i "\#^TIMEZONE=#c\TIMEZONE='${TZ}'" "${FILECONF}"
@@ -50,7 +72,7 @@ fi
echo "[INSTALL] Setup NGINX" echo "[INSTALL] Setup NGINX"
echo "Setting webserver to address ($LISTEN_ADDR) and port ($PORT)" echo "Setting webserver to address ($LISTEN_ADDR) and port ($PORT)"
envsubst '$INSTALL_DIR $LISTEN_ADDR $PORT' < "${INSTALL_DIR}/pialert/install/netalertx.template.conf" > "${NGINX_CONFIG_FILE}" envsubst '$INSTALL_DIR $LISTEN_ADDR $PORT' < "${INSTALL_DIR}/install/netalertx.template.conf" > "${NGINX_CONFIG_FILE}"
# Run the hardware vendors update at least once # Run the hardware vendors update at least once
echo "[INSTALL] Run the hardware vendors update" echo "[INSTALL] Run the hardware vendors update"
@@ -62,27 +84,27 @@ else
echo "The file ieee-oui.txt does not exist. Running update_vendors..." echo "The file ieee-oui.txt does not exist. Running update_vendors..."
# Run the update_vendors.sh script # Run the update_vendors.sh script
if [ -f "${INSTALL_DIR}/pialert/back/update_vendors.sh" ]; then if [ -f "${INSTALL_DIR}/back/update_vendors.sh" ]; then
"${INSTALL_DIR}/pialert/back/update_vendors.sh" "${INSTALL_DIR}/back/update_vendors.sh"
else else
echo "update_vendors.sh script not found in ${INSTALL_DIR}." echo "update_vendors.sh script not found in ${INSTALL_DIR}."
fi fi
fi fi
# Create an empty log files # Create an empty log files
# Create the execution_queue.log and pialert_front.log files if they don't exist # Create the execution_queue.log and app_front.log files if they don't exist
touch "${INSTALL_DIR}"/pialert/front/log/{execution_queue.log,pialert_front.log,pialert.php_errors.log,stderr.log,stdout.log} touch "${INSTALL_DIR}"/front/log/{execution_queue.log,app_front.log,app.php_errors.log,stderr.log,stdout.log}
echo "[INSTALL] Fixing permissions after copied starter config & DB" echo "[INSTALL] Fixing permissions after copied starter config & DB"
chown -R nginx:www-data "${INSTALL_DIR}"/pialert/{config,front/log,db} chown -R nginx:www-data "${INSTALL_DIR}"/{config,front/log,db}
chmod 750 "${INSTALL_DIR}"/pialert/{config,front/log,db} chmod 750 "${INSTALL_DIR}"/{config,front/log,db}
find "${INSTALL_DIR}"/pialert/{config,front/log,db} -type f -exec chmod 640 {} \; find "${INSTALL_DIR}"/{config,front/log,db} -type f -exec chmod 640 {} \;
# Check if buildtimestamp.txt doesn't exist # Check if buildtimestamp.txt doesn't exist
if [ ! -f "${INSTALL_DIR}/pialert/front/buildtimestamp.txt" ]; then if [ ! -f "${INSTALL_DIR}/front/buildtimestamp.txt" ]; then
# Create buildtimestamp.txt # Create buildtimestamp.txt
date +%s > "${INSTALL_DIR}/pialert/front/buildtimestamp.txt" date +%s > "${INSTALL_DIR}/front/buildtimestamp.txt"
chown nginx:www-data "${INSTALL_DIR}/pialert/front/buildtimestamp.txt" chown nginx:www-data "${INSTALL_DIR}/front/buildtimestamp.txt"
fi fi
echo -e " echo -e "

View File

@@ -9,7 +9,7 @@ The endpoints are updated when objects in the API endpoints are changed.
### Location of the endpoints ### Location of the endpoints
In the container, these files are located under the `/home/pi/pialert/front/api/` folder and thus on the `<netalertx_url>/api/<File name>` url. In the container, these files are located under the `/app/front/api/` folder and thus on the `<netalertx_url>/api/<File name>` url.
### Available endpoints ### Available endpoints

View File

@@ -7,8 +7,8 @@ There are 3 artifacts that can be used to backup the application:
| File | Description | Limitations | | File | Description | Limitations |
|-----------------------|-------------------------------|-------------------------------| |-----------------------|-------------------------------|-------------------------------|
| `/db/pialert.db` | Database file(s) | The database file might be in an uncommitted state or corrupted | | `/db/app.db` | Database file(s) | The database file might be in an uncommitted state or corrupted |
| `/config/pialert.conf` | Configuration file | Doesn't contain settings from the Maintenance section | | `/config/app.conf` | Configuration file | Doesn't contain settings from the Maintenance section |
| `/config/devices.csv` | CSV file containing device information | Doesn't contain historical data | | `/config/devices.csv` | CSV file containing device information | Doesn't contain historical data |
## Data and cackup storage ## Data and cackup storage
@@ -17,7 +17,7 @@ To decide on a backup strategy, check where the data is stored:
### Core Configuration ### Core Configuration
The core application configuration is in the `pialert.conf` file (See [Settings System](https://github.com/jokob-sk/NetAlertX/blob/main/docs/SETTINGS_SYSTEM.md) for details), such as: The core application configuration is in the `app.conf` file (See [Settings System](https://github.com/jokob-sk/NetAlertX/blob/main/docs/SETTINGS_SYSTEM.md) for details), such as:
- Notification settings - Notification settings
- Scanner settings - Scanner settings
@@ -35,7 +35,7 @@ The core device data is backed up to the `devices_<timestamp>.csv` file via the
### Historical data ### Historical data
Historical data is stored in the `pialert.db` database (See [Database overview](https://github.com/jokob-sk/NetAlertX/blob/main/docs/DATABASE.md) for details). This data includes: Historical data is stored in the `app.db` database (See [Database overview](https://github.com/jokob-sk/NetAlertX/blob/main/docs/DATABASE.md) for details). This data includes:
- Plugin objects - Plugin objects
- Plugin historical entries - Plugin historical entries
@@ -46,7 +46,7 @@ Historical data is stored in the `pialert.db` database (See [Database overview](
The safest approach to backups is to backup all of the above, by taking regular file system backups (I use [Kopia](https://github.com/kopia/kopia)). The safest approach to backups is to backup all of the above, by taking regular file system backups (I use [Kopia](https://github.com/kopia/kopia)).
Arguably, the most time is spent setting up the device list, so if only one file is kept I'd recommend to have a latest backup of the `devices_<timestamp>.csv` file, followed by the `pialert.conf` file. Arguably, the most time is spent setting up the device list, so if only one file is kept I'd recommend to have a latest backup of the `devices_<timestamp>.csv` file, followed by the `app.conf` file.
### Scenario 1: Full backup ### Scenario 1: Full backup
@@ -54,8 +54,8 @@ End-result: Full restore
#### Source artifacts: #### Source artifacts:
- `/db/pialert.db` (uncorrupted) - `/db/app.db` (uncorrupted)
- `/config/pialert.conf` - `/config/app.conf`
#### Recovery: #### Recovery:
@@ -68,14 +68,14 @@ End-result: Partial restore (historical data & configurations from the Maintenan
#### Source artifacts: #### Source artifacts:
- `/config/pialert.conf` - `/config/app.conf`
- `/config/devices_<timestamp>.csv` or `/config/devices.csv` - `/config/devices_<timestamp>.csv` or `/config/devices.csv`
#### Recovery: #### Recovery:
Even with a corrupted database you can recover what I would argue is 99% of the configuration (except of a couple of settings under Maintenance). Even with a corrupted database you can recover what I would argue is 99% of the configuration (except of a couple of settings under Maintenance).
- map the `/config/pialert.conf` file as described in the [Setup documentation](https://github.com/jokob-sk/NetAlertX/blob/main/dockerfiles/README.md#docker-paths). - map the `/config/app.conf` file as described in the [Setup documentation](https://github.com/jokob-sk/NetAlertX/blob/main/dockerfiles/README.md#docker-paths).
- rename the `devices_<timestamp>.csv` to `devices.csv` and place it in the `/config` folder - rename the `devices_<timestamp>.csv` to `devices.csv` and place it in the `/config` folder
- Restore the `devices.csv` backup via the [Maintenance section](https://github.com/jokob-sk/NetAlertX/blob/main/docs/DEVICES_BULK_EDITING.md) - Restore the `devices.csv` backup via the [Maintenance section](https://github.com/jokob-sk/NetAlertX/blob/main/docs/DEVICES_BULK_EDITING.md)

View File

@@ -1,5 +1,5 @@
# A high-level description of the datbase structure # A high-level description of the database structure
⚠ Disclaimer: As I'm not the original author, some of the information might be inaccurate. Feel free to submit a PR to correct anything within this page or documentation in general. ⚠ Disclaimer: As I'm not the original author, some of the information might be inaccurate. Feel free to submit a PR to correct anything within this page or documentation in general.
@@ -20,7 +20,7 @@
| Plugins_Language_Strings | Language strings colelcted from the plugin `config.json` files used for string resolution in the frontend. | ![Screen12][screen12] | | Plugins_Language_Strings | Language strings colelcted from the plugin `config.json` files used for string resolution in the frontend. | ![Screen12][screen12] |
| Plugins_Objects | Unique objects detected by individual plugins. | ![Screen13][screen13] | | Plugins_Objects | Unique objects detected by individual plugins. | ![Screen13][screen13] |
| Sessions | Used to display sessions in the charts | ![Screen15][screen15] | | Sessions | Used to display sessions in the charts | ![Screen15][screen15] |
| Settings | Database representation of the sum of all settings from `pialert.conf` and plugins coming from `config.json` files. | ![Screen16][screen16] | | Settings | Database representation of the sum of all settings from `app.conf` and plugins coming from `config.json` files. | ![Screen16][screen16] |

View File

@@ -19,7 +19,7 @@ For a more in-depth overview on how plugins work check the [Plugins development
#### Incorrect input data #### Incorrect input data
Input data from the plugin might cause mapping issues in specific edge cases. Look for a corresponding section in the `pialert.log` file, for example notice the first line of the execution run of the `PIHOLE` plugin below: Input data from the plugin might cause mapping issues in specific edge cases. Look for a corresponding section in the `app.log` file, for example notice the first line of the execution run of the `PIHOLE` plugin below:
``` ```
17:31:05 [Scheduler] - Scheduler run for PIHOLE: YES 17:31:05 [Scheduler] - Scheduler run for PIHOLE: YES

View File

@@ -15,8 +15,8 @@ Start the container via the **terminal** with a command similar to this one:
```bash ```bash
docker run --rm --network=host \ docker run --rm --network=host \
-v local/path/pialert/config:/home/pi/pialert/config \ -v local/path/netalertx/config:/app/config \
-v local/path/pialert/db:/home/pi/pialert/db \ -v local/path/netalertx/db:/app/db \
-e TZ=Europe/Berlin \ -e TZ=Europe/Berlin \
-e PORT=20211 \ -e PORT=20211 \
jokobsk/netalertx:latest jokobsk/netalertx:latest
@@ -53,9 +53,9 @@ services:
### Permissions ### Permissions
* If facing issues (AJAX errors, can't write to DB, empty screen, etc,) make sure permissions are set correctly, and check the logs under `/home/pi/pialert/front/log`. * If facing issues (AJAX errors, can't write to DB, empty screen, etc,) make sure permissions are set correctly, and check the logs under `/app/front/log`.
* To solve permission issues you can try setting the owner and group of the `pialert.db` by executing the following on the host system: `docker exec netalertx chown -R www-data:www-data /home/pi/pialert/db/pialert.db`. * To solve permission issues you can try setting the owner and group of the `app.db` by executing the following on the host system: `docker exec netalertx chown -R www-data:www-data /app/db/app.db`.
* If still facing issues, try to map the pialert.db file (⚠ not folder) to `:/home/pi/pialert/db/pialert.db` (see [docker-compose Examples](https://github.com/jokob-sk/NetAlertX/blob/main/dockerfiles/README.md#-docker-composeyml-examples) for details) * If still facing issues, try to map the app.db file (⚠ not folder) to `:/app/db/app.db` (see [docker-compose Examples](https://github.com/jokob-sk/NetAlertX/blob/main/dockerfiles/README.md#-docker-composeyml-examples) for details)
### Container restarts / crashes ### Container restarts / crashes

View File

@@ -36,9 +36,9 @@ NetAlertX comes with MQTT support, allowing you to show all detected devices as
| ![Screen 3][list] | ![Screen 4][overview] | | ![Screen 3][list] | ![Screen 4][overview] |
[configuration]: /docs/img/HOME_ASISSTANT/PiAlert-HomeAssistant-Configuration.png "configuration" [configuration]: /docs/img/HOME_ASISSTANT/HomeAssistant-Configuration.png "configuration"
[sensors]: /docs/img/HOME_ASISSTANT/PiAlert-HomeAssistant-Device-as-Sensors.png "sensors" [sensors]: /docs/img/HOME_ASISSTANT/HomeAssistant-Device-as-Sensors.png "sensors"
[history]: /docs/img/HOME_ASISSTANT/PiAlert-HomeAssistant-Device-Presence-History.png "history" [history]: /docs/img/HOME_ASISSTANT/HomeAssistant-Device-Presence-History.png "history"
[list]: /docs/img/HOME_ASISSTANT/PiAlert-HomeAssistant-Devices-List.png "list" [list]: /docs/img/HOME_ASISSTANT/HomeAssistant-Devices-List.png "list"
[overview]: /docs/img/HOME_ASISSTANT/PiAlert-HomeAssistant-Overview-Card.png "overview" [overview]: /docs/img/HOME_ASISSTANT/HomeAssistant-Overview-Card.png "overview"

View File

@@ -14,20 +14,20 @@ be dangerous, as you cannot see the code that's about to be executed on your sys
Alternatively you can download the installation script `install/install.debian.sh` from the repository and check the code yourself (beware other scripts are Alternatively you can download the installation script `install/install.debian.sh` from the repository and check the code yourself (beware other scripts are
downloaded too - only from this repo). downloaded too - only from this repo).
NetAlertX will be installed in `home/pi/pialert/` and run on port number `20211`. NetAlertX will be installed in `/app` and run on port number `20211`.
Some facts about what and where something will be changed/installed by the HW install setup (may not contain everything!): Some facts about what and where something will be changed/installed by the HW install setup (may not contain everything!):
- `/home/pi/pialert` directory will be deleted and newly created - `/app` directory will be deleted and newly created
- `/home/pi/pialert` will contain the whole repository (downloaded by `install/install.debian.sh`) - `/app` will contain the whole repository (downloaded by `install/install.debian.sh`)
- The default NGINX site `/etc/nginx/sites-enabled/default` will be disabled (sym-link deleted or backed up to `sites-available`) - The default NGINX site `/etc/nginx/sites-enabled/default` will be disabled (sym-link deleted or backed up to `sites-available`)
- `/var/www/html/pialert` directory will be deleted and newly created - `/var/www/html/netalertx` directory will be deleted and newly created
- `/etc/nginx/conf.d/pialert.conf` will be sym-linked to `/home/pi/pialert/install/netalertx.debian.conf` - `/etc/nginx/conf.d/netalertx.conf` will be sym-linked to `/app/install/netalertx.debian.conf`
- Some files (IEEE device vendors info, ...) will be created in the directory where the installation script is executed - Some files (IEEE device vendors info, ...) will be created in the directory where the installation script is executed
## Limitations ## Limitations
- No system service is provided. NetAlertX must be started using `/home/pi/pialert/install/start.debian.sh`. - No system service is provided. NetAlertX must be started using `/app/install/start.debian.sh`.
- No checks for other running software is done. - No checks for other running software is done.
- Only tested to work on Debian Bookworm (Debian 12). - Only tested to work on Debian Bookworm (Debian 12).
- **EXPERIMENTAL** and not recommended way to install NetAlertX. - **EXPERIMENTAL** and not recommended way to install NetAlertX.

View File

@@ -45,7 +45,7 @@ Copying the HTML code from [Font Awesome](https://fontawesome.com/search?o=r&m=f
If you own the premium package of Font Awesome icons you can mount it in your Docker container the following way: If you own the premium package of Font Awesome icons you can mount it in your Docker container the following way:
```yaml ```yaml
/font-awesome:/home/pi/pialert/front/lib/AdminLTE/bower_components/font-awesome:ro /font-awesome:/app/front/lib/AdminLTE/bower_components/font-awesome:ro
``` ```
You can use the full range of Font Awesome icons afterwards. You can use the full range of Font Awesome icons afterwards.

119
docs/MIGRATION.md Executable file
View File

@@ -0,0 +1,119 @@
# Migration form PiAlert to NetAlertX
The migration should be pretty straightforward. The application installation folder in the docker container has changed from `/home/pi/pialert` to `/app`. That means the new mount points are:
| Old mount point | New mount point |
|----------------------|---------------|
| `/home/pi/pialert/config` | `/app/config` |
| `/home/pi/pialert/db` | `/app/db` |
If you were mounting files directly, please note the file names have changed:
| Old file name | New file name |
|----------------------|---------------|
| `pialert.conf` | `app.conf` |
| `pialert.db` | `app.db` |
> [!NOTE]
> The application uses symlinks linking the old locations to the new ones, so data loss should not occur. [Backup strategies](https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md) are still recommended to backup your setup.
In summary, docker file mount locations in your `docker-compose.yml` or docker run command have changed. Examples follow.
## Example 1: Mapping folders
### Old docker-compose.yml
```yaml
version: "3"
services:
pialert:
container_name: pialert
# use the below line if you want to test the latest dev image
# image: "jokobsk/netalertx-dev:latest"
image: "jokobsk/pialert:latest"
network_mode: "host"
restart: unless-stopped
volumes:
- local/path/config:/home/pi/pialert/config
- local/path/db:/home/pi/pialert/db
# (optional) useful for debugging if you have issues setting up the container
- local/path/logs:/home/pi/pialert/front/log
environment:
- TZ=Europe/Berlin
- PORT=20211
```
### New docker-compose.yml
```yaml
version: "3"
services:
netalertx: # ⚠🟡 This has changed (optional) 🟡⚠
container_name: netalertx # ⚠🟡 This has changed (optional) 🟡⚠
# use the below line if you want to test the latest dev image
# image: "jokobsk/netalertx-dev:latest"
image: "jokobsk/netalertx:latest" # ⚠🔺🟡 This has changed (optional/required in future) 🟡🔺⚠
network_mode: "host"
restart: unless-stopped
volumes:
- local/path/config:/app/config # ⚠🔺 This has changed (required) 🔺⚠
- local/path/db:/app/db # ⚠🔺 This has changed (required) 🔺⚠
# (optional) useful for debugging if you have issues setting up the container
- local/path/logs:/app/front/log # ⚠🟡 This has changed (optional) 🟡⚠
environment:
- TZ=Europe/Berlin
- PORT=20211
```
## Example 2: Mapping files
> [!NOTE]
> The recommendation is to map folders as in Example 1, map files directly only when needed.
### Old docker-compose.yml
```yaml
version: "3"
services:
pialert:
container_name: pialert
# use the below line if you want to test the latest dev image
# image: "jokobsk/netalertx-dev:latest"
image: "jokobsk/pialert:latest"
network_mode: "host"
restart: unless-stopped
volumes:
- local/path/config/pialert.conf:/home/pi/pialert/config/pialert.conf
- local/path/db/pialert.db:/home/pi/pialert/db/pialert.db
# (optional) useful for debugging if you have issues setting up the container
- local/path/logs:/home/pi/pialert/front/log
environment:
- TZ=Europe/Berlin
- PORT=20211
```
### New docker-compose.yml
```yaml
version: "3"
services:
netalertx: # ⚠🟡 This has changed (optional) 🟡⚠
container_name: netalertx # ⚠🟡 This has changed (optional) 🟡⚠
# use the below line if you want to test the latest dev image
# image: "jokobsk/netalertx-dev:latest"
image: "jokobsk/netalertx:latest" # ⚠🔺🟡 This has changed (optional/required in future) 🟡🔺⚠
network_mode: "host"
restart: unless-stopped
volumes:
- local/path/config/app.conf:/app/config/app.conf # ⚠🔺 This has changed (required) 🔺⚠
- local/path/db/app.db:/app/db/app.db # ⚠🔺 This has changed (required) 🔺⚠
# (optional) useful for debugging if you have issues setting up the container
- local/path/logs:/app/front/log # ⚠🟡 This has changed (optional) 🟡⚠
environment:
- TZ=Europe/Berlin
- PORT=20211
```

View File

@@ -63,7 +63,7 @@ There is also an in-app Help / FAQ section that should be answering frequently a
#### 👩💻For Developers👨💻 #### 👩💻For Developers👨💻
- [APP code structure](/netalertx/README.md) - [Server APP code structure](/server/README.md)
- [Database structure](/docs/DATABASE.md) - [Database structure](/docs/DATABASE.md)
- [API endpoints details](/docs/API.md) - [API endpoints details](/docs/API.md)
- [Plugin system details and how to develop your own](/front/plugins/README.md) - [Plugin system details and how to develop your own](/front/plugins/README.md)
@@ -122,7 +122,7 @@ Suggested test cases:
Some additional context: Some additional context:
* Permanent settings/config is stored in the `pialert.conf` file * Permanent settings/config is stored in the `app.conf` file
* Currently temporary (session?) settings are stored in the `Parameters` DB table as key-value pairs. This table is wiped during a container rebuild/restart and its values are re-initialized from cookies/session data from the browser. * Currently temporary (session?) settings are stored in the `Parameters` DB table as key-value pairs. This table is wiped during a container rebuild/restart and its values are re-initialized from cookies/session data from the browser.
## 🐛 Submitting an issue or bug ## 🐛 Submitting an issue or bug

View File

@@ -41,9 +41,9 @@ services:
image: "jokobsk/netalertx:latest" image: "jokobsk/netalertx:latest"
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- ./config/pialert.conf:/home/pi/pialert/config/pialert.conf - ./config/app.conf:/app/config/app.conf
- ./pialert_db:/home/pi/pialert/db - ./db:/app/db
- ./log:/home/pi/pialert/front/log - ./log:/app/front/log
- ./config/resolv.conf:/etc/resolv.conf # Mapping the /resolv.conf file for better name resolution - ./config/resolv.conf:/etc/resolv.conf # Mapping the /resolv.conf file for better name resolution
environment: environment:
- TZ=Europe/Berlin - TZ=Europe/Berlin

View File

@@ -472,9 +472,9 @@ Mapping the updated file (on the local filesystem at `/appl/docker/netalertx/def
```bash ```bash
docker run -d --rm --network=host \ docker run -d --rm --network=host \
--name=netalertx \ --name=netalertx \
-v /appl/docker/pialert/config:/home/pi/pialert/config \ -v /appl/docker/netalertx/config:/app/config \
-v /appl/docker/pialert/db:/home/pi/pialert/db \ -v /appl/docker/netalertx/db:/app/db \
-v /appl/docker/pialert/default:/etc/nginx/sites-available/default \ -v /appl/docker/netalertx/default:/etc/nginx/sites-available/default \
-e TZ=Europe/Amsterdam \ -e TZ=Europe/Amsterdam \
-e PORT=20211 \ -e PORT=20211 \
jokobsk/netalertx:latest jokobsk/netalertx:latest

View File

@@ -6,11 +6,11 @@ If you are a user of the app, settings have a detailed description in the _Setti
### 🛢 Data storage ### 🛢 Data storage
The source of truth for user-defined values is the `pialert.conf` file. Editing the file makes the App overwrite values in the `Settings` database table and in the `table_settings.json` file. The source of truth for user-defined values is the `app.conf` file. Editing the file makes the App overwrite values in the `Settings` database table and in the `table_settings.json` file.
#### Settings database table #### Settings database table
The `Settings` database table contains settings for App run purposes. The table is recreated every time the App restarts. The settings are loaded from the source-of-truth, that is the `pialert.conf` file. A high-level overview on the database structure can be found in the [database documentation](/docs/DATABASE.md). The `Settings` database table contains settings for App run purposes. The table is recreated every time the App restarts. The settings are loaded from the source-of-truth, that is the `app.conf` file. A high-level overview on the database structure can be found in the [database documentation](/docs/DATABASE.md).
#### table_settings.json #### table_settings.json
@@ -20,27 +20,27 @@ This is the [API endpoint](/docs/API.md) that reflects the state of the `Setting
The json file is also cached on the client-side local storage of the browser. The json file is also cached on the client-side local storage of the browser.
#### pialert.conf #### app.conf
> [!NOTE] > [!NOTE]
> This is the source of truth for settings. User-defined values in this files always override default values specified in the Plugin definition. > This is the source of truth for settings. User-defined values in this files always override default values specified in the Plugin definition.
The App generates two `pialert.conf` entries for every setting (Since version 23.8+). One entry is the setting value, the second is the `__metadata` associated with the setting. This `__metadata` entry contains the full setting definition in JSON format. Currently unused, but intended to be used in future to extend the Settings system. The App generates two `app.conf` entries for every setting (Since version 23.8+). One entry is the setting value, the second is the `__metadata` associated with the setting. This `__metadata` entry contains the full setting definition in JSON format. Currently unused, but intended to be used in future to extend the Settings system.
#### Plugin settings #### Plugin settings
> [!NOTE] > [!NOTE]
> This is the preferred way adding settings going forward. I'll be likely migrating all app settings into plugin-based settings. > This is the preferred way adding settings going forward. I'll be likely migrating all app settings into plugin-based settings.
Plugin settings are loaded dynamically from the `config.json` of individual plugins. If a setting isn't defined in the `pialert.conf` file, it is initialized via the `default_value` property of a setting from the `config.json` file. Check the [Plugins documentation](https://github.com/jokob-sk/NetAlertX/blob/main/front/plugins/README.md#-setting-object-structure), section `⚙ Setting object structure` for details on the structure of the setting. Plugin settings are loaded dynamically from the `config.json` of individual plugins. If a setting isn't defined in the `app.conf` file, it is initialized via the `default_value` property of a setting from the `config.json` file. Check the [Plugins documentation](https://github.com/jokob-sk/NetAlertX/blob/main/front/plugins/README.md#-setting-object-structure), section `⚙ Setting object structure` for details on the structure of the setting.
![Screen 1][screen1] ![Screen 1][screen1]
### Settings Process flow ### Settings Process flow
The process flow is mostly managed by the [initialise.py](/pialert/initialise.py) file. The process flow is mostly managed by the [initialise.py](/server/initialise.py) file.
The script is responsible for reading user-defined values from a configuration file (`pialert.conf`), initializing settings, and importing them into a database. It also handles plugins and their configurations. The script is responsible for reading user-defined values from a configuration file (`app.conf`), initializing settings, and importing them into a database. It also handles plugins and their configurations.
Here's a high-level description of the code: Here's a high-level description of the code:
@@ -49,7 +49,7 @@ Here's a high-level description of the code:
- `importConfigs`: This function is the main entry point of the script. It imports user settings from a configuration file, processes them, and saves them to the database. - `importConfigs`: This function is the main entry point of the script. It imports user settings from a configuration file, processes them, and saves them to the database.
- `read_config_file`: This function reads the configuration file (`pialert.conf`) and returns a dictionary containing the key-value pairs from the file. - `read_config_file`: This function reads the configuration file (`app.conf`) and returns a dictionary containing the key-value pairs from the file.
2. Importing Configuration and Initializing Settings: 2. Importing Configuration and Initializing Settings:
- The `importConfigs` function starts by checking the modification time of the configuration file to determine if it needs to be re-imported. If the file has not been modified since the last import, the function skips the import process. - The `importConfigs` function starts by checking the modification time of the configuration file to determine if it needs to be re-imported. If the file has not been modified since the last import, the function skips the import process.

View File

@@ -8,7 +8,7 @@ You need to specify the network interface and the network mask. You can also con
## Examples ## Examples
> [!NOTE] > [!NOTE]
> Please use the UI to configure settings as that ensures that the config file is in the correct format. Edit `pialert.conf` directly only when really necessary. > Please use the UI to configure settings as that ensures that the config file is in the correct format. Edit `app.conf` directly only when really necessary.
> ![settings](/front/plugins/arp_scan/arp-scan-settings.png) > ![settings](/front/plugins/arp_scan/arp-scan-settings.png)
* Examples for one and two subnets (❗ Note the `['...', '...']` format): * Examples for one and two subnets (❗ Note the `['...', '...']` format):

View File

@@ -22,4 +22,4 @@ For a comparison, this is how the UI looks like if you are on the latest stable
## Implementation details ## Implementation details
During build a [/home/pi/pialert/front/buildtimestamp.txt](https://github.com/jokob-sk/NetAlertX/blob/092797e75ccfa8359444ad149e727358ac4da05f/Dockerfile#L44) file is created. The app then periodically checks if a new release is available with a newer timestamp in GitHub's rest-based JSON endpoint (check the `def isNewVersion():` method in `pialert.py` for details). During build a [/app/front/buildtimestamp.txt](https://github.com/jokob-sk/NetAlertX/blob/092797e75ccfa8359444ad149e727358ac4da05f/Dockerfile#L44) file is created. The app then periodically checks if a new release is available with a newer timestamp in GitHub's rest-based JSON endpoint (check the `def isNewVersion():` method for details).

View File

Before

Width:  |  Height:  |  Size: 291 KiB

After

Width:  |  Height:  |  Size: 291 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

@@ -2,7 +2,7 @@
# NetAlertX # NetAlertX
# Open Source Network Guard / WIFI & LAN intrusion detector # Open Source Network Guard / WIFI & LAN intrusion detector
# #
# pialert.css - Front module. CSS styles # app.css - Front module. CSS styles
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# Puche 2021 / 2022+ jokob jokob@duck.com GNU GPLv3 # Puche 2021 / 2022+ jokob jokob@duck.com GNU GPLv3
----------------------------------------------------------------------------- */ ----------------------------------------------------------------------------- */
@@ -151,10 +151,26 @@
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
Customized Main Menu Customized Main Menu
----------------------------------------------------------------------------- */ ----------------------------------------------------------------------------- */
.NetAlertX-logo
{
border-color:transparent !important;
height: 50px !important;
width: 50px !important;
margin-top:15px !important;
border-radius: 1px !important;
}
.main-header .logo { .main-header .logo {
width: 150px; width: 150px;
} }
.navbar-nav > .user-menu .user-image
{
margin-top: 3px;
}
.main-header>.navbar { .main-header>.navbar {
margin-left: 150px; margin-left: 150px;
} }
@@ -487,6 +503,73 @@
display: none; display: none;
} }
/* ticker setup */
.ticker-li
{
width: 40%;
}
#ticker_announcement_plc
{
/* height: 50px; */
overflow: hidden;
width: 65%;
position: absolute;
left: 40px;
top: 15px;
}
@media (max-width: 1500px) and (min-width: 1101px) {
#ticker_announcement_plc {
width: 45%; /* Width for screen sizes between 1100px and 730px */
}
}
@media (max-width: 1100px) and (min-width: 801px) {
#ticker_announcement_plc {
width: 30%; /* Width for screen sizes between 1100px and 730px */
}
}
@media (max-width: 800px) {
#ticker_announcement_plc {
width: 25%; /* Width for screen sizes less than 730px */
}
}
#ticker-message a
{
color:#3200bb;
text-decoration: underline;
}
#ticker-message
{
color:#FFFFFF;
}
#ticker_announcement_plc:hover .ticker_announcement {
animation-play-state: paused;
}
@keyframes marquee {
0% {
transform: translateX(100%);
}
100% {
transform: translateX(-150%);
}
}
.ticker_announcement {
text-align: center;
white-space: nowrap;
animation: marquee 20s linear infinite;
cursor: default;
}
/* maintenance buttons */
.dbtools-button { .dbtools-button {
display: inline-block; display: inline-block;

View File

@@ -19,8 +19,8 @@
// check permissions // check permissions
$dbPath = "../db/pialert.db"; $dbPath = "../db/app.db";
$confPath = "../config/pialert.conf"; $confPath = "../config/app.conf";
checkPermissions([$dbPath, $confPath]); checkPermissions([$dbPath, $confPath]);
?> ?>

BIN
front/img/NetAlertX_black.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
front/img/NetAlertX_white.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
front/img/NetAlertX_white_1.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
front/img/NetAlertX_white_2.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -1,6 +1,6 @@
{ {
"name": "Pi-Alert Console", "name": "NetAlertX Console",
"short_name": "Pi-Alert", "short_name": "NetAlertX",
"display": "standalone", "display": "standalone",
"icons": [ "icons": [
{ {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -1,5 +1,5 @@
<!-- NetAlertX CSS --> <!-- NetAlertX CSS -->
<link rel="stylesheet" href="css/pialert.css"> <link rel="stylesheet" href="css/app.css">
<?php <?php
require dirname(__FILE__).'/php/server/init.php'; require dirname(__FILE__).'/php/server/init.php';
@@ -99,7 +99,6 @@ if ($ENABLED_DARKMODE === True) {
$BACKGROUND_IMAGE_PATCH='style="background-image: url(\'img/boxed-bg-dark.png\');"'; $BACKGROUND_IMAGE_PATCH='style="background-image: url(\'img/boxed-bg-dark.png\');"';
} else { $BACKGROUND_IMAGE_PATCH='style="background-image: url(\'img/background.png\');"';} } else { $BACKGROUND_IMAGE_PATCH='style="background-image: url(\'img/background.png\');"';}
?> ?>
<!-- /var/www/html/pialert/css/offline-font.css -->
<link rel="stylesheet" href="/css/offline-font.css"> <link rel="stylesheet" href="/css/offline-font.css">
</head> </head>
<body class="hold-transition login-page"> <body class="hold-transition login-page">
@@ -148,7 +147,7 @@ if ($ENABLED_DARKMODE === True) {
<button type="button" class="close" data-dismiss="alert" aria-hidden="true"><3E></button> <button type="button" class="close" data-dismiss="alert" aria-hidden="true"><3E></button>
<h4><i class="icon fa <?php echo $login_icon;?>"></i><?php echo $login_headline;?></h4> <h4><i class="icon fa <?php echo $login_icon;?>"></i><?php echo $login_headline;?></h4>
<p><?php echo $login_info;?></p> <p><?php echo $login_info;?></p>
<p><?= lang('Login_Psw_run');?><br><span style="border: solid 1px yellow; padding: 2px;"> /home/pi/pialert/back/pialert-cli set_password <?= lang('Login_Psw_new');?></span><br><?= lang('Login_Psw_folder');?></p> <p><?= lang('Login_Psw_run');?><br><span style="border: solid 1px yellow; padding: 2px;"> /app/back/pialert-cli set_password <?= lang('Login_Psw_new');?></span><br><?= lang('Login_Psw_folder');?></p>
</div> </div>
</div> </div>

View File

@@ -409,6 +409,26 @@ function showMessage (textMessage="") {
} }
} }
// -----------------------------------------------------------------------------
function showTickerAnnouncement(textMessage = "") {
if (textMessage.toLowerCase().includes("error")) {
// show error
alert(textMessage);
} else {
// show permanent notification
$("#ticker-message").html(textMessage);
$("#tickerAnnouncement").removeClass("myhidden");
// Move the tickerAnnouncement element to ticker_announcement_plc
$("#tickerAnnouncement").appendTo("#ticker_announcement_plc");
// var $ticker = $('#tickerAnnouncement');
// var $tickerMessage = $('#ticker-message');
// Clone the ticker message to create continuous scrolling effect
// $tickerMessage.clone().appendTo($ticker);
}
}
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// String utilities // String utilities
@@ -1154,7 +1174,7 @@ function arraysContainSameValues(arr1, arr2) {
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// Define a unique key for storing the flag in sessionStorage // Define a unique key for storing the flag in sessionStorage
var sessionStorageKey = "myScriptExecuted_pialert_common"; var sessionStorageKey = "myScriptExecuted_common_js";
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// Clearing all the caches // Clearing all the caches
@@ -1202,7 +1222,7 @@ $.get('api/app_state.json?nocache=' + Date.now(), function(appState) {
// Display spinner and reload page if not yet initialized // Display spinner and reload page if not yet initialized
function handleFirstLoad(callback) function handleFirstLoad(callback)
{ {
if(!pialert_common_init) if(!app_common_init)
{ {
setTimeout(function() { setTimeout(function() {
@@ -1214,7 +1234,7 @@ function handleFirstLoad(callback)
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// Check if the code has been executed before by checking sessionStorage // Check if the code has been executed before by checking sessionStorage
var pialert_common_init = sessionStorage.getItem(sessionStorageKey) === "true"; var app_common_init = sessionStorage.getItem(sessionStorageKey) === "true";
var completedCalls = [] var completedCalls = []
var completedCalls_final = ['cacheSettings', 'cacheStrings', 'cacheDevices']; var completedCalls_final = ['cacheSettings', 'cacheStrings', 'cacheDevices'];

View File

@@ -57,7 +57,7 @@ $pia_installed_skins = array('skin-black-light',
// Size and last mod of DB ------------------------------------------------------ // Size and last mod of DB ------------------------------------------------------
$pia_db = str_replace('front', 'db', getcwd()).'/pialert.db'; $pia_db = str_replace('front', 'db', getcwd()).'/app.db';
$pia_db_size = number_format((filesize($pia_db) / 1000000),2,",",".") . ' MB'; $pia_db_size = number_format((filesize($pia_db) / 1000000),2,",",".") . ' MB';
$pia_db_mod = date ("F d Y H:i:s", filemtime($pia_db)); $pia_db_mod = date ("F d Y H:i:s", filemtime($pia_db));
@@ -67,7 +67,7 @@ $pia_db_mod = date ("F d Y H:i:s", filemtime($pia_db));
$Pia_Archive_Path = str_replace('front', 'db', getcwd()).'/'; $Pia_Archive_Path = str_replace('front', 'db', getcwd()).'/';
$Pia_Archive_count = 0; $Pia_Archive_count = 0;
$Pia_Archive_diskusage = 0; $Pia_Archive_diskusage = 0;
$files = glob($Pia_Archive_Path."pialertdb_*.zip"); $files = glob($Pia_Archive_Path."appdb_*.zip");
if ($files){ if ($files){
$Pia_Archive_count = count($files); $Pia_Archive_count = count($files);
} }
@@ -78,7 +78,7 @@ $Pia_Archive_diskusage = number_format(($Pia_Archive_diskusage / 1000000),2,",",
// Find latest Backup for restore ----------------------------------------------- // Find latest Backup for restore -----------------------------------------------
$latestfiles = glob($Pia_Archive_Path."pialertdb_*.zip"); $latestfiles = glob($Pia_Archive_Path."appdb_*.zip");
natsort($latestfiles); natsort($latestfiles);
$latestfiles = array_reverse($latestfiles,False); $latestfiles = array_reverse($latestfiles,False);
@@ -403,14 +403,14 @@ $db->close();
<div class="db_info_table"> <div class="db_info_table">
<div class="log-area box box-solid box-primary"> <div class="log-area box box-solid box-primary">
<div class="row logs-row"> <div class="row logs-row">
<textarea id="pialert_log" class="logs" cols="70" rows="10" wrap='off' readonly > <textarea id="app_log" class="logs" cols="70" rows="10" wrap='off' readonly >
<?php <?php
if(filesize("./log/pialert.log") > 2000000) if(filesize("./log/app.log") > 2000000)
{ {
echo file_get_contents( "./log/pialert.log", false, null, -2000000); echo file_get_contents( "./log/app.log", false, null, -2000000);
} }
else{ else{
echo file_get_contents( "./log/pialert.log" ); echo file_get_contents( "./log/app.log" );
} }
?> ?>
@@ -418,43 +418,43 @@ $db->close();
</div> </div>
<div class="row logs-row" > <div class="row logs-row" >
<div> <div>
<div class="log-file">pialert.log <div class="logs-size"><?php echo number_format((filesize("./log/pialert.log") / 1000000),2,",",".") . ' MB';?> <div class="log-file">app.log <div class="logs-size"><?php echo number_format((filesize("./log/app.log") / 1000000),2,",",".") . ' MB';?>
<span class="span-padding"><a href="./log/pialert.log" target="_blank"><i class="fa fa-download"></i> </a></span> <span class="span-padding"><a href="./log/app.log" target="_blank"><i class="fa fa-download"></i> </a></span>
</div></div> </div></div>
<div class="log-purge"> <div class="log-purge">
<button class="btn btn-primary" onclick="logManage('pialert.log','cleanLog')"><?= lang('Gen_Purge');?></button> <button class="btn btn-primary" onclick="logManage('app.log','cleanLog')"><?= lang('Gen_Purge');?></button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="log-area box box-solid box-primary"> <div class="log-area box box-solid box-primary">
<div class="row logs-row"> <div class="row logs-row">
<textarea id="pialert_front_log" class="logs" cols="70" rows="10" wrap='off' readonly><?php echo file_get_contents( "./log/pialert_front.log" ); ?> <textarea id="app_front_log" class="logs" cols="70" rows="10" wrap='off' readonly><?php echo file_get_contents( "./log/app_front.log" ); ?>
</textarea> </textarea>
</div> </div>
<div class="row logs-row" > <div class="row logs-row" >
<div> <div>
<div class="log-file">pialert_front.log<div class="logs-size"><?php echo number_format((filesize("./log/pialert_front.log") / 1000000),2,",",".") . ' MB';?> <div class="log-file">app_front.log<div class="logs-size"><?php echo number_format((filesize("./log/app_front.log") / 1000000),2,",",".") . ' MB';?>
<span class="span-padding"><a href="./log/pialert_front.log"><i class="fa fa-download"></i> </a></span> <span class="span-padding"><a href="./log/app_front.log"><i class="fa fa-download"></i> </a></span>
</div></div> </div></div>
<div class="log-purge"> <div class="log-purge">
<button class="btn btn-primary" onclick="logManage('pialert_front.log','cleanLog')"><?= lang('Gen_Purge');?></button> <button class="btn btn-primary" onclick="logManage('app_front.log','cleanLog')"><?= lang('Gen_Purge');?></button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="log-area box box-solid box-primary"> <div class="log-area box box-solid box-primary">
<div class="row logs-row"> <div class="row logs-row">
<textarea id="pialert_php_log" class="logs" cols="70" rows="10" wrap='off' readonly><?php echo file_get_contents( "./log/pialert.php_errors.log" ); ?> <textarea id="app_php_log" class="logs" cols="70" rows="10" wrap='off' readonly><?php echo file_get_contents( "./log/app.php_errors.log" ); ?>
</textarea> </textarea>
</div> </div>
<div class="row logs-row" > <div class="row logs-row" >
<div> <div>
<div class="log-file">pialert.php_errors.log<div class="logs-size"><?php echo number_format((filesize("./log/pialert.php_errors.log") / 1000000),2,",",".") . ' MB';?> <div class="log-file">app.php_errors.log<div class="logs-size"><?php echo number_format((filesize("./log/app.php_errors.log") / 1000000),2,",",".") . ' MB';?>
<span class="span-padding"><a href="./log/pialert.php_errors.log"><i class="fa fa-download"></i> </a></span> <span class="span-padding"><a href="./log/app.php_errors.log"><i class="fa fa-download"></i> </a></span>
</div></div> </div></div>
<div class="log-purge"> <div class="log-purge">
<button class="btn btn-primary" onclick="logManage('pialert.php_errors.log','cleanLog')"><?= lang('Gen_Purge');?></button> <button class="btn btn-primary" onclick="logManage('app.php_errors.log','cleanLog')"><?= lang('Gen_Purge');?></button>
</div> </div>
</div> </div>
</div> </div>
@@ -792,7 +792,7 @@ function scrollDown()
// Check if the parent <li> is active // Check if the parent <li> is active
if (elementToCheck.parent().hasClass("active")) { if (elementToCheck.parent().hasClass("active")) {
{ {
var areaIDs = ['pialert_log', 'pialert_front_log', 'IP_changes_log', 'stdout_log', 'stderr_log', 'pialert_pholus_log', 'pialert_pholus_lastrun_log', 'pialert_php_log']; var areaIDs = ['app_log', 'app_front_log', 'IP_changes_log', 'stdout_log', 'stderr_log', 'app_pholus_log', 'app_pholus_lastrun_log', 'app_php_log'];
for (let i = 0; i < areaIDs.length; i++) { for (let i = 0; i < areaIDs.length; i++) {

View File

@@ -10,7 +10,7 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// DB File Path // DB File Path
$DBFILE = dirname(__FILE__).'/../../../db/pialert.db'; $DBFILE = dirname(__FILE__).'/../../../db/app.db';
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// Connect DB // Connect DB

View File

@@ -331,7 +331,7 @@ function deleteActHistory() {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
function PiaBackupDBtoArchive() { function PiaBackupDBtoArchive() {
// prepare fast Backup // prepare fast Backup
$dbfilename = 'pialert.db'; $dbfilename = 'app.db';
$file = '../../../db/'.$dbfilename; $file = '../../../db/'.$dbfilename;
$newfile = '../../../db/'.$dbfilename.'.latestbackup'; $newfile = '../../../db/'.$dbfilename.'.latestbackup';
@@ -340,7 +340,7 @@ function PiaBackupDBtoArchive() {
echo lang('BackDevices_Backup_CopError'); echo lang('BackDevices_Backup_CopError');
} else { } else {
// Create archive with actual date // Create archive with actual date
$Pia_Archive_Name = 'pialertdb_'.date("Ymd_His").'.zip'; $Pia_Archive_Name = 'appdb_'.date("Ymd_His").'.zip';
$Pia_Archive_Path = '../../../db/'; $Pia_Archive_Path = '../../../db/';
exec('zip -j '.$Pia_Archive_Path.$Pia_Archive_Name.' ../../../db/'.$dbfilename, $output); exec('zip -j '.$Pia_Archive_Path.$Pia_Archive_Name.' ../../../db/'.$dbfilename, $output);
// chheck if archive exists // chheck if archive exists
@@ -389,7 +389,7 @@ function PiaPurgeDBBackups() {
$Pia_Archive_Path = '../../../db'; $Pia_Archive_Path = '../../../db';
$Pia_Backupfiles = array(); $Pia_Backupfiles = array();
$files = array_diff(scandir($Pia_Archive_Path, SCANDIR_SORT_DESCENDING), array('.', '..', $dbfilename, 'pialertdb-reset.zip')); $files = array_diff(scandir($Pia_Archive_Path, SCANDIR_SORT_DESCENDING), array('.', '..', $dbfilename, 'netalertxdb-reset.zip'));
foreach ($files as &$item) foreach ($files as &$item)
{ {

View File

@@ -250,7 +250,7 @@ function cleanLog($logFile)
$path = ""; $path = "";
$allowedFiles = ['pialert.log', 'pialert_front.log', 'IP_changes.log', 'stdout.log', 'stderr.log', "pialert_pholus_lastrun.log", 'pialert.php_errors.log']; $allowedFiles = ['app.log', 'app_front.log', 'IP_changes.log', 'stdout.log', 'stderr.log', "pholus_lastrun.log", 'app.php_errors.log'];
if(in_array($logFile, $allowedFiles)) if(in_array($logFile, $allowedFiles))
{ {
@@ -387,7 +387,7 @@ function saveSettings()
// Replace the original file with the temporary file // Replace the original file with the temporary file
rename($tempConfPath, $fullConfPath); rename($tempConfPath, $fullConfPath);
displayMessage("<br/>Settings saved to the <code>pialert.conf</code> file.<br/><br/>A time-stamped backup of the previous file created. <br/><br/> Reloading...<br/>", displayMessage("<br/>Settings saved to the <code>app.conf</code> file.<br/><br/>A time-stamped backup of the previous file created. <br/><br/> Reloading...<br/>",
FALSE, TRUE, TRUE, TRUE); FALSE, TRUE, TRUE, TRUE);
} }

View File

@@ -11,7 +11,7 @@
# cvc90 2023 https://github.com/cvc90 GNU GPLv3 # # cvc90 2023 https://github.com/cvc90 GNU GPLv3 #
#---------------------------------------------------------------------------------# #---------------------------------------------------------------------------------#
$file = "/home/pi/pialert/front/buildtimestamp.txt"; $file = "/app/front/buildtimestamp.txt";
if (file_exists($file)) { if (file_exists($file)) {
echo date("Y-m-d", ((int)file_get_contents($file))); echo date("Y-m-d", ((int)file_get_contents($file)));
} }

View File

@@ -58,5 +58,9 @@
<script src="js/handle_version.js"></script> <script src="js/handle_version.js"></script>
<?php
require 'migrationCheck.php';
?>
</body> </body>
</html> </html>

View File

@@ -54,7 +54,7 @@ require dirname(__FILE__).'/security.php';
<link rel="stylesheet" href="lib/AdminLTE/dist/css/skins/<?php echo $pia_skin_selected;?>.min.css"> <link rel="stylesheet" href="lib/AdminLTE/dist/css/skins/<?php echo $pia_skin_selected;?>.min.css">
<!-- NetAlertX CSS --> <!-- NetAlertX CSS -->
<link rel="stylesheet" href="css/pialert.css"> <link rel="stylesheet" href="css/app.css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
@@ -66,7 +66,7 @@ require dirname(__FILE__).'/security.php';
<!-- Google Font --> <!-- Google Font -->
<!-- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic"> --> <!-- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic"> -->
<link rel="stylesheet" href="css/offline-font.css"> <link rel="stylesheet" href="css/offline-font.css">
<link rel="icon" type="image/x-icon" href="img/pialertLogoOrange.png"> <link rel="icon" type="image/x-icon" href="img/NetAlertX_white.png">
<!-- For better UX on Mobile Devices using the Shortcut on the Homescreen --> <!-- For better UX on Mobile Devices using the Shortcut on the Homescreen -->
<link rel="manifest" href="img/manifest.json"> <link rel="manifest" href="img/manifest.json">
@@ -111,19 +111,23 @@ if ($ENABLED_DARKMODE === True) {
<!-- ----------------------------------------------------------------------- --> <!-- ----------------------------------------------------------------------- -->
<!-- Layout Boxed Yellow --> <!-- Layout Boxed Yellow -->
<body class="hold-transition fixed <?php echo $pia_skin_selected;?> sidebar-mini" <?php echo $BACKGROUND_IMAGE_PATCH;?> onLoad="show_pia_servertime();" > <body class="hold-transition fixed <?php echo $pia_skin_selected;?> sidebar-mini" <?php echo $BACKGROUND_IMAGE_PATCH;?> onLoad="show_pia_servertime();" >
<!-- Site wrapper --> <!-- Site wrapper -->
<div class="wrapper"> <div class="wrapper">
<!-- Main Header --> <!-- Main Header -->
<header class="main-header"> <header class="main-header">
<!-- ----------------------------------------------------------------------- --> <!-- ----------------------------------------------------------------------- -->
<!-- Logo --> <!-- Logo -->
<a href="devices.php" class="logo"> <a href="devices.php" class="logo">
<!-- mini logo for sidebar mini 50x50 pixels --> <!-- mini logo for sidebar mini 50x50 pixels -->
<span class="logo-mini"> <span class="logo-mini">
<img src="img/pialertLogoWhite.png" class="pia-top-left-logo" alt="NetAlertX Logo"/> <img src="img/NetAlertX_white.png" class="pia-top-left-logo" alt="NetAlertX Logo"/>
</span> </span>
<!-- logo for regular state and mobile devices --> <!-- logo for regular state and mobile devices -->
<span class="logo-lg">Net <b>Alert</b><sup>x</sup> <span class="logo-lg">Net <b>Alert</b><sup>x</sup>
@@ -139,6 +143,10 @@ if ($ENABLED_DARKMODE === True) {
<a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button"> <a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
<i class="fa-solid fa-bars"></i> <i class="fa-solid fa-bars"></i>
</a> </a>
<!-- ticker message Placeholder for ticker announcement messages -->
<div id="ticker_announcement_plc"></div>
<!-- Navbar Right Menu --> <!-- Navbar Right Menu -->
<div class="navbar-custom-menu"> <div class="navbar-custom-menu">
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
@@ -178,14 +186,14 @@ if ($ENABLED_DARKMODE === True) {
<!-- Menu Toggle Button --> <!-- Menu Toggle Button -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">
<!-- The user image in the navbar--> <!-- The user image in the navbar-->
<img src="img/pialertLogoWhite.png" class="user-image" style="border-radius: initial" alt="NetAlertX Logo"> <img src="img/NetAlertX_white.png" class="user-image" style="border-radius: initial" alt="NetAlertX Logo">
<!-- hidden-xs hides the username on small devices so only the image appears. --> <!-- hidden-xs hides the username on small devices so only the image appears. -->
<span class="hidden-xs">Net <b>Alert</b><sup>x</sup></span> <span class="hidden-xs">Net <b>Alert</b><sup>x</sup></span>
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<!-- The user image in the menu --> <!-- The user image in the menu -->
<li class="user-header" style=" height: 100px;"> <li class="user-header" style=" height: 100px;">
<img src="img/pialertLogoWhite.png" class="img-circle" alt="NetAlertX Logo" style="border-color:transparent; height: 50px; width: 50px; margin-top:15px;"> <img src="img/NetAlertX_white.png" class="img-circle NetAlertX-logo" alt="NetAlertX Logo">
<p style="float: right; width: 200px"> <p style="float: right; width: 200px">
<?= lang('About_Title');?> <?= lang('About_Title');?>
<small><?= lang('About_Design');?> Docker</small> <small><?= lang('About_Design');?> Docker</small>
@@ -204,8 +212,12 @@ if ($ENABLED_DARKMODE === True) {
</ul> </ul>
</div> </div>
</nav> </nav>
</header> </header>
<!-- ----------------------------------------------------------------------- --> <!-- ----------------------------------------------------------------------- -->
<!-- Left side column. contains the logo and sidebar --> <!-- Left side column. contains the logo and sidebar -->
<aside class="main-sidebar"> <aside class="main-sidebar">

407
front/php/templates/language/de_de.json Normal file → Executable file
View File

@@ -1,5 +1,5 @@
{ {
"API_CUSTOM_SQL_description": "Benutzerdefinierte SQL-Abfrage, welche eine JSON-Datei generiert und diese mit dem <a href=\"/api/table_custom_endpoint.json\" target=\"_blank\">Dateiendpunkt <code>table_custom_endpoint.json</code></a> zur Verfügung stellt.", "API_CUSTOM_SQL_description": "Benutzerdefinierte SQL-Abfrage, welche eine JSON-Datei generiert und diese mit dem <a href=\"/api/table_custom_endpoint.json\" target=\"_blank\">Dateiendpunkt <code>table_custom_endpoint.json</code></a> zur Verf\u00fcgung stellt.",
"API_CUSTOM_SQL_name": "Benutzerdefinierte SQL-Abfrage", "API_CUSTOM_SQL_name": "Benutzerdefinierte SQL-Abfrage",
"API_display_name": "API", "API_display_name": "API",
"API_icon": "<i class=\"fa fa-arrow-down-up-across-line\"></i>", "API_icon": "<i class=\"fa fa-arrow-down-up-across-line\"></i>",
@@ -20,11 +20,11 @@
"AppEvents_Helper1": "Helfer 1", "AppEvents_Helper1": "Helfer 1",
"AppEvents_Helper2": "Helfer 2", "AppEvents_Helper2": "Helfer 2",
"AppEvents_Helper3": "Helfer 3", "AppEvents_Helper3": "Helfer 3",
"AppEvents_ObjectForeignKey": "Unbekannter Schlüssel", "AppEvents_ObjectForeignKey": "Unbekannter Schl\u00fcssel",
"AppEvents_ObjectIndex": "Index", "AppEvents_ObjectIndex": "Index",
"AppEvents_ObjectIsArchived": "Ist archiviert (Zum Protokoll Zeitpunkt)", "AppEvents_ObjectIsArchived": "Ist archiviert (Zum Protokoll Zeitpunkt)",
"AppEvents_ObjectIsNew": "Ist neu (Zum Protokoll Zeitpunkt)", "AppEvents_ObjectIsNew": "Ist neu (Zum Protokoll Zeitpunkt)",
"AppEvents_ObjectPlugin": "Verknüpfte Plugins", "AppEvents_ObjectPlugin": "Verkn\u00fcpfte Plugins",
"AppEvents_ObjectPrimaryID": "", "AppEvents_ObjectPrimaryID": "",
"AppEvents_ObjectSecondaryID": "", "AppEvents_ObjectSecondaryID": "",
"AppEvents_ObjectStatus": "", "AppEvents_ObjectStatus": "",
@@ -39,49 +39,49 @@
"BackDevDetail_Actions_Title_Run": "Run action", "BackDevDetail_Actions_Title_Run": "Run action",
"BackDevDetail_Copy_Ask": "Copy details from device from the dropdown list (Everything on this page will be overwritten)?", "BackDevDetail_Copy_Ask": "Copy details from device from the dropdown list (Everything on this page will be overwritten)?",
"BackDevDetail_Copy_Title": "Copy details", "BackDevDetail_Copy_Title": "Copy details",
"BackDevDetail_Tools_WOL_error": "Befehl wurde NICHT ausgeführt.", "BackDevDetail_Tools_WOL_error": "Befehl wurde NICHT ausgef\u00fchrt.",
"BackDevDetail_Tools_WOL_okay": "Befehl wurde ausgeführt.", "BackDevDetail_Tools_WOL_okay": "Befehl wurde ausgef\u00fchrt.",
"BackDevices_Arpscan_disabled": "Automatischer Arp-Scan deaktiviert.", "BackDevices_Arpscan_disabled": "Automatischer Arp-Scan deaktiviert.",
"BackDevices_Arpscan_enabled": "Automatischer Arp-Scan aktiviert.", "BackDevices_Arpscan_enabled": "Automatischer Arp-Scan aktiviert.",
"BackDevices_Backup_CopError": "Die originale Datenbank konnte nicht gesichert werden.", "BackDevices_Backup_CopError": "Die originale Datenbank konnte nicht gesichert werden.",
"BackDevices_Backup_Failed": "Das Backup wurde teilweise ausgeführt. Das Archiv ist entweder leer oder nicht vorhanden.", "BackDevices_Backup_Failed": "Das Backup wurde teilweise ausgef\u00fchrt. Das Archiv ist entweder leer oder nicht vorhanden.",
"BackDevices_Backup_okay": "Das Backup wurde erfolgreich beendet.", "BackDevices_Backup_okay": "Das Backup wurde erfolgreich beendet.",
"BackDevices_DBTools_DelActHistory": "Die Anzeige der Netzwerkaktivität wurde zurückgesetzt.", "BackDevices_DBTools_DelActHistory": "Die Anzeige der Netzwerkaktivit\u00e4t wurde zur\u00fcckgesetzt.",
"BackDevices_DBTools_DelActHistoryError": "Fehler beim Zurücksetzen der Netzwerkaktivitätsanzeige.", "BackDevices_DBTools_DelActHistoryError": "Fehler beim Zur\u00fccksetzen der Netzwerkaktivit\u00e4tsanzeige.",
"BackDevices_DBTools_DelDevError_a": "Fehler beim Löschen des Gerätes.", "BackDevices_DBTools_DelDevError_a": "Fehler beim L\u00f6schen des Ger\u00e4tes.",
"BackDevices_DBTools_DelDevError_b": "Fehler beim Löschen der Geräte.", "BackDevices_DBTools_DelDevError_b": "Fehler beim L\u00f6schen der Ger\u00e4te.",
"BackDevices_DBTools_DelDev_a": "Gerät erfolgreich gelöscht.", "BackDevices_DBTools_DelDev_a": "Ger\u00e4t erfolgreich gel\u00f6scht.",
"BackDevices_DBTools_DelDev_b": "Geräte erfolgreich gelöscht.", "BackDevices_DBTools_DelDev_b": "Ger\u00e4te erfolgreich gel\u00f6scht.",
"BackDevices_DBTools_DelEvents": "Events erfolgreich gelöscht.", "BackDevices_DBTools_DelEvents": "Events erfolgreich gel\u00f6scht.",
"BackDevices_DBTools_DelEventsError": "Fehler beim Löschen der Ereignisse.", "BackDevices_DBTools_DelEventsError": "Fehler beim L\u00f6schen der Ereignisse.",
"BackDevices_DBTools_ImportCSV": "Die Geräte aus der CSV-Datei wurden erfolgreich importiert.", "BackDevices_DBTools_ImportCSV": "Die Ger\u00e4te aus der CSV-Datei wurden erfolgreich importiert.",
"BackDevices_DBTools_ImportCSVError": "Die CSV-Datei konnte nicht importiert werden. Stellen Sie sicher, dass das Format korrekt ist.", "BackDevices_DBTools_ImportCSVError": "Die CSV-Datei konnte nicht importiert werden. Stellen Sie sicher, dass das Format korrekt ist.",
"BackDevices_DBTools_ImportCSVMissing": "Die CSV-Datei konnte nicht in <b>/config/devices.csv</b> gefunden werden.", "BackDevices_DBTools_ImportCSVMissing": "Die CSV-Datei konnte nicht in <b>/config/devices.csv</b> gefunden werden.",
"BackDevices_DBTools_Purge": "Die ältesten Backups wurden gelöscht.", "BackDevices_DBTools_Purge": "Die \u00e4ltesten Backups wurden gel\u00f6scht.",
"BackDevices_DBTools_UpdDev": "Gerät erfolgreich aktualisiert.", "BackDevices_DBTools_UpdDev": "Ger\u00e4t erfolgreich aktualisiert.",
"BackDevices_DBTools_UpdDevError": "Fehler beim Aktualisieren des Gerätes.", "BackDevices_DBTools_UpdDevError": "Fehler beim Aktualisieren des Ger\u00e4tes.",
"BackDevices_DBTools_Upgrade": "Datenbank erfolgreich aktualisiert.", "BackDevices_DBTools_Upgrade": "Datenbank erfolgreich aktualisiert.",
"BackDevices_DBTools_UpgradeError": "Fehler beim Aktualisieren der Datenbank.", "BackDevices_DBTools_UpgradeError": "Fehler beim Aktualisieren der Datenbank.",
"BackDevices_Device_UpdDevError": "Konnte Geräte nicht aktualisieren, versuchen Sie es später erneut. Die Datenbank ist wahrscheinlich wegen einer laufenden Aufgabe gesperrt.", "BackDevices_Device_UpdDevError": "Konnte Ger\u00e4te nicht aktualisieren, versuchen Sie es sp\u00e4ter erneut. Die Datenbank ist wahrscheinlich wegen einer laufenden Aufgabe gesperrt.",
"BackDevices_Restore_CopError": "Die originale Datenbank konnte nicht kopiert werden.", "BackDevices_Restore_CopError": "Die originale Datenbank konnte nicht kopiert werden.",
"BackDevices_Restore_Failed": "Die Wiederherstellung ist fehlgeschlagen. Stellen Sie das Backup manuell her.", "BackDevices_Restore_Failed": "Die Wiederherstellung ist fehlgeschlagen. Stellen Sie das Backup manuell her.",
"BackDevices_Restore_okay": "Die Wiederherstellung wurde erfolgreich ausgeführt.", "BackDevices_Restore_okay": "Die Wiederherstellung wurde erfolgreich ausgef\u00fchrt.",
"BackDevices_darkmode_disabled": "Heller Modus aktiviert.", "BackDevices_darkmode_disabled": "Heller Modus aktiviert.",
"BackDevices_darkmode_enabled": "Dunkler Modus aktiviert.", "BackDevices_darkmode_enabled": "Dunkler Modus aktiviert.",
"DAYS_TO_KEEP_EVENTS_description": "Dies ist eine Wartungseinstellung. Spezifiziert wie viele Tage Events gespeichert bleiben. Alle älteren Events werden periodisch gelöscht. Wird auch auf die Plugins History angewendet.", "DAYS_TO_KEEP_EVENTS_description": "Dies ist eine Wartungseinstellung. Spezifiziert wie viele Tage Events gespeichert bleiben. Alle \u00e4lteren Events werden periodisch gel\u00f6scht. Wird auch auf die Plugins History angewendet.",
"DAYS_TO_KEEP_EVENTS_name": "Lösche Events älter als", "DAYS_TO_KEEP_EVENTS_name": "L\u00f6sche Events \u00e4lter als",
"DevDetail_Copy_Device_Title": "<i class=\"fa fa-copy\"></i> Details von Gerät kopieren", "DevDetail_Copy_Device_Title": "<i class=\"fa fa-copy\"></i> Details von Ger\u00e4t kopieren",
"DevDetail_Copy_Device_Tooltip": "Copy details from device from the dropdown list. Everything on this page will be overwritten", "DevDetail_Copy_Device_Tooltip": "Copy details from device from the dropdown list. Everything on this page will be overwritten",
"DevDetail_EveandAl_AlertAllEvents": "Melde alle Ereignisse", "DevDetail_EveandAl_AlertAllEvents": "Melde alle Ereignisse",
"DevDetail_EveandAl_AlertDown": "Melde Down", "DevDetail_EveandAl_AlertDown": "Melde Down",
"DevDetail_EveandAl_Archived": "Archivierung", "DevDetail_EveandAl_Archived": "Archivierung",
"DevDetail_EveandAl_NewDevice": "Neues Gerät", "DevDetail_EveandAl_NewDevice": "Neues Ger\u00e4t",
"DevDetail_EveandAl_NewDevice_Tooltip": "", "DevDetail_EveandAl_NewDevice_Tooltip": "",
"DevDetail_EveandAl_RandomMAC": "Zufällige MAC", "DevDetail_EveandAl_RandomMAC": "Zuf\u00e4llige MAC",
"DevDetail_EveandAl_ScanCycle": "Scan Abstand", "DevDetail_EveandAl_ScanCycle": "Scan Abstand",
"DevDetail_EveandAl_ScanCycle_a": "Gerät scannen", "DevDetail_EveandAl_ScanCycle_a": "Ger\u00e4t scannen",
"DevDetail_EveandAl_ScanCycle_z": "Gerät nicht scannen", "DevDetail_EveandAl_ScanCycle_z": "Ger\u00e4t nicht scannen",
"DevDetail_EveandAl_Skip": "pausiere wiederhol. Meldungen für", "DevDetail_EveandAl_Skip": "pausiere wiederhol. Meldungen f\u00fcr",
"DevDetail_EveandAl_Title": "Ereignisse & Alarme einstellen", "DevDetail_EveandAl_Title": "Ereignisse & Alarme einstellen",
"DevDetail_Events_CheckBox": "Blende Verbindungs-Ereignisse aus", "DevDetail_Events_CheckBox": "Blende Verbindungs-Ereignisse aus",
"DevDetail_GoToNetworkNode": "Navigate to the Network page of the given node.", "DevDetail_GoToNetworkNode": "Navigate to the Network page of the given node.",
@@ -96,7 +96,7 @@
"DevDetail_MainInfo_Network": "Netzwerk Knoten", "DevDetail_MainInfo_Network": "Netzwerk Knoten",
"DevDetail_MainInfo_Network_Port": "Netzwerk Knoten Port", "DevDetail_MainInfo_Network_Port": "Netzwerk Knoten Port",
"DevDetail_MainInfo_Network_Title": "<i class=\"fa fa-network-wired\"></i> Network", "DevDetail_MainInfo_Network_Title": "<i class=\"fa fa-network-wired\"></i> Network",
"DevDetail_MainInfo_Owner": "Eigen&shy;tümer", "DevDetail_MainInfo_Owner": "Eigen&shy;t\u00fcmer",
"DevDetail_MainInfo_Title": "Haupt Infos", "DevDetail_MainInfo_Title": "Haupt Infos",
"DevDetail_MainInfo_Type": "Typ", "DevDetail_MainInfo_Type": "Typ",
"DevDetail_MainInfo_Vendor": "Hersteller", "DevDetail_MainInfo_Vendor": "Hersteller",
@@ -104,31 +104,31 @@
"DevDetail_Network_Node_hover": "Select the parent network device the current device is connected to to populate the Network tree.", "DevDetail_Network_Node_hover": "Select the parent network device the current device is connected to to populate the Network tree.",
"DevDetail_Network_Port_hover": "The port this device is connected to on the parent network device. If left empty a wifi icon is displayed in the Network tree.", "DevDetail_Network_Port_hover": "The port this device is connected to on the parent network device. If left empty a wifi icon is displayed in the Network tree.",
"DevDetail_Nmap_Scans": "Nmap Scans", "DevDetail_Nmap_Scans": "Nmap Scans",
"DevDetail_Nmap_Scans_desc": "Hier kannst du manuelle NMAP Scans starten. Reguläre automatische NMAP Scans können mit dem Services & Ports (NMAP) Plugin geplant werden. Gehe zu den <a href='/settings.php' target='_blank'>Einstellungen</a> um mehr herauszufinden.", "DevDetail_Nmap_Scans_desc": "Hier kannst du manuelle NMAP Scans starten. Regul\u00e4re automatische NMAP Scans k\u00f6nnen mit dem Services & Ports (NMAP) Plugin geplant werden. Gehe zu den <a href='/settings.php' target='_blank'>Einstellungen</a> um mehr herauszufinden.",
"DevDetail_Nmap_buttonDefault": "Standard Scan", "DevDetail_Nmap_buttonDefault": "Standard Scan",
"DevDetail_Nmap_buttonDefault_text": "Standard Scan: Nmap scannt die ersten 1.000 Ports für jedes angeforderte Scan-Protokoll. Damit werden etwa 93 % der TCP-Ports und 49 % der UDP-Ports erfasst. (ca. 5-10 Sekunden)", "DevDetail_Nmap_buttonDefault_text": "Standard Scan: Nmap scannt die ersten 1.000 Ports f\u00fcr jedes angeforderte Scan-Protokoll. Damit werden etwa 93 % der TCP-Ports und 49 % der UDP-Ports erfasst. (ca. 5-10 Sekunden)",
"DevDetail_Nmap_buttonDetail": "Detailierter Scan", "DevDetail_Nmap_buttonDetail": "Detailierter Scan",
"DevDetail_Nmap_buttonDetail_text": "Detailierter Scan: Standardscan mit aktivierter Betriebssystemerkennung, Versionserkennung, Skript-Scan und Traceroute (bis zu 30 oder mehr Sekunden)", "DevDetail_Nmap_buttonDetail_text": "Detailierter Scan: Standardscan mit aktivierter Betriebssystemerkennung, Versionserkennung, Skript-Scan und Traceroute (bis zu 30 oder mehr Sekunden)",
"DevDetail_Nmap_buttonFast": "Schneller Scan", "DevDetail_Nmap_buttonFast": "Schneller Scan",
"DevDetail_Nmap_buttonFast_text": "Schneller Scan: Überprüft nur die wichtigsten 100 Ports (wenige Sekunden)", "DevDetail_Nmap_buttonFast_text": "Schneller Scan: \u00dcberpr\u00fcft nur die wichtigsten 100 Ports (wenige Sekunden)",
"DevDetail_Nmap_buttonSkipDiscovery": "Ohne Erreichbarkeitsprüfung", "DevDetail_Nmap_buttonSkipDiscovery": "Ohne Erreichbarkeitspr\u00fcfung",
"DevDetail_Nmap_buttonSkipDiscovery_text": "Ohne Erreichbarkeitsprüfung (-Pn Parameter): Standard Scan bei dem nmap annimmt, dass der Host erreichbar ist.", "DevDetail_Nmap_buttonSkipDiscovery_text": "Ohne Erreichbarkeitspr\u00fcfung (-Pn Parameter): Standard Scan bei dem nmap annimmt, dass der Host erreichbar ist.",
"DevDetail_Nmap_resultsLink": "Nachdem ein Scan gestartet wurde, kann diese Seite verlassen werden. Resultate sind auch in der Datei <code>pialert_front.log</code> verfügbar.", "DevDetail_Nmap_resultsLink": "Nachdem ein Scan gestartet wurde, kann diese Seite verlassen werden. Resultate sind auch in der Datei <code>app_front.log</code> verf\u00fcgbar.",
"DevDetail_Owner_hover": "Der Eigentümer des Gerätes. Freies Textfeld.", "DevDetail_Owner_hover": "Der Eigent\u00fcmer des Ger\u00e4tes. Freies Textfeld.",
"DevDetail_Periodselect_All": "Alle Infos", "DevDetail_Periodselect_All": "Alle Infos",
"DevDetail_Periodselect_LastMonth": "Letzter Monat", "DevDetail_Periodselect_LastMonth": "Letzter Monat",
"DevDetail_Periodselect_LastWeek": "Letzte Woche", "DevDetail_Periodselect_LastWeek": "Letzte Woche",
"DevDetail_Periodselect_LastYear": "Letztes Jahr", "DevDetail_Periodselect_LastYear": "Letztes Jahr",
"DevDetail_Periodselect_today": "Heute", "DevDetail_Periodselect_today": "Heute",
"DevDetail_Run_Actions_Title": "<i class=\"fa fa-play\"></i> Aktion auf Gerät ausführen", "DevDetail_Run_Actions_Title": "<i class=\"fa fa-play\"></i> Aktion auf Ger\u00e4t ausf\u00fchren",
"DevDetail_Run_Actions_Tooltip": "Eine Aktion aus der Dropdown-Liste auf dem aktuellen Gerät ausführen.", "DevDetail_Run_Actions_Tooltip": "Eine Aktion aus der Dropdown-Liste auf dem aktuellen Ger\u00e4t ausf\u00fchren.",
"DevDetail_SessionInfo_FirstSession": "Erste Sitzung", "DevDetail_SessionInfo_FirstSession": "Erste Sitzung",
"DevDetail_SessionInfo_LastIP": "Letzte IP", "DevDetail_SessionInfo_LastIP": "Letzte IP",
"DevDetail_SessionInfo_LastSession": "Letzte Sitzung", "DevDetail_SessionInfo_LastSession": "Letzte Sitzung",
"DevDetail_SessionInfo_StaticIP": "Statische IP", "DevDetail_SessionInfo_StaticIP": "Statische IP",
"DevDetail_SessionInfo_Status": "Status", "DevDetail_SessionInfo_Status": "Status",
"DevDetail_SessionInfo_Title": "Sitzungsinfos", "DevDetail_SessionInfo_Title": "Sitzungsinfos",
"DevDetail_SessionTable_Additionalinfo": "Zusätzliche Info", "DevDetail_SessionTable_Additionalinfo": "Zus\u00e4tzliche Info",
"DevDetail_SessionTable_Connection": "Verbindung", "DevDetail_SessionTable_Connection": "Verbindung",
"DevDetail_SessionTable_Disconnection": "Trennung", "DevDetail_SessionTable_Disconnection": "Trennung",
"DevDetail_SessionTable_Duration": "Dauer", "DevDetail_SessionTable_Duration": "Dauer",
@@ -143,48 +143,48 @@
"DevDetail_Tab_EventsTableDate": "Datum", "DevDetail_Tab_EventsTableDate": "Datum",
"DevDetail_Tab_EventsTableEvent": "Ereignistype", "DevDetail_Tab_EventsTableEvent": "Ereignistype",
"DevDetail_Tab_EventsTableIP": "IP", "DevDetail_Tab_EventsTableIP": "IP",
"DevDetail_Tab_EventsTableInfo": "Zusätzliche Informationen", "DevDetail_Tab_EventsTableInfo": "Zus\u00e4tzliche Informationen",
"DevDetail_Tab_Nmap": "Nmap", "DevDetail_Tab_Nmap": "Nmap",
"DevDetail_Tab_NmapEmpty": "An diesem Gerät wurden keine offenen Ports mit Nmap gefunden.", "DevDetail_Tab_NmapEmpty": "An diesem Ger\u00e4t wurden keine offenen Ports mit Nmap gefunden.",
"DevDetail_Tab_NmapTableExtra": "Extra", "DevDetail_Tab_NmapTableExtra": "Extra",
"DevDetail_Tab_NmapTableHeader": "Ergebnisse geplanter Scans", "DevDetail_Tab_NmapTableHeader": "Ergebnisse geplanter Scans",
"DevDetail_Tab_NmapTableIndex": "Index", "DevDetail_Tab_NmapTableIndex": "Index",
"DevDetail_Tab_NmapTablePort": "Port", "DevDetail_Tab_NmapTablePort": "Port",
"DevDetail_Tab_NmapTableService": "Dienst", "DevDetail_Tab_NmapTableService": "Dienst",
"DevDetail_Tab_NmapTableState": "Status", "DevDetail_Tab_NmapTableState": "Status",
"DevDetail_Tab_NmapTableText": "Erstelle einen Plan über die<a href=\"/settings.php#NMAP_ACTIVE\">Einstellungen</a>", "DevDetail_Tab_NmapTableText": "Erstelle einen Plan \u00fcber die<a href=\"/settings.php#NMAP_ACTIVE\">Einstellungen</a>",
"DevDetail_Tab_NmapTableTime": "Zeit", "DevDetail_Tab_NmapTableTime": "Zeit",
"DevDetail_Tab_Plugins": "<i class=\"fa fa-plug\"></i> Plugins", "DevDetail_Tab_Plugins": "<i class=\"fa fa-plug\"></i> Plugins",
"DevDetail_Tab_Presence": "Anwesenheit", "DevDetail_Tab_Presence": "Anwesenheit",
"DevDetail_Tab_Sessions": "Sitzungen", "DevDetail_Tab_Sessions": "Sitzungen",
"DevDetail_Tab_Tools": "<i class=\"fa fa-screwdriver-wrench\"></i> Tools", "DevDetail_Tab_Tools": "<i class=\"fa fa-screwdriver-wrench\"></i> Tools",
"DevDetail_Tab_Tools_Internet_Info_Description": "Das Internet-Info-Tool zeigt Informationen über die Internetverbindung an, wie z. B. IP-Adresse, Stadt, Land, Ortsvorwahl und Zeitzone.", "DevDetail_Tab_Tools_Internet_Info_Description": "Das Internet-Info-Tool zeigt Informationen \u00fcber die Internetverbindung an, wie z. B. IP-Adresse, Stadt, Land, Ortsvorwahl und Zeitzone.",
"DevDetail_Tab_Tools_Internet_Info_Error": "Es ist ein Fehler aufgetreten", "DevDetail_Tab_Tools_Internet_Info_Error": "Es ist ein Fehler aufgetreten",
"DevDetail_Tab_Tools_Internet_Info_Start": "Internet-Info starten", "DevDetail_Tab_Tools_Internet_Info_Start": "Internet-Info starten",
"DevDetail_Tab_Tools_Internet_Info_Title": "Internetinformationen", "DevDetail_Tab_Tools_Internet_Info_Title": "Internetinformationen",
"DevDetail_Tab_Tools_Nslookup_Description": "Nslookup ist ein Befehlszeilentool zur Abfrage des Domain Name System (DNS). DNS ist ein System, das Domainnamen wie www.google.com in IP-Adressen wie 172.217.0.142 übersetzt. ", "DevDetail_Tab_Tools_Nslookup_Description": "Nslookup ist ein Befehlszeilentool zur Abfrage des Domain Name System (DNS). DNS ist ein System, das Domainnamen wie www.google.com in IP-Adressen wie 172.217.0.142 \u00fcbersetzt. ",
"DevDetail_Tab_Tools_Nslookup_Error": "Fehler: IP-Adresse ist ungültig", "DevDetail_Tab_Tools_Nslookup_Error": "Fehler: IP-Adresse ist ung\u00fcltig",
"DevDetail_Tab_Tools_Nslookup_Start": "Nslookup starten", "DevDetail_Tab_Tools_Nslookup_Start": "Nslookup starten",
"DevDetail_Tab_Tools_Nslookup_Title": "Nslookup", "DevDetail_Tab_Tools_Nslookup_Title": "Nslookup",
"DevDetail_Tab_Tools_Speedtest_Description": "Das Speedtest-Tool misst die Download-Geschwindigkeit, Upload-Geschwindigkeit und Latenz der Internetverbindung.", "DevDetail_Tab_Tools_Speedtest_Description": "Das Speedtest-Tool misst die Download-Geschwindigkeit, Upload-Geschwindigkeit und Latenz der Internetverbindung.",
"DevDetail_Tab_Tools_Speedtest_Start": "Speedtest starten", "DevDetail_Tab_Tools_Speedtest_Start": "Speedtest starten",
"DevDetail_Tab_Tools_Speedtest_Title": "Speedtest test", "DevDetail_Tab_Tools_Speedtest_Title": "Speedtest test",
"DevDetail_Tab_Tools_Traceroute_Description": "Traceroute ist ein Netzwerkdiagnosebefehl, mit dem der Pfad verfolgt wird, den Datenpakete von einem Host zu einem anderen nehmen.<br><br>Der Befehl verwendet das Internet Control Message Protocol (ICMP), um Pakete an Zwischenknoten auf der Route zu senden, jeden Zwischenknoten Der Knoten antwortet mit einem ICMP-Timeout-Paket (TTL-Zeitüberschreitung).<br><br>Die Ausgabe des Traceroute-Befehls zeigt die IP-Adresse jedes Zwischenknotens auf der Route an.<br><br>Die Ausgabe der Traceroute Der Befehl zeigt die IP-Adresse jedes Zwischenknotens auf der Route an.<br><br>Der Befehl traceroute kann zur Diagnose von Netzwerkproblemen wie Verzögerungen, Paketverlust und blockierten Routen verwendet werden.<br><br>Das ist auch möglich kann verwendet werden, um den Standort eines Zwischenknotens in einem Netzwerk zu identifizieren.", "DevDetail_Tab_Tools_Traceroute_Description": "Traceroute ist ein Netzwerkdiagnosebefehl, mit dem der Pfad verfolgt wird, den Datenpakete von einem Host zu einem anderen nehmen.<br><br>Der Befehl verwendet das Internet Control Message Protocol (ICMP), um Pakete an Zwischenknoten auf der Route zu senden, jeden Zwischenknoten Der Knoten antwortet mit einem ICMP-Timeout-Paket (TTL-Zeit\u00fcberschreitung).<br><br>Die Ausgabe des Traceroute-Befehls zeigt die IP-Adresse jedes Zwischenknotens auf der Route an.<br><br>Die Ausgabe der Traceroute Der Befehl zeigt die IP-Adresse jedes Zwischenknotens auf der Route an.<br><br>Der Befehl \u201etraceroute\u201c kann zur Diagnose von Netzwerkproblemen wie Verz\u00f6gerungen, Paketverlust und blockierten Routen verwendet werden.<br><br>Das ist auch m\u00f6glich kann verwendet werden, um den Standort eines Zwischenknotens in einem Netzwerk zu identifizieren.",
"DevDetail_Tab_Tools_Traceroute_Error": "Fehler: IP-Adresse ist ungültig", "DevDetail_Tab_Tools_Traceroute_Error": "Fehler: IP-Adresse ist ung\u00fcltig",
"DevDetail_Tab_Tools_Traceroute_Start": "Traceroute starten", "DevDetail_Tab_Tools_Traceroute_Start": "Traceroute starten",
"DevDetail_Tab_Tools_Traceroute_Title": "Traceroute", "DevDetail_Tab_Tools_Traceroute_Title": "Traceroute",
"DevDetail_Tools_WOL": "Sende Wol Befehl an ", "DevDetail_Tools_WOL": "Sende Wol Befehl an ",
"DevDetail_Tools_WOL_noti": "Wake-on-LAN", "DevDetail_Tools_WOL_noti": "Wake-on-LAN",
"DevDetail_Tools_WOL_noti_text": "Der Wake-on-LAN Befehl wurd and die Broadcast Adresse gesendet. Wenn sich das zu startende Gerät nicht im gleichen Subnet/vlan wie Pi.Alert befindet, wird das Gerät nicht reagieren.", "DevDetail_Tools_WOL_noti_text": "Der Wake-on-LAN Befehl wurd and die Broadcast Adresse gesendet. Wenn sich das zu startende Ger\u00e4t nicht im gleichen Subnet/vlan wie Pi.Alert befindet, wird das Ger\u00e4t nicht reagieren.",
"DevDetail_Type_hover": "Der Type des Gerätes. If you select any of the pre-defined network devices (e.g.: AP, Firewall, Router, Switch...) they will show up in the Network tree configuration as possible parent network nodes.", "DevDetail_Type_hover": "Der Type des Ger\u00e4tes. If you select any of the pre-defined network devices (e.g.: AP, Firewall, Router, Switch...) they will show up in the Network tree configuration as possible parent network nodes.",
"DevDetail_Vendor_hover": "Vendor should be auto-detected. You can overwrite or add your custom value.", "DevDetail_Vendor_hover": "Vendor should be auto-detected. You can overwrite or add your custom value.",
"DevDetail_WOL_Title": "<i class=\"fa fa-power-off\"></i> Wake-on-LAN", "DevDetail_WOL_Title": "<i class=\"fa fa-power-off\"></i> Wake-on-LAN",
"DevDetail_button_AddIcon": "", "DevDetail_button_AddIcon": "",
"DevDetail_button_AddIcon_Help": "", "DevDetail_button_AddIcon_Help": "",
"DevDetail_button_AddIcon_Tooltip": "", "DevDetail_button_AddIcon_Tooltip": "",
"DevDetail_button_Delete": "Lösche Gerät", "DevDetail_button_Delete": "L\u00f6sche Ger\u00e4t",
"DevDetail_button_DeleteEvents": "Lösche Events", "DevDetail_button_DeleteEvents": "L\u00f6sche Events",
"DevDetail_button_DeleteEvents_Warning": "Sind Sie sicher, dass Sie alle Ereignisse dieses Geräts löschen möchten? (dies löscht den Ereignisverlauf und die Sitzungen und könnte bei ständigen (anhaltenden) Benachrichtigungen helfen)", "DevDetail_button_DeleteEvents_Warning": "Sind Sie sicher, dass Sie alle Ereignisse dieses Ger\u00e4ts l\u00f6schen m\u00f6chten? (dies l\u00f6scht den Ereignisverlauf und die Sitzungen und k\u00f6nnte bei st\u00e4ndigen (anhaltenden) Benachrichtigungen helfen)",
"DevDetail_button_OverwriteIcons": "Overwrite Icons", "DevDetail_button_OverwriteIcons": "Overwrite Icons",
"DevDetail_button_OverwriteIcons_Tooltip": "Overwrite icons of all devices with the same device type", "DevDetail_button_OverwriteIcons_Tooltip": "Overwrite icons of all devices with the same device type",
"DevDetail_button_OverwriteIcons_Warning": "Are you sure you want to overwrite all icons of all devices with the same device type as the current device type?", "DevDetail_button_OverwriteIcons_Warning": "Are you sure you want to overwrite all icons of all devices with the same device type as the current device type?",
@@ -196,15 +196,15 @@
"Device_MultiEdit_MassActions": "", "Device_MultiEdit_MassActions": "",
"Device_MultiEdit_Tooltip": "", "Device_MultiEdit_Tooltip": "",
"Device_Searchbox": "Suche", "Device_Searchbox": "Suche",
"Device_Shortcut_AllDevices": "Alle Geräte", "Device_Shortcut_AllDevices": "Alle Ger\u00e4te",
"Device_Shortcut_Archived": "Archiviert", "Device_Shortcut_Archived": "Archiviert",
"Device_Shortcut_Connected": "Verbunden", "Device_Shortcut_Connected": "Verbunden",
"Device_Shortcut_Devices": "Geräte", "Device_Shortcut_Devices": "Ger\u00e4te",
"Device_Shortcut_DownAlerts": "Down Meldungen", "Device_Shortcut_DownAlerts": "Down Meldungen",
"Device_Shortcut_Favorites": "Favoriten", "Device_Shortcut_Favorites": "Favoriten",
"Device_Shortcut_NewDevices": "Neue Geräte", "Device_Shortcut_NewDevices": "Neue Ger\u00e4te",
"Device_Shortcut_OnlineChart": "Gerätepräsenz im Laufe der Zeit", "Device_Shortcut_OnlineChart": "Ger\u00e4tepr\u00e4senz im Laufe der Zeit",
"Device_TableHead_Connected_Devices": "Verbundene Geräte", "Device_TableHead_Connected_Devices": "Verbundene Ger\u00e4te",
"Device_TableHead_Favorite": "Favorit", "Device_TableHead_Favorite": "Favorit",
"Device_TableHead_FirstSession": "Erste Sitzung", "Device_TableHead_FirstSession": "Erste Sitzung",
"Device_TableHead_Group": "Gruppe", "Device_TableHead_Group": "Gruppe",
@@ -216,24 +216,24 @@
"Device_TableHead_MAC": "MAC", "Device_TableHead_MAC": "MAC",
"Device_TableHead_MAC_full": "Gesamte MAC", "Device_TableHead_MAC_full": "Gesamte MAC",
"Device_TableHead_Name": "Name", "Device_TableHead_Name": "Name",
"Device_TableHead_Owner": "Eigentümer", "Device_TableHead_Owner": "Eigent\u00fcmer",
"Device_TableHead_Parent_MAC": "Übergeordnete MAC", "Device_TableHead_Parent_MAC": "\u00dcbergeordnete MAC",
"Device_TableHead_Port": "Port", "Device_TableHead_Port": "Port",
"Device_TableHead_RowID": "", "Device_TableHead_RowID": "",
"Device_TableHead_Rowid": "Zeilennummer", "Device_TableHead_Rowid": "Zeilennummer",
"Device_TableHead_Status": "Status", "Device_TableHead_Status": "Status",
"Device_TableHead_Type": "Typ", "Device_TableHead_Type": "Typ",
"Device_TableHead_Vendor": "Hersteller", "Device_TableHead_Vendor": "Hersteller",
"Device_Table_Not_Network_Device": "Nicht konfiguriert als Netzwerkgerät", "Device_Table_Not_Network_Device": "Nicht konfiguriert als Netzwerkger\u00e4t",
"Device_Table_info": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen", "Device_Table_info": "Zeige _START_ bis _END_ von _TOTAL_ Eintr\u00e4gen",
"Device_Table_nav_next": "Nächste", "Device_Table_nav_next": "N\u00e4chste",
"Device_Table_nav_prev": "Zurück", "Device_Table_nav_prev": "Zur\u00fcck",
"Device_Tablelenght": "Zeige _MENU_ Einträge", "Device_Tablelenght": "Zeige _MENU_ Eintr\u00e4ge",
"Device_Tablelenght_all": "Alle", "Device_Tablelenght_all": "Alle",
"Device_Title": "Geräte", "Device_Title": "Ger\u00e4te",
"Donations_Others": "Others", "Donations_Others": "Others",
"Donations_Platforms": "Sponsor platforms", "Donations_Platforms": "Sponsor platforms",
"Donations_Text": "Hey 👋! </br> Thanks for clicking on this menu item 😅 </br> </br> I'm trying to collect some donations to make you better software. Also, it would help me not to get burned out. Me burning out might mean end of support for this app. Any small (recurring or not) sponsorship makes me want ot put more effort into this app. I don't want to lock features (new plugins) behind paywalls 🔐. </br> Currently, I'm waking up 2h before work so I contribute to the app a bit. If I had some recurring income I could shorten my workweek and in the remaining time fully focus on PiAlert. You'd get more functionality, a more polished app and less bugs. </br> </br> Thanks for reading - I'm super grateful for any support ❤🙏 </br> </br> TL;DR: By supporting me you get: </br> </br> <ul><li>Regular updates to keep your data and family safe 🔄</li><li>Less bugs 🐛🔫</li><li>Better and more functionality</li><li>I don't get burned out 🔥🤯</li><li>Less rushed releases 💨</li><li>Better docs📚</li><li>Quicker and better support with issues 🆘</li><li>Less grumpy me 😄</li></ul> </br> 📧Email me to <a href='mailto:jokob@duck.com?subject=PiAlert'>jokob@duck.com</a> if you want to get in touch or if I should add other sponsorship platforms. </br>", "Donations_Text": "Hey \ud83d\udc4b! </br> Thanks for clicking on this menu item \ud83d\ude05 </br> </br> I'm trying to collect some donations to make you better software. Also, it would help me not to get burned out. Me burning out might mean end of support for this app. Any small (recurring or not) sponsorship makes me want ot put more effort into this app. I don't want to lock features (new plugins) behind paywalls \ud83d\udd10. </br> Currently, I'm waking up 2h before work so I contribute to the app a bit. If I had some recurring income I could shorten my workweek and in the remaining time fully focus on NetAlertX. You'd get more functionality, a more polished app and less bugs. </br> </br> Thanks for reading - I'm super grateful for any support \u2764\ud83d\ude4f </br> </br> TL;DR: By supporting me you get: </br> </br> <ul><li>Regular updates to keep your data and family safe \ud83d\udd04</li><li>Less bugs \ud83d\udc1b\ud83d\udd2b</li><li>Better and more functionality\u2795</li><li>I don't get burned out \ud83d\udd25\ud83e\udd2f</li><li>Less rushed releases \ud83d\udca8</li><li>Better docs\ud83d\udcda</li><li>Quicker and better support with issues \ud83c\udd98</li><li>Less grumpy me \ud83d\ude04</li></ul> </br> \ud83d\udce7Email me to <a href='mailto:jokob@duck.com?subject=NetAlertX'>jokob@duck.com</a> if you want to get in touch or if I should add other sponsorship platforms. </br>",
"Donations_Title": "Donations", "Donations_Title": "Donations",
"ENABLE_PLUGINS_description": "NOTUSED Enables the <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins\">plugins</a> functionality. Loading plugins requires more hardware resources so you might want to disable them on low-powered system.", "ENABLE_PLUGINS_description": "NOTUSED Enables the <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins\">plugins</a> functionality. Loading plugins requires more hardware resources so you might want to disable them on low-powered system.",
"ENABLE_PLUGINS_name": "NOTUSED Enable Plugins", "ENABLE_PLUGINS_name": "NOTUSED Enable Plugins",
@@ -250,13 +250,13 @@
"Events_Shortcut_DownAlerts": "Down Meldungen", "Events_Shortcut_DownAlerts": "Down Meldungen",
"Events_Shortcut_Events": "Ereignisse", "Events_Shortcut_Events": "Ereignisse",
"Events_Shortcut_MissSessions": "fehlende Sitzungen", "Events_Shortcut_MissSessions": "fehlende Sitzungen",
"Events_Shortcut_NewDevices": "Neue Geräte", "Events_Shortcut_NewDevices": "Neue Ger\u00e4te",
"Events_Shortcut_Sessions": "Sitzungen", "Events_Shortcut_Sessions": "Sitzungen",
"Events_Shortcut_VoidSessions": "beendete Sitzungen", "Events_Shortcut_VoidSessions": "beendete Sitzungen",
"Events_TableHead_AdditionalInfo": "Zusätzliche Info", "Events_TableHead_AdditionalInfo": "Zus\u00e4tzliche Info",
"Events_TableHead_Connection": "Verbindung", "Events_TableHead_Connection": "Verbindung",
"Events_TableHead_Date": "Datum", "Events_TableHead_Date": "Datum",
"Events_TableHead_Device": "Gerät", "Events_TableHead_Device": "Ger\u00e4t",
"Events_TableHead_Disconnection": "Trennung", "Events_TableHead_Disconnection": "Trennung",
"Events_TableHead_Duration": "Dauer", "Events_TableHead_Duration": "Dauer",
"Events_TableHead_DurationOrder": "Duration Order", "Events_TableHead_DurationOrder": "Duration Order",
@@ -264,11 +264,11 @@
"Events_TableHead_IP": "IP", "Events_TableHead_IP": "IP",
"Events_TableHead_IPOrder": "IP Order", "Events_TableHead_IPOrder": "IP Order",
"Events_TableHead_Order": "Order", "Events_TableHead_Order": "Order",
"Events_TableHead_Owner": "Eigentümer", "Events_TableHead_Owner": "Eigent\u00fcmer",
"Events_Table_info": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen", "Events_Table_info": "Zeige _START_ bis _END_ von _TOTAL_ Eintr\u00e4gen",
"Events_Table_nav_next": "Nächste", "Events_Table_nav_next": "N\u00e4chste",
"Events_Table_nav_prev": "Zurück", "Events_Table_nav_prev": "Zur\u00fcck",
"Events_Tablelenght": "Zeige _MENU_ Einträge", "Events_Tablelenght": "Zeige _MENU_ Eintr\u00e4ge",
"Events_Tablelenght_all": "Alle", "Events_Tablelenght_all": "Alle",
"Events_Title": "Ereignisse", "Events_Title": "Ereignisse",
"Gen_Action": "Action", "Gen_Action": "Action",
@@ -277,12 +277,12 @@
"Gen_Cancel": "Abbrechen", "Gen_Cancel": "Abbrechen",
"Gen_Copy": "Run", "Gen_Copy": "Run",
"Gen_DataUpdatedUITakesTime": "OK - It may take a while for the UI to update if a scan is runnig", "Gen_DataUpdatedUITakesTime": "OK - It may take a while for the UI to update if a scan is runnig",
"Gen_Delete": "Löschen", "Gen_Delete": "L\u00f6schen",
"Gen_DeleteAll": "Delete all", "Gen_DeleteAll": "Delete all",
"Gen_Error": "", "Gen_Error": "",
"Gen_LockedDB": "ERROR - DB eventuell gesperrt - Nutze die Konsole in den Entwickler Werkzeugen (F12) zur Überprüfung oder probiere es später erneut.", "Gen_LockedDB": "ERROR - DB eventuell gesperrt - Nutze die Konsole in den Entwickler Werkzeugen (F12) zur \u00dcberpr\u00fcfung oder probiere es sp\u00e4ter erneut.",
"Gen_Okay": "Ok", "Gen_Okay": "Ok",
"Gen_Purge": "Aufräumen", "Gen_Purge": "Aufr\u00e4umen",
"Gen_ReadDocs": "Mehr in der Dokumentation", "Gen_ReadDocs": "Mehr in der Dokumentation",
"Gen_Restore": "Wiederherstellen", "Gen_Restore": "Wiederherstellen",
"Gen_Run": "Run", "Gen_Run": "Run",
@@ -296,56 +296,56 @@
"Gen_Work_In_Progress": "", "Gen_Work_In_Progress": "",
"General_display_name": "Allgemein", "General_display_name": "Allgemein",
"General_icon": "<i class=\"fa fa-gears\"></i>", "General_icon": "<i class=\"fa fa-gears\"></i>",
"HRS_TO_KEEP_NEWDEV_description": "Dies ist eine Wartungseinstellung. Geräte markiert als <b>Neues Gerät</b> werden gelöscht, wenn ihre <b>Erste Sitzung</b> länger her ist als die angegebenen Stunden in dieser Einstellung. <code>0</code> deaktiviert diese Funktion. Nutzen Sie diese Einstellung, um <b>Neue Geräte</b> automatisch nach <code>X</code> Stunden zu löschen.", "HRS_TO_KEEP_NEWDEV_description": "Dies ist eine Wartungseinstellung. Ger\u00e4te markiert als <b>Neues Ger\u00e4t</b> werden gel\u00f6scht, wenn ihre <b>Erste Sitzung</b> l\u00e4nger her ist als die angegebenen Stunden in dieser Einstellung. <code>0</code> deaktiviert diese Funktion. Nutzen Sie diese Einstellung, um <b>Neue Ger\u00e4te</b> automatisch nach <code>X</code> Stunden zu l\u00f6schen.",
"HRS_TO_KEEP_NEWDEV_name": "Neue Geräte speichern für", "HRS_TO_KEEP_NEWDEV_name": "Neue Ger\u00e4te speichern f\u00fcr",
"HelpFAQ_Cat_Detail": "Detailansicht", "HelpFAQ_Cat_Detail": "Detailansicht",
"HelpFAQ_Cat_Detail_300_head": "Was bedeutet ", "HelpFAQ_Cat_Detail_300_head": "Was bedeutet ",
"HelpFAQ_Cat_Detail_300_text_a": "meint ein Netzwerkgerät (welches den typ AP, Gateway, Firewall, Hypervisor, Powerline, Switch, WLAN, PLC, Router,USB LAN Adapter, USB WIFI Adapter, or Internet eingestellt hat)", "HelpFAQ_Cat_Detail_300_text_a": "meint ein Netzwerkger\u00e4t (welches den typ AP, Gateway, Firewall, Hypervisor, Powerline, Switch, WLAN, PLC, Router,USB LAN Adapter, USB WIFI Adapter, or Internet eingestellt hat)",
"HelpFAQ_Cat_Detail_300_text_b": "bezeichnet die Anschlussnummer/Portnummer, an der das gerade bearbeitete Gerät mit diesem Netzwerkgerät verbunden ist.", "HelpFAQ_Cat_Detail_300_text_b": "bezeichnet die Anschlussnummer/Portnummer, an der das gerade bearbeitete Ger\u00e4t mit diesem Netzwerkger\u00e4t verbunden ist.",
"HelpFAQ_Cat_Detail_301_head_a": "Wann wird nun gescannt? Bei ", "HelpFAQ_Cat_Detail_301_head_a": "Wann wird nun gescannt? Bei ",
"HelpFAQ_Cat_Detail_301_head_b": " steht 1min aber der Graph zeigt 5min - Abstände an.", "HelpFAQ_Cat_Detail_301_head_b": " steht 1min aber der Graph zeigt 5min - Abst\u00e4nde an.",
"HelpFAQ_Cat_Detail_301_text": "Den zeitlichen Abstand zwischen den Scans legt der \"Cronjob\" fest, welcher standardmäßig auf 5min eingestellt ist. Die Benennung \"1min\" bezieht sich auf die zu erwartende Dauer des Scans. Abhängig vor der Netzwerkkonfiguration kann diese Zeitangabe variieren. Um den Cronjob zu bearbeiten, kannst du im Terminal/der Konsole <span class=\"text-danger help_faq_code\">crontab -e</span> eingeben und den Intervall ändern.", "HelpFAQ_Cat_Detail_301_text": "Den zeitlichen Abstand zwischen den Scans legt der \"Cronjob\" fest, welcher standardm\u00e4\u00dfig auf 5min eingestellt ist. Die Benennung \"1min\" bezieht sich auf die zu erwartende Dauer des Scans. Abh\u00e4ngig vor der Netzwerkkonfiguration kann diese Zeitangabe variieren. Um den Cronjob zu bearbeiten, kannst du im Terminal/der Konsole <span class=\"text-danger help_faq_code\">crontab -e</span> eingeben und den Intervall \u00e4ndern.",
"HelpFAQ_Cat_Detail_302_head_a": "Was bedeutet ", "HelpFAQ_Cat_Detail_302_head_a": "Was bedeutet ",
"HelpFAQ_Cat_Detail_302_head_b": " und warum kann ich das nicht auswählen?", "HelpFAQ_Cat_Detail_302_head_b": " und warum kann ich das nicht ausw\u00e4hlen?",
"HelpFAQ_Cat_Detail_302_text": "Einige moderne Geräte generieren aus Datenschutzgründen zufällige MAC-Adressen, die keinem Hersteller mehr zugeordnet werden können und welche sich mit jeder neuen Verbindung ändern. Pi.Alert erkennt, ob es sich um eine solche zufällige MAC-Adresse handelt und aktiviert dieses \"Feld\" automatisch. Um das Verhalten abzustellen, musst du in deinem Endgerät schauen, wie du die MAC-Adressen-Generierung deaktivierst.", "HelpFAQ_Cat_Detail_302_text": "Einige moderne Ger\u00e4te generieren aus Datenschutzgr\u00fcnden zuf\u00e4llige MAC-Adressen, die keinem Hersteller mehr zugeordnet werden k\u00f6nnen und welche sich mit jeder neuen Verbindung \u00e4ndern. Pi.Alert erkennt, ob es sich um eine solche zuf\u00e4llige MAC-Adresse handelt und aktiviert dieses \"Feld\" automatisch. Um das Verhalten abzustellen, musst du in deinem Endger\u00e4t schauen, wie du die MAC-Adressen-Generierung deaktivierst.",
"HelpFAQ_Cat_Detail_303_head": "Was ist Nmap und wozu dient es?", "HelpFAQ_Cat_Detail_303_head": "Was ist Nmap und wozu dient es?",
"HelpFAQ_Cat_Detail_303_text": "Nmap ist ein Netzwerkscanner mit vielfältigen Möglichkeiten.<br> Wenn ein neues Gerät in deiner Liste auftaucht, hast du die Möglichkeit über den Nmap-Scan genauere Informationen über das Gerät zu erhalten.", "HelpFAQ_Cat_Detail_303_text": "Nmap ist ein Netzwerkscanner mit vielf\u00e4ltigen M\u00f6glichkeiten.<br> Wenn ein neues Ger\u00e4t in deiner Liste auftaucht, hast du die M\u00f6glichkeit \u00fcber den Nmap-Scan genauere Informationen \u00fcber das Ger\u00e4t zu erhalten.",
"HelpFAQ_Cat_Device_200_head": "Ich habe, mir nicht bekannte, Geräte in meiner Liste. Nach dem Löschen tauchen diese immer wieder auf.", "HelpFAQ_Cat_Device_200_head": "Ich habe, mir nicht bekannte, Ger\u00e4te in meiner Liste. Nach dem L\u00f6schen tauchen diese immer wieder auf.",
"HelpFAQ_Cat_Device_200_text": "Wenn du Pi-hole verwendest, beachte bitte, dass Pi.Alert Informationen von Pi-hole abruft. Pausiere Pi.Alert, gehe in Pi-hole auf die Settings-Seite und lösche ggf. die betreffende DHCP-Lease. Anschließend schaue, ebenfalls in Pi-hole, unter Tools -> Network, ob sich dort die immer wiederkehrenden Hosts finden lassen. Wenn ja, lösche diese dort ebenfalls. Nun kannst du Pi.Alert wieder starten. Jetzt sollte das Gerät/die Geräte nicht mehr auftauchen.", "HelpFAQ_Cat_Device_200_text": "Wenn du Pi-hole verwendest, beachte bitte, dass Pi.Alert Informationen von Pi-hole abruft. Pausiere Pi.Alert, gehe in Pi-hole auf die Settings-Seite und l\u00f6sche ggf. die betreffende DHCP-Lease. Anschlie\u00dfend schaue, ebenfalls in Pi-hole, unter Tools -> Network, ob sich dort die immer wiederkehrenden Hosts finden lassen. Wenn ja, l\u00f6sche diese dort ebenfalls. Nun kannst du Pi.Alert wieder starten. Jetzt sollte das Ger\u00e4t/die Ger\u00e4te nicht mehr auftauchen.",
"HelpFAQ_Cat_General": "Allgemein", "HelpFAQ_Cat_General": "Allgemein",
"HelpFAQ_Cat_General_100_head": "Die Uhr oben rechts und die Zeiten der Events/Anwesenheit stimmen nicht überein (Zeitverschiebung).", "HelpFAQ_Cat_General_100_head": "Die Uhr oben rechts und die Zeiten der Events/Anwesenheit stimmen nicht \u00fcberein (Zeitverschiebung).",
"HelpFAQ_Cat_General_100_text_a": "Auf deinem PC ist für die PHP Umgebung folgende Zeitzone voreingestellt:", "HelpFAQ_Cat_General_100_text_a": "Auf deinem PC ist f\u00fcr die PHP Umgebung folgende Zeitzone voreingestellt:",
"HelpFAQ_Cat_General_100_text_b": "Sollte dies nicht die Zeitzone sein, in der du dich aufhältst, solltest du die Zeitzone in der PHP Konfigurationsdatei anpassen. Diese findest du in diesem Verzeichnis:", "HelpFAQ_Cat_General_100_text_b": "Sollte dies nicht die Zeitzone sein, in der du dich aufh\u00e4ltst, solltest du die Zeitzone in der PHP Konfigurationsdatei anpassen. Diese findest du in diesem Verzeichnis:",
"HelpFAQ_Cat_General_100_text_c": "Suche in dieser Datei nach dem Eintrag 'date.timezone', entferne ggf. das führende ';' und trage die gewünschte Zeitzone ein. Eine Liste mit den unterstützten Zeitzonen findest du hier (<a href=\"https://www.php.net/manual/de/timezones.php\" target=\"blank\">Link</a>).", "HelpFAQ_Cat_General_100_text_c": "Suche in dieser Datei nach dem Eintrag 'date.timezone', entferne ggf. das f\u00fchrende ';' und trage die gew\u00fcnschte Zeitzone ein. Eine Liste mit den unterst\u00fctzten Zeitzonen findest du hier (<a href=\"https://www.php.net/manual/de/timezones.php\" target=\"blank\">Link</a>).",
"HelpFAQ_Cat_General_101_head": "Mein Netzwerk scheint langsamer zu werden, Streaming ruckelt.", "HelpFAQ_Cat_General_101_head": "Mein Netzwerk scheint langsamer zu werden, Streaming ruckelt.",
"HelpFAQ_Cat_General_101_text": "Es kann durchaus sein, das leistungsschwache Geräte mit der Art und Weise, wie NetAlertX neue Geräte im Netzwerk erkennt, an ihre Leistungsgrenzen kommen. Dies verstärkt sich noch einmal, <br/> wenn diese Geräte per WLAN mit dem Netzwerk kommunizieren. Lösungen wären hier, wenn möglich ein Wechsel auf eine Kabelverbindung oder, falls das Geräte nur einen begrenzten Zeitraum genutzt <br/> werden soll, den arp-Scan auf der Wartungsseite zu pausieren.", "HelpFAQ_Cat_General_101_text": "Es kann durchaus sein, das leistungsschwache Ger\u00e4te mit der Art und Weise, wie NetAlertX neue Ger\u00e4te im Netzwerk erkennt, an ihre Leistungsgrenzen kommen. Dies verst\u00e4rkt sich noch einmal, <br/> wenn diese Ger\u00e4te per WLAN mit dem Netzwerk kommunizieren. L\u00f6sungen w\u00e4ren hier, wenn m\u00f6glich ein Wechsel auf eine Kabelverbindung oder, falls das Ger\u00e4te nur einen begrenzten Zeitraum genutzt <br/> werden soll, den arp-Scan auf der Wartungsseite zu pausieren.",
"HelpFAQ_Cat_General_102_head": "Ich bekomme die Meldung, dass die Datenbank schreibgeschützt (read only) ist.", "HelpFAQ_Cat_General_102_head": "Ich bekomme die Meldung, dass die Datenbank schreibgesch\u00fctzt (read only) ist.",
"HelpFAQ_Cat_General_102_text": "Prüfe im NetAlertX verzeichnis ob der Ordner der Datenbank (db) die richtigen Rechte zugewiesen bekommen hat:<br> <span class=\"text-danger help_faq_code\">drwxrwx--- 2 (dein Username) www-data</span><br> Sollte die Berechtigung nicht stimmen, kannst du sie mit folgenden Befehlen im Terminal oder der Konsole wieder setzen:<br> <span class=\"text-danger help_faq_code\"> sudo chgrp -R www-data ~/pialert/db<br> chmod -R 770 ~/pialert/db </span><br> Wenn die Datenbank danach noch immer schreibgeschützt ist, versuche eine erneute Installation, oder das Zuückspielen eines Datenbank-Backups über die Wartungsseite.", "HelpFAQ_Cat_General_102_text": "Pr\u00fcfe im NetAlertX verzeichnis ob der Ordner der Datenbank (db) die richtigen Rechte zugewiesen bekommen hat:<br> <span class=\"text-danger help_faq_code\">drwxrwx--- 2 (dein Username) www-data</span><br> Sollte die Berechtigung nicht stimmen, kannst du sie mit folgenden Befehlen im Terminal oder der Konsole wieder setzen:<br> <span class=\"text-danger help_faq_code\"> sudo chgrp -R www-data /app/db<br> chmod -R 770 /app/db </span><br> Wenn die Datenbank danach noch immer schreibgesch\u00fctzt ist, versuche eine erneute Installation, oder das Zu\u00fcckspielen eines Datenbank-Backups \u00fcber die Wartungsseite.",
"HelpFAQ_Cat_General_102docker_head": "(🐳 Docker only) Database issues (AJAX errors, read-only, not found)", "HelpFAQ_Cat_General_102docker_head": "(\ud83d\udc33 Docker only) Database issues (AJAX errors, read-only, not found)",
"HelpFAQ_Cat_General_102docker_text": "Double-check you have followed the <a href=\"https://github.com/jokob-sk/NetAlertX/tree/main/dockerfiles\">dockerfile readme (most up-to-date info)</a>. <br/> <br/> <ul data-sourcepos=\"49:4-52:146\" dir=\"auto\"> <li data-sourcepos=\"49:4-49:106\">Download the <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/db/pialert.db\">original DB from GitHub</a>.</li> <li data-sourcepos=\"50:4-50:195\">Map the <code>pialert.db</code> file (<g-emoji class=\"g-emoji\" alias=\"warning\" fallback-src=\"https://github.githubassets.com/images/icons/emoji/unicode/26a0.png\"></g-emoji> not folder) from above to <code>/home/pi/pialert/db/pialert.db</code> (see <a href=\"https://github.com/jokob-sk/NetAlertX/tree/main/dockerfiles#-examples\">Examples</a> for details).</li><li data-sourcepos=\"51:4-51:161\">If facing issues (AJAX errors, can not write to DB, etc,) make sure permissions are set correctly, alternatively check the logs under <code>/home/pi/pialert/front/log</code>.</li> <li data-sourcepos=\"52:4-52:146\">To solve permission issues you can also try to create a DB backup and then run a DB Restore via the <strong>Maintenance &gt; Backup/Restore</strong> section.</li> <li data-sourcepos=\"53:4-53:228\">If the database is in read-only mode you can solve this by setting the owner and group by executing the following command on the host system: <code>docker exec pialert chown -R www-data:www-data /home/pi/pialert/db/pialert.db</code>.</li></ul>", "HelpFAQ_Cat_General_102docker_text": "Double-check you have followed the <a href=\"https://github.com/jokob-sk/NetAlertX/tree/main/dockerfiles\">dockerfile readme (most up-to-date info)</a>. <br/> <br/> <ul data-sourcepos=\"49:4-52:146\" dir=\"auto\"> <li data-sourcepos=\"49:4-49:106\">Download the <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/db/app.db\">original DB from GitHub</a>.</li> <li data-sourcepos=\"50:4-50:195\">Map the <code>app.db</code> file (<g-emoji class=\"g-emoji\" alias=\"warning\" fallback-src=\"https://github.githubassets.com/images/icons/emoji/unicode/26a0.png\">\u26a0</g-emoji> not folder) from above to <code>/app/db/app.db</code> (see <a href=\"https://github.com/jokob-sk/NetAlertX/tree/main/dockerfiles#-examples\">Examples</a> for details).</li><li data-sourcepos=\"51:4-51:161\">If facing issues (AJAX errors, can not write to DB, etc,) make sure permissions are set correctly, alternatively check the logs under <code>/app/front/log</code>.</li> <li data-sourcepos=\"52:4-52:146\">To solve permission issues you can also try to create a DB backup and then run a DB Restore via the <strong>Maintenance &gt; Backup/Restore</strong> section.</li> <li data-sourcepos=\"53:4-53:228\">If the database is in read-only mode you can solve this by setting the owner and group by executing the following command on the host system: <code>docker exec netalertx chown -R www-data:www-data /app/db/app.db</code>.</li></ul>",
"HelpFAQ_Cat_General_103_head": "Die Login-Seite erscheint nicht, auch nicht nach der Passwortänderung.", "HelpFAQ_Cat_General_103_head": "Die Login-Seite erscheint nicht, auch nicht nach der Passwort\u00e4nderung.",
"HelpFAQ_Cat_General_103_text": "Neben dem Passwort, muss in der Konfigurationsdatei <span class=\"text-danger help_faq_code\">~/pialert/config/pialert.conf</span> auch der Parameter <span class=\"text-danger help_faq_code\">PIALERT_WEB_PROTECTION</span> auf <span class=\"text-danger help_faq_code\">True</span> gesetzt sein.", "HelpFAQ_Cat_General_103_text": "Neben dem Passwort, muss in der Konfigurationsdatei <span class=\"text-danger help_faq_code\">/app/config/app.conf</span> auch der Parameter <span class=\"text-danger help_faq_code\">PIALERT_WEB_PROTECTION</span> auf <span class=\"text-danger help_faq_code\">True</span> gesetzt sein.",
"HelpFAQ_Cat_Network_600_head": "Was bringt mir diese Seite?", "HelpFAQ_Cat_Network_600_head": "Was bringt mir diese Seite?",
"HelpFAQ_Cat_Network_600_text": "Diese Seite soll dir die Möglichkeit bieten, die Belegung deiner Netzwerkgeräte abzubilden. Dazu kannst du einen oder mehrere Switches, WLANs, Router, etc. erstellen, sie ggf. mit einer Portanzahl versehen und bereits erkannte Geräte diesen zuordnen. Diese Zuordnung erfolgt in der Detailansicht, des zuzuordnenden Gerätes. So ist es dir möglich, schnell festzustellen an welchem Port ein Host angeschlossen und ob er online ist.", "HelpFAQ_Cat_Network_600_text": "Diese Seite soll dir die M\u00f6glichkeit bieten, die Belegung deiner Netzwerkger\u00e4te abzubilden. Dazu kannst du einen oder mehrere Switches, WLANs, Router, etc. erstellen, sie ggf. mit einer Portanzahl versehen und bereits erkannte Ger\u00e4te diesen zuordnen. Diese Zuordnung erfolgt in der Detailansicht, des zuzuordnenden Ger\u00e4tes. So ist es dir m\u00f6glich, schnell festzustellen an welchem Port ein Host angeschlossen und ob er online ist.",
"HelpFAQ_Cat_Network_601_head": "Gibt es mehr Dokumentation?", "HelpFAQ_Cat_Network_601_head": "Gibt es mehr Dokumentation?",
"HelpFAQ_Cat_Network_601_text": "Ja, gibt es! Siehe <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/\">alle Dokumentationen</a> für mehr Infos.", "HelpFAQ_Cat_Network_601_text": "Ja, gibt es! Siehe <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/\">alle Dokumentationen</a> f\u00fcr mehr Infos.",
"HelpFAQ_Cat_Presence_400_head": "Geräte werden mit einer gelben Markierung und dem Hinweis \"missing Event\" angezeigt.", "HelpFAQ_Cat_Presence_400_head": "Ger\u00e4te werden mit einer gelben Markierung und dem Hinweis \"missing Event\" angezeigt.",
"HelpFAQ_Cat_Presence_400_text": "Wenn dies geschieht hast du die Möglickeit, bei dem betreffenden Gerät (Detailsansicht) die Events zu löschen. Eine andere Möglichkeit wäre, das Gerät einzuschalten und zu warten, bis NetAlertX mit dem nächsten Scan das Gerät als \"Online\" erkennt und anschließend das Gerät einfach wieder ausschalten. Nun sollte NetAlertX mit dem nächsten Scan den Zustand des Gerätes ordentlich in der Datenbank vermerken.", "HelpFAQ_Cat_Presence_400_text": "Wenn dies geschieht hast du die M\u00f6glickeit, bei dem betreffenden Ger\u00e4t (Detailsansicht) die Events zu l\u00f6schen. Eine andere M\u00f6glichkeit w\u00e4re, das Ger\u00e4t einzuschalten und zu warten, bis NetAlertX mit dem n\u00e4chsten Scan das Ger\u00e4t als \"Online\" erkennt und anschlie\u00dfend das Ger\u00e4t einfach wieder ausschalten. Nun sollte NetAlertX mit dem n\u00e4chsten Scan den Zustand des Ger\u00e4tes ordentlich in der Datenbank vermerken.",
"HelpFAQ_Cat_Presence_401_head": "Ein Gerät wird als Anwesend angezeigt, obwohl es \"Offline\" ist.", "HelpFAQ_Cat_Presence_401_head": "Ein Ger\u00e4t wird als Anwesend angezeigt, obwohl es \"Offline\" ist.",
"HelpFAQ_Cat_Presence_401_text": "Wenn dies geschieht hast du die Möglickeit, bei dem betreffenden Gerät (Detailsansicht) die Events zu löschen. Eine andere Möglichkeit wäre, das Gerät einzuschalten und zu warten, bis NetAlertX mit dem nächsten Scan das Gerät als \"Online\" erkennt und anschließend das Gerät einfach wieder ausschalten. Nun sollte NetAlertX mit dem nächsten Scan den Zustand des Gerätes ordentlich in der Datenbank vermerken.", "HelpFAQ_Cat_Presence_401_text": "Wenn dies geschieht hast du die M\u00f6glickeit, bei dem betreffenden Ger\u00e4t (Detailsansicht) die Events zu l\u00f6schen. Eine andere M\u00f6glichkeit w\u00e4re, das Ger\u00e4t einzuschalten und zu warten, bis NetAlertX mit dem n\u00e4chsten Scan das Ger\u00e4t als \"Online\" erkennt und anschlie\u00dfend das Ger\u00e4t einfach wieder ausschalten. Nun sollte NetAlertX mit dem n\u00e4chsten Scan den Zustand des Ger\u00e4tes ordentlich in der Datenbank vermerken.",
"HelpFAQ_Title": "Hilfe / FAQ", "HelpFAQ_Title": "Hilfe / FAQ",
"LOG_LEVEL_description": "Diese Einstellung aktiviert die erweiterte Protokollierung. Nützlich fürs Debuggen von in die Datenbank geschriebenen Events.", "LOG_LEVEL_description": "Diese Einstellung aktiviert die erweiterte Protokollierung. N\u00fctzlich f\u00fcrs Debuggen von in die Datenbank geschriebenen Events.",
"LOG_LEVEL_name": "Erweiterte Protokollierung", "LOG_LEVEL_name": "Erweiterte Protokollierung",
"Loading": "Laden...", "Loading": "Laden...",
"Login_Box": "Passwort eingeben", "Login_Box": "Passwort eingeben",
"Login_Default_PWD": "Standardpasswort \"123456\" noch immer aktiv.", "Login_Default_PWD": "Standardpasswort \"123456\" noch immer aktiv.",
"Login_Psw-box": "Passwort", "Login_Psw-box": "Passwort",
"Login_Psw_alert": "Sicherheitshinweis!", "Login_Psw_alert": "Sicherheitshinweis!",
"Login_Psw_folder": "im Ordner ~/pialert/config", "Login_Psw_folder": "im Ordner /app/config",
"Login_Psw_new": "neues_passwort", "Login_Psw_new": "neues_passwort",
"Login_Psw_run": "Um das Passwort zu ändern nutze:", "Login_Psw_run": "Um das Passwort zu \u00e4ndern nutze:",
"Login_Remember": "Passwort speichern", "Login_Remember": "Passwort speichern",
"Login_Remember_small": "(für 7 Tage gültig)", "Login_Remember_small": "(f\u00fcr 7 Tage g\u00fcltig)",
"Login_Submit": "Anmelden", "Login_Submit": "Anmelden",
"Login_Toggle_Alert_headline": "Passwort Warnung!", "Login_Toggle_Alert_headline": "Passwort Warnung!",
"Login_Toggle_Info": "Passwort Informationen", "Login_Toggle_Info": "Passwort Informationen",
@@ -370,64 +370,64 @@
"Maintenance_Tool_ExportCSV": "CSV Export", "Maintenance_Tool_ExportCSV": "CSV Export",
"Maintenance_Tool_ExportCSV_noti": "CSV Export", "Maintenance_Tool_ExportCSV_noti": "CSV Export",
"Maintenance_Tool_ExportCSV_noti_text": "Sind Sie sich sicher, dass Sie die CSV-Datei erstellen wollen?", "Maintenance_Tool_ExportCSV_noti_text": "Sind Sie sich sicher, dass Sie die CSV-Datei erstellen wollen?",
"Maintenance_Tool_ExportCSV_text": "Generiere eine CSV-Datei (comma separated values) mit einer Liste aller Geräte und deren Beziehungen zwischen Netzwerkknoten und verbundenen Geräten. Dies kann auch durch das Besuchen dieser URL <code>your pialert url/php/server/devices.php?action=ExportCSV</code> ausgelöst werden.", "Maintenance_Tool_ExportCSV_text": "Generiere eine CSV-Datei (comma separated values) mit einer Liste aller Ger\u00e4te und deren Beziehungen zwischen Netzwerkknoten und verbundenen Ger\u00e4ten. Dies kann auch durch das Besuchen dieser URL <code>your NetAlertX url/php/server/devices.php?action=ExportCSV</code> ausgel\u00f6st werden.",
"Maintenance_Tool_ImportCSV": "CSV Import", "Maintenance_Tool_ImportCSV": "CSV Import",
"Maintenance_Tool_ImportCSV_noti": "CSV Import", "Maintenance_Tool_ImportCSV_noti": "CSV Import",
"Maintenance_Tool_ImportCSV_noti_text": "Sind Sie sich sicher, dass Sie die CSV-Datei importieren wollen? Dies wird alle Geräte in der Datenbank überschreiben.", "Maintenance_Tool_ImportCSV_noti_text": "Sind Sie sich sicher, dass Sie die CSV-Datei importieren wollen? Dies wird alle Ger\u00e4te in der Datenbank \u00fcberschreiben.",
"Maintenance_Tool_ImportCSV_text": "Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen. Importiere eine CSV-Datei (comma separated values) mit einer Liste aller Geräte und deren Beziehungen zwischen Netzwerkknoten und verbundenen Geräten. Um dies zu tun platziere die <b>devices.csv</b> benannte CSV-Datei in deinen <b>/config</b> Ordner.", "Maintenance_Tool_ImportCSV_text": "Machen Sie ein Backup, bevor Sie diese Funk\u00adtion nutzen. Importiere eine CSV-Datei (comma separated values) mit einer Liste aller Ger\u00e4te und deren Beziehungen zwischen Netzwerkknoten und verbundenen Ger\u00e4ten. Um dies zu tun platziere die <b>devices.csv</b> benannte CSV-Datei in deinen <b>/config</b> Ordner.",
"Maintenance_Tool_arpscansw": "arp-Scan stoppen/starten", "Maintenance_Tool_arpscansw": "arp-Scan stoppen/starten",
"Maintenance_Tool_arpscansw_noti": "arp-Scan stoppen/starten", "Maintenance_Tool_arpscansw_noti": "arp-Scan stoppen/starten",
"Maintenance_Tool_arpscansw_noti_text": "Wenn der Scan aus ist, bleibt er so lange aus bis er wieder aktiviert wird.", "Maintenance_Tool_arpscansw_noti_text": "Wenn der Scan aus ist, bleibt er so lange aus bis er wieder aktiviert wird.",
"Maintenance_Tool_arpscansw_text": "Schaltet den arp-Scan an oder aus. Wenn der Scan aus ist, bleibt er so lange aus bis er wieder aktiviert wird. Bereits laufende Scans werden dabei nicht beendet.", "Maintenance_Tool_arpscansw_text": "Schaltet den arp-Scan an oder aus. Wenn der Scan aus ist, bleibt er so lange aus bis er wieder aktiviert wird. Bereits laufende Scans werden dabei nicht beendet.",
"Maintenance_Tool_backup": "DB Sicherung", "Maintenance_Tool_backup": "DB Sicherung",
"Maintenance_Tool_backup_noti": "DB Sicherung", "Maintenance_Tool_backup_noti": "DB Sicherung",
"Maintenance_Tool_backup_noti_text": "Sind Sie sicher, dass Sie die Datenbank jetzt sichern möchten. Prüfen Sie, dass gerade keine Scans stattfinden.", "Maintenance_Tool_backup_noti_text": "Sind Sie sicher, dass Sie die Datenbank jetzt sichern m\u00f6chten. Pr\u00fcfen Sie, dass gerade keine Scans stattfinden.",
"Maintenance_Tool_backup_text": "Die Datenbank-Sicher&shy;ungen befinden sich im Datenbank-Ver&shy;zeich&shy;nis, gepackt als zip-Archive, benannt mit dem Erstellungs&shy;datum. Es gibt keine maximale Anzahl von Backups.", "Maintenance_Tool_backup_text": "Die Datenbank-Sicher&shy;ungen befinden sich im Datenbank-Ver&shy;zeich&shy;nis, gepackt als zip-Archive, benannt mit dem Erstellungs&shy;datum. Es gibt keine maximale Anzahl von Backups.",
"Maintenance_Tool_check_visible": "Abwählen um die Spalte auszublenden.", "Maintenance_Tool_check_visible": "Abw\u00e4hlen um die Spalte auszublenden.",
"Maintenance_Tool_darkmode": "Darstellungswechsel (Dunkel/Hell)", "Maintenance_Tool_darkmode": "Darstellungswechsel (Dunkel/Hell)",
"Maintenance_Tool_darkmode_noti": "Darstellungswechsel", "Maintenance_Tool_darkmode_noti": "Darstellungswechsel",
"Maintenance_Tool_darkmode_noti_text": "Wechselt zwischen der hellen und der dunklen Darstellung. Wenn die Umschaltung nicht ordentlich funktionieren sollte, versuchen Sie den Browsercache zu löschen.", "Maintenance_Tool_darkmode_noti_text": "Wechselt zwischen der hellen und der dunklen Darstellung. Wenn die Umschaltung nicht ordentlich funktionieren sollte, versuchen Sie den Browsercache zu l\u00f6schen.",
"Maintenance_Tool_darkmode_text": "Wechselt zwischen der hellen und der dunklen Darstellung. Wenn der Wechsel nicht richtig funktionieren sollte, versuchen Sie den Browsercache zu löschen. Die Änderung findet serverseitig statt, betrifft also alle verwendeten Geräte.", "Maintenance_Tool_darkmode_text": "Wechselt zwischen der hellen und der dunklen Darstellung. Wenn der Wechsel nicht richtig funktionieren sollte, versuchen Sie den Browsercache zu l\u00f6schen. Die \u00c4nderung findet serverseitig statt, betrifft also alle verwendeten Ger\u00e4te.",
"Maintenance_Tool_del_ActHistory": "Löschen der Netzwerkaktivität", "Maintenance_Tool_del_ActHistory": "L\u00f6schen der Netzwerkaktivit\u00e4t",
"Maintenance_Tool_del_ActHistory_noti": "Netzwerkaktivität löschen", "Maintenance_Tool_del_ActHistory_noti": "Netzwerkaktivit\u00e4t l\u00f6schen",
"Maintenance_Tool_del_ActHistory_noti_text": "Sind Sie sicher, dass Sie die Netzwerkaktivität zurücksetzen möchten?", "Maintenance_Tool_del_ActHistory_noti_text": "Sind Sie sicher, dass Sie die Netzwerkaktivit\u00e4t zur\u00fccksetzen m\u00f6chten?",
"Maintenance_Tool_del_ActHistory_text": "Der Graph für die Netzwerkaktivität wird zurückgesetzt. Hierbei werden die Events nicht beeinflusst.", "Maintenance_Tool_del_ActHistory_text": "Der Graph f\u00fcr die Netzwerkaktivit\u00e4t wird zur\u00fcckgesetzt. Hierbei werden die Events nicht beeinflusst.",
"Maintenance_Tool_del_alldev": "Alle Geräte löschen", "Maintenance_Tool_del_alldev": "Alle Ger\u00e4te l\u00f6schen",
"Maintenance_Tool_del_alldev_noti": "Geräte löschen", "Maintenance_Tool_del_alldev_noti": "Ger\u00e4te l\u00f6schen",
"Maintenance_Tool_del_alldev_noti_text": "Sind Sie sich sicher, dass Sie alle Geräte löschen wollen?", "Maintenance_Tool_del_alldev_noti_text": "Sind Sie sich sicher, dass Sie alle Ger\u00e4te l\u00f6schen wollen?",
"Maintenance_Tool_del_alldev_text": "Machen Sie ein Backup, bevor Sie diese Funk&shy;tion nutzen. Der Vor&shy;gang kann ohne Back&shy;up nicht rück&shy;gängig gemacht werden. Alle Geräte werden in der Datenbank ge&shy;löscht.", "Maintenance_Tool_del_alldev_text": "Machen Sie ein Backup, bevor Sie diese Funk&shy;tion nutzen. Der Vor&shy;gang kann ohne Back&shy;up nicht r\u00fcck&shy;g\u00e4ngig gemacht werden. Alle Ger\u00e4te werden in der Datenbank ge&shy;l\u00f6scht.",
"Maintenance_Tool_del_allevents": "Alle Ereignisse löschen", "Maintenance_Tool_del_allevents": "Alle Ereignisse l\u00f6schen",
"Maintenance_Tool_del_allevents30": "Alle Ereignisse älter als 30 Tage löschen", "Maintenance_Tool_del_allevents30": "Alle Ereignisse \u00e4lter als 30 Tage l\u00f6schen",
"Maintenance_Tool_del_allevents30_noti": "Ereignisse löschen", "Maintenance_Tool_del_allevents30_noti": "Ereignisse l\u00f6schen",
"Maintenance_Tool_del_allevents30_noti_text": "Sind Sie sich sicher, dass Sie alle Ereignisse älter als 30 Tage löschen wollen? Dies setzt die Präsenz aller Geräte zurück.", "Maintenance_Tool_del_allevents30_noti_text": "Sind Sie sich sicher, dass Sie alle Ereignisse \u00e4lter als 30 Tage l\u00f6schen wollen? Dies setzt die Pr\u00e4senz aller Ger\u00e4te zur\u00fcck.",
"Maintenance_Tool_del_allevents30_text": "Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen. Der Vor­gang kann ohne Back­up nicht rück­ngig gemacht werden. Alle Ereignisse älter als 30 Tage werden aus der Datenbank ge­scht. Dies setzt auch die Anwesenheit zu­ck. Es kann ab dem Moment zu ungültigen Sitzungen kommen. Ein Scan, während das betreffende Gerät online ist, sollte das Problem lösen.", "Maintenance_Tool_del_allevents30_text": "Machen Sie ein Backup, bevor Sie diese Funk\u00adtion nutzen. Der Vor\u00adgang kann ohne Back\u00adup nicht r\u00fcck\u00adg\u00e4ngig gemacht werden. Alle Ereignisse \u00e4lter als 30 Tage werden aus der Datenbank ge\u00adl\u00f6scht. Dies setzt auch die Anwesenheit zu\u00adr\u00fcck. Es kann ab dem Moment zu ung\u00fcltigen Sitzungen kommen. Ein Scan, w\u00e4hrend das betreffende Ger\u00e4t online ist, sollte das Problem l\u00f6sen.",
"Maintenance_Tool_del_allevents_noti": "Alle Ereignisse löschen", "Maintenance_Tool_del_allevents_noti": "Alle Ereignisse l\u00f6schen",
"Maintenance_Tool_del_allevents_noti_text": "Sind Sie sicher, dass Sie alle Ereignisse aus der Datenbank löschen wollen. Dies setzt die Anwesenheit aller Geräte zurück.", "Maintenance_Tool_del_allevents_noti_text": "Sind Sie sicher, dass Sie alle Ereignisse aus der Datenbank l\u00f6schen wollen. Dies setzt die Anwesenheit aller Ger\u00e4te zur\u00fcck.",
"Maintenance_Tool_del_allevents_text": "Machen Sie ein Backup, bevor Sie diese Funk&shy;tion nutzen. Der Vor&shy;gang kann ohne Back&shy;up nicht rück&shy;gängig gemacht werden. Alle Ereignisse werden aus der Datenbank ge&shy;löscht. Dies setzt auch die Anwesenheit zu&shy;rück. Es kann ab dem Moment zu ungültigen Sitzungen kommen. Ein Scan, während das betreffende Gerät online ist, sollte das Problem lösen.", "Maintenance_Tool_del_allevents_text": "Machen Sie ein Backup, bevor Sie diese Funk&shy;tion nutzen. Der Vor&shy;gang kann ohne Back&shy;up nicht r\u00fcck&shy;g\u00e4ngig gemacht werden. Alle Ereignisse werden aus der Datenbank ge&shy;l\u00f6scht. Dies setzt auch die Anwesenheit zu&shy;r\u00fcck. Es kann ab dem Moment zu ung\u00fcltigen Sitzungen kommen. Ein Scan, w\u00e4hrend das betreffende Ger\u00e4t online ist, sollte das Problem l\u00f6sen.",
"Maintenance_Tool_del_empty_macs": "Alle Geräte ohne MAC löschen", "Maintenance_Tool_del_empty_macs": "Alle Ger\u00e4te ohne MAC l\u00f6schen",
"Maintenance_Tool_del_empty_macs_noti": "Geräte löschen", "Maintenance_Tool_del_empty_macs_noti": "Ger\u00e4te l\u00f6schen",
"Maintenance_Tool_del_empty_macs_noti_text": "Sind Sie sicher, dass Sie alle Geräte ohne MAC-Adresse löschen wollen?<br>(Vielleicht bevorzugen Sie eine Archivierung)", "Maintenance_Tool_del_empty_macs_noti_text": "Sind Sie sicher, dass Sie alle Ger\u00e4te ohne MAC-Adresse l\u00f6schen wollen?<br>(Vielleicht bevorzugen Sie eine Archivierung)",
"Maintenance_Tool_del_empty_macs_text": "Machen Sie ein Backup, bevor Sie diese Funk&shy;tion nutzen. Der Vor&shy;gang kann ohne Back&shy;up nicht rück&shy;gängig gemacht werden. Alle Geäte ohne MAC-Adresse werden aus der Datenbank ge&shy;löscht.", "Maintenance_Tool_del_empty_macs_text": "Machen Sie ein Backup, bevor Sie diese Funk&shy;tion nutzen. Der Vor&shy;gang kann ohne Back&shy;up nicht r\u00fcck&shy;g\u00e4ngig gemacht werden. Alle Ge\u00e4te ohne MAC-Adresse werden aus der Datenbank ge&shy;l\u00f6scht.",
"Maintenance_Tool_del_selecteddev": "", "Maintenance_Tool_del_selecteddev": "",
"Maintenance_Tool_del_selecteddev_text": "", "Maintenance_Tool_del_selecteddev_text": "",
"Maintenance_Tool_del_unknowndev": "Löschen der (unknown) Geräte", "Maintenance_Tool_del_unknowndev": "L\u00f6schen der (unknown) Ger\u00e4te",
"Maintenance_Tool_del_unknowndev_noti": "Lösche (unknown) Geräte", "Maintenance_Tool_del_unknowndev_noti": "L\u00f6sche (unknown) Ger\u00e4te",
"Maintenance_Tool_del_unknowndev_noti_text": "Sind Sie sicher, dass Sie alle (unknown) Geräte aus der Datenbank löschen wollen?", "Maintenance_Tool_del_unknowndev_noti_text": "Sind Sie sicher, dass Sie alle (unknown) Ger\u00e4te aus der Datenbank l\u00f6schen wollen?",
"Maintenance_Tool_del_unknowndev_text": "Machen Sie ein Backup, bevor Sie diese Funk&shy;tion nutzen. Der Vor&shy;gang kann ohne Back&shy;up nicht rück&shy;gängig gemacht werden. Alle Gräte mit dem Namen (unknown) werden aus der Datenbank ge&shy;löscht.", "Maintenance_Tool_del_unknowndev_text": "Machen Sie ein Backup, bevor Sie diese Funk&shy;tion nutzen. Der Vor&shy;gang kann ohne Back&shy;up nicht r\u00fcck&shy;g\u00e4ngig gemacht werden. Alle Gr\u00e4te mit dem Namen (unknown) werden aus der Datenbank ge&shy;l\u00f6scht.",
"Maintenance_Tool_displayed_columns_text": "Ändere die Sichtbarkeit und Anordnung der Spalten in der <a href=\"devices.php\"><b> <i class=\"fa fa-laptop\"></i> Geräte</b></a>-Seite. (Drag-and-Drop funktioniert nicht einwandfrei, ist aber verwendbar. Ich habe <a href=\"https://github.com/jokob-sk/NetAlertX/commit/94b32f0f7332879f5a7d2af05dafa2e5d5cfa5da\">3 Stunden</a> versucht das zu beheben, werde es aber nicht weiter verfolgen. Über einen PR mit einem Fix würde ich mich freuen :) ).", "Maintenance_Tool_displayed_columns_text": "\u00c4ndere die Sichtbarkeit und Anordnung der Spalten in der <a href=\"devices.php\"><b> <i class=\"fa fa-laptop\"></i> Ger\u00e4te</b></a>-Seite. (Drag-and-Drop funktioniert nicht einwandfrei, ist aber verwendbar. Ich habe <a href=\"https://github.com/jokob-sk/NetAlertX/commit/94b32f0f7332879f5a7d2af05dafa2e5d5cfa5da\">3 Stunden</a> versucht das zu beheben, werde es aber nicht weiter verfolgen. \u00dcber einen PR mit einem Fix w\u00fcrde ich mich freuen :) ).",
"Maintenance_Tool_drag_me": "Zieh mich um die Anordnung der Spalten zu ändern.", "Maintenance_Tool_drag_me": "Zieh mich um die Anordnung der Spalten zu \u00e4ndern.",
"Maintenance_Tool_order_columns_text": "", "Maintenance_Tool_order_columns_text": "",
"Maintenance_Tool_purgebackup": "Sicherungen aufräumen", "Maintenance_Tool_purgebackup": "Sicherungen aufr\u00e4umen",
"Maintenance_Tool_purgebackup_noti": "Sicherungen aufräumen", "Maintenance_Tool_purgebackup_noti": "Sicherungen aufr\u00e4umen",
"Maintenance_Tool_purgebackup_noti_text": "Sind Sie sicher, alle Backups, bis auf die letzten 3 löschen möchten?", "Maintenance_Tool_purgebackup_noti_text": "Sind Sie sicher, alle Backups, bis auf die letzten 3 l\u00f6schen m\u00f6chten?",
"Maintenance_Tool_purgebackup_text": "Es werden, bis auf die letzten 3 Backups, alle übrigen Backups gelöscht.", "Maintenance_Tool_purgebackup_text": "Es werden, bis auf die letzten 3 Backups, alle \u00fcbrigen Backups gel\u00f6scht.",
"Maintenance_Tool_restore": "DB Wiederherstellung", "Maintenance_Tool_restore": "DB Wiederherstellung",
"Maintenance_Tool_restore_noti": "DB Wiederherstellung", "Maintenance_Tool_restore_noti": "DB Wiederherstellung",
"Maintenance_Tool_restore_noti_text": "Sind Sie sicher, dass Sie die Datenbank aus der neusten Sicherung wiederherstellen möchten? Prüfen Sie, dass gerade keine Scans stattfinden.", "Maintenance_Tool_restore_noti_text": "Sind Sie sicher, dass Sie die Datenbank aus der neusten Sicherung wiederherstellen m\u00f6chten? Pr\u00fcfen Sie, dass gerade keine Scans stattfinden.",
"Maintenance_Tool_restore_text": "Das neuste Backup kann über diese Funk&shy;tion wiederhergestellt werden. Ältere Sicher&shy;ungen müssen manuell wieder&shy;hergestellt wer&shy;den. Es empfiehlt sich eine Integritäts&shy;prüfung nach der Wieder&shy;her&shy;stellung zu machen, falls die Datenbank bei der Sicherung geöffnet war.", "Maintenance_Tool_restore_text": "Das neuste Backup kann \u00fcber diese Funk&shy;tion wiederhergestellt werden. \u00c4ltere Sicher&shy;ungen m\u00fcssen manuell wieder&shy;hergestellt wer&shy;den. Es empfiehlt sich eine Integrit\u00e4ts&shy;pr\u00fcfung nach der Wieder&shy;her&shy;stellung zu machen, falls die Datenbank bei der Sicherung ge\u00f6ffnet war.",
"Maintenance_Tool_upgrade_database_noti": "Aktualisiere Datenbank", "Maintenance_Tool_upgrade_database_noti": "Aktualisiere Datenbank",
"Maintenance_Tool_upgrade_database_noti_text": "Machen Sie ein Backup, bevor Sie diese Funk&shy;tion nutzen.", "Maintenance_Tool_upgrade_database_noti_text": "Machen Sie ein Backup, bevor Sie diese Funk&shy;tion nutzen.",
"Maintenance_Tool_upgrade_database_text": "Mit dieser Schaltfläche wird die Datenbank aktualisiert, um das Diagramm der Netzwerkaktivitäten der letzten 12 Stunden zu aktivieren. Bitte sichern Sie Ihre Datenbank, falls Probleme auftreten.", "Maintenance_Tool_upgrade_database_text": "Mit dieser Schaltfl\u00e4che wird die Datenbank aktualisiert, um das Diagramm der Netzwerkaktivit\u00e4ten der letzten 12 Stunden zu aktivieren. Bitte sichern Sie Ihre Datenbank, falls Probleme auftreten.",
"Maintenance_Tools_Tab_BackupRestore": "Sicherg. / Wiederherstellg.", "Maintenance_Tools_Tab_BackupRestore": "Sicherg. / Wiederherstellg.",
"Maintenance_Tools_Tab_Logging": "Logs", "Maintenance_Tools_Tab_Logging": "Logs",
"Maintenance_Tools_Tab_Settings": "Einstellungen", "Maintenance_Tools_Tab_Settings": "Einstellungen",
@@ -439,24 +439,24 @@
"Maintenance_built_on": "Erstellt am", "Maintenance_built_on": "Erstellt am",
"Maintenance_current_version": "Du bist up-to-date. Sieh dir an, <a href=\"https://github.com/jokob-sk/NetAlertX/issues/138\" target=\"_blank\">woran ich gerade arbeite</a>.", "Maintenance_current_version": "Du bist up-to-date. Sieh dir an, <a href=\"https://github.com/jokob-sk/NetAlertX/issues/138\" target=\"_blank\">woran ich gerade arbeite</a>.",
"Maintenance_database_backup": "DB Sicherungen", "Maintenance_database_backup": "DB Sicherungen",
"Maintenance_database_backup_found": "Sicherungen verfügbar", "Maintenance_database_backup_found": "Sicherungen verf\u00fcgbar",
"Maintenance_database_backup_total": "Speicherplatz insgesamt", "Maintenance_database_backup_total": "Speicherplatz insgesamt",
"Maintenance_database_lastmod": "Letzte Änderung", "Maintenance_database_lastmod": "Letzte \u00c4nderung",
"Maintenance_database_path": "Datenbank-Pfad", "Maintenance_database_path": "Datenbank-Pfad",
"Maintenance_database_rows": "Tabelle (Reihen)", "Maintenance_database_rows": "Tabelle (Reihen)",
"Maintenance_database_size": "Datenbank-Größe", "Maintenance_database_size": "Datenbank-Gr\u00f6\u00dfe",
"Maintenance_lang_selector_apply": "Übernehmen", "Maintenance_lang_selector_apply": "\u00dcbernehmen",
"Maintenance_lang_selector_empty": "Sprache wählen", "Maintenance_lang_selector_empty": "Sprache w\u00e4hlen",
"Maintenance_lang_selector_lable": "Sprachauswahl", "Maintenance_lang_selector_lable": "Sprachauswahl",
"Maintenance_lang_selector_text": "Die Änderung findet serverseitig statt, betrifft also alle verwendeten Geräte.", "Maintenance_lang_selector_text": "Die \u00c4nderung findet serverseitig statt, betrifft also alle verwendeten Ger\u00e4te.",
"Maintenance_new_version": "🆕 Eine neue Version ist vefügbar. Sieh dir die <a href=\"https://github.com/jokob-sk/NetAlertX/releases\" target=\"_blank\">Versionshinweise</a> an.", "Maintenance_new_version": "\ud83c\udd95 Eine neue Version ist vef\u00fcgbar. Sieh dir die <a href=\"https://github.com/jokob-sk/NetAlertX/releases\" target=\"_blank\">Versionshinweise</a> an.",
"Maintenance_themeselector_apply": "Übernehmen", "Maintenance_themeselector_apply": "\u00dcbernehmen",
"Maintenance_themeselector_empty": "Skin wählen", "Maintenance_themeselector_empty": "Skin w\u00e4hlen",
"Maintenance_themeselector_lable": "Skin Auswahl", "Maintenance_themeselector_lable": "Skin Auswahl",
"Maintenance_themeselector_text": "Die Änderung findet serverseitig statt, betrifft also alle verwendeten Geräte.", "Maintenance_themeselector_text": "Die \u00c4nderung findet serverseitig statt, betrifft also alle verwendeten Ger\u00e4te.",
"Maintenance_version": "App Updates", "Maintenance_version": "App Updates",
"NETWORK_DEVICE_TYPES_description": "Welche Gerätetypen als Netzwerkgeräte in der Netzwerkansicht verwendet werden können. Der Gerätetyp muss genau der <code>Typ</code>-Einstellung eines spezifischen Geräts in den Gerätedetails übereinstimmen. Entfernen Sie keine existierenden Typen, sondern fügen Sie nur neue ein.", "NETWORK_DEVICE_TYPES_description": "Welche Ger\u00e4tetypen als Netzwerkger\u00e4te in der Netzwerkansicht verwendet werden k\u00f6nnen. Der Ger\u00e4tetyp muss genau der <code>Typ</code>-Einstellung eines spezifischen Ger\u00e4ts in den Ger\u00e4tedetails \u00fcbereinstimmen. Entfernen Sie keine existierenden Typen, sondern f\u00fcgen Sie nur neue ein.",
"NETWORK_DEVICE_TYPES_name": "Netzwerkgeräte-Typen", "NETWORK_DEVICE_TYPES_name": "Netzwerkger\u00e4te-Typen",
"NTFY_HOST_description": "NTFY host URL starting with <code>http://</code> or <code>https://</code>. You can use the hosted instance on <a target=\"_blank\" href=\"https://ntfy.sh/\">https://ntfy.sh</a> by simply entering <code>https://ntfy.sh</code>.", "NTFY_HOST_description": "NTFY host URL starting with <code>http://</code> or <code>https://</code>. You can use the hosted instance on <a target=\"_blank\" href=\"https://ntfy.sh/\">https://ntfy.sh</a> by simply entering <code>https://ntfy.sh</code>.",
"NTFY_HOST_name": "NTFY host URL", "NTFY_HOST_name": "NTFY host URL",
"NTFY_PASSWORD_description": "Enter password if you need (host) an instance with enabled authetication.", "NTFY_PASSWORD_description": "Enter password if you need (host) an instance with enabled authetication.",
@@ -468,7 +468,7 @@
"NTFY_display_name": "NTFY", "NTFY_display_name": "NTFY",
"NTFY_icon": "<i class=\"fa fa-terminal\"></i>", "NTFY_icon": "<i class=\"fa fa-terminal\"></i>",
"Navigation_About": "", "Navigation_About": "",
"Navigation_Devices": "Geräte", "Navigation_Devices": "Ger\u00e4te",
"Navigation_Donations": "Donations", "Navigation_Donations": "Donations",
"Navigation_Events": "Ereignisse", "Navigation_Events": "Ereignisse",
"Navigation_Flows": "Flows", "Navigation_Flows": "Flows",
@@ -484,53 +484,53 @@
"Navigation_SystemInfo": "Systeminfo", "Navigation_SystemInfo": "Systeminfo",
"Navigation_Workflows": "", "Navigation_Workflows": "",
"Network_Assign": "Zum obigen <i class=\"fa fa-server\"></i> Netzwerkknoten zuweisen", "Network_Assign": "Zum obigen <i class=\"fa fa-server\"></i> Netzwerkknoten zuweisen",
"Network_Cant_Assign": "Internet-Wurzelknoten kann nicht als äußerer Kindknoten zugewiesen werden.", "Network_Cant_Assign": "Internet-Wurzelknoten kann nicht als \u00e4u\u00dferer Kindknoten zugewiesen werden.",
"Network_Configuration_Error": "", "Network_Configuration_Error": "",
"Network_Connected": "Verbundene Geräte", "Network_Connected": "Verbundene Ger\u00e4te",
"Network_ManageAdd": "Gerät hinzufügen", "Network_ManageAdd": "Ger\u00e4t hinzuf\u00fcgen",
"Network_ManageAdd_Name": "Name des Gerätes", "Network_ManageAdd_Name": "Name des Ger\u00e4tes",
"Network_ManageAdd_Name_text": "Name ohne Sonderzeichen", "Network_ManageAdd_Name_text": "Name ohne Sonderzeichen",
"Network_ManageAdd_Port": "Portanzahl", "Network_ManageAdd_Port": "Portanzahl",
"Network_ManageAdd_Port_text": "bei WLAN oder Powerline leer lassen", "Network_ManageAdd_Port_text": "bei WLAN oder Powerline leer lassen",
"Network_ManageAdd_Submit": "Hinzufügen", "Network_ManageAdd_Submit": "Hinzuf\u00fcgen",
"Network_ManageAdd_Type": "Gerätetyp", "Network_ManageAdd_Type": "Ger\u00e4tetyp",
"Network_ManageAdd_Type_text": "-- Typ wählen --", "Network_ManageAdd_Type_text": "-- Typ w\u00e4hlen --",
"Network_ManageAssign": "Zuweisen", "Network_ManageAssign": "Zuweisen",
"Network_ManageDel": "Gerät löschen", "Network_ManageDel": "Ger\u00e4t l\u00f6schen",
"Network_ManageDel_Name": "Gerät zum Löschen auswählen", "Network_ManageDel_Name": "Ger\u00e4t zum L\u00f6schen ausw\u00e4hlen",
"Network_ManageDel_Name_text": "-- Gerät wählen --", "Network_ManageDel_Name_text": "-- Ger\u00e4t w\u00e4hlen --",
"Network_ManageDel_Submit": "Löschen", "Network_ManageDel_Submit": "L\u00f6schen",
"Network_ManageDevices": "Geräte verwalten", "Network_ManageDevices": "Ger\u00e4te verwalten",
"Network_ManageEdit": "Gerät bearbeiten", "Network_ManageEdit": "Ger\u00e4t bearbeiten",
"Network_ManageEdit_ID": "Gerät zum Bearbeiten auswählen", "Network_ManageEdit_ID": "Ger\u00e4t zum Bearbeiten ausw\u00e4hlen",
"Network_ManageEdit_ID_text": "-- Gerät wählen --", "Network_ManageEdit_ID_text": "-- Ger\u00e4t w\u00e4hlen --",
"Network_ManageEdit_Name": "Neuer Name", "Network_ManageEdit_Name": "Neuer Name",
"Network_ManageEdit_Name_text": "Name ohne Sonderzeichen", "Network_ManageEdit_Name_text": "Name ohne Sonderzeichen",
"Network_ManageEdit_Port": "Neue Portanzahl", "Network_ManageEdit_Port": "Neue Portanzahl",
"Network_ManageEdit_Port_text": "bei WLAN oder Powerline leer lassen", "Network_ManageEdit_Port_text": "bei WLAN oder Powerline leer lassen",
"Network_ManageEdit_Submit": "Speichern", "Network_ManageEdit_Submit": "Speichern",
"Network_ManageEdit_Type": "Neuer Typ", "Network_ManageEdit_Type": "Neuer Typ",
"Network_ManageEdit_Type_text": "-- Typ wählen --", "Network_ManageEdit_Type_text": "-- Typ w\u00e4hlen --",
"Network_ManageLeaf": "Zuweisungen verwalten", "Network_ManageLeaf": "Zuweisungen verwalten",
"Network_ManageUnassign": "Zuweisung aufheben", "Network_ManageUnassign": "Zuweisung aufheben",
"Network_NoAssignedDevices": "Dieser Netzwerkknoten hat keine zugewiesenen Geräte (Kindknoten). Weise eins von unten zu oder gehe in den <b><i class=\"fa fa-info-circle\"></i> Details</b> Tab eines Gerätes in <a href=\"devices.php\"><b> <i class=\"fa fa-laptop\"></i> Geräte</b></a>, und weise dort das Gerät einem <b><i class=\"fa fa-server\"></i> Netzwerk Knoten</b> und einem <b><i class=\"fa fa-ethernet\"></i> Netzwerk Knoten Port</b> zu.", "Network_NoAssignedDevices": "Dieser Netzwerkknoten hat keine zugewiesenen Ger\u00e4te (Kindknoten). Weise eins von unten zu oder gehe in den <b><i class=\"fa fa-info-circle\"></i> Details</b> Tab eines Ger\u00e4tes in <a href=\"devices.php\"><b> <i class=\"fa fa-laptop\"></i> Ger\u00e4te</b></a>, und weise dort das Ger\u00e4t einem <b><i class=\"fa fa-server\"></i> Netzwerk Knoten</b> und einem <b><i class=\"fa fa-ethernet\"></i> Netzwerk Knoten Port</b> zu.",
"Network_NoDevices": "", "Network_NoDevices": "",
"Network_Node": "Netzwerkknoten", "Network_Node": "Netzwerkknoten",
"Network_Node_Name": "Knotenname", "Network_Node_Name": "Knotenname",
"Network_Parent": "Übergeordnetes Netzwerkgerät", "Network_Parent": "\u00dcbergeordnetes Netzwerkger\u00e4t",
"Network_Root": "", "Network_Root": "",
"Network_Root_Not_Configured": "", "Network_Root_Not_Configured": "",
"Network_Root_Unconfigurable": "Nicht konfigurierbare Wurzel", "Network_Root_Unconfigurable": "Nicht konfigurierbare Wurzel",
"Network_Table_Hostname": "Gerätename", "Network_Table_Hostname": "Ger\u00e4tename",
"Network_Table_IP": "IP", "Network_Table_IP": "IP",
"Network_Table_State": "Status", "Network_Table_State": "Status",
"Network_Title": "Netzwerkübersicht", "Network_Title": "Netzwerk\u00fcbersicht",
"Network_UnassignedDevices": "Nicht zugewiesene Geräte", "Network_UnassignedDevices": "Nicht zugewiesene Ger\u00e4te",
"PIALERT_WEB_PASSWORD_description": "Das Standardpasswort ist <code>123456</code>. Um das Passwort zu ändern, entweder <code>/home/pi/pialert/back/pialert-cli</code> im Container starten oder <a onclick=\"toggleAllSettings()\" href=\"#SETPWD_RUN\"><code>SETPWD_RUN</code> Set password plugin</a> nutzen.", "PIALERT_WEB_PASSWORD_description": "Das Standardpasswort ist <code>123456</code>. Um das Passwort zu \u00e4ndern, entweder <code>/app/back/pialert-cli</code> im Container starten oder <a onclick=\"toggleAllSettings()\" href=\"#SETPWD_RUN\"><code>SETPWD_RUN</code> Set password plugin</a> nutzen.",
"PIALERT_WEB_PASSWORD_name": "Login-Passwort", "PIALERT_WEB_PASSWORD_name": "Login-Passwort",
"PIALERT_WEB_PROTECTION_description": "Ein Loginfenster wird angezeigt wenn aktiviert. Untere Beschreibung genau durchlesen falls Sie sich aus Ihrer Instanz aussperren.", "PIALERT_WEB_PROTECTION_description": "Ein Loginfenster wird angezeigt wenn aktiviert. Untere Beschreibung genau durchlesen falls Sie sich aus Ihrer Instanz aussperren.",
"PIALERT_WEB_PROTECTION_name": "Login aktivieren", "PIALERT_WEB_PROTECTION_name": "Login aktivieren",
"PLUGINS_KEEP_HIST_description": "Wie viele Plugin Scanresultate behalten werden (pro Plugin, nicht gerätespezifisch).", "PLUGINS_KEEP_HIST_description": "Wie viele Plugin Scanresultate behalten werden (pro Plugin, nicht ger\u00e4tespezifisch).",
"PLUGINS_KEEP_HIST_name": "Plugins Verlauf", "PLUGINS_KEEP_HIST_name": "Plugins Verlauf",
"PUSHSAFER_TOKEN_description": "Your secret Pushsafer API key (token).", "PUSHSAFER_TOKEN_description": "Your secret Pushsafer API key (token).",
"PUSHSAFER_TOKEN_name": "Pushsafer token", "PUSHSAFER_TOKEN_name": "Pushsafer token",
@@ -549,21 +549,21 @@
"Presence_CalHead_quarter": "Quartal", "Presence_CalHead_quarter": "Quartal",
"Presence_CalHead_week": "Woche", "Presence_CalHead_week": "Woche",
"Presence_CalHead_year": "Jahr", "Presence_CalHead_year": "Jahr",
"Presence_CallHead_Devices": "Geräte", "Presence_CallHead_Devices": "Ger\u00e4te",
"Presence_Loading": "Laden...", "Presence_Loading": "Laden...",
"Presence_Shortcut_AllDevices": "Alle Geräte", "Presence_Shortcut_AllDevices": "Alle Ger\u00e4te",
"Presence_Shortcut_Archived": "Archiviert", "Presence_Shortcut_Archived": "Archiviert",
"Presence_Shortcut_Connected": "Verbunden", "Presence_Shortcut_Connected": "Verbunden",
"Presence_Shortcut_Devices": "Geräte", "Presence_Shortcut_Devices": "Ger\u00e4te",
"Presence_Shortcut_DownAlerts": "Down Meldungen", "Presence_Shortcut_DownAlerts": "Down Meldungen",
"Presence_Shortcut_Favorites": "Favoriten", "Presence_Shortcut_Favorites": "Favoriten",
"Presence_Shortcut_NewDevices": "Neue Geräte", "Presence_Shortcut_NewDevices": "Neue Ger\u00e4te",
"Presence_Title": "Anwesenheit pro Gerät", "Presence_Title": "Anwesenheit pro Ger\u00e4t",
"REPORT_APPRISE_description": "Enable sending notifications via <a target=\"_blank\" href=\"https://hub.docker.com/r/caronc/apprise\">Apprise</a>.", "REPORT_APPRISE_description": "Enable sending notifications via <a target=\"_blank\" href=\"https://hub.docker.com/r/caronc/apprise\">Apprise</a>.",
"REPORT_APPRISE_name": "Enable Apprise", "REPORT_APPRISE_name": "Enable Apprise",
"REPORT_DASHBOARD_URL_description": "Diese URL wird als Basis fürs Erstellen von Links in E-Mails genutzt. Geben Sie die gesamte URL startend mit <code>http://</code> inklusive der genutzten Portnummer ein (keinen nachfolgenden Schrägstrich <code>/</code> nutzen).", "REPORT_DASHBOARD_URL_description": "Diese URL wird als Basis f\u00fcrs Erstellen von Links in E-Mails genutzt. Geben Sie die gesamte URL startend mit <code>http://</code> inklusive der genutzten Portnummer ein (keinen nachfolgenden Schr\u00e4gstrich <code>/</code> nutzen).",
"REPORT_DASHBOARD_URL_name": "NetAlertX URL", "REPORT_DASHBOARD_URL_name": "NetAlertX URL",
"REPORT_ERROR": "Die gesuchte Seite ist vorübergehend nicht verfügbar. Bitte versuchen Sie es nach ein paar Sekunden erneut", "REPORT_ERROR": "Die gesuchte Seite ist vor\u00fcbergehend nicht verf\u00fcgbar. Bitte versuchen Sie es nach ein paar Sekunden erneut",
"REPORT_FROM_description": "Notification email subject line. Some SMTP servers need this to be an email.", "REPORT_FROM_description": "Notification email subject line. Some SMTP servers need this to be an email.",
"REPORT_FROM_name": "Email subject", "REPORT_FROM_name": "Email subject",
"REPORT_MAIL_description": "If enabled an email is sent out with a list of changes you nove subscribed to. Please also fill out all remaining settings related to the SMTP setup below. If facing issues, set <code>LOG_LEVEL</code> to <code>debug</code> and check the <a href=\"/maintenance.php#tab_Logging\">error log</a>.", "REPORT_MAIL_description": "If enabled an email is sent out with a list of changes you nove subscribed to. Please also fill out all remaining settings related to the SMTP setup below. If facing issues, set <code>LOG_LEVEL</code> to <code>debug</code> and check the <a href=\"/maintenance.php#tab_Logging\">error log</a>.",
@@ -608,12 +608,12 @@
"Systeminfo_CPU_Speed": "CPU-Geschwindigkeit:", "Systeminfo_CPU_Speed": "CPU-Geschwindigkeit:",
"Systeminfo_CPU_Temp": "CPU-Temp:", "Systeminfo_CPU_Temp": "CPU-Temp:",
"Systeminfo_CPU_Vendor": "CPU-Anbieter:", "Systeminfo_CPU_Vendor": "CPU-Anbieter:",
"Systeminfo_Client_Resolution": "Browserauflösung:", "Systeminfo_Client_Resolution": "Browseraufl\u00f6sung:",
"Systeminfo_Client_User_Agent": "Browser-Bezeichnung:", "Systeminfo_Client_User_Agent": "Browser-Bezeichnung:",
"Systeminfo_General": "Allgemein", "Systeminfo_General": "Allgemein",
"Systeminfo_General_Date": "Datum:", "Systeminfo_General_Date": "Datum:",
"Systeminfo_General_Date2": "Datum2:", "Systeminfo_General_Date2": "Datum2:",
"Systeminfo_General_Full_Date": "Vollständiges Datum:", "Systeminfo_General_Full_Date": "Vollst\u00e4ndiges Datum:",
"Systeminfo_General_TimeZone": "Zeitzone:", "Systeminfo_General_TimeZone": "Zeitzone:",
"Systeminfo_Memory": "Arbeitsspeicher", "Systeminfo_Memory": "Arbeitsspeicher",
"Systeminfo_Memory_Total_Memory": "Gesamtspeicher:", "Systeminfo_Memory_Total_Memory": "Gesamtspeicher:",
@@ -656,9 +656,9 @@
"Systeminfo_Services_Description": "Dienstbeschreibung", "Systeminfo_Services_Description": "Dienstbeschreibung",
"Systeminfo_Services_Name": "Dienstname", "Systeminfo_Services_Name": "Dienstname",
"Systeminfo_Storage": "Speicher", "Systeminfo_Storage": "Speicher",
"Systeminfo_Storage_Device": "Gerät:", "Systeminfo_Storage_Device": "Ger\u00e4t:",
"Systeminfo_Storage_Mount": "Mountpunkt:", "Systeminfo_Storage_Mount": "Mountpunkt:",
"Systeminfo_Storage_Size": "Größe:", "Systeminfo_Storage_Size": "Gr\u00f6\u00dfe:",
"Systeminfo_Storage_Type": "Typ:", "Systeminfo_Storage_Type": "Typ:",
"Systeminfo_Storage_Usage": "Speicherverwendung", "Systeminfo_Storage_Usage": "Speicherverwendung",
"Systeminfo_Storage_Usage_Free": "Frei:", "Systeminfo_Storage_Usage_Free": "Frei:",
@@ -674,20 +674,21 @@
"Systeminfo_System_System": "System:", "Systeminfo_System_System": "System:",
"Systeminfo_System_Uname": "Uname:", "Systeminfo_System_Uname": "Uname:",
"Systeminfo_System_Uptime": "Betriebszeit:", "Systeminfo_System_Uptime": "Betriebszeit:",
"Systeminfo_This_Client": "Dieses Gerät", "Systeminfo_This_Client": "Dieses Ger\u00e4t",
"Systeminfo_USB_Devices": "USB-Geräte", "Systeminfo_USB_Devices": "USB-Ger\u00e4te",
"TICKER_MIGRATE_TO_NETALERTX": "",
"TIMEZONE_description": "Zeitzone um Statistiken korrekt darzustellen. Finde deine Zeitzone <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\" rel=\"nofollow\">hier</a>.", "TIMEZONE_description": "Zeitzone um Statistiken korrekt darzustellen. Finde deine Zeitzone <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\" rel=\"nofollow\">hier</a>.",
"TIMEZONE_name": "Zeitzone", "TIMEZONE_name": "Zeitzone",
"UI_DEV_SECTIONS_description": "", "UI_DEV_SECTIONS_description": "",
"UI_DEV_SECTIONS_name": "", "UI_DEV_SECTIONS_name": "",
"UI_LANG_description": "Bevorzugte Oberflächensprache auswählen.", "UI_LANG_description": "Bevorzugte Oberfl\u00e4chensprache ausw\u00e4hlen.",
"UI_LANG_name": "UI Sprache", "UI_LANG_name": "UI Sprache",
"UI_MY_DEVICES_description": "", "UI_MY_DEVICES_description": "",
"UI_MY_DEVICES_name": "", "UI_MY_DEVICES_name": "",
"UI_NOT_RANDOM_MAC_description": "", "UI_NOT_RANDOM_MAC_description": "",
"UI_NOT_RANDOM_MAC_name": "", "UI_NOT_RANDOM_MAC_name": "",
"UI_PRESENCE_description": "Auswählen, welche Status im <b>Gerätepräsenz im Laufe der Zeit</b>-Diagramm in der <a href=\"/devices.php\" target=\"_blank\">Geräte</a>-Seite angzeigt werden sollen. (<code>STRG + klicken</code> zum aus-/abwählen).", "UI_PRESENCE_description": "Ausw\u00e4hlen, welche Status im <b>Ger\u00e4tepr\u00e4senz im Laufe der Zeit</b>-Diagramm in der <a href=\"/devices.php\" target=\"_blank\">Ger\u00e4te</a>-Seite angzeigt werden sollen. (<code>STRG + klicken</code> zum aus-/abw\u00e4hlen).",
"UI_PRESENCE_name": "Anzeige im Präsenzdiagramm", "UI_PRESENCE_name": "Anzeige im Pr\u00e4senzdiagramm",
"UI_REFRESH_description": "", "UI_REFRESH_description": "",
"UI_REFRESH_name": "", "UI_REFRESH_name": "",
"WEBHOOK_PAYLOAD_description": "The Webhook payload data format for the <code>body</code> > <code>attachments</code> > <code>text</code> attribute in the payload json. See an example of the payload <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/back/webhook_json_sample.json\">here</a>. (e.g.: for discord use <code>text</code>)", "WEBHOOK_PAYLOAD_description": "The Webhook payload data format for the <code>body</code> > <code>attachments</code> > <code>text</code> attribute in the payload json. See an example of the payload <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/back/webhook_json_sample.json\">here</a>. (e.g.: for discord use <code>text</code>)",
@@ -719,7 +720,7 @@
"settings_enabled": "", "settings_enabled": "",
"settings_enabled_icon": "", "settings_enabled_icon": "",
"settings_expand_all": "Expand all", "settings_expand_all": "Expand all",
"settings_imported": "Last time settings were imported from the pialert.conf file:", "settings_imported": "Last time settings were imported from the app.conf file:",
"settings_imported_label": "", "settings_imported_label": "",
"settings_missing": "Not all settings loaded, refresh the page! This is probably caused by a high load on the database or app startup sequence.", "settings_missing": "Not all settings loaded, refresh the page! This is probably caused by a high load on the database or app startup sequence.",
"settings_missing_block": "You can not save your settings without specifying all setting keys. Refresh the page. This is probably caused by a high load on the database.", "settings_missing_block": "You can not save your settings without specifying all setting keys. Refresh the page. This is probably caused by a high load on the database.",
@@ -730,7 +731,7 @@
"settings_publishers": "", "settings_publishers": "",
"settings_publishers_icon": "", "settings_publishers_icon": "",
"settings_publishers_label": "", "settings_publishers_label": "",
"settings_saved": "<br/>Settings saved to the <code>pialert.conf</code> file.<br/><br/>A time-stamped backup of the previous file created. <br/><br/> Reloading...<br/>", "settings_saved": "<br/>Settings saved to the <code>app.conf</code> file.<br/><br/>A time-stamped backup of the previous file created. <br/><br/> Reloading...<br/>",
"settings_system_icon": "", "settings_system_icon": "",
"settings_system_label": "", "settings_system_label": "",
"test_event_icon": "fa-vial-circle-check", "test_event_icon": "fa-vial-circle-check",

View File

@@ -101,7 +101,7 @@
"DevDetail_Nmap_buttonFast_text": "Fast Scan: Scan fewer ports (100) than the default scan (a few seconds)", "DevDetail_Nmap_buttonFast_text": "Fast Scan: Scan fewer ports (100) than the default scan (a few seconds)",
"DevDetail_Nmap_buttonSkipDiscovery": "Skip host discovery", "DevDetail_Nmap_buttonSkipDiscovery": "Skip host discovery",
"DevDetail_Nmap_buttonSkipDiscovery_text": "Skip host discovery (-Pn option): Default scan without host discovery", "DevDetail_Nmap_buttonSkipDiscovery_text": "Skip host discovery (-Pn option): Default scan without host discovery",
"DevDetail_Nmap_resultsLink": "You can leave this page after starting a scan. Results will be also available in the <code>pialert_front.log</code> file.", "DevDetail_Nmap_resultsLink": "You can leave this page after starting a scan. Results will be also available in the <code>app_front.log</code> file.",
"DevDetail_Owner_hover": "Who owns this device. Free text field.", "DevDetail_Owner_hover": "Who owns this device. Free text field.",
"DevDetail_Periodselect_All": "All Info", "DevDetail_Periodselect_All": "All Info",
"DevDetail_Periodselect_LastMonth": "Last Month", "DevDetail_Periodselect_LastMonth": "Last Month",
@@ -308,11 +308,11 @@
"HelpFAQ_Cat_General_101_head": "My network seems to slow down, streaming \"freezes\".", "HelpFAQ_Cat_General_101_head": "My network seems to slow down, streaming \"freezes\".",
"HelpFAQ_Cat_General_101_text": "It may well be that low-powered devices reach their performance limits with the way NetAlertX detects new devices on the network. This is amplified even more, if these devices communicate with the network via WLAN. Solutions here would be to switch to a wired connection if possible or, if the device is only to be used for a limited period of time, to use the arp scan. pause the arp scan on the maintenance page.", "HelpFAQ_Cat_General_101_text": "It may well be that low-powered devices reach their performance limits with the way NetAlertX detects new devices on the network. This is amplified even more, if these devices communicate with the network via WLAN. Solutions here would be to switch to a wired connection if possible or, if the device is only to be used for a limited period of time, to use the arp scan. pause the arp scan on the maintenance page.",
"HelpFAQ_Cat_General_102_head": "I get the message that the database is read only.", "HelpFAQ_Cat_General_102_head": "I get the message that the database is read only.",
"HelpFAQ_Cat_General_102_text": "Check in the NetAlertX directory if the database folder (db) has been assigned the correct permissions:<br> <span class=\"text-danger help_faq_code\">drwxrwx--- 2 (your username) www-data</span><br> If the permission is not correct, you can set it again with the following commands in the terminal or the console:<br> <span class=\"text-danger help_faq_code\">sudo chgrp -R www-data ~/pialert/db<br>chmod -R 770 ~/pialert/db</span><br>If the database is still read-only, try reinstalling or restoring a database backup from the maintenance page.", "HelpFAQ_Cat_General_102_text": "Check in the NetAlertX directory if the database folder (db) has been assigned the correct permissions:<br> <span class=\"text-danger help_faq_code\">drwxrwx--- 2 (your username) www-data</span><br> If the permission is not correct, you can set it again with the following commands in the terminal or the console:<br> <span class=\"text-danger help_faq_code\">sudo chgrp -R www-data /app/db<br>chmod -R 770 /app/db</span><br>If the database is still read-only, try reinstalling or restoring a database backup from the maintenance page.",
"HelpFAQ_Cat_General_102docker_head": "Database issues (AJAX errors, read-only, not found)", "HelpFAQ_Cat_General_102docker_head": "Database issues (AJAX errors, read-only, not found)",
"HelpFAQ_Cat_General_102docker_text": "Double-check you have followed the <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/dockerfiles\">dockerfile readme (most up-to-date info)</a>. <br/> <br/> <ul data-sourcepos=\"49:4-52:146\" dir=\"auto\"><li data-sourcepos=\"49:4-49:106\">Download the <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/db/pialert.db\">original DB from GitHub</a>.</li><li data-sourcepos=\"50:4-50:195\">Map the <code>pialert.db</code> file (<g-emoji class=\"g-emoji\" alias=\"warning\" fallback-src=\"https://github.githubassets.com/images/icons/emoji/unicode/26a0.png\">\u26a0</g-emoji> not folder) from above to <code>/home/pi/pialert/db/pialert.db</code> (see <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/dockerfiles#-examples\">Examples</a> for details).</li><li data-sourcepos=\"51:4-51:161\">If facing issues (AJAX errors, can not write to DB, etc,) make sure permissions are set correctly, alternatively check the logs under <code>/home/pi/pialert/front/log</code>.</li><li data-sourcepos=\"52:4-52:146\">To solve permission issues you can also try to create a DB backup and then run a DB Restore via the <strong>Maintenance &gt; Backup/Restore</strong> section.</li><li data-sourcepos=\"53:4-53:228\">If the database is in read-only mode you can solve this by setting the owner and group by executing the following command on the host system: <code>docker exec pialert chown -R www-data:www-data /home/pi/pialert/db/pialert.db</code>.</li></ul>", "HelpFAQ_Cat_General_102docker_text": "Double-check you have followed the <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/dockerfiles\">dockerfile readme (most up-to-date info)</a>. <br/> <br/> <ul data-sourcepos=\"49:4-52:146\" dir=\"auto\"><li data-sourcepos=\"49:4-49:106\">Download the <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/db/app.db\">original DB from GitHub</a>.</li><li data-sourcepos=\"50:4-50:195\">Map the <code>app.db</code> file (<g-emoji class=\"g-emoji\" alias=\"warning\" fallback-src=\"https://github.githubassets.com/images/icons/emoji/unicode/26a0.png\">\u26a0</g-emoji> not folder) from above to <code>/app/db/app.db</code> (see <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/dockerfiles#-examples\">Examples</a> for details).</li><li data-sourcepos=\"51:4-51:161\">If facing issues (AJAX errors, can not write to DB, etc,) make sure permissions are set correctly, alternatively check the logs under <code>/app/front/log</code>.</li><li data-sourcepos=\"52:4-52:146\">To solve permission issues you can also try to create a DB backup and then run a DB Restore via the <strong>Maintenance &gt; Backup/Restore</strong> section.</li><li data-sourcepos=\"53:4-53:228\">If the database is in read-only mode you can solve this by setting the owner and group by executing the following command on the host system: <code>docker exec netalertx chown -R www-data:www-data /app/db/app.db</code>.</li></ul>",
"HelpFAQ_Cat_General_103_head": "The login page does not appear, even after changing the password.", "HelpFAQ_Cat_General_103_head": "The login page does not appear, even after changing the password.",
"HelpFAQ_Cat_General_103_text": "In addition to the password, the configuration file must contain <span class=\"text-danger help_faq_code\">~/pialert/config/pialert.conf</span> also the parameter <span class=\"text-danger help_faq_code\">PIALERT_WEB_PROTECTION</span> must set to <span class=\"text-danger help_faq_code\">True</span>.", "HelpFAQ_Cat_General_103_text": "In addition to the password, the configuration file must contain <span class=\"text-danger help_faq_code\">/app/config/app.conf</span> also the parameter <span class=\"text-danger help_faq_code\">PIALERT_WEB_PROTECTION</span> must set to <span class=\"text-danger help_faq_code\">True</span>.",
"HelpFAQ_Cat_Network_600_head": "What is this page for?", "HelpFAQ_Cat_Network_600_head": "What is this page for?",
"HelpFAQ_Cat_Network_600_text": "This page should offer you the possibility to map the assignment of your network devices. For this purpose, you can create one or more switches, WLANs, routers, etc., provide them with a port number if necessary and assign already detected devices to them. This assignment is done in the detailed view of the device to be assigned. So it is possible for you to quickly determine to which port a host is connected and if it is online. Read <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/NETWORK_TREE.md\">this guide</a> for more info.", "HelpFAQ_Cat_Network_600_text": "This page should offer you the possibility to map the assignment of your network devices. For this purpose, you can create one or more switches, WLANs, routers, etc., provide them with a port number if necessary and assign already detected devices to them. This assignment is done in the detailed view of the device to be assigned. So it is possible for you to quickly determine to which port a host is connected and if it is online. Read <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/NETWORK_TREE.md\">this guide</a> for more info.",
"HelpFAQ_Cat_Network_601_head": "Are there other docs?", "HelpFAQ_Cat_Network_601_head": "Are there other docs?",
@@ -344,7 +344,7 @@
"Maintenance_Tool_ExportCSV": "CSV Export", "Maintenance_Tool_ExportCSV": "CSV Export",
"Maintenance_Tool_ExportCSV_noti": "CSV Export", "Maintenance_Tool_ExportCSV_noti": "CSV Export",
"Maintenance_Tool_ExportCSV_noti_text": "Are you sure you want to generate a CSV file?", "Maintenance_Tool_ExportCSV_noti_text": "Are you sure you want to generate a CSV file?",
"Maintenance_Tool_ExportCSV_text": "Generate a CSV (comma separated value) file containing the list of Devices including the Network relationships between Network Nodes and connected devices. You can also trigger this by accessing this URL <code>your pialert url/php/server/devices.php?action=ExportCSV</code> or by enabling the <a href=\"settings.php#CSVBCKP_header\">CSV Backup</a> plugin.", "Maintenance_Tool_ExportCSV_text": "Generate a CSV (comma separated value) file containing the list of Devices including the Network relationships between Network Nodes and connected devices. You can also trigger this by accessing this URL <code>your NetAlertX url/php/server/devices.php?action=ExportCSV</code> or by enabling the <a href=\"settings.php#CSVBCKP_header\">CSV Backup</a> plugin.",
"Maintenance_Tool_ImportCSV": "CSV Import", "Maintenance_Tool_ImportCSV": "CSV Import",
"Maintenance_Tool_ImportCSV_noti": "CSV Import", "Maintenance_Tool_ImportCSV_noti": "CSV Import",
"Maintenance_Tool_ImportCSV_noti_text": "Are you sure you want to import the CSV file? This will completely overwrite the devices in your database.", "Maintenance_Tool_ImportCSV_noti_text": "Are you sure you want to import the CSV file? This will completely overwrite the devices in your database.",
@@ -489,7 +489,7 @@
"Network_Table_State": "State", "Network_Table_State": "State",
"Network_Title": "Network overview", "Network_Title": "Network overview",
"Network_UnassignedDevices": "Unassigned devices", "Network_UnassignedDevices": "Unassigned devices",
"PIALERT_WEB_PASSWORD_description": "The default password is <code>123456</code>. To change the password run <code>/home/pi/pialert/back/pialert-cli</code> in the container or use the <a onclick=\"toggleAllSettings()\" href=\"#SETPWD_RUN\"><code>SETPWD_RUN</code> Set password plugin</a>.", "PIALERT_WEB_PASSWORD_description": "The default password is <code>123456</code>. To change the password run <code>/app/back/pialert-cli</code> in the container or use the <a onclick=\"toggleAllSettings()\" href=\"#SETPWD_RUN\"><code>SETPWD_RUN</code> Set password plugin</a>.",
"PIALERT_WEB_PASSWORD_name": "Login password", "PIALERT_WEB_PASSWORD_name": "Login password",
"PIALERT_WEB_PROTECTION_description": "When enabled a login dialog is displayed. Read below carefully if you get locked out of your instance.", "PIALERT_WEB_PROTECTION_description": "When enabled a login dialog is displayed. Read below carefully if you get locked out of your instance.",
"PIALERT_WEB_PROTECTION_name": "Enable login", "PIALERT_WEB_PROTECTION_name": "Enable login",
@@ -607,6 +607,7 @@
"Systeminfo_System_Uptime": "Uptime:", "Systeminfo_System_Uptime": "Uptime:",
"Systeminfo_This_Client": "This Client", "Systeminfo_This_Client": "This Client",
"Systeminfo_USB_Devices": "USB Devices", "Systeminfo_USB_Devices": "USB Devices",
"TICKER_MIGRATE_TO_NETALERTX": "\u26a0 Old mount locations detected. Follow <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/MIGRATION.md\" target=\"_blank\">this guide</a> to migrate to the new <code>/app/config</code> and <code>/app/db</code> folders and the <code>netalertx</code> container.",
"TIMEZONE_description": "Time zone to display stats correctly. Find your time zone <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\" rel=\"nofollow\">here</a>.", "TIMEZONE_description": "Time zone to display stats correctly. Find your time zone <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\" rel=\"nofollow\">here</a>.",
"TIMEZONE_name": "Time zone", "TIMEZONE_name": "Time zone",
"UI_DEV_SECTIONS_description": "Select which UI elements to hide in the Devices pages.", "UI_DEV_SECTIONS_description": "Select which UI elements to hide in the Devices pages.",
@@ -638,7 +639,7 @@
"settings_enabled": "Enabled settings", "settings_enabled": "Enabled settings",
"settings_enabled_icon": "fa-solid fa-toggle-on", "settings_enabled_icon": "fa-solid fa-toggle-on",
"settings_expand_all": "Expand all", "settings_expand_all": "Expand all",
"settings_imported": "Last time settings were imported from the pialert.conf file", "settings_imported": "Last time settings were imported from the app.conf file",
"settings_imported_label": "Settings imported", "settings_imported_label": "Settings imported",
"settings_missing": "Not all settings loaded, refresh the page! This is probably caused by a high load on the database or app startup sequence.", "settings_missing": "Not all settings loaded, refresh the page! This is probably caused by a high load on the database or app startup sequence.",
"settings_missing_block": "You can not save your settings without specifying all setting keys. Refresh the page. This is probably caused by a high load on the database.", "settings_missing_block": "You can not save your settings without specifying all setting keys. Refresh the page. This is probably caused by a high load on the database.",
@@ -649,7 +650,7 @@
"settings_publishers": "Enabled notification gateways - publishers, that will send a notification depending on your settings.", "settings_publishers": "Enabled notification gateways - publishers, that will send a notification depending on your settings.",
"settings_publishers_icon": "fa-solid fa-comment-dots", "settings_publishers_icon": "fa-solid fa-comment-dots",
"settings_publishers_label": "Publishers", "settings_publishers_label": "Publishers",
"settings_saved": "<br/>Settings saved to the <code>pialert.conf</code> file.<br/><br/>A time-stamped backup of the previous file created. <br/><br/> Reloading...<br/>", "settings_saved": "<br/>Settings saved to the <code>app.conf</code> file.<br/><br/>A time-stamped backup of the previous file created. <br/><br/> Reloading...<br/>",
"settings_system_icon": "fa-solid fa-gear", "settings_system_icon": "fa-solid fa-gear",
"settings_system_label": "System", "settings_system_label": "System",
"test_event_icon": "fa-vial-circle-check", "test_event_icon": "fa-vial-circle-check",

589
front/php/templates/language/es_es.json Normal file → Executable file
View File

@@ -1,27 +1,27 @@
{ {
"API_CUSTOM_SQL_description": "Puede especificar una consulta SQL personalizada que generará un archivo JSON y luego lo expondrá a través del <a href=\"/api/table_custom_endpoint.json\" target=\"_blank\">archivo <code>table_custom_endpoint.json</code ></a>.", "API_CUSTOM_SQL_description": "Puede especificar una consulta SQL personalizada que generar\u00e1 un archivo JSON y luego lo expondr\u00e1 a trav\u00e9s del <a href=\"/api/table_custom_endpoint.json\" target=\"_blank\">archivo <code>table_custom_endpoint.json</code ></a>.",
"API_CUSTOM_SQL_name": "Endpoint personalizado", "API_CUSTOM_SQL_name": "Endpoint personalizado",
"API_display_name": "API", "API_display_name": "API",
"API_icon": "<i class=\"fa fa-arrow-down-up-across-line\"></i>", "API_icon": "<i class=\"fa fa-arrow-down-up-across-line\"></i>",
"APPRISE_HOST_description": "URL del host de Apprise que comienza con <code>http://</code> o <code>https://</code>. (no olvide incluir <code>/notify</code> al final)", "APPRISE_HOST_description": "URL del host de Apprise que comienza con <code>http://</code> o <code>https://</code>. (no olvide incluir <code>/notify</code> al final)",
"APPRISE_HOST_name": "URL del host de Apprise", "APPRISE_HOST_name": "URL del host de Apprise",
"APPRISE_PAYLOAD_description": "Seleccione el tipo de carga útil enviada a Apprise. Por ejemplo, <code>html</code> funciona bien con correos electrónicos, <code>text</code> con aplicaciones de chat, como Telegram.", "APPRISE_PAYLOAD_description": "Seleccione el tipo de carga \u00fatil enviada a Apprise. Por ejemplo, <code>html</code> funciona bien con correos electr\u00f3nicos, <code>text</code> con aplicaciones de chat, como Telegram.",
"APPRISE_PAYLOAD_name": "Tipo de carga", "APPRISE_PAYLOAD_name": "Tipo de carga",
"APPRISE_SIZE_description": "El tamaño máximo de la carga útil de información como número de caracteres en la cadena pasada. Si supera el límite, se truncará y se agregará un mensaje <code>(text was truncated)</code>.", "APPRISE_SIZE_description": "El tama\u00f1o m\u00e1ximo de la carga \u00fatil de informaci\u00f3n como n\u00famero de caracteres en la cadena pasada. Si supera el l\u00edmite, se truncar\u00e1 y se agregar\u00e1 un mensaje <code>(text was truncated)</code>.",
"APPRISE_SIZE_name": "Tamaño máximo de carga útil", "APPRISE_SIZE_name": "Tama\u00f1o m\u00e1ximo de carga \u00fatil",
"APPRISE_URL_description": "Informar de la URL de destino de la notificación. Por ejemplo, para Telegram sería <code>tgram://{bot_token}/{chat_id}</code>.", "APPRISE_URL_description": "Informar de la URL de destino de la notificaci\u00f3n. Por ejemplo, para Telegram ser\u00eda <code>tgram://{bot_token}/{chat_id}</code>.",
"APPRISE_URL_name": "URL de notificación de Apprise", "APPRISE_URL_name": "URL de notificaci\u00f3n de Apprise",
"About_Design": "Diseñado para:", "About_Design": "Dise\u00f1ado para:",
"About_Exit": "Salir", "About_Exit": "Salir",
"About_Title": "Escáner de seguridad de la red y marco de notificaciones", "About_Title": "Esc\u00e1ner de seguridad de la red y marco de notificaciones",
"AppEvents_DateTimeCreated": "Registrado", "AppEvents_DateTimeCreated": "Registrado",
"AppEvents_Extra": "Extra", "AppEvents_Extra": "Extra",
"AppEvents_GUID": "GUID del evento de aplicación", "AppEvents_GUID": "GUID del evento de aplicaci\u00f3n",
"AppEvents_Helper1": "Ayudante 1", "AppEvents_Helper1": "Ayudante 1",
"AppEvents_Helper2": "Ayudante 2", "AppEvents_Helper2": "Ayudante 2",
"AppEvents_Helper3": "Ayudante 3", "AppEvents_Helper3": "Ayudante 3",
"AppEvents_ObjectForeignKey": "Clave externa", "AppEvents_ObjectForeignKey": "Clave externa",
"AppEvents_ObjectIndex": "Índice", "AppEvents_ObjectIndex": "\u00cdndice",
"AppEvents_ObjectIsArchived": "Se archiva (en el momento del registro)", "AppEvents_ObjectIsArchived": "Se archiva (en el momento del registro)",
"AppEvents_ObjectIsNew": "Es nuevo (en el momento del registro)", "AppEvents_ObjectIsNew": "Es nuevo (en el momento del registro)",
"AppEvents_ObjectPlugin": "Complemento vinculado", "AppEvents_ObjectPlugin": "Complemento vinculado",
@@ -34,106 +34,106 @@
"AppEvents_Type": "Tipo", "AppEvents_Type": "Tipo",
"Apprise_display_name": "Apprise", "Apprise_display_name": "Apprise",
"Apprise_icon": "<i class=\"fa fa-bullhorn\"></i>", "Apprise_icon": "<i class=\"fa fa-bullhorn\"></i>",
"BackDevDetail_Actions_Ask_Run": "¿Desea ejecutar la acción?", "BackDevDetail_Actions_Ask_Run": "\u00bfDesea ejecutar la acci\u00f3n?",
"BackDevDetail_Actions_Not_Registered": "Acción no registrada: ", "BackDevDetail_Actions_Not_Registered": "Acci\u00f3n no registrada: ",
"BackDevDetail_Actions_Title_Run": "Ejecutar acción", "BackDevDetail_Actions_Title_Run": "Ejecutar acci\u00f3n",
"BackDevDetail_Copy_Ask": "¿Copiar detalles del dispositivo de la lista desplegable (se sobrescribirá todo en esta página)?", "BackDevDetail_Copy_Ask": "\u00bfCopiar detalles del dispositivo de la lista desplegable (se sobrescribir\u00e1 todo en esta p\u00e1gina)?",
"BackDevDetail_Copy_Title": "Copiar detalles", "BackDevDetail_Copy_Title": "Copiar detalles",
"BackDevDetail_Tools_WOL_error": "Ha ocurrido un error al ejectuar el comando.", "BackDevDetail_Tools_WOL_error": "Ha ocurrido un error al ejectuar el comando.",
"BackDevDetail_Tools_WOL_okay": "El comando se ha ejecutado correctamente.", "BackDevDetail_Tools_WOL_okay": "El comando se ha ejecutado correctamente.",
"BackDevices_Arpscan_disabled": "Arp-Scan Desactivado", "BackDevices_Arpscan_disabled": "Arp-Scan Desactivado",
"BackDevices_Arpscan_enabled": "Arp-Scan Activado", "BackDevices_Arpscan_enabled": "Arp-Scan Activado",
"BackDevices_Backup_CopError": "La base de datos original no se pudo guardar.", "BackDevices_Backup_CopError": "La base de datos original no se pudo guardar.",
"BackDevices_Backup_Failed": "La copia de seguridad se ejecutó parcialmente con éxito. El archivo no se puede crear o está vacío.", "BackDevices_Backup_Failed": "La copia de seguridad se ejecut\u00f3 parcialmente con \u00e9xito. El archivo no se puede crear o est\u00e1 vac\u00edo.",
"BackDevices_Backup_okay": "La copia de seguridad ejecutada con éxito con el nuevo archivo", "BackDevices_Backup_okay": "La copia de seguridad ejecutada con \u00e9xito con el nuevo archivo",
"BackDevices_DBTools_DelDevError_a": "Error de eliminación del dispositivo", "BackDevices_DBTools_DelDevError_a": "Error de eliminaci\u00f3n del dispositivo",
"BackDevices_DBTools_DelDevError_b": "Error de eliminación de dispositivos", "BackDevices_DBTools_DelDevError_b": "Error de eliminaci\u00f3n de dispositivos",
"BackDevices_DBTools_DelDev_a": "Dispositivo eliminado", "BackDevices_DBTools_DelDev_a": "Dispositivo eliminado",
"BackDevices_DBTools_DelDev_b": "Dispositivos eliminados", "BackDevices_DBTools_DelDev_b": "Dispositivos eliminados",
"BackDevices_DBTools_DelEvents": "Eventos eliminados", "BackDevices_DBTools_DelEvents": "Eventos eliminados",
"BackDevices_DBTools_DelEventsError": "Error de eliminación de eventos", "BackDevices_DBTools_DelEventsError": "Error de eliminaci\u00f3n de eventos",
"BackDevices_DBTools_ImportCSV": "Los dispositivos del archivo CSV han sido importados correctamente.", "BackDevices_DBTools_ImportCSV": "Los dispositivos del archivo CSV han sido importados correctamente.",
"BackDevices_DBTools_ImportCSVError": "El archivo CSV no pudo ser importado. Asegúrate de que el formato es correcto.", "BackDevices_DBTools_ImportCSVError": "El archivo CSV no pudo ser importado. Aseg\u00farate de que el formato es correcto.",
"BackDevices_DBTools_ImportCSVMissing": "El archivo CSV no se pudo encontrar en <b>/config/devices.csv.</b>", "BackDevices_DBTools_ImportCSVMissing": "El archivo CSV no se pudo encontrar en <b>/config/devices.csv.</b>",
"BackDevices_DBTools_Purge": "Las copias de seguridad más antiguas fueron eliminadas", "BackDevices_DBTools_Purge": "Las copias de seguridad m\u00e1s antiguas fueron eliminadas",
"BackDevices_DBTools_UpdDev": "Dispositivo actualizado con éxito", "BackDevices_DBTools_UpdDev": "Dispositivo actualizado con \u00e9xito",
"BackDevices_DBTools_UpdDevError": "Error al actualizar el dispositivo", "BackDevices_DBTools_UpdDevError": "Error al actualizar el dispositivo",
"BackDevices_DBTools_Upgrade": "Base de datos actualizada correctamente", "BackDevices_DBTools_Upgrade": "Base de datos actualizada correctamente",
"BackDevices_DBTools_UpgradeError": "Falló la actualización de la base de datos", "BackDevices_DBTools_UpgradeError": "Fall\u00f3 la actualizaci\u00f3n de la base de datos",
"BackDevices_Device_UpdDevError": "Fallo al actualizar dispositivos, pruebe de nuevo más tarde. La base de datos probablemente esté bloqueada por una tarea en curso.", "BackDevices_Device_UpdDevError": "Fallo al actualizar dispositivos, pruebe de nuevo m\u00e1s tarde. La base de datos probablemente est\u00e9 bloqueada por una tarea en curso.",
"BackDevices_Restore_CopError": "La base de datos original no se pudo guardar.", "BackDevices_Restore_CopError": "La base de datos original no se pudo guardar.",
"BackDevices_Restore_Failed": "La restauración falló. Restaurar la copia de seguridad manualmente.", "BackDevices_Restore_Failed": "La restauraci\u00f3n fall\u00f3. Restaurar la copia de seguridad manualmente.",
"BackDevices_Restore_okay": "Restauración ejecutado con éxito.", "BackDevices_Restore_okay": "Restauraci\u00f3n ejecutado con \u00e9xito.",
"BackDevices_darkmode_disabled": "Darkmode Desactivado", "BackDevices_darkmode_disabled": "Darkmode Desactivado",
"BackDevices_darkmode_enabled": "Darkmode Activado", "BackDevices_darkmode_enabled": "Darkmode Activado",
"DAYS_TO_KEEP_EVENTS_description": "Esta es una configuración de mantenimiento. Esto especifica el número de días de entradas de eventos que se guardarán. Todos los eventos anteriores se eliminarán periódicamente.", "DAYS_TO_KEEP_EVENTS_description": "Esta es una configuraci\u00f3n de mantenimiento. Esto especifica el n\u00famero de d\u00edas de entradas de eventos que se guardar\u00e1n. Todos los eventos anteriores se eliminar\u00e1n peri\u00f3dicamente.",
"DAYS_TO_KEEP_EVENTS_name": "Eliminar eventos anteriores a", "DAYS_TO_KEEP_EVENTS_name": "Eliminar eventos anteriores a",
"DevDetail_Copy_Device_Title": "<i class=\"fa fa-copy\"></i> Copiar detalles del dispositivo", "DevDetail_Copy_Device_Title": "<i class=\"fa fa-copy\"></i> Copiar detalles del dispositivo",
"DevDetail_Copy_Device_Tooltip": "Copiar detalles del dispositivo de la lista desplegable. Todo en esta página se sobrescribirá", "DevDetail_Copy_Device_Tooltip": "Copiar detalles del dispositivo de la lista desplegable. Todo en esta p\u00e1gina se sobrescribir\u00e1",
"DevDetail_EveandAl_AlertAllEvents": "Alerta a todos los eventos", "DevDetail_EveandAl_AlertAllEvents": "Alerta a todos los eventos",
"DevDetail_EveandAl_AlertDown": "Alerta de caída", "DevDetail_EveandAl_AlertDown": "Alerta de ca\u00edda",
"DevDetail_EveandAl_Archived": "Archivada", "DevDetail_EveandAl_Archived": "Archivada",
"DevDetail_EveandAl_NewDevice": "Nuevo dispositivo", "DevDetail_EveandAl_NewDevice": "Nuevo dispositivo",
"DevDetail_EveandAl_NewDevice_Tooltip": "Mostrará el estado Nuevo para el dispositivo y lo incluirá en las listas cuando el filtro Nuevos dispositivos esté activo. No afecta a las notificaciones.", "DevDetail_EveandAl_NewDevice_Tooltip": "Mostrar\u00e1 el estado Nuevo para el dispositivo y lo incluir\u00e1 en las listas cuando el filtro Nuevos dispositivos est\u00e9 activo. No afecta a las notificaciones.",
"DevDetail_EveandAl_RandomMAC": "MAC al azar", "DevDetail_EveandAl_RandomMAC": "MAC al azar",
"DevDetail_EveandAl_ScanCycle": "Ciclo de escaneo", "DevDetail_EveandAl_ScanCycle": "Ciclo de escaneo",
"DevDetail_EveandAl_ScanCycle_a": "Escanear Dispositivo", "DevDetail_EveandAl_ScanCycle_a": "Escanear Dispositivo",
"DevDetail_EveandAl_ScanCycle_z": "No Escanear Dispositivo", "DevDetail_EveandAl_ScanCycle_z": "No Escanear Dispositivo",
"DevDetail_EveandAl_Skip": "Omitir notificaciones repetidas durante", "DevDetail_EveandAl_Skip": "Omitir notificaciones repetidas durante",
"DevDetail_EveandAl_Title": "<i class=\"fa fa-bolt\"></i> Configuración de eventos y alertas", "DevDetail_EveandAl_Title": "<i class=\"fa fa-bolt\"></i> Configuraci\u00f3n de eventos y alertas",
"DevDetail_Events_CheckBox": "Ocultar eventos de conexión", "DevDetail_Events_CheckBox": "Ocultar eventos de conexi\u00f3n",
"DevDetail_GoToNetworkNode": "Navegar a la página de Internet del nodo seleccionado.", "DevDetail_GoToNetworkNode": "Navegar a la p\u00e1gina de Internet del nodo seleccionado.",
"DevDetail_Icon": "Icono", "DevDetail_Icon": "Icono",
"DevDetail_Icon_Descr": "Ingrese un nombre de icono de fuente awesome sin el prefijo fa- o con clase completa, por ejemplo: fa fa-skin fa-apple.", "DevDetail_Icon_Descr": "Ingrese un nombre de icono de fuente awesome sin el prefijo fa- o con clase completa, por ejemplo: fa fa-skin fa-apple.",
"DevDetail_Loading": "Cargando ...", "DevDetail_Loading": "Cargando ...",
"DevDetail_MainInfo_Comments": "Comentario", "DevDetail_MainInfo_Comments": "Comentario",
"DevDetail_MainInfo_Favorite": "Favorito", "DevDetail_MainInfo_Favorite": "Favorito",
"DevDetail_MainInfo_Group": "Grupo", "DevDetail_MainInfo_Group": "Grupo",
"DevDetail_MainInfo_Location": "Ubicación", "DevDetail_MainInfo_Location": "Ubicaci\u00f3n",
"DevDetail_MainInfo_Name": "Nombre", "DevDetail_MainInfo_Name": "Nombre",
"DevDetail_MainInfo_Network": "<i class=\"fa fa-server\"></i> Nodo (MAC)", "DevDetail_MainInfo_Network": "<i class=\"fa fa-server\"></i> Nodo (MAC)",
"DevDetail_MainInfo_Network_Port": "<i class=\"fa fa-ethernet\"></i> Puerto de Red HW", "DevDetail_MainInfo_Network_Port": "<i class=\"fa fa-ethernet\"></i> Puerto de Red HW",
"DevDetail_MainInfo_Network_Title": "<i class=\"fa fa-network-wired\"></i> Red", "DevDetail_MainInfo_Network_Title": "<i class=\"fa fa-network-wired\"></i> Red",
"DevDetail_MainInfo_Owner": "Propietario", "DevDetail_MainInfo_Owner": "Propietario",
"DevDetail_MainInfo_Title": "<i class=\"fa fa-pencil\"></i> Información principal", "DevDetail_MainInfo_Title": "<i class=\"fa fa-pencil\"></i> Informaci\u00f3n principal",
"DevDetail_MainInfo_Type": "Tipo", "DevDetail_MainInfo_Type": "Tipo",
"DevDetail_MainInfo_Vendor": "Proveedor", "DevDetail_MainInfo_Vendor": "Proveedor",
"DevDetail_MainInfo_mac": "MAC", "DevDetail_MainInfo_mac": "MAC",
"DevDetail_Network_Node_hover": "Seleccione el dispositivo de red principal al que está conectado el dispositivo actual para completar el árbol de Red.", "DevDetail_Network_Node_hover": "Seleccione el dispositivo de red principal al que est\u00e1 conectado el dispositivo actual para completar el \u00e1rbol de Red.",
"DevDetail_Network_Port_hover": "El puerto al que está conectado este dispositivo en el dispositivo de red principal. Si se deja vacío, se muestra un icono de wifi en el árbol de Red.", "DevDetail_Network_Port_hover": "El puerto al que est\u00e1 conectado este dispositivo en el dispositivo de red principal. Si se deja vac\u00edo, se muestra un icono de wifi en el \u00e1rbol de Red.",
"DevDetail_Nmap_Scans": "Escaneos de Nmap", "DevDetail_Nmap_Scans": "Escaneos de Nmap",
"DevDetail_Nmap_Scans_desc": "Aquí puede ejecutar escaneos NMAP manuales. También puede programar escaneos NMAP automáticos regulares a través del complemento Servicios y puertos (NMAP). Dirígete a <a href='/settings.php' target='_blank'>Configuración</a> para obtener más información", "DevDetail_Nmap_Scans_desc": "Aqu\u00ed puede ejecutar escaneos NMAP manuales. Tambi\u00e9n puede programar escaneos NMAP autom\u00e1ticos regulares a trav\u00e9s del complemento Servicios y puertos (NMAP). Dir\u00edgete a <a href='/settings.php' target='_blank'>Configuraci\u00f3n</a> para obtener m\u00e1s informaci\u00f3n",
"DevDetail_Nmap_buttonDefault": "Escaneado predeterminado", "DevDetail_Nmap_buttonDefault": "Escaneado predeterminado",
"DevDetail_Nmap_buttonDefault_text": "Escaneo predeterminado: NMAP escanea los 1,000 puertos principales para cada protocolo de escaneo solicitado. Esto atrapa aproximadamente el 93% de los puertos TCP y el 49% de los puertos UDP. (aproximadamente 5 segundos)", "DevDetail_Nmap_buttonDefault_text": "Escaneo predeterminado: NMAP escanea los 1,000 puertos principales para cada protocolo de escaneo solicitado. Esto atrapa aproximadamente el 93% de los puertos TCP y el 49% de los puertos UDP. (aproximadamente 5 segundos)",
"DevDetail_Nmap_buttonDetail": "Escaneo detallado", "DevDetail_Nmap_buttonDetail": "Escaneo detallado",
"DevDetail_Nmap_buttonDetail_text": "Escaneo detallado: escaneo predeterminado con detección de sistema operativo habilitado, detección de versiones, escaneo de script y traceroute (hasta 30 segundos o más)", "DevDetail_Nmap_buttonDetail_text": "Escaneo detallado: escaneo predeterminado con detecci\u00f3n de sistema operativo habilitado, detecci\u00f3n de versiones, escaneo de script y traceroute (hasta 30 segundos o m\u00e1s)",
"DevDetail_Nmap_buttonFast": "Exploración rápida", "DevDetail_Nmap_buttonFast": "Exploraci\u00f3n r\u00e1pida",
"DevDetail_Nmap_buttonFast_text": "Escaneo rápido: escanee menos puertos (100) que el escaneo predeterminado (unos pocos segundos)", "DevDetail_Nmap_buttonFast_text": "Escaneo r\u00e1pido: escanee menos puertos (100) que el escaneo predeterminado (unos pocos segundos)",
"DevDetail_Nmap_buttonSkipDiscovery": "Omitir detección de host", "DevDetail_Nmap_buttonSkipDiscovery": "Omitir detecci\u00f3n de host",
"DevDetail_Nmap_buttonSkipDiscovery_text": "Omitir detección de host (-Pn opción): Escaneo predeterminado sin detección de host", "DevDetail_Nmap_buttonSkipDiscovery_text": "Omitir detecci\u00f3n de host (-Pn opci\u00f3n): Escaneo predeterminado sin detecci\u00f3n de host",
"DevDetail_Nmap_resultsLink": "Puedes abandonar esta página después de empezar un escaneo. Los resultados también estarán disponibles en el archivo <code>pialert_front.log</code>.", "DevDetail_Nmap_resultsLink": "Puedes abandonar esta p\u00e1gina despu\u00e9s de empezar un escaneo. Los resultados tambi\u00e9n estar\u00e1n disponibles en el archivo <code>app_front.log</code>.",
"DevDetail_Owner_hover": "¿Quién es el propietario de este dispositivo? Campo de texto libre.", "DevDetail_Owner_hover": "\u00bfQui\u00e9n es el propietario de este dispositivo? Campo de texto libre.",
"DevDetail_Periodselect_All": "Toda la información", "DevDetail_Periodselect_All": "Toda la informaci\u00f3n",
"DevDetail_Periodselect_LastMonth": "El mes pasado", "DevDetail_Periodselect_LastMonth": "El mes pasado",
"DevDetail_Periodselect_LastWeek": "La semana pasada", "DevDetail_Periodselect_LastWeek": "La semana pasada",
"DevDetail_Periodselect_LastYear": "El año pasado", "DevDetail_Periodselect_LastYear": "El a\u00f1o pasado",
"DevDetail_Periodselect_today": "Hoy", "DevDetail_Periodselect_today": "Hoy",
"DevDetail_Run_Actions_Title": "<i class=\"fa fa-play\"></i> Ejecutar acción en el dispositivo", "DevDetail_Run_Actions_Title": "<i class=\"fa fa-play\"></i> Ejecutar acci\u00f3n en el dispositivo",
"DevDetail_Run_Actions_Tooltip": "Ejecutar la acción del desplegable sobre el dispositivo actual.", "DevDetail_Run_Actions_Tooltip": "Ejecutar la acci\u00f3n del desplegable sobre el dispositivo actual.",
"DevDetail_SessionInfo_FirstSession": "1ra. sesión", "DevDetail_SessionInfo_FirstSession": "1ra. sesi\u00f3n",
"DevDetail_SessionInfo_LastIP": "Última IP", "DevDetail_SessionInfo_LastIP": "\u00daltima IP",
"DevDetail_SessionInfo_LastSession": "Última sesión", "DevDetail_SessionInfo_LastSession": "\u00daltima sesi\u00f3n",
"DevDetail_SessionInfo_StaticIP": "IP estática", "DevDetail_SessionInfo_StaticIP": "IP est\u00e1tica",
"DevDetail_SessionInfo_Status": "Estado", "DevDetail_SessionInfo_Status": "Estado",
"DevDetail_SessionInfo_Title": "<i class=\"fa fa-calendar\"></i> Información de sesión", "DevDetail_SessionInfo_Title": "<i class=\"fa fa-calendar\"></i> Informaci\u00f3n de sesi\u00f3n",
"DevDetail_SessionTable_Additionalinfo": "Información adicional", "DevDetail_SessionTable_Additionalinfo": "Informaci\u00f3n adicional",
"DevDetail_SessionTable_Connection": "Conexión", "DevDetail_SessionTable_Connection": "Conexi\u00f3n",
"DevDetail_SessionTable_Disconnection": "Desconexión", "DevDetail_SessionTable_Disconnection": "Desconexi\u00f3n",
"DevDetail_SessionTable_Duration": "Duración", "DevDetail_SessionTable_Duration": "Duraci\u00f3n",
"DevDetail_SessionTable_IP": "Dirección IP", "DevDetail_SessionTable_IP": "Direcci\u00f3n IP",
"DevDetail_SessionTable_Order": "Ordenar", "DevDetail_SessionTable_Order": "Ordenar",
"DevDetail_Shortcut_CurrentStatus": "Estado actual", "DevDetail_Shortcut_CurrentStatus": "Estado actual",
"DevDetail_Shortcut_DownAlerts": "Alerta(s) de caída(s)", "DevDetail_Shortcut_DownAlerts": "Alerta(s) de ca\u00edda(s)",
"DevDetail_Shortcut_Presence": "Historial", "DevDetail_Shortcut_Presence": "Historial",
"DevDetail_Shortcut_Sessions": "Sesiones", "DevDetail_Shortcut_Sessions": "Sesiones",
"DevDetail_Tab_Details": "<i class=\"fa fa-info-circle\"></i> Detalles", "DevDetail_Tab_Details": "<i class=\"fa fa-info-circle\"></i> Detalles",
@@ -141,76 +141,76 @@
"DevDetail_Tab_EventsTableDate": "Fecha", "DevDetail_Tab_EventsTableDate": "Fecha",
"DevDetail_Tab_EventsTableEvent": "Tipo de evento", "DevDetail_Tab_EventsTableEvent": "Tipo de evento",
"DevDetail_Tab_EventsTableIP": "IP", "DevDetail_Tab_EventsTableIP": "IP",
"DevDetail_Tab_EventsTableInfo": "Información adicional", "DevDetail_Tab_EventsTableInfo": "Informaci\u00f3n adicional",
"DevDetail_Tab_Nmap": "<i class=\"fa fa-ethernet\"></i> Nmap", "DevDetail_Tab_Nmap": "<i class=\"fa fa-ethernet\"></i> Nmap",
"DevDetail_Tab_NmapEmpty": "Ningún puerto detectado en este dispositivo con Nmap.", "DevDetail_Tab_NmapEmpty": "Ning\u00fan puerto detectado en este dispositivo con Nmap.",
"DevDetail_Tab_NmapTableExtra": "Extra", "DevDetail_Tab_NmapTableExtra": "Extra",
"DevDetail_Tab_NmapTableHeader": "Resultados del escaneo programado", "DevDetail_Tab_NmapTableHeader": "Resultados del escaneo programado",
"DevDetail_Tab_NmapTableIndex": "Índice", "DevDetail_Tab_NmapTableIndex": "\u00cdndice",
"DevDetail_Tab_NmapTablePort": "Puerto", "DevDetail_Tab_NmapTablePort": "Puerto",
"DevDetail_Tab_NmapTableService": "Servicio", "DevDetail_Tab_NmapTableService": "Servicio",
"DevDetail_Tab_NmapTableState": "Estado", "DevDetail_Tab_NmapTableState": "Estado",
"DevDetail_Tab_NmapTableText": "Establece la programación en los <a href=\"/settings.php#NMAP_ACTIVE\">Ajustes</a>", "DevDetail_Tab_NmapTableText": "Establece la programaci\u00f3n en los <a href=\"/settings.php#NMAP_ACTIVE\">Ajustes</a>",
"DevDetail_Tab_NmapTableTime": "Tiempo", "DevDetail_Tab_NmapTableTime": "Tiempo",
"DevDetail_Tab_Plugins": "<i class=\"fa fa-plug\"></i> Plugins", "DevDetail_Tab_Plugins": "<i class=\"fa fa-plug\"></i> Plugins",
"DevDetail_Tab_Presence": "<i class=\"fa fa-calendar\"></i> Historial", "DevDetail_Tab_Presence": "<i class=\"fa fa-calendar\"></i> Historial",
"DevDetail_Tab_Sessions": "<i class=\"fa fa-list-ol\"></i> Sesiones", "DevDetail_Tab_Sessions": "<i class=\"fa fa-list-ol\"></i> Sesiones",
"DevDetail_Tab_Tools": "<i class=\"fa fa-screwdriver-wrench\"></i> Herramientas", "DevDetail_Tab_Tools": "<i class=\"fa fa-screwdriver-wrench\"></i> Herramientas",
"DevDetail_Tab_Tools_Internet_Info_Description": "La herramienta de información de internet muestra información sobre la conexión a Internet, como dirección IP, ciudad, país, código de área y zona horaria.", "DevDetail_Tab_Tools_Internet_Info_Description": "La herramienta de informaci\u00f3n de internet muestra informaci\u00f3n sobre la conexi\u00f3n a Internet, como direcci\u00f3n IP, ciudad, pa\u00eds, c\u00f3digo de \u00e1rea y zona horaria.",
"DevDetail_Tab_Tools_Internet_Info_Error": "Se ha producido un error", "DevDetail_Tab_Tools_Internet_Info_Error": "Se ha producido un error",
"DevDetail_Tab_Tools_Internet_Info_Start": "Iniciar información de Internet", "DevDetail_Tab_Tools_Internet_Info_Start": "Iniciar informaci\u00f3n de Internet",
"DevDetail_Tab_Tools_Internet_Info_Title": "Información de Internet", "DevDetail_Tab_Tools_Internet_Info_Title": "Informaci\u00f3n de Internet",
"DevDetail_Tab_Tools_Nslookup_Description": "Nslookup es una herramienta de línea de comandos que se utiliza para realizar consultas al Sistema de nombres de dominio (DNS). El DNS es un sistema que traduce nombres de dominio, como www.google.com, a direcciones IP, como 172.217.0.142.", "DevDetail_Tab_Tools_Nslookup_Description": "Nslookup es una herramienta de l\u00ednea de comandos que se utiliza para realizar consultas al Sistema de nombres de dominio (DNS). El DNS es un sistema que traduce nombres de dominio, como www.google.com, a direcciones IP, como 172.217.0.142.",
"DevDetail_Tab_Tools_Nslookup_Error": "Error: la dirección IP no es válida", "DevDetail_Tab_Tools_Nslookup_Error": "Error: la direcci\u00f3n IP no es v\u00e1lida",
"DevDetail_Tab_Tools_Nslookup_Start": "Iniciar Nslookup", "DevDetail_Tab_Tools_Nslookup_Start": "Iniciar Nslookup",
"DevDetail_Tab_Tools_Nslookup_Title": "Nslookup", "DevDetail_Tab_Tools_Nslookup_Title": "Nslookup",
"DevDetail_Tab_Tools_Speedtest_Description": "La herramienta Speedtest mide la velocidad de descarga, la velocidad de subida y la latencia de la conexión a Internet.", "DevDetail_Tab_Tools_Speedtest_Description": "La herramienta Speedtest mide la velocidad de descarga, la velocidad de subida y la latencia de la conexi\u00f3n a Internet.",
"DevDetail_Tab_Tools_Speedtest_Start": "Iniciar Speedtest", "DevDetail_Tab_Tools_Speedtest_Start": "Iniciar Speedtest",
"DevDetail_Tab_Tools_Speedtest_Title": "Prueba Speedtest", "DevDetail_Tab_Tools_Speedtest_Title": "Prueba Speedtest",
"DevDetail_Tab_Tools_Traceroute_Description": "Traceroute es un comando de diagnóstico de red que se utiliza para rastrear la ruta que toman los paquetes de datos desde un host a otro.<br><br>El comando utiliza el protocolo de mensajes de control de Internet (ICMP) para enviar paquetes a los nodos intermedios en la ruta, cada nodo intermedio responde con un paquete ICMP de tiempo de vida agotado (TTL agotado).<br><br>La salida del comando traceroute muestra la dirección IP de cada nodo intermedio en la ruta.<br><br>El comando traceroute se puede usar para diagnosticar problemas de red, como retrasos, pérdida de paquetes y rutas bloqueadas.<br><br>También se puede usar para identificar la ubicación de un nodo intermedio en una red.", "DevDetail_Tab_Tools_Traceroute_Description": "Traceroute es un comando de diagn\u00f3stico de red que se utiliza para rastrear la ruta que toman los paquetes de datos desde un host a otro.<br><br>El comando utiliza el protocolo de mensajes de control de Internet (ICMP) para enviar paquetes a los nodos intermedios en la ruta, cada nodo intermedio responde con un paquete ICMP de tiempo de vida agotado (TTL agotado).<br><br>La salida del comando traceroute muestra la direcci\u00f3n IP de cada nodo intermedio en la ruta.<br><br>El comando traceroute se puede usar para diagnosticar problemas de red, como retrasos, p\u00e9rdida de paquetes y rutas bloqueadas.<br><br>Tambi\u00e9n se puede usar para identificar la ubicaci\u00f3n de un nodo intermedio en una red.",
"DevDetail_Tab_Tools_Traceroute_Error": "Error: la dirección IP no es válida", "DevDetail_Tab_Tools_Traceroute_Error": "Error: la direcci\u00f3n IP no es v\u00e1lida",
"DevDetail_Tab_Tools_Traceroute_Start": "Iniciar Traceroute", "DevDetail_Tab_Tools_Traceroute_Start": "Iniciar Traceroute",
"DevDetail_Tab_Tools_Traceroute_Title": "Traceroute", "DevDetail_Tab_Tools_Traceroute_Title": "Traceroute",
"DevDetail_Tools_WOL": "Enviar comando WOL a ", "DevDetail_Tools_WOL": "Enviar comando WOL a ",
"DevDetail_Tools_WOL_noti": "Wake-on-LAN", "DevDetail_Tools_WOL_noti": "Wake-on-LAN",
"DevDetail_Tools_WOL_noti_text": "El comando de Wake-on-LAN en enviado a la dirección de escucha. Si el dispositivo no está en la misma subred/vlan que NetAlertX, el dispositivo no responderá.", "DevDetail_Tools_WOL_noti_text": "El comando de Wake-on-LAN en enviado a la direcci\u00f3n de escucha. Si el dispositivo no est\u00e1 en la misma subred/vlan que NetAlertX, el dispositivo no responder\u00e1.",
"DevDetail_Type_hover": "El tipo de dispositivo. Si selecciona cualquiera de los dispositivos de la red predefinidos (por ejemplo: AP, Firewall, enrutador, conmutador...), aparecerán en la configuración del árbol de redes como posibles nodos de la red principal.", "DevDetail_Type_hover": "El tipo de dispositivo. Si selecciona cualquiera de los dispositivos de la red predefinidos (por ejemplo: AP, Firewall, enrutador, conmutador...), aparecer\u00e1n en la configuraci\u00f3n del \u00e1rbol de redes como posibles nodos de la red principal.",
"DevDetail_Vendor_hover": "El proveedor debe ser detectado automáticamente. Puede sobrescribir o agregar su valor personalizado.", "DevDetail_Vendor_hover": "El proveedor debe ser detectado autom\u00e1ticamente. Puede sobrescribir o agregar su valor personalizado.",
"DevDetail_WOL_Title": "<i class=\"fa fa-power-off\"></i> Wake-on-LAN", "DevDetail_WOL_Title": "<i class=\"fa fa-power-off\"></i> Wake-on-LAN",
"DevDetail_button_AddIcon": "Añadir un nuevo icono", "DevDetail_button_AddIcon": "A\u00f1adir un nuevo icono",
"DevDetail_button_AddIcon_Help": "Pegue una etiqueta html SVG o un icono de Font Awesome. Lea los <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/ICONS.md\" target=\"_blank\">documentos de iconos</a> para obtener más detalles.", "DevDetail_button_AddIcon_Help": "Pegue una etiqueta html SVG o un icono de Font Awesome. Lea los <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/ICONS.md\" target=\"_blank\">documentos de iconos</a> para obtener m\u00e1s detalles.",
"DevDetail_button_AddIcon_Tooltip": "Añade un nuevo icono a este dispositivo que aún no está disponible en el menú desplegable.", "DevDetail_button_AddIcon_Tooltip": "A\u00f1ade un nuevo icono a este dispositivo que a\u00fan no est\u00e1 disponible en el men\u00fa desplegable.",
"DevDetail_button_Delete": "Eliminar dispositivo", "DevDetail_button_Delete": "Eliminar dispositivo",
"DevDetail_button_DeleteEvents": "Eliminar eventos", "DevDetail_button_DeleteEvents": "Eliminar eventos",
"DevDetail_button_DeleteEvents_Warning": "¿Desea eliminar todos los eventos de este dispositivo?<br><br>(se eliminarán el <b>Historial de eventos</b> y las <b>Sesiones</b>, y puede ayudar en el caso de notificaciones constantes)", "DevDetail_button_DeleteEvents_Warning": "\u00bfDesea eliminar todos los eventos de este dispositivo?<br><br>(se eliminar\u00e1n el <b>Historial de eventos</b> y las <b>Sesiones</b>, y puede ayudar en el caso de notificaciones constantes)",
"DevDetail_button_OverwriteIcons": "Sobreescribir iconos", "DevDetail_button_OverwriteIcons": "Sobreescribir iconos",
"DevDetail_button_OverwriteIcons_Tooltip": "Sobreescribir los iconos de todos los dispositivos con el mismo tipo", "DevDetail_button_OverwriteIcons_Tooltip": "Sobreescribir los iconos de todos los dispositivos con el mismo tipo",
"DevDetail_button_OverwriteIcons_Warning": "¿Sobreescribir todos los iconos de todos los dispositivos con el mismo tipo que el dispositivo actual?", "DevDetail_button_OverwriteIcons_Warning": "\u00bfSobreescribir todos los iconos de todos los dispositivos con el mismo tipo que el dispositivo actual?",
"DevDetail_button_Reset": "Restablecer cambios", "DevDetail_button_Reset": "Restablecer cambios",
"DevDetail_button_Save": "Guardar", "DevDetail_button_Save": "Guardar",
"Device_MultiEdit": "Edición múltiple", "Device_MultiEdit": "Edici\u00f3n m\u00faltiple",
"Device_MultiEdit_Backup": "Tenga cuidado, ingresar valores incorrectos o romperá su configuración. Por favor, haga una copia de seguridad de su base de datos o de la configuración de los dispositivos primero (<a href=\"php/server/devices.php?action=ExportCSV\">haga clic para descargar <i class=\"fa-solid fa-download fa-bounce\"></i></a>). Lea cómo recuperar dispositivos de este archivo en la documentación de <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md#scenario-2-corrupted-database\" target=\"_blank\">Copia de seguridad</a>.", "Device_MultiEdit_Backup": "Tenga cuidado, ingresar valores incorrectos o romper\u00e1 su configuraci\u00f3n. Por favor, haga una copia de seguridad de su base de datos o de la configuraci\u00f3n de los dispositivos primero (<a href=\"php/server/devices.php?action=ExportCSV\">haga clic para descargar <i class=\"fa-solid fa-download fa-bounce\"></i></a>). Lea c\u00f3mo recuperar dispositivos de este archivo en la documentaci\u00f3n de <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/BACKUPS.md#scenario-2-corrupted-database\" target=\"_blank\">Copia de seguridad</a>.",
"Device_MultiEdit_Fields": "Editar campos:", "Device_MultiEdit_Fields": "Editar campos:",
"Device_MultiEdit_MassActions": "Acciones masivas:", "Device_MultiEdit_MassActions": "Acciones masivas:",
"Device_MultiEdit_Tooltip": "Cuidado. Al hacer clic se aplicará el valor de la izquierda a todos los dispositivos seleccionados anteriormente.", "Device_MultiEdit_Tooltip": "Cuidado. Al hacer clic se aplicar\u00e1 el valor de la izquierda a todos los dispositivos seleccionados anteriormente.",
"Device_Searchbox": "Búsqueda", "Device_Searchbox": "B\u00fasqueda",
"Device_Shortcut_AllDevices": "Mis dispositivos", "Device_Shortcut_AllDevices": "Mis dispositivos",
"Device_Shortcut_Archived": "Archivado(s)", "Device_Shortcut_Archived": "Archivado(s)",
"Device_Shortcut_Connected": "Conectado(s)", "Device_Shortcut_Connected": "Conectado(s)",
"Device_Shortcut_Devices": "Dispositivos", "Device_Shortcut_Devices": "Dispositivos",
"Device_Shortcut_DownAlerts": "Caído y sin conexión", "Device_Shortcut_DownAlerts": "Ca\u00eddo y sin conexi\u00f3n",
"Device_Shortcut_Favorites": "Favorito(s)", "Device_Shortcut_Favorites": "Favorito(s)",
"Device_Shortcut_NewDevices": "Nuevo(s)", "Device_Shortcut_NewDevices": "Nuevo(s)",
"Device_Shortcut_OnlineChart": "Presencia del dispositivo a lo largo del tiempo", "Device_Shortcut_OnlineChart": "Presencia del dispositivo a lo largo del tiempo",
"Device_TableHead_Connected_Devices": "Conexiones", "Device_TableHead_Connected_Devices": "Conexiones",
"Device_TableHead_Favorite": "Favorito", "Device_TableHead_Favorite": "Favorito",
"Device_TableHead_FirstSession": "1ra. sesión", "Device_TableHead_FirstSession": "1ra. sesi\u00f3n",
"Device_TableHead_Group": "Grupo", "Device_TableHead_Group": "Grupo",
"Device_TableHead_Icon": "Icon", "Device_TableHead_Icon": "Icon",
"Device_TableHead_LastIP": "Última IP", "Device_TableHead_LastIP": "\u00daltima IP",
"Device_TableHead_LastIPOrder": "Última orden de IP", "Device_TableHead_LastIPOrder": "\u00daltima orden de IP",
"Device_TableHead_LastSession": "Última sesión", "Device_TableHead_LastSession": "\u00daltima sesi\u00f3n",
"Device_TableHead_Location": "Ubicación", "Device_TableHead_Location": "Ubicaci\u00f3n",
"Device_TableHead_MAC": "MAC aleatoria", "Device_TableHead_MAC": "MAC aleatoria",
"Device_TableHead_MAC_full": "MAC completa", "Device_TableHead_MAC_full": "MAC completa",
"Device_TableHead_Name": "Nombre", "Device_TableHead_Name": "Nombre",
@@ -219,10 +219,10 @@
"Device_TableHead_Port": "Puerto", "Device_TableHead_Port": "Puerto",
"Device_TableHead_RowID": "Row ID", "Device_TableHead_RowID": "Row ID",
"Device_TableHead_Rowid": "Row ID", "Device_TableHead_Rowid": "Row ID",
"Device_TableHead_Status": "Situación", "Device_TableHead_Status": "Situaci\u00f3n",
"Device_TableHead_Type": "Tipo", "Device_TableHead_Type": "Tipo",
"Device_TableHead_Vendor": "Fabricante", "Device_TableHead_Vendor": "Fabricante",
"Device_Table_Not_Network_Device": "No está configurado como dispositivo de red", "Device_Table_Not_Network_Device": "No est\u00e1 configurado como dispositivo de red",
"Device_Table_info": "Mostrando el INICIO y el FINAL de TODAS las entradas", "Device_Table_info": "Mostrando el INICIO y el FINAL de TODAS las entradas",
"Device_Table_nav_next": "Siguiente", "Device_Table_nav_next": "Siguiente",
"Device_Table_nav_prev": "Anterior", "Device_Table_nav_prev": "Anterior",
@@ -231,58 +231,58 @@
"Device_Title": "Dispositivos", "Device_Title": "Dispositivos",
"Donations_Others": "Otros", "Donations_Others": "Otros",
"Donations_Platforms": "Plataforma de patrocinadores", "Donations_Platforms": "Plataforma de patrocinadores",
"Donations_Text": "¡Hola! 👋 </br> Gracias por hacer clic en este elemento 😅 del menú </br> </br>, estoy tratando de recolectar algunas donaciones para mejorar el software. Además, me ayudaría a no quemarse, por lo que puedo apoyar esta aplicación por más tiempo. Cualquier pequeño patrocinio (recurrente o no) me hace querer esforzarme más en esta aplicación. </br> Me encantaría acortar mi semana de trabajo y en el tiempo que me queda centrarme por completo en NetAlertX. Obtendrías más funcionalidad, una aplicación más pulida y menos errores. </br> </br> Gracias por leer, agradezco cualquier apoyo ❤🙏 </br> </br> TL; DR: Al apoyarme, obtienes: </br> </br> <ul><li>Actualizaciones periódicas para mantener tus datos y tu familia seguros 🔄</li><li>Menos errores 🐛🔫</li><li>Mejor y más funcionalidad</li><li>No me quemo 🔥🤯</li><li>Lanzamientos 💨menos apresurados</li> <li>Mejores documentos📚</li><li>Soporte más rápido y mejor con problemas 🆘</li></ul> </br> 📧Envíame un correo electrónico a <a href='mailto:jokob@duck.com?subject=NetAlertX'>jokob@duck.com</a> si quieres ponerte en contacto o si debo añadir otras plataformas de patrocinio. </br>", "Donations_Text": "\u00a1Hola! \ud83d\udc4b </br> Gracias por hacer clic en este elemento \ud83d\ude05 del men\u00fa </br> </br>, estoy tratando de recolectar algunas donaciones para mejorar el software. Adem\u00e1s, me ayudar\u00eda a no quemarse, por lo que puedo apoyar esta aplicaci\u00f3n por m\u00e1s tiempo. Cualquier peque\u00f1o patrocinio (recurrente o no) me hace querer esforzarme m\u00e1s en esta aplicaci\u00f3n. </br> Me encantar\u00eda acortar mi semana de trabajo y en el tiempo que me queda centrarme por completo en NetAlertX. Obtendr\u00edas m\u00e1s funcionalidad, una aplicaci\u00f3n m\u00e1s pulida y menos errores. </br> </br> Gracias por leer, agradezco cualquier apoyo \u2764\ud83d\ude4f </br> </br> TL; DR: Al apoyarme, obtienes: </br> </br> <ul><li>Actualizaciones peri\u00f3dicas para mantener tus datos y tu familia seguros \ud83d\udd04</li><li>Menos errores \ud83d\udc1b\ud83d\udd2b</li><li>Mejor y m\u00e1s funcionalidad\u2795</li><li>No me quemo \ud83d\udd25\ud83e\udd2f</li><li>Lanzamientos \ud83d\udca8menos apresurados</li> <li>Mejores documentos\ud83d\udcda</li><li>Soporte m\u00e1s r\u00e1pido y mejor con problemas \ud83c\udd98</li></ul> </br> \ud83d\udce7Env\u00edame un correo electr\u00f3nico a <a href='mailto:jokob@duck.com?subject=NetAlertX'>jokob@duck.com</a> si quieres ponerte en contacto o si debo a\u00f1adir otras plataformas de patrocinio. </br>",
"Donations_Title": "Donaciones", "Donations_Title": "Donaciones",
"ENABLE_PLUGINS_description": "Habilita la funcionalidad de los <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins\">complementos</a>. Cargar los complementos requiere más recursos de hardware, así que quizás quieras desactivarlo en hardware poco potente.", "ENABLE_PLUGINS_description": "Habilita la funcionalidad de los <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins\">complementos</a>. Cargar los complementos requiere m\u00e1s recursos de hardware, as\u00ed que quiz\u00e1s quieras desactivarlo en hardware poco potente.",
"ENABLE_PLUGINS_name": "Habilitar complementos", "ENABLE_PLUGINS_name": "Habilitar complementos",
"Email_display_name": "Email", "Email_display_name": "Email",
"Email_icon": "<i class=\"fa fa-at\"></i>", "Email_icon": "<i class=\"fa fa-at\"></i>",
"Events_Loading": "Cargando...", "Events_Loading": "Cargando...",
"Events_Periodselect_All": "Toda la información", "Events_Periodselect_All": "Toda la informaci\u00f3n",
"Events_Periodselect_LastMonth": "El mes pasado", "Events_Periodselect_LastMonth": "El mes pasado",
"Events_Periodselect_LastWeek": "La semana pasada", "Events_Periodselect_LastWeek": "La semana pasada",
"Events_Periodselect_LastYear": "El año pasado", "Events_Periodselect_LastYear": "El a\u00f1o pasado",
"Events_Periodselect_today": "Hoy", "Events_Periodselect_today": "Hoy",
"Events_Searchbox": "Búsqueda", "Events_Searchbox": "B\u00fasqueda",
"Events_Shortcut_AllEvents": "Todos los eventos", "Events_Shortcut_AllEvents": "Todos los eventos",
"Events_Shortcut_DownAlerts": "Alerta(s) de caída(s)", "Events_Shortcut_DownAlerts": "Alerta(s) de ca\u00edda(s)",
"Events_Shortcut_Events": "Eventos", "Events_Shortcut_Events": "Eventos",
"Events_Shortcut_MissSessions": "Sesiones faltantes", "Events_Shortcut_MissSessions": "Sesiones faltantes",
"Events_Shortcut_NewDevices": "Nuevo(s)", "Events_Shortcut_NewDevices": "Nuevo(s)",
"Events_Shortcut_Sessions": "Sesiones", "Events_Shortcut_Sessions": "Sesiones",
"Events_Shortcut_VoidSessions": "Sesiones anuladas", "Events_Shortcut_VoidSessions": "Sesiones anuladas",
"Events_TableHead_AdditionalInfo": "Información adicional", "Events_TableHead_AdditionalInfo": "Informaci\u00f3n adicional",
"Events_TableHead_Connection": "Conexión", "Events_TableHead_Connection": "Conexi\u00f3n",
"Events_TableHead_Date": "Fecha", "Events_TableHead_Date": "Fecha",
"Events_TableHead_Device": "Dispositivo", "Events_TableHead_Device": "Dispositivo",
"Events_TableHead_Disconnection": "Desconexión", "Events_TableHead_Disconnection": "Desconexi\u00f3n",
"Events_TableHead_Duration": "Duración", "Events_TableHead_Duration": "Duraci\u00f3n",
"Events_TableHead_DurationOrder": "Orden de duración", "Events_TableHead_DurationOrder": "Orden de duraci\u00f3n",
"Events_TableHead_EventType": "Tipo de evento", "Events_TableHead_EventType": "Tipo de evento",
"Events_TableHead_IP": "Dirección IP", "Events_TableHead_IP": "Direcci\u00f3n IP",
"Events_TableHead_IPOrder": "Orden de IP", "Events_TableHead_IPOrder": "Orden de IP",
"Events_TableHead_Order": "Ordenar", "Events_TableHead_Order": "Ordenar",
"Events_TableHead_Owner": "Propietario", "Events_TableHead_Owner": "Propietario",
"Events_Table_info": "Mostrando el INICIO y el FINAL de TODAS las entradas", "Events_Table_info": "Mostrando el INICIO y el FINAL de TODAS las entradas",
"Events_Table_nav_next": "Siguiente", "Events_Table_nav_next": "Siguiente",
"Events_Table_nav_prev": "Anterior", "Events_Table_nav_prev": "Anterior",
"Events_Tablelenght": "Mostrando entradas del MENÚ", "Events_Tablelenght": "Mostrando entradas del MEN\u00da",
"Events_Tablelenght_all": "Todos", "Events_Tablelenght_all": "Todos",
"Events_Title": "Eventos", "Events_Title": "Eventos",
"Gen_Action": "Acción", "Gen_Action": "Acci\u00f3n",
"Gen_AreYouSure": "¿Estás seguro?", "Gen_AreYouSure": "\u00bfEst\u00e1s seguro?",
"Gen_Backup": "Ejecutar copia de seguridad", "Gen_Backup": "Ejecutar copia de seguridad",
"Gen_Cancel": "Cancelar", "Gen_Cancel": "Cancelar",
"Gen_Copy": "Ejecutar", "Gen_Copy": "Ejecutar",
"Gen_DataUpdatedUITakesTime": "Correcto - La interfaz puede tardar en actualizarse si se está ejecutando un escaneo.", "Gen_DataUpdatedUITakesTime": "Correcto - La interfaz puede tardar en actualizarse si se est\u00e1 ejecutando un escaneo.",
"Gen_Delete": "Eliminar", "Gen_Delete": "Eliminar",
"Gen_DeleteAll": "Eliminar todo", "Gen_DeleteAll": "Eliminar todo",
"Gen_Error": "Error", "Gen_Error": "Error",
"Gen_LockedDB": "Fallo - La base de datos puede estar bloqueada - Pulsa F1 -> Ajustes de desarrolladores -> Consola o prueba más tarde.", "Gen_LockedDB": "Fallo - La base de datos puede estar bloqueada - Pulsa F1 -> Ajustes de desarrolladores -> Consola o prueba m\u00e1s tarde.",
"Gen_Okay": "Aceptar", "Gen_Okay": "Aceptar",
"Gen_Purge": "Purgar", "Gen_Purge": "Purgar",
"Gen_ReadDocs": "Lee más en los documentos.", "Gen_ReadDocs": "Lee m\u00e1s en los documentos.",
"Gen_Restore": "Ejecutar restauración", "Gen_Restore": "Ejecutar restauraci\u00f3n",
"Gen_Run": "Ejecutar", "Gen_Run": "Ejecutar",
"Gen_Save": "Guardar", "Gen_Save": "Guardar",
"Gen_Saved": "Guardado", "Gen_Saved": "Guardado",
@@ -294,174 +294,174 @@
"Gen_Work_In_Progress": "Trabajo en curso, un buen momento para hacer comentarios en https://github.com/jokob-sk/NetAlertX/issues", "Gen_Work_In_Progress": "Trabajo en curso, un buen momento para hacer comentarios en https://github.com/jokob-sk/NetAlertX/issues",
"General_display_name": "General", "General_display_name": "General",
"General_icon": "<i class=\"fa fa-gears\"></i>", "General_icon": "<i class=\"fa fa-gears\"></i>",
"HRS_TO_KEEP_NEWDEV_description": "Esta es una configuración de mantenimiento. Si está habilitado (<code>0</code> está deshabilitado), los dispositivos marcados como <b>Nuevo dispositivo</b> se eliminarán si su <b>Primera sesión</b> el tiempo era anterior a las horas especificadas en esta configuración. Utilice esta configuración si desea eliminar automáticamente <b>Nuevos dispositivos</b> después de <code>X</code> horas.", "HRS_TO_KEEP_NEWDEV_description": "Esta es una configuraci\u00f3n de mantenimiento. Si est\u00e1 habilitado (<code>0</code> est\u00e1 deshabilitado), los dispositivos marcados como <b>Nuevo dispositivo</b> se eliminar\u00e1n si su <b>Primera sesi\u00f3n</b> el tiempo era anterior a las horas especificadas en esta configuraci\u00f3n. Utilice esta configuraci\u00f3n si desea eliminar autom\u00e1ticamente <b>Nuevos dispositivos</b> despu\u00e9s de <code>X</code> horas.",
"HRS_TO_KEEP_NEWDEV_name": "Guardar nuevos dispositivos para", "HRS_TO_KEEP_NEWDEV_name": "Guardar nuevos dispositivos para",
"HelpFAQ_Cat_Detail": "Detalles", "HelpFAQ_Cat_Detail": "Detalles",
"HelpFAQ_Cat_Detail_300_head": "¿Qué significa? ", "HelpFAQ_Cat_Detail_300_head": "\u00bfQu\u00e9 significa? ",
"HelpFAQ_Cat_Detail_300_text_a": "significa un dispositivo de red (un dispositivo del tipo AP, Gateway, Firewall, Hypervisor, Powerline, Switch, WLAN, PLC, Router,Adaptador LAN USB, Adaptador WIFI USB o Internet). Los tipos personalizados pueden añadirse mediante el ajuste <code>NETWORK_DEVICE_TYPES</code>.", "HelpFAQ_Cat_Detail_300_text_a": "significa un dispositivo de red (un dispositivo del tipo AP, Gateway, Firewall, Hypervisor, Powerline, Switch, WLAN, PLC, Router,Adaptador LAN USB, Adaptador WIFI USB o Internet). Los tipos personalizados pueden a\u00f1adirse mediante el ajuste <code>NETWORK_DEVICE_TYPES</code>.",
"HelpFAQ_Cat_Detail_300_text_b": "designa el número de puerto en el que el dispositivo actualmente editado está conectado a este dispositivo de red. Lea <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/NETWORK_TREE.md\">esta guía</a> para obtener más información.", "HelpFAQ_Cat_Detail_300_text_b": "designa el n\u00famero de puerto en el que el dispositivo actualmente editado est\u00e1 conectado a este dispositivo de red. Lea <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/NETWORK_TREE.md\">esta gu\u00eda</a> para obtener m\u00e1s informaci\u00f3n.",
"HelpFAQ_Cat_Detail_301_head_a": "¿Cuándo está escaneando ahora? En ", "HelpFAQ_Cat_Detail_301_head_a": "\u00bfCu\u00e1ndo est\u00e1 escaneando ahora? En ",
"HelpFAQ_Cat_Detail_301_head_b": " dice 1min pero el gráfico muestra intervalos de 5min.", "HelpFAQ_Cat_Detail_301_head_b": " dice 1min pero el gr\u00e1fico muestra intervalos de 5min.",
"HelpFAQ_Cat_Detail_301_text": "El intervalo de tiempo entre los escaneos está definido por el \"Cronjob\", que está fijado en 5min por defecto. La designación \"1min\" se refiere a la duración prevista de la exploración. Dependiendo de la configuración de la red, este tiempo puede variar. Para editar el cronjob, puedes utilizar el siguiente comando en el terminal/consola <span class=\"text-danger help_faq_code\">crontab -e</span>y cambiar el intervalo.", "HelpFAQ_Cat_Detail_301_text": "El intervalo de tiempo entre los escaneos est\u00e1 definido por el \"Cronjob\", que est\u00e1 fijado en 5min por defecto. La designaci\u00f3n \"1min\" se refiere a la duraci\u00f3n prevista de la exploraci\u00f3n. Dependiendo de la configuraci\u00f3n de la red, este tiempo puede variar. Para editar el cronjob, puedes utilizar el siguiente comando en el terminal/consola <span class=\"text-danger help_faq_code\">crontab -e</span>y cambiar el intervalo.",
"HelpFAQ_Cat_Detail_302_head_a": "¿Qué significa? ", "HelpFAQ_Cat_Detail_302_head_a": "\u00bfQu\u00e9 significa? ",
"HelpFAQ_Cat_Detail_302_head_b": "¿y por qué no puedo seleccionarlo?", "HelpFAQ_Cat_Detail_302_head_b": "\u00bfy por qu\u00e9 no puedo seleccionarlo?",
"HelpFAQ_Cat_Detail_302_text": "Algunos dispositivos modernos generan direcciones MAC aleatorias por razones de privacidad, que ya no pueden asociarse a ningún fabricante y que vuelven a cambiar con cada nueva conexión. NetAlertX detecta si se trata de una dirección MAC aleatoria y activa este \"campo\" automáticamente. Para deshabilitar este comportamiento, debe buscar en su dispositivo cómo deshabilitar la aleatorización de direcciones MAC.", "HelpFAQ_Cat_Detail_302_text": "Algunos dispositivos modernos generan direcciones MAC aleatorias por razones de privacidad, que ya no pueden asociarse a ning\u00fan fabricante y que vuelven a cambiar con cada nueva conexi\u00f3n. NetAlertX detecta si se trata de una direcci\u00f3n MAC aleatoria y activa este \"campo\" autom\u00e1ticamente. Para deshabilitar este comportamiento, debe buscar en su dispositivo c\u00f3mo deshabilitar la aleatorizaci\u00f3n de direcciones MAC.",
"HelpFAQ_Cat_Detail_303_head": "¿Qué es Nmap y para qué sirve?", "HelpFAQ_Cat_Detail_303_head": "\u00bfQu\u00e9 es Nmap y para qu\u00e9 sirve?",
"HelpFAQ_Cat_Detail_303_text": "Nmap es un escáner de red con múltiples capacidades.<br> Cuando aparece un nuevo dispositivo en su lista, tiene la posibilidad de obtener información más detallada sobre el dispositivo a través del escaneo de Nmap.", "HelpFAQ_Cat_Detail_303_text": "Nmap es un esc\u00e1ner de red con m\u00faltiples capacidades.<br> Cuando aparece un nuevo dispositivo en su lista, tiene la posibilidad de obtener informaci\u00f3n m\u00e1s detallada sobre el dispositivo a trav\u00e9s del escaneo de Nmap.",
"HelpFAQ_Cat_Device_200_head": "Tengo dispositivos en mi lista que no conozco. Después de borrarlos, siempre vuelven a aparecer.", "HelpFAQ_Cat_Device_200_head": "Tengo dispositivos en mi lista que no conozco. Despu\u00e9s de borrarlos, siempre vuelven a aparecer.",
"HelpFAQ_Cat_Device_200_text": "Si utiliza Pi-hole, tenga en cuenta que NetAlertX recupera información de Pi-hole. Ponga en pausa NetAlertX, vaya a la página de configuración de Pi-hole y elimine la concesión DHCP si es necesario. Luego, también en Pi-hole, revise en Herramientas -> Red para ver si puede encontrar los hosts recurrentes allí. Si es así, elimínelos también allí. Ahora puede volver a iniciar NetAlertX. Ahora el dispositivo(s) no debería aparecer más.", "HelpFAQ_Cat_Device_200_text": "Si utiliza Pi-hole, tenga en cuenta que NetAlertX recupera informaci\u00f3n de Pi-hole. Ponga en pausa NetAlertX, vaya a la p\u00e1gina de configuraci\u00f3n de Pi-hole y elimine la concesi\u00f3n DHCP si es necesario. Luego, tambi\u00e9n en Pi-hole, revise en Herramientas -> Red para ver si puede encontrar los hosts recurrentes all\u00ed. Si es as\u00ed, elim\u00ednelos tambi\u00e9n all\u00ed. Ahora puede volver a iniciar NetAlertX. Ahora el dispositivo(s) no deber\u00eda aparecer m\u00e1s.",
"HelpFAQ_Cat_General": "General", "HelpFAQ_Cat_General": "General",
"HelpFAQ_Cat_General_100_head": "El reloj en la parte superior derecha y el tiempo de los eventos/presencia no son correctos (diferencia de tiempo).", "HelpFAQ_Cat_General_100_head": "El reloj en la parte superior derecha y el tiempo de los eventos/presencia no son correctos (diferencia de tiempo).",
"HelpFAQ_Cat_General_100_text_a": "En su PC, la siguiente zona horaria está configurada para el entorno PHP:", "HelpFAQ_Cat_General_100_text_a": "En su PC, la siguiente zona horaria est\u00e1 configurada para el entorno PHP:",
"HelpFAQ_Cat_General_100_text_b": "Si esta no es la zona horaria en la que se encuentra, debe cambiar la zona horaria en el archivo de configuración de PHP. Puedes encontrarlo en este directorio:", "HelpFAQ_Cat_General_100_text_b": "Si esta no es la zona horaria en la que se encuentra, debe cambiar la zona horaria en el archivo de configuraci\u00f3n de PHP. Puedes encontrarlo en este directorio:",
"HelpFAQ_Cat_General_100_text_c": "Busque en este archivo la entrada \"date.timezone\", elimine el \";\" inicial si es necesario e introduzca la zona horaria deseada. Puede encontrar una lista con las zonas horarias compatibles aquí (<a href=\"https://www.php.net/manual/en/timezones.php\" target=\"blank\">Link</a>)", "HelpFAQ_Cat_General_100_text_c": "Busque en este archivo la entrada \"date.timezone\", elimine el \";\" inicial si es necesario e introduzca la zona horaria deseada. Puede encontrar una lista con las zonas horarias compatibles aqu\u00ed (<a href=\"https://www.php.net/manual/en/timezones.php\" target=\"blank\">Link</a>)",
"HelpFAQ_Cat_General_101_head": "Mi red parece ralentizarse, el streaming se \"congela\".", "HelpFAQ_Cat_General_101_head": "Mi red parece ralentizarse, el streaming se \"congela\".",
"HelpFAQ_Cat_General_101_text": "Es muy posible que los dispositivos de baja potencia alcancen sus límites de rendimiento con la forma en que NetAlertX detecta nuevos dispositivos en la red. Esto se amplifica aún más, si estos dispositivos se comunican con la red a través de WLAN. Las soluciones aquí serían cambiar a una conexión por cable si es posible o, si el dispositivo sólo se va a utilizar durante un período de tiempo limitado, utilizar el arp scan. pausar el arp scan en la página de mantenimiento.", "HelpFAQ_Cat_General_101_text": "Es muy posible que los dispositivos de baja potencia alcancen sus l\u00edmites de rendimiento con la forma en que NetAlertX detecta nuevos dispositivos en la red. Esto se amplifica a\u00fan m\u00e1s, si estos dispositivos se comunican con la red a trav\u00e9s de WLAN. Las soluciones aqu\u00ed ser\u00edan cambiar a una conexi\u00f3n por cable si es posible o, si el dispositivo s\u00f3lo se va a utilizar durante un per\u00edodo de tiempo limitado, utilizar el arp scan. pausar el arp scan en la p\u00e1gina de mantenimiento.",
"HelpFAQ_Cat_General_102_head": "Me aparece el mensaje de que la base de datos es de sólo de lectura.", "HelpFAQ_Cat_General_102_head": "Me aparece el mensaje de que la base de datos es de s\u00f3lo de lectura.",
"HelpFAQ_Cat_General_102_text": "Compruebe en el directorio NetAlertX si la carpeta de la base de datos (db) tiene asignados los permisos correctos:<br> <span class=\"text-danger help_faq_code\">drwxrwx--- 2 (nombre de usuario) www-data</span><br> Si el permiso no es correcto, puede establecerlo de nuevo con los siguientes comandos en la terminal o la consola:<br> <span class=\"text-danger help_faq_code\"> sudo chgrp -R www-data ~/pialert/db<br> chmod -R 770 ~/pialert/db </span><br> Si la base de datos sigue siendo de sólo lectura, intente reinstalar o restaurar una copia de seguridad de la base de datos desde la página de mantenimiento.", "HelpFAQ_Cat_General_102_text": "Compruebe en el directorio NetAlertX si la carpeta de la base de datos (db) tiene asignados los permisos correctos:<br> <span class=\"text-danger help_faq_code\">drwxrwx--- 2 (nombre de usuario) www-data</span><br> Si el permiso no es correcto, puede establecerlo de nuevo con los siguientes comandos en la terminal o la consola:<br> <span class=\"text-danger help_faq_code\"> sudo chgrp -R www-data /app/db<br> chmod -R 770 /app/db </span><br> Si la base de datos sigue siendo de s\u00f3lo lectura, intente reinstalar o restaurar una copia de seguridad de la base de datos desde la p\u00e1gina de mantenimiento.",
"HelpFAQ_Cat_General_102docker_head": "(🐳 Solo Docker) Problemas con la base de datos (errores de AJAX, solo lectura, no encontrado)", "HelpFAQ_Cat_General_102docker_head": "(\ud83d\udc33 Solo Docker) Problemas con la base de datos (errores de AJAX, solo lectura, no encontrado)",
"HelpFAQ_Cat_General_102docker_text": "Comprueba que has seguido las instrucciones del <a href=\"https://github.com/jokob-sk/NetAlertX/tree/main/dockerfiles\">dockerfile (la información más actualizada)</a>. <br/> <br/> <ul data-sourcepos=\"49:4-52:146\" dir=\"auto\"> <li data-sourcepos=\"49:4-49:106\">Descarga la <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/db/pialert.db\">base de datos original desde GitHub</a>.</li> <li data-sourcepos=\"50:4-50:195\">Mapea el archivo <code>pialert.db</code> (<g-emoji class=\"g-emoji\" alias=\"warning\" fallback-src=\"https://github.githubassets.com/images/icons/emoji/unicode/26a0.png\"></g-emoji> no carpeta) de arriba a <code>/home/pi/pialert/db/pialert.db</code> (puedes comprobar los <a href=\"https://github.com/jokob-sk/NetAlertX/tree/main/dockerfiles#-examples\">ejemplos</a> para más detalles).</li> <li data-sourcepos=\"51:4-51:161\">Si aparecen problemas (errores de AJAX, no se puede escribir a la base de datos, etc,) asegúrate que los permisos están establecidos correctamente. También puedes comprobar los registros en <code>/home/pi/pialert/front/log</code>.</li> <li data-sourcepos=\"52:4-52:146\">Para arreglar los problemas de los permisos, puedes probar a crear una copia de seguridad de la base de datos y después restaurarla desde la sección <strong>Mantenimiento &gt; Copia de seguridad/Restaurar</strong>.</li> <li data-sourcepos=\"53:4-53:228\">Si la base de datos está en modo solo lectura, lo puedes arreglar ejecutando el siguiente comando para establecer el propietario y grupo en el sistema host: <code>docker exec pialert chown -R www-data:www-data /home/pi/pialert/db/pialert.db</code>.</li> </ul>", "HelpFAQ_Cat_General_102docker_text": "Comprueba que has seguido las instrucciones del <a href=\"https://github.com/jokob-sk/NetAlertX/tree/main/dockerfiles\">dockerfile (la informaci\u00f3n m\u00e1s actualizada)</a>. <br/> <br/> <ul data-sourcepos=\"49:4-52:146\" dir=\"auto\"> <li data-sourcepos=\"49:4-49:106\">Descarga la <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/db/app.db\">base de datos original desde GitHub</a>.</li> <li data-sourcepos=\"50:4-50:195\">Mapea el archivo <code>app.db</code> (<g-emoji class=\"g-emoji\" alias=\"warning\" fallback-src=\"https://github.githubassets.com/images/icons/emoji/unicode/26a0.png\">\u26a0</g-emoji> no carpeta) de arriba a <code>/app/db/app.db</code> (puedes comprobar los <a href=\"https://github.com/jokob-sk/NetAlertX/tree/main/dockerfiles#-examples\">ejemplos</a> para m\u00e1s detalles).</li> <li data-sourcepos=\"51:4-51:161\">Si aparecen problemas (errores de AJAX, no se puede escribir a la base de datos, etc,) aseg\u00farate que los permisos est\u00e1n establecidos correctamente. Tambi\u00e9n puedes comprobar los registros en <code>/app/front/log</code>.</li> <li data-sourcepos=\"52:4-52:146\">Para arreglar los problemas de los permisos, puedes probar a crear una copia de seguridad de la base de datos y despu\u00e9s restaurarla desde la secci\u00f3n <strong>Mantenimiento &gt; Copia de seguridad/Restaurar</strong>.</li> <li data-sourcepos=\"53:4-53:228\">Si la base de datos est\u00e1 en modo solo lectura, lo puedes arreglar ejecutando el siguiente comando para establecer el propietario y grupo en el sistema host: <code>docker exec netalertx chown -R www-data:www-data /app/db/app.db</code>.</li> </ul>",
"HelpFAQ_Cat_General_103_head": "La página de inicio de sesión no aparece, incluso después de cambiar la contraseña.", "HelpFAQ_Cat_General_103_head": "La p\u00e1gina de inicio de sesi\u00f3n no aparece, incluso despu\u00e9s de cambiar la contrase\u00f1a.",
"HelpFAQ_Cat_General_103_text": "Además de la contraseña, el archivo de configuración debe contener <span class=\"text-danger help_faq_code\">~/pialert/config/pialert.conf</span> además el parámetro <span class=\"text-danger help_faq_code\">PIALERT_WEB_PROTECTION</span> debe ajustarse a <span class=\"text-danger help_faq_code\">True</span>.", "HelpFAQ_Cat_General_103_text": "Adem\u00e1s de la contrase\u00f1a, el archivo de configuraci\u00f3n debe contener <span class=\"text-danger help_faq_code\">/app/config/app.conf</span> adem\u00e1s el par\u00e1metro <span class=\"text-danger help_faq_code\">PIALERT_WEB_PROTECTION</span> debe ajustarse a <span class=\"text-danger help_faq_code\">True</span>.",
"HelpFAQ_Cat_Network_600_head": "¿Para qué sirve esta sección?", "HelpFAQ_Cat_Network_600_head": "\u00bfPara qu\u00e9 sirve esta secci\u00f3n?",
"HelpFAQ_Cat_Network_600_text": "Esta página debería ofrecerle la posibilidad de asignar los dispositivos de su red. Para ello, puede crear uno o varios conmutadores, WLAN, routers, etc., proporcionarles un número de puerto si es necesario y asignarles dispositivos ya detectados. Esta asignación se realiza en la vista detallada del dispositivo a asignar. Así podrás determinar rápidamente a qué puerto está conectado un host y si está en línea. Lea <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/NETWORK_TREE.md\">esta guía</a> para obtener más información.", "HelpFAQ_Cat_Network_600_text": "Esta p\u00e1gina deber\u00eda ofrecerle la posibilidad de asignar los dispositivos de su red. Para ello, puede crear uno o varios conmutadores, WLAN, routers, etc., proporcionarles un n\u00famero de puerto si es necesario y asignarles dispositivos ya detectados. Esta asignaci\u00f3n se realiza en la vista detallada del dispositivo a asignar. As\u00ed podr\u00e1s determinar r\u00e1pidamente a qu\u00e9 puerto est\u00e1 conectado un host y si est\u00e1 en l\u00ednea. Lea <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/NETWORK_TREE.md\">esta gu\u00eda</a> para obtener m\u00e1s informaci\u00f3n.",
"HelpFAQ_Cat_Network_601_head": "¿Hay otros documentos?", "HelpFAQ_Cat_Network_601_head": "\u00bfHay otros documentos?",
"HelpFAQ_Cat_Network_601_text": "¡Sí, los hay! Marque <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/\">todos los documentos</a> para más información.", "HelpFAQ_Cat_Network_601_text": "\u00a1S\u00ed, los hay! Marque <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/\">todos los documentos</a> para m\u00e1s informaci\u00f3n.",
"HelpFAQ_Cat_Presence_400_head": "Los dispositivos se muestran con un marcador amarillo y la nota \"evento faltante\".", "HelpFAQ_Cat_Presence_400_head": "Los dispositivos se muestran con un marcador amarillo y la nota \"evento faltante\".",
"HelpFAQ_Cat_Presence_400_text": "Si esto ocurre, tiene la opción de borrar los eventos del dispositivo en cuestión (vista detallada). Otra posibilidad sería encender el dispositivo y esperar a que NetAlertX detecte el dispositivo como \"en línea\" con el siguiente escaneo y luego simplemente apagarlo de nuevo NetAlertX debería ahora anotar correctamente el estado del dispositivo en la base de datos con el siguiente escaneo.", "HelpFAQ_Cat_Presence_400_text": "Si esto ocurre, tiene la opci\u00f3n de borrar los eventos del dispositivo en cuesti\u00f3n (vista detallada). Otra posibilidad ser\u00eda encender el dispositivo y esperar a que NetAlertX detecte el dispositivo como \"en l\u00ednea\" con el siguiente escaneo y luego simplemente apagarlo de nuevo NetAlertX deber\u00eda ahora anotar correctamente el estado del dispositivo en la base de datos con el siguiente escaneo.",
"HelpFAQ_Cat_Presence_401_head": "Un dispositivo se muestra como presente aunque esté \"Offline\".", "HelpFAQ_Cat_Presence_401_head": "Un dispositivo se muestra como presente aunque est\u00e9 \"Offline\".",
"HelpFAQ_Cat_Presence_401_text": "Si esto ocurre, tiene la posibilidad de borrar los eventos del dispositivo en cuestión (vista de detalles). Otra posibilidad sería encender el dispositivo y esperar hasta que NetAlertX reconozca el dispositivo como \"en línea\" con el siguiente escaneo y, a continuación, simplemente apagar el dispositivo de nuevo. Ahora NetAlertX debería anotar correctamente el estado del dispositivo en la base de datos con el siguiente escaneo.", "HelpFAQ_Cat_Presence_401_text": "Si esto ocurre, tiene la posibilidad de borrar los eventos del dispositivo en cuesti\u00f3n (vista de detalles). Otra posibilidad ser\u00eda encender el dispositivo y esperar hasta que NetAlertX reconozca el dispositivo como \"en l\u00ednea\" con el siguiente escaneo y, a continuaci\u00f3n, simplemente apagar el dispositivo de nuevo. Ahora NetAlertX deber\u00eda anotar correctamente el estado del dispositivo en la base de datos con el siguiente escaneo.",
"HelpFAQ_Title": "Ayuda / FAQ", "HelpFAQ_Title": "Ayuda / FAQ",
"LOG_LEVEL_description": "Esto hará que el registro tenga más información. Util para depurar que eventos se van guardando en la base de datos.", "LOG_LEVEL_description": "Esto har\u00e1 que el registro tenga m\u00e1s informaci\u00f3n. Util para depurar que eventos se van guardando en la base de datos.",
"LOG_LEVEL_name": "Imprimir registros adicionales", "LOG_LEVEL_name": "Imprimir registros adicionales",
"Loading": "Cargando...", "Loading": "Cargando...",
"Login_Box": "Ingrese su contraseña", "Login_Box": "Ingrese su contrase\u00f1a",
"Login_Default_PWD": "La contraseña por defecto \"123456\" sigue activa.", "Login_Default_PWD": "La contrase\u00f1a por defecto \"123456\" sigue activa.",
"Login_Psw-box": "Contraseña", "Login_Psw-box": "Contrase\u00f1a",
"Login_Psw_alert": "¡Alerta de Contraseña!", "Login_Psw_alert": "\u00a1Alerta de Contrase\u00f1a!",
"Login_Psw_folder": "en la carpeta config.", "Login_Psw_folder": "en la carpeta config.",
"Login_Psw_new": "nueva_contraseña", "Login_Psw_new": "nueva_contrase\u00f1a",
"Login_Psw_run": "Para cambiar contraseña ejecute:", "Login_Psw_run": "Para cambiar contrase\u00f1a ejecute:",
"Login_Remember": "Recordar", "Login_Remember": "Recordar",
"Login_Remember_small": "(válido por 7 días)", "Login_Remember_small": "(v\u00e1lido por 7 d\u00edas)",
"Login_Submit": "Ingresar", "Login_Submit": "Ingresar",
"Login_Toggle_Alert_headline": "Alerta de Contraseña!", "Login_Toggle_Alert_headline": "Alerta de Contrase\u00f1a!",
"Login_Toggle_Info": "Información sobre la contraseña", "Login_Toggle_Info": "Informaci\u00f3n sobre la contrase\u00f1a",
"Login_Toggle_Info_headline": "Información sobre la contraseña", "Login_Toggle_Info_headline": "Informaci\u00f3n sobre la contrase\u00f1a",
"MQTT_BROKER_description": "URL del host MQTT (no incluya <code>http://</code> o <code>https://</code>).", "MQTT_BROKER_description": "URL del host MQTT (no incluya <code>http://</code> o <code>https://</code>).",
"MQTT_BROKER_name": "URL del broker MQTT", "MQTT_BROKER_name": "URL del broker MQTT",
"MQTT_DELAY_SEC_description": "Un pequeño truco: retrase la adición a la cola en caso de que el proceso se reinicie y los procesos de publicación anteriores se anulen (se necesitan ~<code>2</code>s para actualizar la configuración de un sensor en el intermediario). Probado con <code>2</code>-<code>3</code> segundos de retraso. Este retraso solo se aplica cuando se crean dispositivos (durante el primer bucle de notificación). No afecta los escaneos o notificaciones posteriores.", "MQTT_DELAY_SEC_description": "Un peque\u00f1o truco: retrase la adici\u00f3n a la cola en caso de que el proceso se reinicie y los procesos de publicaci\u00f3n anteriores se anulen (se necesitan ~<code>2</code>s para actualizar la configuraci\u00f3n de un sensor en el intermediario). Probado con <code>2</code>-<code>3</code> segundos de retraso. Este retraso solo se aplica cuando se crean dispositivos (durante el primer bucle de notificaci\u00f3n). No afecta los escaneos o notificaciones posteriores.",
"MQTT_DELAY_SEC_name": "Retraso de MQTT por dispositivo", "MQTT_DELAY_SEC_name": "Retraso de MQTT por dispositivo",
"MQTT_PASSWORD_description": "Contraseña utilizada para iniciar sesión en su instancia de agente de MQTT.", "MQTT_PASSWORD_description": "Contrase\u00f1a utilizada para iniciar sesi\u00f3n en su instancia de agente de MQTT.",
"MQTT_PASSWORD_name": "Contraseña de MQTT", "MQTT_PASSWORD_name": "Contrase\u00f1a de MQTT",
"MQTT_PORT_description": "Puerto donde escucha el broker MQTT. Normalmente <code>1883</code>.", "MQTT_PORT_description": "Puerto donde escucha el broker MQTT. Normalmente <code>1883</code>.",
"MQTT_PORT_name": "Puerto del broker MQTT", "MQTT_PORT_name": "Puerto del broker MQTT",
"MQTT_QOS_description": "Configuración de calidad de servicio para el envío de mensajes MQTT. <code>0</code>: baja calidad a <code>2</code>: alta calidad. Cuanto mayor sea la calidad, mayor será el retraso.", "MQTT_QOS_description": "Configuraci\u00f3n de calidad de servicio para el env\u00edo de mensajes MQTT. <code>0</code>: baja calidad a <code>2</code>: alta calidad. Cuanto mayor sea la calidad, mayor ser\u00e1 el retraso.",
"MQTT_QOS_name": "Calidad de servicio MQTT", "MQTT_QOS_name": "Calidad de servicio MQTT",
"MQTT_USER_description": "Nombre de usuario utilizado para iniciar sesión en su instancia de agente de MQTT.", "MQTT_USER_description": "Nombre de usuario utilizado para iniciar sesi\u00f3n en su instancia de agente de MQTT.",
"MQTT_USER_name": "Usuario de MQTT", "MQTT_USER_name": "Usuario de MQTT",
"MQTT_display_name": "MQTT", "MQTT_display_name": "MQTT",
"MQTT_icon": "<i class=\"fa fa-square-rss\"></i>", "MQTT_icon": "<i class=\"fa fa-square-rss\"></i>",
"Maintenance_Running_Version": "Versión instalada", "Maintenance_Running_Version": "Versi\u00f3n instalada",
"Maintenance_Status": "Situación", "Maintenance_Status": "Situaci\u00f3n",
"Maintenance_Title": "Herramientas de mantenimiento", "Maintenance_Title": "Herramientas de mantenimiento",
"Maintenance_Tool_ExportCSV": "Exportación CSV", "Maintenance_Tool_ExportCSV": "Exportaci\u00f3n CSV",
"Maintenance_Tool_ExportCSV_noti": "Exportación CSV", "Maintenance_Tool_ExportCSV_noti": "Exportaci\u00f3n CSV",
"Maintenance_Tool_ExportCSV_noti_text": "¿Está seguro de que quiere generar un archivo CSV?", "Maintenance_Tool_ExportCSV_noti_text": "\u00bfEst\u00e1 seguro de que quiere generar un archivo CSV?",
"Maintenance_Tool_ExportCSV_text": "Genere un archivo CSV (valor separado por comas) que contenga la lista de Dispositivos incluyendo las relaciones de red entre los Nodos de red y los dispositivos conectados. También puedes activarlo accediendo a esta URL <code>your pialert url/php/server/devices.php?action=ExportCSV</code> o activando el plugin <a href=\"settings.php#CSVBCKP_header\">Copia de seguridad CSV</a>.", "Maintenance_Tool_ExportCSV_text": "Genere un archivo CSV (valor separado por comas) que contenga la lista de Dispositivos incluyendo las relaciones de red entre los Nodos de red y los dispositivos conectados. Tambi\u00e9n puedes activarlo accediendo a esta URL <code>your NetAlertX url/php/server/devices.php?action=ExportCSV</code> o activando el plugin <a href=\"settings.php#CSVBCKP_header\">Copia de seguridad CSV</a>.",
"Maintenance_Tool_ImportCSV": "Importación CSV", "Maintenance_Tool_ImportCSV": "Importaci\u00f3n CSV",
"Maintenance_Tool_ImportCSV_noti": "Importación CSV", "Maintenance_Tool_ImportCSV_noti": "Importaci\u00f3n CSV",
"Maintenance_Tool_ImportCSV_noti_text": "¿Está seguro de que quiere importar el archivo CSV? Esto sobrescribirá completamente los dispositivos de su base de datos.", "Maintenance_Tool_ImportCSV_noti_text": "\u00bfEst\u00e1 seguro de que quiere importar el archivo CSV? Esto sobrescribir\u00e1 completamente los dispositivos de su base de datos.",
"Maintenance_Tool_ImportCSV_text": "Antes de usar esta función, haga una copia de seguridad. Importe un archivo CSV (valor separado por comas) que contiene la lista de dispositivos, incluidas las relaciones de red entre nodos de red y dispositivos conectados. Para hacer eso, coloque el archivo CSV llamado <b> devices.csv </b> en su carpeta <b>/config </b>.", "Maintenance_Tool_ImportCSV_text": "Antes de usar esta funci\u00f3n, haga una copia de seguridad. Importe un archivo CSV (valor separado por comas) que contiene la lista de dispositivos, incluidas las relaciones de red entre nodos de red y dispositivos conectados. Para hacer eso, coloque el archivo CSV llamado <b> devices.csv </b> en su carpeta <b>/config </b>.",
"Maintenance_Tool_arpscansw": "Activar arp-scan (on/off)", "Maintenance_Tool_arpscansw": "Activar arp-scan (on/off)",
"Maintenance_Tool_arpscansw_noti": "Activar arp-scan on or off", "Maintenance_Tool_arpscansw_noti": "Activar arp-scan on or off",
"Maintenance_Tool_arpscansw_noti_text": "Cuando el escaneo se ha apagado, permanece apagado hasta que se active nuevamente.", "Maintenance_Tool_arpscansw_noti_text": "Cuando el escaneo se ha apagado, permanece apagado hasta que se active nuevamente.",
"Maintenance_Tool_arpscansw_text": "Encender o desactivar el arp-scan. Cuando el escaneo se ha apagado, permanece apagado hasta que se active nuevamente. Los escaneos activos no se cancelan.", "Maintenance_Tool_arpscansw_text": "Encender o desactivar el arp-scan. Cuando el escaneo se ha apagado, permanece apagado hasta que se active nuevamente. Los escaneos activos no se cancelan.",
"Maintenance_Tool_backup": "Respaldar DB", "Maintenance_Tool_backup": "Respaldar DB",
"Maintenance_Tool_backup_noti": "Respaldar DB", "Maintenance_Tool_backup_noti": "Respaldar DB",
"Maintenance_Tool_backup_noti_text": "¿Estás seguro de que quieres exactos la copia de seguridad de DB? Asegúrese de que ningún escaneo se esté ejecutando actualmente.", "Maintenance_Tool_backup_noti_text": "\u00bfEst\u00e1s seguro de que quieres exactos la copia de seguridad de DB? Aseg\u00farese de que ning\u00fan escaneo se est\u00e9 ejecutando actualmente.",
"Maintenance_Tool_backup_text": "Las copias de seguridad de la base de datos se encuentran en el directorio de la base de datos como una Zip-Archive, nombrada con la fecha de creación. No hay un número máximo de copias de seguridad.", "Maintenance_Tool_backup_text": "Las copias de seguridad de la base de datos se encuentran en el directorio de la base de datos como una Zip-Archive, nombrada con la fecha de creaci\u00f3n. No hay un n\u00famero m\u00e1ximo de copias de seguridad.",
"Maintenance_Tool_check_visible": "Desactivar para ocultar columna.", "Maintenance_Tool_check_visible": "Desactivar para ocultar columna.",
"Maintenance_Tool_darkmode": "Cambiar Modo (Dark/Light)", "Maintenance_Tool_darkmode": "Cambiar Modo (Dark/Light)",
"Maintenance_Tool_darkmode_noti": "Cambiar Modo", "Maintenance_Tool_darkmode_noti": "Cambiar Modo",
"Maintenance_Tool_darkmode_noti_text": "Después del cambio de tema, la página intenta volver a cargar para activar el cambio. Si es necesario, el caché debe ser eliminado.", "Maintenance_Tool_darkmode_noti_text": "Despu\u00e9s del cambio de tema, la p\u00e1gina intenta volver a cargar para activar el cambio. Si es necesario, el cach\u00e9 debe ser eliminado.",
"Maintenance_Tool_darkmode_text": "Alternar entre el modo oscuro y el modo de luz. Si el interruptor no funciona correctamente, intente borrar el caché del navegador. El cambio tiene lugar en el lado del servidor, por lo que afecta todos los dispositivos en uso.", "Maintenance_Tool_darkmode_text": "Alternar entre el modo oscuro y el modo de luz. Si el interruptor no funciona correctamente, intente borrar el cach\u00e9 del navegador. El cambio tiene lugar en el lado del servidor, por lo que afecta todos los dispositivos en uso.",
"Maintenance_Tool_del_ActHistory": "Eliminar la actividad de la red", "Maintenance_Tool_del_ActHistory": "Eliminar la actividad de la red",
"Maintenance_Tool_del_ActHistory_noti": "Borrar la actividad de la red", "Maintenance_Tool_del_ActHistory_noti": "Borrar la actividad de la red",
"Maintenance_Tool_del_ActHistory_noti_text": "¿Está seguro de restablecer la actividad de la red?", "Maintenance_Tool_del_ActHistory_noti_text": "\u00bfEst\u00e1 seguro de restablecer la actividad de la red?",
"Maintenance_Tool_del_ActHistory_text": "El gráfico de actividad de la red se resetea. Esto no afecta a los eventos.", "Maintenance_Tool_del_ActHistory_text": "El gr\u00e1fico de actividad de la red se resetea. Esto no afecta a los eventos.",
"Maintenance_Tool_del_alldev": "Eliminar todos los dispositivos", "Maintenance_Tool_del_alldev": "Eliminar todos los dispositivos",
"Maintenance_Tool_del_alldev_noti": "Eliminar dispositivos", "Maintenance_Tool_del_alldev_noti": "Eliminar dispositivos",
"Maintenance_Tool_del_alldev_noti_text": "¿Estás seguro de que quieres eliminar todos los dispositivos?", "Maintenance_Tool_del_alldev_noti_text": "\u00bfEst\u00e1s seguro de que quieres eliminar todos los dispositivos?",
"Maintenance_Tool_del_alldev_text": "Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Todos los dispositivos se eliminarán de la base de datos.", "Maintenance_Tool_del_alldev_text": "Antes de usar esta funci\u00f3n, haga una copia de seguridad. La eliminaci\u00f3n no se puede deshacer. Todos los dispositivos se eliminar\u00e1n de la base de datos.",
"Maintenance_Tool_del_allevents": "Eliminar todo (Restablecer historial)", "Maintenance_Tool_del_allevents": "Eliminar todo (Restablecer historial)",
"Maintenance_Tool_del_allevents30": "Eliminar eventos antiguos (30 días)", "Maintenance_Tool_del_allevents30": "Eliminar eventos antiguos (30 d\u00edas)",
"Maintenance_Tool_del_allevents30_noti": "Eliminar eventos", "Maintenance_Tool_del_allevents30_noti": "Eliminar eventos",
"Maintenance_Tool_del_allevents30_noti_text": "¿Está seguro de eliminar todos los eventos mayores a 30 días? Esto restablece la presencia de todos los dispositivos.", "Maintenance_Tool_del_allevents30_noti_text": "\u00bfEst\u00e1 seguro de eliminar todos los eventos mayores a 30 d\u00edas? Esto restablece la presencia de todos los dispositivos.",
"Maintenance_Tool_del_allevents30_text": "Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Se eliminarán todos los eventos mayores a 30 días en la base de datos. En ese momento se restablecerá la presencia de todos los dispositivos. Esto puede conducir a sesiones no válidas. Esto significa que los dispositivos se muestran como \"presentes\", aunque están fuera de línea. Un escaneo mientras el dispositivo en cuestión está en línea resuelve el problema.", "Maintenance_Tool_del_allevents30_text": "Antes de usar esta funci\u00f3n, haga una copia de seguridad. La eliminaci\u00f3n no se puede deshacer. Se eliminar\u00e1n todos los eventos mayores a 30 d\u00edas en la base de datos. En ese momento se restablecer\u00e1 la presencia de todos los dispositivos. Esto puede conducir a sesiones no v\u00e1lidas. Esto significa que los dispositivos se muestran como \"presentes\", aunque est\u00e1n fuera de l\u00ednea. Un escaneo mientras el dispositivo en cuesti\u00f3n est\u00e1 en l\u00ednea resuelve el problema.",
"Maintenance_Tool_del_allevents_noti": "Eliminar eventos", "Maintenance_Tool_del_allevents_noti": "Eliminar eventos",
"Maintenance_Tool_del_allevents_noti_text": "¿Estás seguro de que quieres eliminar todos los eventos? Esto restablece la presencia de todos los dispositivos.", "Maintenance_Tool_del_allevents_noti_text": "\u00bfEst\u00e1s seguro de que quieres eliminar todos los eventos? Esto restablece la presencia de todos los dispositivos.",
"Maintenance_Tool_del_allevents_text": "Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Se eliminarán todos los eventos en la base de datos. En ese momento se restablecerá la presencia de todos los dispositivos. Esto puede conducir a sesiones no válidas. Esto significa que los dispositivos se muestran como \"presentes\", aunque están fuera de línea. Un escaneo mientras el dispositivo en cuestión está en línea resuelve el problema.", "Maintenance_Tool_del_allevents_text": "Antes de usar esta funci\u00f3n, haga una copia de seguridad. La eliminaci\u00f3n no se puede deshacer. Se eliminar\u00e1n todos los eventos en la base de datos. En ese momento se restablecer\u00e1 la presencia de todos los dispositivos. Esto puede conducir a sesiones no v\u00e1lidas. Esto significa que los dispositivos se muestran como \"presentes\", aunque est\u00e1n fuera de l\u00ednea. Un escaneo mientras el dispositivo en cuesti\u00f3n est\u00e1 en l\u00ednea resuelve el problema.",
"Maintenance_Tool_del_empty_macs": "Eliminar dispositivos con MACs vacíos", "Maintenance_Tool_del_empty_macs": "Eliminar dispositivos con MACs vac\u00edos",
"Maintenance_Tool_del_empty_macs_noti": "Eliminar dispositivos", "Maintenance_Tool_del_empty_macs_noti": "Eliminar dispositivos",
"Maintenance_Tool_del_empty_macs_noti_text": "¿Estás seguro de que quieres eliminar todos los dispositivos con direcciones MAC vacías? <br> (tal vez prefiera archivarlo)", "Maintenance_Tool_del_empty_macs_noti_text": "\u00bfEst\u00e1s seguro de que quieres eliminar todos los dispositivos con direcciones MAC vac\u00edas? <br> (tal vez prefiera archivarlo)",
"Maintenance_Tool_del_empty_macs_text": "Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Todos los dispositivos sin Mac se eliminarán de la base de datos.", "Maintenance_Tool_del_empty_macs_text": "Antes de usar esta funci\u00f3n, haga una copia de seguridad. La eliminaci\u00f3n no se puede deshacer. Todos los dispositivos sin Mac se eliminar\u00e1n de la base de datos.",
"Maintenance_Tool_del_selecteddev": "Borrar dispositivos seleccionados", "Maintenance_Tool_del_selecteddev": "Borrar dispositivos seleccionados",
"Maintenance_Tool_del_selecteddev_text": "Antes de utilizar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Los dispositivos seleccionados se eliminarán de la base de datos.", "Maintenance_Tool_del_selecteddev_text": "Antes de utilizar esta funci\u00f3n, haga una copia de seguridad. La eliminaci\u00f3n no se puede deshacer. Los dispositivos seleccionados se eliminar\u00e1n de la base de datos.",
"Maintenance_Tool_del_unknowndev": "Eliminar dispositivos (desconocidos)", "Maintenance_Tool_del_unknowndev": "Eliminar dispositivos (desconocidos)",
"Maintenance_Tool_del_unknowndev_noti": "Eliminar dispositivos (desconocidos)", "Maintenance_Tool_del_unknowndev_noti": "Eliminar dispositivos (desconocidos)",
"Maintenance_Tool_del_unknowndev_noti_text": "¿Estás seguro de que quieres eliminar todos los dispositivos (desconocidos)?", "Maintenance_Tool_del_unknowndev_noti_text": "\u00bfEst\u00e1s seguro de que quieres eliminar todos los dispositivos (desconocidos)?",
"Maintenance_Tool_del_unknowndev_text": "Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Todos los dispositivos nombrados (desconocidos) se eliminarán de la base de datos.", "Maintenance_Tool_del_unknowndev_text": "Antes de usar esta funci\u00f3n, haga una copia de seguridad. La eliminaci\u00f3n no se puede deshacer. Todos los dispositivos nombrados (desconocidos) se eliminar\u00e1n de la base de datos.",
"Maintenance_Tool_displayed_columns_text": "Cambia la visibilidad y el orden de las columnas en la página <a href=\"devices.php\"><b> <i class=\"fa fa-laptop\"></i> Dispositivos</b></a>.", "Maintenance_Tool_displayed_columns_text": "Cambia la visibilidad y el orden de las columnas en la p\u00e1gina <a href=\"devices.php\"><b> <i class=\"fa fa-laptop\"></i> Dispositivos</b></a>.",
"Maintenance_Tool_drag_me": "Coger para rearrastrar columnas.", "Maintenance_Tool_drag_me": "Coger para rearrastrar columnas.",
"Maintenance_Tool_order_columns_text": "", "Maintenance_Tool_order_columns_text": "",
"Maintenance_Tool_purgebackup": "Purgar Respaldos", "Maintenance_Tool_purgebackup": "Purgar Respaldos",
"Maintenance_Tool_purgebackup_noti": "Purgar Respaldos", "Maintenance_Tool_purgebackup_noti": "Purgar Respaldos",
"Maintenance_Tool_purgebackup_noti_text": "¿Está seguro de borrar todas las copias de seguridad excepto las 3 últimas?", "Maintenance_Tool_purgebackup_noti_text": "\u00bfEst\u00e1 seguro de borrar todas las copias de seguridad excepto las 3 \u00faltimas?",
"Maintenance_Tool_purgebackup_text": "Todas las copias de seguridad serán eliminadas, excepto las 3 últimas.", "Maintenance_Tool_purgebackup_text": "Todas las copias de seguridad ser\u00e1n eliminadas, excepto las 3 \u00faltimas.",
"Maintenance_Tool_restore": "Restaurar DB", "Maintenance_Tool_restore": "Restaurar DB",
"Maintenance_Tool_restore_noti": "Restaurar DB", "Maintenance_Tool_restore_noti": "Restaurar DB",
"Maintenance_Tool_restore_noti_text": "¿Estás seguro de que quieres hacer exactos la restauración de DB? Asegúrese de que ningún escaneo se esté ejecutando actualmente.", "Maintenance_Tool_restore_noti_text": "\u00bfEst\u00e1s seguro de que quieres hacer exactos la restauraci\u00f3n de DB? Aseg\u00farese de que ning\u00fan escaneo se est\u00e9 ejecutando actualmente.",
"Maintenance_Tool_restore_text": "La última copia de seguridad se puede restaurar a través del botón, pero las copias de seguridad anteriores solo se pueden restaurar manualmente. Después de la restauración, realice una verificación de integridad en la base de datos por seguridad, en caso de que el DB estuviera actualmente en acceso de escritura cuando se creó la copia de seguridad.", "Maintenance_Tool_restore_text": "La \u00faltima copia de seguridad se puede restaurar a trav\u00e9s del bot\u00f3n, pero las copias de seguridad anteriores solo se pueden restaurar manualmente. Despu\u00e9s de la restauraci\u00f3n, realice una verificaci\u00f3n de integridad en la base de datos por seguridad, en caso de que el DB estuviera actualmente en acceso de escritura cuando se cre\u00f3 la copia de seguridad.",
"Maintenance_Tool_upgrade_database_noti": "Actualizar la base de datos", "Maintenance_Tool_upgrade_database_noti": "Actualizar la base de datos",
"Maintenance_Tool_upgrade_database_noti_text": "¿Estás seguro de que quieres actualizar la base de datos? <br> (tal vez prefieras archivarla)", "Maintenance_Tool_upgrade_database_noti_text": "\u00bfEst\u00e1s seguro de que quieres actualizar la base de datos? <br> (tal vez prefieras archivarla)",
"Maintenance_Tool_upgrade_database_text": "Este botón actualizará la base de datos para habilitar la actividad de la red en las últimas 12 horas. Haga una copia de seguridad de su base de datos en caso de problemas.", "Maintenance_Tool_upgrade_database_text": "Este bot\u00f3n actualizar\u00e1 la base de datos para habilitar la actividad de la red en las \u00faltimas 12 horas. Haga una copia de seguridad de su base de datos en caso de problemas.",
"Maintenance_Tools_Tab_BackupRestore": "Respaldo / Restaurar", "Maintenance_Tools_Tab_BackupRestore": "Respaldo / Restaurar",
"Maintenance_Tools_Tab_Logging": "Registros", "Maintenance_Tools_Tab_Logging": "Registros",
"Maintenance_Tools_Tab_Settings": "Ajustes", "Maintenance_Tools_Tab_Settings": "Ajustes",
"Maintenance_Tools_Tab_Tools": "Herramientas", "Maintenance_Tools_Tab_Tools": "Herramientas",
"Maintenance_Tools_Tab_UISettings": "Ajustes de interfaz", "Maintenance_Tools_Tab_UISettings": "Ajustes de interfaz",
"Maintenance_arp_status": "Estado de la exploración", "Maintenance_arp_status": "Estado de la exploraci\u00f3n",
"Maintenance_arp_status_off": "está actualmente deshabilitado", "Maintenance_arp_status_off": "est\u00e1 actualmente deshabilitado",
"Maintenance_arp_status_on": "escaneo(s) actualmente en ejecución", "Maintenance_arp_status_on": "escaneo(s) actualmente en ejecuci\u00f3n",
"Maintenance_built_on": "Creada", "Maintenance_built_on": "Creada",
"Maintenance_current_version": "No hay actualizaciones disponibles. Comprueba en que <a href=\"https://github.com/jokob-sk/NetAlertX/issues/138\" target=\"_blank\">se está trabajando</a>.", "Maintenance_current_version": "No hay actualizaciones disponibles. Comprueba en que <a href=\"https://github.com/jokob-sk/NetAlertX/issues/138\" target=\"_blank\">se est\u00e1 trabajando</a>.",
"Maintenance_database_backup": "Copias de seguridad de BD", "Maintenance_database_backup": "Copias de seguridad de BD",
"Maintenance_database_backup_found": "copia(s) de seguridad encontrada(s)", "Maintenance_database_backup_found": "copia(s) de seguridad encontrada(s)",
"Maintenance_database_backup_total": "Uso total de disco", "Maintenance_database_backup_total": "Uso total de disco",
"Maintenance_database_lastmod": "Última modificación", "Maintenance_database_lastmod": "\u00daltima modificaci\u00f3n",
"Maintenance_database_path": "Ruta de la base de datos", "Maintenance_database_path": "Ruta de la base de datos",
"Maintenance_database_rows": "Tabla (Filas)", "Maintenance_database_rows": "Tabla (Filas)",
"Maintenance_database_size": "Tamaño de base de datos", "Maintenance_database_size": "Tama\u00f1o de base de datos",
"Maintenance_lang_selector_apply": "Aplicar", "Maintenance_lang_selector_apply": "Aplicar",
"Maintenance_lang_selector_empty": "Elija un idioma", "Maintenance_lang_selector_empty": "Elija un idioma",
"Maintenance_lang_selector_lable": "Seleccione su idioma", "Maintenance_lang_selector_lable": "Seleccione su idioma",
"Maintenance_lang_selector_text": "El cambio se produce en el lado del cliente, por lo que sólo afecta al navegador actual.", "Maintenance_lang_selector_text": "El cambio se produce en el lado del cliente, por lo que s\u00f3lo afecta al navegador actual.",
"Maintenance_new_version": "🆕 Una nueva versión está disponible. Comprueba las <a href=\"https://github.com/jokob-sk/NetAlertX/releases\" target=\"_blank\">notas de lanzamiento</a>.", "Maintenance_new_version": "\ud83c\udd95 Una nueva versi\u00f3n est\u00e1 disponible. Comprueba las <a href=\"https://github.com/jokob-sk/NetAlertX/releases\" target=\"_blank\">notas de lanzamiento</a>.",
"Maintenance_themeselector_apply": "Aplicar", "Maintenance_themeselector_apply": "Aplicar",
"Maintenance_themeselector_empty": "Elige un tema", "Maintenance_themeselector_empty": "Elige un tema",
"Maintenance_themeselector_lable": "Seleccionar tema", "Maintenance_themeselector_lable": "Seleccionar tema",
"Maintenance_themeselector_text": "El cambio se produce en el lado del servidor, por lo que afecta a todos los dispositivos en uso.", "Maintenance_themeselector_text": "El cambio se produce en el lado del servidor, por lo que afecta a todos los dispositivos en uso.",
"Maintenance_version": "Actualizaciones de la aplicación", "Maintenance_version": "Actualizaciones de la aplicaci\u00f3n",
"NETWORK_DEVICE_TYPES_description": "Qué tipos de dispositivos pueden usarse como dispositivos de red en la vista Red. El tipo de dispositivo debe coincidir exactamente con la configuración <code> Tipo </code> en un dispositivo específico en los Detalles del dispositivo. No elimine los tipos existentes, solo agregue nuevos.", "NETWORK_DEVICE_TYPES_description": "Qu\u00e9 tipos de dispositivos pueden usarse como dispositivos de red en la vista Red. El tipo de dispositivo debe coincidir exactamente con la configuraci\u00f3n <code> Tipo </code> en un dispositivo espec\u00edfico en los Detalles del dispositivo. No elimine los tipos existentes, solo agregue nuevos.",
"NETWORK_DEVICE_TYPES_name": "Tipos de dispositivos de red", "NETWORK_DEVICE_TYPES_name": "Tipos de dispositivos de red",
"NTFY_HOST_description": "URL de host NTFY que comienza con <code>http://</code> o <code>https://</code>. Puede usar la instancia alojada en <a target=\"_blank\" href=\"https://ntfy.sh/\">https://ntfy.sh</a> simplemente ingresando <code>https://ntfy. sh</código>.", "NTFY_HOST_description": "URL de host NTFY que comienza con <code>http://</code> o <code>https://</code>. Puede usar la instancia alojada en <a target=\"_blank\" href=\"https://ntfy.sh/\">https://ntfy.sh</a> simplemente ingresando <code>https://ntfy. sh</c\u00f3digo>.",
"NTFY_HOST_name": "URL del host NTFY", "NTFY_HOST_name": "URL del host NTFY",
"NTFY_PASSWORD_description": "Ingrese la contraseña si necesita (host) una instancia con autenticación habilitada.", "NTFY_PASSWORD_description": "Ingrese la contrase\u00f1a si necesita (host) una instancia con autenticaci\u00f3n habilitada.",
"NTFY_PASSWORD_name": "Contraseña de NTFY", "NTFY_PASSWORD_name": "Contrase\u00f1a de NTFY",
"NTFY_TOPIC_description": "Tu tema secreto.", "NTFY_TOPIC_description": "Tu tema secreto.",
"NTFY_TOPIC_name": "Tema de NTFY", "NTFY_TOPIC_name": "Tema de NTFY",
"NTFY_USER_description": "Ingrese usuario si necesita (alojar) una instancia con autenticación habilitada.", "NTFY_USER_description": "Ingrese usuario si necesita (alojar) una instancia con autenticaci\u00f3n habilitada.",
"NTFY_USER_name": "Usuario de NTFY", "NTFY_USER_name": "Usuario de NTFY",
"NTFY_display_name": "NTFY", "NTFY_display_name": "NTFY",
"NTFY_icon": "<i class=\"fa fa-terminal\"></i>", "NTFY_icon": "<i class=\"fa fa-terminal\"></i>",
@@ -473,24 +473,24 @@
"Navigation_HelpFAQ": "Ayuda / FAQ", "Navigation_HelpFAQ": "Ayuda / FAQ",
"Navigation_Integrations": "Integraciones", "Navigation_Integrations": "Integraciones",
"Navigation_Maintenance": "Mantenimiento", "Navigation_Maintenance": "Mantenimiento",
"Navigation_Monitoring": "Supervisión", "Navigation_Monitoring": "Supervisi\u00f3n",
"Navigation_Network": "Red", "Navigation_Network": "Red",
"Navigation_Plugins": "Plugins", "Navigation_Plugins": "Plugins",
"Navigation_Presence": "Historial", "Navigation_Presence": "Historial",
"Navigation_Report": "Reporte", "Navigation_Report": "Reporte",
"Navigation_Settings": "Configuración", "Navigation_Settings": "Configuraci\u00f3n",
"Navigation_SystemInfo": "Info del sistema", "Navigation_SystemInfo": "Info del sistema",
"Navigation_Workflows": "Flujo de trabajo", "Navigation_Workflows": "Flujo de trabajo",
"Network_Assign": "Conectar al nodo de <i class=\"fa fa-server\"></i> red", "Network_Assign": "Conectar al nodo de <i class=\"fa fa-server\"></i> red",
"Network_Cant_Assign": "No se puede asignar el nodo principal de Internet como nodo secundario.", "Network_Cant_Assign": "No se puede asignar el nodo principal de Internet como nodo secundario.",
"Network_Configuration_Error": "Error en la configuración", "Network_Configuration_Error": "Error en la configuraci\u00f3n",
"Network_Connected": "Dispositivos conectados", "Network_Connected": "Dispositivos conectados",
"Network_ManageAdd": "Añadir dispositivo", "Network_ManageAdd": "A\u00f1adir dispositivo",
"Network_ManageAdd_Name": "Nombre del dispositivo", "Network_ManageAdd_Name": "Nombre del dispositivo",
"Network_ManageAdd_Name_text": "Nombre sin caracteres especiales", "Network_ManageAdd_Name_text": "Nombre sin caracteres especiales",
"Network_ManageAdd_Port": "Recuento de puertos", "Network_ManageAdd_Port": "Recuento de puertos",
"Network_ManageAdd_Port_text": "dejar en blanco para WiFi y Powerline", "Network_ManageAdd_Port_text": "dejar en blanco para WiFi y Powerline",
"Network_ManageAdd_Submit": "Añadir dispositivo", "Network_ManageAdd_Submit": "A\u00f1adir dispositivo",
"Network_ManageAdd_Type": "Tipo de dispositivo", "Network_ManageAdd_Type": "Tipo de dispositivo",
"Network_ManageAdd_Type_text": "-- Seleccionar tipo --", "Network_ManageAdd_Type_text": "-- Seleccionar tipo --",
"Network_ManageAssign": "Asignar", "Network_ManageAssign": "Asignar",
@@ -509,26 +509,26 @@
"Network_ManageEdit_Submit": "Guardar los cambios", "Network_ManageEdit_Submit": "Guardar los cambios",
"Network_ManageEdit_Type": "Nuevo tipo de dispositivo", "Network_ManageEdit_Type": "Nuevo tipo de dispositivo",
"Network_ManageEdit_Type_text": "-- Seleccione tipo --", "Network_ManageEdit_Type_text": "-- Seleccione tipo --",
"Network_ManageLeaf": "Gestionar asignación", "Network_ManageLeaf": "Gestionar asignaci\u00f3n",
"Network_ManageUnassign": "Desasignar", "Network_ManageUnassign": "Desasignar",
"Network_NoAssignedDevices": "Este nodo de red no tiene ningún dispositivo asignado (nodos hoja). Asigna uno desde abajo o ve a la pestaña <b><i class=\"fa fa-info-circle\"></i> Detalles</b> de cualquier dispositivo en <a href=\"devices.php\"><b> <i class=\"fa fa-laptop\"></i> Dispositivos</b></a>, y asígnalo a un <b><i class=\"fa fa-server\"></i> Nodo (MAC)</b> de red y <b><i class=\"fa fa-ethernet\"></i> Puerto</b> allí.", "Network_NoAssignedDevices": "Este nodo de red no tiene ning\u00fan dispositivo asignado (nodos hoja). Asigna uno desde abajo o ve a la pesta\u00f1a <b><i class=\"fa fa-info-circle\"></i> Detalles</b> de cualquier dispositivo en <a href=\"devices.php\"><b> <i class=\"fa fa-laptop\"></i> Dispositivos</b></a>, y as\u00edgnalo a un <b><i class=\"fa fa-server\"></i> Nodo (MAC)</b> de red y <b><i class=\"fa fa-ethernet\"></i> Puerto</b> all\u00ed.",
"Network_NoDevices": "No hay dispositivos que configurar", "Network_NoDevices": "No hay dispositivos que configurar",
"Network_Node": "Nodo de red", "Network_Node": "Nodo de red",
"Network_Node_Name": "Nombre de nodo", "Network_Node_Name": "Nombre de nodo",
"Network_Parent": "Dispositivo primario de la red", "Network_Parent": "Dispositivo primario de la red",
"Network_Root": "Nodo principal", "Network_Root": "Nodo principal",
"Network_Root_Not_Configured": "Seleccione un tipo de dispositivo de red, por ejemplo un <b>Gateway</b>, en el campo <b>Tipo</b> del <a href=\"deviceDetails.php?mac=Internet\">dispositivo principal de Internet</a> para empezar a configurar esta pantalla. <br/><br/>Puede encontrar más documentación en la guía <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/NETWORK_TREE.md\" target=\"_blank\">¿Cómo configurar su página de Red?</a>", "Network_Root_Not_Configured": "Seleccione un tipo de dispositivo de red, por ejemplo un <b>Gateway</b>, en el campo <b>Tipo</b> del <a href=\"deviceDetails.php?mac=Internet\">dispositivo principal de Internet</a> para empezar a configurar esta pantalla. <br/><br/>Puede encontrar m\u00e1s documentaci\u00f3n en la gu\u00eda <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/NETWORK_TREE.md\" target=\"_blank\">\u00bfC\u00f3mo configurar su p\u00e1gina de Red?</a>",
"Network_Root_Unconfigurable": "Root no configurable", "Network_Root_Unconfigurable": "Root no configurable",
"Network_Table_Hostname": "Nombre de host", "Network_Table_Hostname": "Nombre de host",
"Network_Table_IP": "Dirección IP", "Network_Table_IP": "Direcci\u00f3n IP",
"Network_Table_State": "Estado", "Network_Table_State": "Estado",
"Network_Title": "Descripción general de la red", "Network_Title": "Descripci\u00f3n general de la red",
"Network_UnassignedDevices": "Dispositivos sin asignar", "Network_UnassignedDevices": "Dispositivos sin asignar",
"PIALERT_WEB_PASSWORD_description": "Por defecto, la contraseña es <code>123456</code>.Para cambiar la contraseña ejecute <code>/home/pi/pialert/back/pialert-cli</code> en el contenedor o utilice el <a onclick=\"toggleAllSettings()\" href=\"#SETPWD_RUN\"><code>SETPWD_RUN</code> Establecer contraseña plugin</a>.", "PIALERT_WEB_PASSWORD_description": "Por defecto, la contrase\u00f1a es <code>123456</code>.Para cambiar la contrase\u00f1a ejecute <code>/app/back/pialert-cli</code> en el contenedor o utilice el <a onclick=\"toggleAllSettings()\" href=\"#SETPWD_RUN\"><code>SETPWD_RUN</code> Establecer contrase\u00f1a plugin</a>.",
"PIALERT_WEB_PASSWORD_name": "Contraseña de inicio de sesión", "PIALERT_WEB_PASSWORD_name": "Contrase\u00f1a de inicio de sesi\u00f3n",
"PIALERT_WEB_PROTECTION_description": "Cuando está habilitado, se muestra un cuadro de diálogo de inicio de sesión. Lea detenidamente a continuación si se le bloquea el acceso a su instancia.", "PIALERT_WEB_PROTECTION_description": "Cuando est\u00e1 habilitado, se muestra un cuadro de di\u00e1logo de inicio de sesi\u00f3n. Lea detenidamente a continuaci\u00f3n si se le bloquea el acceso a su instancia.",
"PIALERT_WEB_PROTECTION_name": "Habilitar inicio de sesión", "PIALERT_WEB_PROTECTION_name": "Habilitar inicio de sesi\u00f3n",
"PLUGINS_KEEP_HIST_description": "¿Cuántas entradas de los resultados del análisis del historial de complementos deben conservarse (globalmente, no específico del dispositivo!).", "PLUGINS_KEEP_HIST_description": "\u00bfCu\u00e1ntas entradas de los resultados del an\u00e1lisis del historial de complementos deben conservarse (globalmente, no espec\u00edfico del dispositivo!).",
"PLUGINS_KEEP_HIST_name": "Historial de complementos", "PLUGINS_KEEP_HIST_name": "Historial de complementos",
"PUSHSAFER_TOKEN_description": "Su clave secreta de la API de Pushsafer (token).", "PUSHSAFER_TOKEN_description": "Su clave secreta de la API de Pushsafer (token).",
"PUSHSAFER_TOKEN_name": "Token de Pushsafer", "PUSHSAFER_TOKEN_name": "Token de Pushsafer",
@@ -540,75 +540,75 @@
"Plugins_Objects": "Objetos del Plugin", "Plugins_Objects": "Objetos del Plugin",
"Plugins_Out_of": "de", "Plugins_Out_of": "de",
"Plugins_Unprocessed_Events": "Eventos sin procesar", "Plugins_Unprocessed_Events": "Eventos sin procesar",
"Plugins_no_control": "No se ha encontrado ningún control para el formulario, para que muestre este valor.", "Plugins_no_control": "No se ha encontrado ning\u00fan control para el formulario, para que muestre este valor.",
"Presence_CalHead_day": "día", "Presence_CalHead_day": "d\u00eda",
"Presence_CalHead_lang": "es-es", "Presence_CalHead_lang": "es-es",
"Presence_CalHead_month": "mes", "Presence_CalHead_month": "mes",
"Presence_CalHead_quarter": "trimestre", "Presence_CalHead_quarter": "trimestre",
"Presence_CalHead_week": "semana", "Presence_CalHead_week": "semana",
"Presence_CalHead_year": "año", "Presence_CalHead_year": "a\u00f1o",
"Presence_CallHead_Devices": "Dispositivos", "Presence_CallHead_Devices": "Dispositivos",
"Presence_Loading": "Cargando...", "Presence_Loading": "Cargando...",
"Presence_Shortcut_AllDevices": "Mis dispositivos", "Presence_Shortcut_AllDevices": "Mis dispositivos",
"Presence_Shortcut_Archived": "Archivado(s)", "Presence_Shortcut_Archived": "Archivado(s)",
"Presence_Shortcut_Connected": "Conectado(s)", "Presence_Shortcut_Connected": "Conectado(s)",
"Presence_Shortcut_Devices": "Dispositivos", "Presence_Shortcut_Devices": "Dispositivos",
"Presence_Shortcut_DownAlerts": "Alerta(s) de caída(s)", "Presence_Shortcut_DownAlerts": "Alerta(s) de ca\u00edda(s)",
"Presence_Shortcut_Favorites": "Favorito(s)", "Presence_Shortcut_Favorites": "Favorito(s)",
"Presence_Shortcut_NewDevices": "Nuevo(s)", "Presence_Shortcut_NewDevices": "Nuevo(s)",
"Presence_Title": "Historial por dispositivo", "Presence_Title": "Historial por dispositivo",
"REPORT_APPRISE_description": "Habilitar el envío de notificaciones a través de <a target=\"_blank\" href=\"https://hub.docker.com/r/caronc/apprise\">Apprise</a>.", "REPORT_APPRISE_description": "Habilitar el env\u00edo de notificaciones a trav\u00e9s de <a target=\"_blank\" href=\"https://hub.docker.com/r/caronc/apprise\">Apprise</a>.",
"REPORT_APPRISE_name": "Habilitar Apprise", "REPORT_APPRISE_name": "Habilitar Apprise",
"REPORT_DASHBOARD_URL_description": "Esta URL se utiliza como base para generar enlaces en los correos electrónicos. Ingrese la URL completa que comienza con <code>http://</code>, incluido el número de puerto (sin barra inclinada al final <code>/</code>).", "REPORT_DASHBOARD_URL_description": "Esta URL se utiliza como base para generar enlaces en los correos electr\u00f3nicos. Ingrese la URL completa que comienza con <code>http://</code>, incluido el n\u00famero de puerto (sin barra inclinada al final <code>/</code>).",
"REPORT_DASHBOARD_URL_name": "URL de NetAlertX", "REPORT_DASHBOARD_URL_name": "URL de NetAlertX",
"REPORT_ERROR": "La página que está buscando no está disponible temporalmente, inténtelo de nuevo después de unos segundos", "REPORT_ERROR": "La p\u00e1gina que est\u00e1 buscando no est\u00e1 disponible temporalmente, int\u00e9ntelo de nuevo despu\u00e9s de unos segundos",
"REPORT_FROM_description": "Asunto del correo electrónico de notificación.", "REPORT_FROM_description": "Asunto del correo electr\u00f3nico de notificaci\u00f3n.",
"REPORT_FROM_name": "Asunto del email", "REPORT_FROM_name": "Asunto del email",
"REPORT_MAIL_description": "Si está activada, se envía un correo electrónico con una lista de los cambios a los que se ha suscrito. Por favor, rellene también todos los ajustes restantes relacionados con la configuración SMTP a continuación. Si tiene problemas, ajuste <code>LOG_LEVEL</code> a <code>debug</code> y compruebe el <a href=\"/maintenance.php#tab_Logging\">registro de errores</a>.", "REPORT_MAIL_description": "Si est\u00e1 activada, se env\u00eda un correo electr\u00f3nico con una lista de los cambios a los que se ha suscrito. Por favor, rellene tambi\u00e9n todos los ajustes restantes relacionados con la configuraci\u00f3n SMTP a continuaci\u00f3n. Si tiene problemas, ajuste <code>LOG_LEVEL</code> a <code>debug</code> y compruebe el <a href=\"/maintenance.php#tab_Logging\">registro de errores</a>.",
"REPORT_MAIL_name": "Habilitar email", "REPORT_MAIL_name": "Habilitar email",
"REPORT_MQTT_description": "Habilitar el envío de notificaciones a través de <a target=\"_blank\" href=\"https://www.home-assistant.io/integrations/mqtt/\">MQTT</a> a su Home Assistance.", "REPORT_MQTT_description": "Habilitar el env\u00edo de notificaciones a trav\u00e9s de <a target=\"_blank\" href=\"https://www.home-assistant.io/integrations/mqtt/\">MQTT</a> a su Home Assistance.",
"REPORT_MQTT_name": "Habilitar MQTT", "REPORT_MQTT_name": "Habilitar MQTT",
"REPORT_NTFY_description": "Habilitar el envío de notificaciones a través de <a target=\"_blank\" href=\"https://ntfy.sh/\">NTFY</a>.", "REPORT_NTFY_description": "Habilitar el env\u00edo de notificaciones a trav\u00e9s de <a target=\"_blank\" href=\"https://ntfy.sh/\">NTFY</a>.",
"REPORT_NTFY_name": "Habilitar NTFY", "REPORT_NTFY_name": "Habilitar NTFY",
"REPORT_PUSHSAFER_description": "Habilitar el envío de notificaciones a través de <a target=\"_blank\" href=\"https://www.pushsafer.com/\">Pushsafer</a>.", "REPORT_PUSHSAFER_description": "Habilitar el env\u00edo de notificaciones a trav\u00e9s de <a target=\"_blank\" href=\"https://www.pushsafer.com/\">Pushsafer</a>.",
"REPORT_PUSHSAFER_name": "Habilitar Pushsafer", "REPORT_PUSHSAFER_name": "Habilitar Pushsafer",
"REPORT_TITLE": "Reporte", "REPORT_TITLE": "Reporte",
"REPORT_TO_description": "Dirección de correo electrónico a la que se enviará la notificación.", "REPORT_TO_description": "Direcci\u00f3n de correo electr\u00f3nico a la que se enviar\u00e1 la notificaci\u00f3n.",
"REPORT_TO_name": "Enviar el email a", "REPORT_TO_name": "Enviar el email a",
"REPORT_WEBHOOK_description": "Habilite webhooks para notificaciones. Los webhooks lo ayudan a conectarse a muchas herramientas de terceros, como IFTTT, Zapier o <a href=\"https://n8n.io/\" target=\"_blank\">n8n</a>, por nombrar algunas. Consulte esta sencilla <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/WEBHOOK_N8N.md\" target=\"_blank\">guía de n8n aquí</a> para obtener comenzó. Si está habilitado, configure los ajustes relacionados a continuación.", "REPORT_WEBHOOK_description": "Habilite webhooks para notificaciones. Los webhooks lo ayudan a conectarse a muchas herramientas de terceros, como IFTTT, Zapier o <a href=\"https://n8n.io/\" target=\"_blank\">n8n</a>, por nombrar algunas. Consulte esta sencilla <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/WEBHOOK_N8N.md\" target=\"_blank\">gu\u00eda de n8n aqu\u00ed</a> para obtener comenz\u00f3. Si est\u00e1 habilitado, configure los ajustes relacionados a continuaci\u00f3n.",
"REPORT_WEBHOOK_name": "Habilitar webhooks", "REPORT_WEBHOOK_name": "Habilitar webhooks",
"RandomMAC_hover": "Autodetectado - indica si el dispositivo aleatoriza su dirección MAC.", "RandomMAC_hover": "Autodetectado - indica si el dispositivo aleatoriza su direcci\u00f3n MAC.",
"SCAN_SUBNETS_description": "Escaneado Arp es una herramienta de línea de comandos que utiliza el protocolo ARP para descubrir e identificar hosts IP en la red local. Una alternativa al escaneo ARP es habilitar algunos otros escáneres de dispositivos. El tiempo de arp-scan depende del número de direcciones IP a comprobar, así que configúralo cuidadosamente con la máscara de red y la interfaz adecuadas. Consulte la <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/SUBNETS.md\" target=\"_blank\">documentación sobre subredes</a> para obtener ayuda sobre la configuración de VLAN, qué VLAN son compatibles o cómo averiguar la máscara de red y su interfaz.", "SCAN_SUBNETS_description": "Escaneado Arp es una herramienta de l\u00ednea de comandos que utiliza el protocolo ARP para descubrir e identificar hosts IP en la red local. Una alternativa al escaneo ARP es habilitar algunos otros esc\u00e1neres de dispositivos. El tiempo de arp-scan depende del n\u00famero de direcciones IP a comprobar, as\u00ed que config\u00faralo cuidadosamente con la m\u00e1scara de red y la interfaz adecuadas. Consulte la <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/SUBNETS.md\" target=\"_blank\">documentaci\u00f3n sobre subredes</a> para obtener ayuda sobre la configuraci\u00f3n de VLAN, qu\u00e9 VLAN son compatibles o c\u00f3mo averiguar la m\u00e1scara de red y su interfaz.",
"SCAN_SUBNETS_name": "Subredes para escanear", "SCAN_SUBNETS_name": "Subredes para escanear",
"SMTP_FORCE_SSL_description": "Forzar SSL al conectarse a su servidor SMTP", "SMTP_FORCE_SSL_description": "Forzar SSL al conectarse a su servidor SMTP",
"SMTP_FORCE_SSL_name": "Forzar SSL", "SMTP_FORCE_SSL_name": "Forzar SSL",
"SMTP_PASS_description": "La contraseña del servidor SMTP.", "SMTP_PASS_description": "La contrase\u00f1a del servidor SMTP.",
"SMTP_PASS_name": "Contraseña de SMTP", "SMTP_PASS_name": "Contrase\u00f1a de SMTP",
"SMTP_PORT_description": "Número de puerto utilizado para la conexión SMTP. Establézcalo en <code>0</code> si no desea utilizar un puerto al conectarse al servidor SMTP.", "SMTP_PORT_description": "N\u00famero de puerto utilizado para la conexi\u00f3n SMTP. Establ\u00e9zcalo en <code>0</code> si no desea utilizar un puerto al conectarse al servidor SMTP.",
"SMTP_PORT_name": "Puerto del servidor SMTP", "SMTP_PORT_name": "Puerto del servidor SMTP",
"SMTP_SERVER_description": "La URL del host del servidor SMTP. Por ejemplo, <code>smtp-relay.sendinblue.com</code>. Para utilizar Gmail como servidor SMTP <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/SMTP.md\">siga esta guía</a >", "SMTP_SERVER_description": "La URL del host del servidor SMTP. Por ejemplo, <code>smtp-relay.sendinblue.com</code>. Para utilizar Gmail como servidor SMTP <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/SMTP.md\">siga esta gu\u00eda</a >",
"SMTP_SERVER_name": "URL del servidor SMTP", "SMTP_SERVER_name": "URL del servidor SMTP",
"SMTP_SKIP_LOGIN_description": "No utilice la autenticación cuando se conecte al servidor SMTP.", "SMTP_SKIP_LOGIN_description": "No utilice la autenticaci\u00f3n cuando se conecte al servidor SMTP.",
"SMTP_SKIP_LOGIN_name": "Omitir autenticación", "SMTP_SKIP_LOGIN_name": "Omitir autenticaci\u00f3n",
"SMTP_SKIP_TLS_description": "Deshabilite TLS cuando se conecte a su servidor SMTP.", "SMTP_SKIP_TLS_description": "Deshabilite TLS cuando se conecte a su servidor SMTP.",
"SMTP_SKIP_TLS_name": "No usar TLS", "SMTP_SKIP_TLS_name": "No usar TLS",
"SMTP_USER_description": "El nombre de usuario utilizado para iniciar sesión en el servidor SMTP (a veces, una dirección de correo electrónico completa).", "SMTP_USER_description": "El nombre de usuario utilizado para iniciar sesi\u00f3n en el servidor SMTP (a veces, una direcci\u00f3n de correo electr\u00f3nico completa).",
"SMTP_USER_name": "Nombre de usuario SMTP", "SMTP_USER_name": "Nombre de usuario SMTP",
"SYSTEM_TITLE": "Información del sistema", "SYSTEM_TITLE": "Informaci\u00f3n del sistema",
"Setting_Override": "Sobreescribir el valor", "Setting_Override": "Sobreescribir el valor",
"Setting_Override_Description": "Habilitar esta opción anulará un valor predeterminado proporcionado por la aplicación con el valor especificado anteriormente.", "Setting_Override_Description": "Habilitar esta opci\u00f3n anular\u00e1 un valor predeterminado proporcionado por la aplicaci\u00f3n con el valor especificado anteriormente.",
"Settings_Metadata_Toggle": "Mostrar/ocultar los metadatos de la configuración.", "Settings_Metadata_Toggle": "Mostrar/ocultar los metadatos de la configuraci\u00f3n.",
"Settings_Title": "<i class=\"fa fa-cog\"> Configuración</i>", "Settings_Title": "<i class=\"fa fa-cog\"> Configuraci\u00f3n</i>",
"Settings_device_Scanners_desync": " Los horarios del escáner de los dispositivos no están sincronizados.", "Settings_device_Scanners_desync": "\u26a0 Los horarios del esc\u00e1ner de los dispositivos no est\u00e1n sincronizados.",
"Settings_device_Scanners_desync_popup": "Los horarios de escáneres de dispositivos (<code> *_RUN_SCHD</code> ) no son lo mismo. Esto resultará en notificaciones inconsistentes del dispositivo en línea/fuera de línea. A menos que sea así, utilice el mismo horario para todos los habilitados.<b> 🔍Escáneres de dispositivos</b> .", "Settings_device_Scanners_desync_popup": "Los horarios de esc\u00e1neres de dispositivos (<code> *_RUN_SCHD</code> ) no son lo mismo. Esto resultar\u00e1 en notificaciones inconsistentes del dispositivo en l\u00ednea/fuera de l\u00ednea. A menos que sea as\u00ed, utilice el mismo horario para todos los habilitados.<b> \ud83d\udd0dEsc\u00e1neres de dispositivos</b> .",
"Speedtest_Results": "Resultados de la prueba de velocidad", "Speedtest_Results": "Resultados de la prueba de velocidad",
"Systeminfo_CPU": "CPU", "Systeminfo_CPU": "CPU",
"Systeminfo_CPU_Cores": "Núcleos de CPU:", "Systeminfo_CPU_Cores": "N\u00facleos de CPU:",
"Systeminfo_CPU_Name": "Nombre de la CPU:", "Systeminfo_CPU_Name": "Nombre de la CPU:",
"Systeminfo_CPU_Speed": "Velocidad de la CPU:", "Systeminfo_CPU_Speed": "Velocidad de la CPU:",
"Systeminfo_CPU_Temp": "Temperatura de la CPU:", "Systeminfo_CPU_Temp": "Temperatura de la CPU:",
"Systeminfo_CPU_Vendor": "Proveedor de CPU:", "Systeminfo_CPU_Vendor": "Proveedor de CPU:",
"Systeminfo_Client_Resolution": "Resolución del navegador:", "Systeminfo_Client_Resolution": "Resoluci\u00f3n del navegador:",
"Systeminfo_Client_User_Agent": "Agente de usuario:", "Systeminfo_Client_User_Agent": "Agente de usuario:",
"Systeminfo_General": "General", "Systeminfo_General": "General",
"Systeminfo_General_Date": "Fecha:", "Systeminfo_General_Date": "Fecha:",
@@ -625,40 +625,40 @@
"Systeminfo_Motherboard_BIOS_Vendor": "Proveedor de BIOS:", "Systeminfo_Motherboard_BIOS_Vendor": "Proveedor de BIOS:",
"Systeminfo_Motherboard_Manufactured": "Fabricado por:", "Systeminfo_Motherboard_Manufactured": "Fabricado por:",
"Systeminfo_Motherboard_Name": "Nombre:", "Systeminfo_Motherboard_Name": "Nombre:",
"Systeminfo_Motherboard_Revision": "Revisión:", "Systeminfo_Motherboard_Revision": "Revisi\u00f3n:",
"Systeminfo_Network": "Red", "Systeminfo_Network": "Red",
"Systeminfo_Network_Accept_Encoding": "Codificación aceptada:", "Systeminfo_Network_Accept_Encoding": "Codificaci\u00f3n aceptada:",
"Systeminfo_Network_Accept_Language": "Idioma aceptado:", "Systeminfo_Network_Accept_Language": "Idioma aceptado:",
"Systeminfo_Network_Connection_Port": "Puerto de conexión:", "Systeminfo_Network_Connection_Port": "Puerto de conexi\u00f3n:",
"Systeminfo_Network_HTTP_Host": "Host HTTP:", "Systeminfo_Network_HTTP_Host": "Host HTTP:",
"Systeminfo_Network_HTTP_Referer": "Referido HTTP:", "Systeminfo_Network_HTTP_Referer": "Referido HTTP:",
"Systeminfo_Network_HTTP_Referer_String": "Sin referencia HTTP", "Systeminfo_Network_HTTP_Referer_String": "Sin referencia HTTP",
"Systeminfo_Network_Hardware": "Hardware de red", "Systeminfo_Network_Hardware": "Hardware de red",
"Systeminfo_Network_Hardware_Interface_Mask": "Máscara de red", "Systeminfo_Network_Hardware_Interface_Mask": "M\u00e1scara de red",
"Systeminfo_Network_Hardware_Interface_Name": "Nombre de la interfaz", "Systeminfo_Network_Hardware_Interface_Name": "Nombre de la interfaz",
"Systeminfo_Network_Hardware_Interface_RX": "Recibido", "Systeminfo_Network_Hardware_Interface_RX": "Recibido",
"Systeminfo_Network_Hardware_Interface_TX": "Transmitido", "Systeminfo_Network_Hardware_Interface_TX": "Transmitido",
"Systeminfo_Network_IP": "IP Internet:", "Systeminfo_Network_IP": "IP Internet:",
"Systeminfo_Network_IP_Connection": "Conexión IP:", "Systeminfo_Network_IP_Connection": "Conexi\u00f3n IP:",
"Systeminfo_Network_IP_Server": "IP del servidor:", "Systeminfo_Network_IP_Server": "IP del servidor:",
"Systeminfo_Network_MIME": "MIME:", "Systeminfo_Network_MIME": "MIME:",
"Systeminfo_Network_Request_Method": "Método de solicitud:", "Systeminfo_Network_Request_Method": "M\u00e9todo de solicitud:",
"Systeminfo_Network_Request_Time": "Hora de solicitud:", "Systeminfo_Network_Request_Time": "Hora de solicitud:",
"Systeminfo_Network_Request_URI": "URI de solicitud:", "Systeminfo_Network_Request_URI": "URI de solicitud:",
"Systeminfo_Network_Secure_Connection": "Conexión segura:", "Systeminfo_Network_Secure_Connection": "Conexi\u00f3n segura:",
"Systeminfo_Network_Secure_Connection_String": "No (HTTP)", "Systeminfo_Network_Secure_Connection_String": "No (HTTP)",
"Systeminfo_Network_Server_Name": "Nombre del servidor:", "Systeminfo_Network_Server_Name": "Nombre del servidor:",
"Systeminfo_Network_Server_Name_String": "Nombre del servidor no encontrado", "Systeminfo_Network_Server_Name_String": "Nombre del servidor no encontrado",
"Systeminfo_Network_Server_Query": "Consulta del servidor:", "Systeminfo_Network_Server_Query": "Consulta del servidor:",
"Systeminfo_Network_Server_Query_String": "Sin cadena de consulta", "Systeminfo_Network_Server_Query_String": "Sin cadena de consulta",
"Systeminfo_Network_Server_Version": "Versión del servidor:", "Systeminfo_Network_Server_Version": "Versi\u00f3n del servidor:",
"Systeminfo_Services": "Servicios", "Systeminfo_Services": "Servicios",
"Systeminfo_Services_Description": "Descripción del servicio", "Systeminfo_Services_Description": "Descripci\u00f3n del servicio",
"Systeminfo_Services_Name": "Nombre del servicio", "Systeminfo_Services_Name": "Nombre del servicio",
"Systeminfo_Storage": "Almacenamiento", "Systeminfo_Storage": "Almacenamiento",
"Systeminfo_Storage_Device": "Dispositivo:", "Systeminfo_Storage_Device": "Dispositivo:",
"Systeminfo_Storage_Mount": "Punto de montaje:", "Systeminfo_Storage_Mount": "Punto de montaje:",
"Systeminfo_Storage_Size": "Tamaño:", "Systeminfo_Storage_Size": "Tama\u00f1o:",
"Systeminfo_Storage_Type": "Tipo:", "Systeminfo_Storage_Type": "Tipo:",
"Systeminfo_Storage_Usage": "Uso de almacenamiento", "Systeminfo_Storage_Usage": "Uso de almacenamiento",
"Systeminfo_Storage_Usage_Free": "Libre:", "Systeminfo_Storage_Usage_Free": "Libre:",
@@ -668,7 +668,7 @@
"Systeminfo_System": "Sistema", "Systeminfo_System": "Sistema",
"Systeminfo_System_AVG": "Cargar promedio:", "Systeminfo_System_AVG": "Cargar promedio:",
"Systeminfo_System_Architecture": "Arquitectura:", "Systeminfo_System_Architecture": "Arquitectura:",
"Systeminfo_System_Kernel": "Núcleo:", "Systeminfo_System_Kernel": "N\u00facleo:",
"Systeminfo_System_OSVersion": "Sistema Operativo:", "Systeminfo_System_OSVersion": "Sistema Operativo:",
"Systeminfo_System_Running_Processes": "Procesos corriendo:", "Systeminfo_System_Running_Processes": "Procesos corriendo:",
"Systeminfo_System_System": "Sistema:", "Systeminfo_System_System": "Sistema:",
@@ -676,60 +676,61 @@
"Systeminfo_System_Uptime": "Tiempo de actividad:", "Systeminfo_System_Uptime": "Tiempo de actividad:",
"Systeminfo_This_Client": "Este cliente", "Systeminfo_This_Client": "Este cliente",
"Systeminfo_USB_Devices": "Dispositivos USB", "Systeminfo_USB_Devices": "Dispositivos USB",
"TIMEZONE_description": "La zona horaria para mostrar las estadísticas correctamente. Encuentra tu zona horaria <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\" rel=\"nofollow\">aquí</a>.", "TICKER_MIGRATE_TO_NETALERTX": "",
"TIMEZONE_description": "La zona horaria para mostrar las estad\u00edsticas correctamente. Encuentra tu zona horaria <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\" rel=\"nofollow\">aqu\u00ed</a>.",
"TIMEZONE_name": "Zona horaria", "TIMEZONE_name": "Zona horaria",
"UI_DEV_SECTIONS_description": "Seleccione los elementos de la interfaz de usuario que desea ocultar en las páginas de dispositivos.", "UI_DEV_SECTIONS_description": "Seleccione los elementos de la interfaz de usuario que desea ocultar en las p\u00e1ginas de dispositivos.",
"UI_DEV_SECTIONS_name": "Ocultar secciones de los dispositivos", "UI_DEV_SECTIONS_name": "Ocultar secciones de los dispositivos",
"UI_LANG_description": "Seleccione el idioma preferido para la interfaz de usuario. Ayude a traducir o sugiera idiomas en el portal en línea de <a href=\"https://hosted.weblate.org/projects/pialert/core/\" target=\"_blank\">Weblate</a>.", "UI_LANG_description": "Seleccione el idioma preferido para la interfaz de usuario. Ayude a traducir o sugiera idiomas en el portal en l\u00ednea de <a href=\"https://hosted.weblate.org/projects/pialert/core/\" target=\"_blank\">Weblate</a>.",
"UI_LANG_name": "Idioma de interfaz", "UI_LANG_name": "Idioma de interfaz",
"UI_MY_DEVICES_description": "Dispositivos cuyos estados deben mostrarse en la vista por defecto <b>Mis dispositivos</b>. (<code>CTRL + Click</code> para seleccionar/deseleccionar)", "UI_MY_DEVICES_description": "Dispositivos cuyos estados deben mostrarse en la vista por defecto <b>Mis dispositivos</b>. (<code>CTRL + Click</code> para seleccionar/deseleccionar)",
"UI_MY_DEVICES_name": "Mostrar en Mis dispositivos", "UI_MY_DEVICES_name": "Mostrar en Mis dispositivos",
"UI_NOT_RANDOM_MAC_description": "Prefijos Mac que no deberían marcarse como dispositivos aleatorios. Introduzca por ejemplo <code>52</code> para excluir los dispositivos que empiecen por <code>52:xx:xx:xx:xx</code> para ser marcados como dispositivos con una dirección MAC aleatoria.", "UI_NOT_RANDOM_MAC_description": "Prefijos Mac que no deber\u00edan marcarse como dispositivos aleatorios. Introduzca por ejemplo <code>52</code> para excluir los dispositivos que empiecen por <code>52:xx:xx:xx:xx</code> para ser marcados como dispositivos con una direcci\u00f3n MAC aleatoria.",
"UI_NOT_RANDOM_MAC_name": "No marcar como aleatoria", "UI_NOT_RANDOM_MAC_name": "No marcar como aleatoria",
"UI_PRESENCE_description": "Elige que estados del dispositivo deben mostrarse en la gráfica de <b>Presencia del dispositivo a lo largo del tiempo</b> de la página de <a href=\"/devices.php\" target=\"_blank\">Dispositivos</a>. (<code>CTRL + Clic</code> para seleccionar / deseleccionar)", "UI_PRESENCE_description": "Elige que estados del dispositivo deben mostrarse en la gr\u00e1fica de <b>Presencia del dispositivo a lo largo del tiempo</b> de la p\u00e1gina de <a href=\"/devices.php\" target=\"_blank\">Dispositivos</a>. (<code>CTRL + Clic</code> para seleccionar / deseleccionar)",
"UI_PRESENCE_name": "Mostrar en el gráfico de presencia", "UI_PRESENCE_name": "Mostrar en el gr\u00e1fico de presencia",
"UI_REFRESH_description": "Ingrese el número de segundos después de los cuales se recarga la interfaz de usuario. Ajustado a <code> 0 </code> para desactivar.", "UI_REFRESH_description": "Ingrese el n\u00famero de segundos despu\u00e9s de los cuales se recarga la interfaz de usuario. Ajustado a <code> 0 </code> para desactivar.",
"UI_REFRESH_name": "Actualización automática de la interfaz de usuario", "UI_REFRESH_name": "Actualizaci\u00f3n autom\u00e1tica de la interfaz de usuario",
"WEBHOOK_PAYLOAD_description": "El formato de datos de carga de Webhook para el atributo <code>body</code> > <code>attachments</code> > <code>text</code> en el json de carga. Vea un ejemplo de la carga <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/back/webhook_json_sample.json\">aquí</a>. (por ejemplo: para discord use <code>text</code>)", "WEBHOOK_PAYLOAD_description": "El formato de datos de carga de Webhook para el atributo <code>body</code> > <code>attachments</code> > <code>text</code> en el json de carga. Vea un ejemplo de la carga <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/back/webhook_json_sample.json\">aqu\u00ed</a>. (por ejemplo: para discord use <code>text</code>)",
"WEBHOOK_PAYLOAD_name": "Tipo de carga", "WEBHOOK_PAYLOAD_name": "Tipo de carga",
"WEBHOOK_REQUEST_METHOD_description": "El método de solicitud HTTP que se utilizará para la llamada de webhook.", "WEBHOOK_REQUEST_METHOD_description": "El m\u00e9todo de solicitud HTTP que se utilizar\u00e1 para la llamada de webhook.",
"WEBHOOK_REQUEST_METHOD_name": "Método de solicitud", "WEBHOOK_REQUEST_METHOD_name": "M\u00e9todo de solicitud",
"WEBHOOK_SIZE_description": "El tamaño máximo de la carga útil del webhook como número de caracteres en la cadena pasada. Si supera el límite, se truncará y se agregará un mensaje <code>(text was truncated)</code>.", "WEBHOOK_SIZE_description": "El tama\u00f1o m\u00e1ximo de la carga \u00fatil del webhook como n\u00famero de caracteres en la cadena pasada. Si supera el l\u00edmite, se truncar\u00e1 y se agregar\u00e1 un mensaje <code>(text was truncated)</code>.",
"WEBHOOK_SIZE_name": "Tamaño máximo de carga útil", "WEBHOOK_SIZE_name": "Tama\u00f1o m\u00e1ximo de carga \u00fatil",
"WEBHOOK_URL_description": "URL de destino comienza con <code>http://</code> o <code>https://</code>.", "WEBHOOK_URL_description": "URL de destino comienza con <code>http://</code> o <code>https://</code>.",
"WEBHOOK_URL_name": "URL de destino", "WEBHOOK_URL_name": "URL de destino",
"Webhooks_display_name": "Webhooks", "Webhooks_display_name": "Webhooks",
"Webhooks_icon": "<i class=\"fa fa-circle-nodes\"></i>", "Webhooks_icon": "<i class=\"fa fa-circle-nodes\"></i>",
"Webhooks_settings_group": "<i class=\"fa fa-circle-nodes\"></i> Webhooks", "Webhooks_settings_group": "<i class=\"fa fa-circle-nodes\"></i> Webhooks",
"devices_old": "Volviendo a actualizar....", "devices_old": "Volviendo a actualizar....",
"general_event_description": "El evento que has activado puede tardar un poco hasta que finalicen los procesos en segundo plano. La ejecución finalizó una vez que se vació la cola de ejecución de abajo (Compruebe el <a href='/mantenimiento.php#tab_Logging'>registro de errores</a> si encuentra problemas). <br/> <br/> Cola de ejecución:", "general_event_description": "El evento que has activado puede tardar un poco hasta que finalicen los procesos en segundo plano. La ejecuci\u00f3n finaliz\u00f3 una vez que se vaci\u00f3 la cola de ejecuci\u00f3n de abajo (Compruebe el <a href='/mantenimiento.php#tab_Logging'>registro de errores</a> si encuentra problemas). <br/> <br/> Cola de ejecuci\u00f3n:",
"general_event_title": "Ejecutar un evento ad-hoc", "general_event_title": "Ejecutar un evento ad-hoc",
"report_guid": "Guía de las notificaciones:", "report_guid": "Gu\u00eda de las notificaciones:",
"report_guid_missing": "No se encontró la notificación vinculada. Es posible que la notificación seleccionada se haya eliminado durante el mantenimiento especificado en el ajuste <code>DBCLNP_NOTIFI_HIST</code>. En su lugar se muestra la última notificación. La notificación que falta tiene el siguiente GUID:", "report_guid_missing": "No se encontr\u00f3 la notificaci\u00f3n vinculada. Es posible que la notificaci\u00f3n seleccionada se haya eliminado durante el mantenimiento especificado en el ajuste <code>DBCLNP_NOTIFI_HIST</code>. En su lugar se muestra la \u00faltima notificaci\u00f3n. La notificaci\u00f3n que falta tiene el siguiente GUID:",
"report_select_format": "Selecciona el formato:", "report_select_format": "Selecciona el formato:",
"report_time": "Hora de la notificación:", "report_time": "Hora de la notificaci\u00f3n:",
"run_event_icon": "fa-play", "run_event_icon": "fa-play",
"run_event_tooltip": "Activa el ajuste y guarda tus cambios antes de ejecutarlo.", "run_event_tooltip": "Activa el ajuste y guarda tus cambios antes de ejecutarlo.",
"settings_core_icon": "fa-solid fa-gem", "settings_core_icon": "fa-solid fa-gem",
"settings_core_label": "Núcleo", "settings_core_label": "N\u00facleo",
"settings_device_scanners": "Los escáneres de los dispositivos se utilizan para descubrir dispositivos que escriben en la tabla de base de datos de CurrentScan.", "settings_device_scanners": "Los esc\u00e1neres de los dispositivos se utilizan para descubrir dispositivos que escriben en la tabla de base de datos de CurrentScan.",
"settings_device_scanners_icon": "fa-solid fa-magnifying-glass-plus", "settings_device_scanners_icon": "fa-solid fa-magnifying-glass-plus",
"settings_device_scanners_label": "Escáneres de dispositivos", "settings_device_scanners_label": "Esc\u00e1neres de dispositivos",
"settings_enabled": "Configuración activada", "settings_enabled": "Configuraci\u00f3n activada",
"settings_enabled_icon": "fa-solid fa-toggle-on", "settings_enabled_icon": "fa-solid fa-toggle-on",
"settings_expand_all": "Expandir todo", "settings_expand_all": "Expandir todo",
"settings_imported": "Última vez que los ajustes fueron importados desde el archivo pialert.conf", "settings_imported": "\u00daltima vez que los ajustes fueron importados desde el archivo app.conf",
"settings_imported_label": "Configuración importada", "settings_imported_label": "Configuraci\u00f3n importada",
"settings_missing": "Actualiza la página, no todos los ajustes se han cargado. Probablemente sea por una sobrecarga de la base de datos.", "settings_missing": "Actualiza la p\u00e1gina, no todos los ajustes se han cargado. Probablemente sea por una sobrecarga de la base de datos.",
"settings_missing_block": "No puedes guardar los ajustes sin establecer todas las claves. Actualiza la página. Problabmente esté causado por una sobrecarga de la base de datos.", "settings_missing_block": "No puedes guardar los ajustes sin establecer todas las claves. Actualiza la p\u00e1gina. Problabmente est\u00e9 causado por una sobrecarga de la base de datos.",
"settings_old": "Importar ajustes y reiniciar...", "settings_old": "Importar ajustes y reiniciar...",
"settings_other_scanners": "Otros plugins de escáner no relacionados con dispositivos que están activados actualmente.", "settings_other_scanners": "Otros plugins de esc\u00e1ner no relacionados con dispositivos que est\u00e1n activados actualmente.",
"settings_other_scanners_icon": "fa-solid fa-recycle", "settings_other_scanners_icon": "fa-solid fa-recycle",
"settings_other_scanners_label": "Otros escáneres", "settings_other_scanners_label": "Otros esc\u00e1neres",
"settings_publishers": "Puertas de enlace para las notificación habilitadas: editores, que enviarán una notificación según su configuración.", "settings_publishers": "Puertas de enlace para las notificaci\u00f3n habilitadas: editores, que enviar\u00e1n una notificaci\u00f3n seg\u00fan su configuraci\u00f3n.",
"settings_publishers_icon": "fa-solid fa-comment-dots", "settings_publishers_icon": "fa-solid fa-comment-dots",
"settings_publishers_label": "Editores", "settings_publishers_label": "Editores",
"settings_saved": "<br/> Configuración guardada en el archivo <code> pialert.conf </code> .<br/><br/> Una copia de seguridad con marca de tiempo del archivo anterior.<br/><br/> Recargando... <br/>", "settings_saved": "<br/> Configuraci\u00f3n guardada en el archivo <code> app.conf </code> .<br/><br/> Una copia de seguridad con marca de tiempo del archivo anterior.<br/><br/> Recargando... <br/>",
"settings_system_icon": "fa-solid fa-gear", "settings_system_icon": "fa-solid fa-gear",
"settings_system_label": "Sistema", "settings_system_label": "Sistema",
"test_event_icon": "fa-vial-circle-check", "test_event_icon": "fa-vial-circle-check",

View File

@@ -1,26 +1,26 @@
{ {
"API_CUSTOM_SQL_description": "", "API_CUSTOM_SQL_description": "",
"API_CUSTOM_SQL_name": "Point de terminaison personnalisé", "API_CUSTOM_SQL_name": "Point de terminaison personnalis\u00e9",
"API_display_name": "API", "API_display_name": "API",
"API_icon": "", "API_icon": "",
"About_Design": "Conçu pour:", "About_Design": "Con\u00e7u pour\u202f:",
"About_Exit": "Quitter", "About_Exit": "Quitter",
"About_Title": "Analyse de la sécurité du réseau et cadre de notification", "About_Title": "Analyse de la s\u00e9curit\u00e9 du r\u00e9seau et cadre de notification",
"AppEvents_DateTimeCreated": "Journalisé", "AppEvents_DateTimeCreated": "Journalis\u00e9",
"AppEvents_Extra": "Extra", "AppEvents_Extra": "Extra",
"AppEvents_GUID": "", "AppEvents_GUID": "",
"AppEvents_Helper1": "", "AppEvents_Helper1": "",
"AppEvents_Helper2": "", "AppEvents_Helper2": "",
"AppEvents_Helper3": "", "AppEvents_Helper3": "",
"AppEvents_ObjectForeignKey": "Clé étrangère", "AppEvents_ObjectForeignKey": "Cl\u00e9 \u00e9trang\u00e8re",
"AppEvents_ObjectIndex": "Index", "AppEvents_ObjectIndex": "Index",
"AppEvents_ObjectIsArchived": "Est archivé (au moment de l'enregistrement)", "AppEvents_ObjectIsArchived": "Est archiv\u00e9 (au moment de l'enregistrement)",
"AppEvents_ObjectIsNew": "", "AppEvents_ObjectIsNew": "",
"AppEvents_ObjectPlugin": "Greffon lié", "AppEvents_ObjectPlugin": "Greffon li\u00e9",
"AppEvents_ObjectPrimaryID": "", "AppEvents_ObjectPrimaryID": "",
"AppEvents_ObjectSecondaryID": "", "AppEvents_ObjectSecondaryID": "",
"AppEvents_ObjectStatus": "Statut (au moment de l'enregistrement)", "AppEvents_ObjectStatus": "Statut (au moment de l'enregistrement)",
"AppEvents_ObjectStatusColumn": "Colonne d'état", "AppEvents_ObjectStatusColumn": "Colonne d'\u00e9tat",
"AppEvents_ObjectType": "Type d'objet", "AppEvents_ObjectType": "Type d'objet",
"AppEvents_Plugin": "Greffon", "AppEvents_Plugin": "Greffon",
"AppEvents_Type": "Type", "AppEvents_Type": "Type",
@@ -28,7 +28,7 @@
"BackDevDetail_Actions_Not_Registered": "", "BackDevDetail_Actions_Not_Registered": "",
"BackDevDetail_Actions_Title_Run": "", "BackDevDetail_Actions_Title_Run": "",
"BackDevDetail_Copy_Ask": "", "BackDevDetail_Copy_Ask": "",
"BackDevDetail_Copy_Title": "Copier les détails", "BackDevDetail_Copy_Title": "Copier les d\u00e9tails",
"BackDevDetail_Tools_WOL_error": "", "BackDevDetail_Tools_WOL_error": "",
"BackDevDetail_Tools_WOL_okay": "", "BackDevDetail_Tools_WOL_okay": "",
"BackDevices_Arpscan_disabled": "", "BackDevices_Arpscan_disabled": "",
@@ -38,44 +38,44 @@
"BackDevices_Backup_okay": "", "BackDevices_Backup_okay": "",
"BackDevices_DBTools_DelDevError_a": "Erreur lors de la suppression de l'appareil", "BackDevices_DBTools_DelDevError_a": "Erreur lors de la suppression de l'appareil",
"BackDevices_DBTools_DelDevError_b": "Erreur lors de la suppression des appareils", "BackDevices_DBTools_DelDevError_b": "Erreur lors de la suppression des appareils",
"BackDevices_DBTools_DelDev_a": "Appareil supprimé", "BackDevices_DBTools_DelDev_a": "Appareil supprim\u00e9",
"BackDevices_DBTools_DelDev_b": "Appareils supprimés", "BackDevices_DBTools_DelDev_b": "Appareils supprim\u00e9s",
"BackDevices_DBTools_DelEvents": "Événements supprimés", "BackDevices_DBTools_DelEvents": "\u00c9v\u00e9nements supprim\u00e9s",
"BackDevices_DBTools_DelEventsError": "Erreur lors de la suppression des événements", "BackDevices_DBTools_DelEventsError": "Erreur lors de la suppression des \u00e9v\u00e9nements",
"BackDevices_DBTools_ImportCSV": "Les appareils du fichier CSV ont été importés avec succès.", "BackDevices_DBTools_ImportCSV": "Les appareils du fichier CSV ont \u00e9t\u00e9 import\u00e9s avec succ\u00e8s.",
"BackDevices_DBTools_ImportCSVError": "Le fichier CSV n'a pas pu être importé. Assurez-vous que le format est correct.", "BackDevices_DBTools_ImportCSVError": "Le fichier CSV n'a pas pu \u00eatre import\u00e9. Assurez-vous que le format est correct.",
"BackDevices_DBTools_ImportCSVMissing": "Le fichier CSV est introuvable sous <b>/config/devices.csv.</b>", "BackDevices_DBTools_ImportCSVMissing": "Le fichier CSV est introuvable sous <b>/config/devices.csv.</b>",
"BackDevices_DBTools_Purge": "Les sauvegardes les plus anciennes ont été supprimées", "BackDevices_DBTools_Purge": "Les sauvegardes les plus anciennes ont \u00e9t\u00e9 supprim\u00e9es",
"BackDevices_DBTools_UpdDev": "Appareil mis à jour avec succès", "BackDevices_DBTools_UpdDev": "Appareil mis \u00e0 jour avec succ\u00e8s",
"BackDevices_DBTools_UpdDevError": "Erreur lors de la mise à jour de l'appareil", "BackDevices_DBTools_UpdDevError": "Erreur lors de la mise \u00e0 jour de l'appareil",
"BackDevices_DBTools_Upgrade": "Base de données mise à niveau avec succès", "BackDevices_DBTools_Upgrade": "Base de donn\u00e9es mise \u00e0 niveau avec succ\u00e8s",
"BackDevices_DBTools_UpgradeError": "La mise à niveau de la base de données a échoué", "BackDevices_DBTools_UpgradeError": "La mise \u00e0 niveau de la base de donn\u00e9es a \u00e9chou\u00e9",
"BackDevices_Device_UpdDevError": "Erreur de mise à jour des appareils, essayez plus tard. La base de données est probablement bloquée en raison d'une tâche en cours.", "BackDevices_Device_UpdDevError": "Erreur de mise \u00e0 jour des appareils, essayez plus tard. La base de donn\u00e9es est probablement bloqu\u00e9e en raison d'une t\u00e2che en cours.",
"BackDevices_Restore_CopError": "La base de données originale n'a pas pu être sauvegardée.", "BackDevices_Restore_CopError": "La base de donn\u00e9es originale n'a pas pu \u00eatre sauvegard\u00e9e.",
"BackDevices_Restore_Failed": "Échec de la restauration. Veuillez restaurer la sauvegarde manuellement.", "BackDevices_Restore_Failed": "\u00c9chec de la restauration. Veuillez restaurer la sauvegarde manuellement.",
"BackDevices_Restore_okay": "Restauration exécutée avec succès.", "BackDevices_Restore_okay": "Restauration ex\u00e9cut\u00e9e avec succ\u00e8s.",
"BackDevices_darkmode_disabled": "Mode sombre désactivé", "BackDevices_darkmode_disabled": "Mode sombre d\u00e9sactiv\u00e9",
"BackDevices_darkmode_enabled": "Mode sombre activé", "BackDevices_darkmode_enabled": "Mode sombre activ\u00e9",
"DAYS_TO_KEEP_EVENTS_description": "", "DAYS_TO_KEEP_EVENTS_description": "",
"DAYS_TO_KEEP_EVENTS_name": "Supprimer les événements plus anciens que", "DAYS_TO_KEEP_EVENTS_name": "Supprimer les \u00e9v\u00e9nements plus anciens que",
"DevDetail_Copy_Device_Title": "", "DevDetail_Copy_Device_Title": "",
"DevDetail_Copy_Device_Tooltip": "", "DevDetail_Copy_Device_Tooltip": "",
"DevDetail_EveandAl_AlertAllEvents": "Alerter tous les événements", "DevDetail_EveandAl_AlertAllEvents": "Alerter tous les \u00e9v\u00e9nements",
"DevDetail_EveandAl_AlertDown": "", "DevDetail_EveandAl_AlertDown": "",
"DevDetail_EveandAl_Archived": "Archivés", "DevDetail_EveandAl_Archived": "Archiv\u00e9s",
"DevDetail_EveandAl_NewDevice": "", "DevDetail_EveandAl_NewDevice": "",
"DevDetail_EveandAl_NewDevice_Tooltip": "", "DevDetail_EveandAl_NewDevice_Tooltip": "",
"DevDetail_EveandAl_RandomMAC": "MAC aléatoire", "DevDetail_EveandAl_RandomMAC": "MAC al\u00e9atoire",
"DevDetail_EveandAl_ScanCycle": "", "DevDetail_EveandAl_ScanCycle": "",
"DevDetail_EveandAl_ScanCycle_a": "", "DevDetail_EveandAl_ScanCycle_a": "",
"DevDetail_EveandAl_ScanCycle_z": "", "DevDetail_EveandAl_ScanCycle_z": "",
"DevDetail_EveandAl_Skip": "", "DevDetail_EveandAl_Skip": "",
"DevDetail_EveandAl_Title": "", "DevDetail_EveandAl_Title": "",
"DevDetail_Events_CheckBox": "Masquer les événements de connexion", "DevDetail_Events_CheckBox": "Masquer les \u00e9v\u00e9nements de connexion",
"DevDetail_GoToNetworkNode": "", "DevDetail_GoToNetworkNode": "",
"DevDetail_Icon": "Icône", "DevDetail_Icon": "Ic\u00f4ne",
"DevDetail_Icon_Descr": "", "DevDetail_Icon_Descr": "",
"DevDetail_Loading": "Chargement …", "DevDetail_Loading": "Chargement\u00a0\u2026",
"DevDetail_MainInfo_Comments": "Observations", "DevDetail_MainInfo_Comments": "Observations",
"DevDetail_MainInfo_Favorite": "Favori", "DevDetail_MainInfo_Favorite": "Favori",
"DevDetail_MainInfo_Group": "Groupe", "DevDetail_MainInfo_Group": "Groupe",
@@ -83,8 +83,8 @@
"DevDetail_MainInfo_Name": "Nom", "DevDetail_MainInfo_Name": "Nom",
"DevDetail_MainInfo_Network": "", "DevDetail_MainInfo_Network": "",
"DevDetail_MainInfo_Network_Port": "<i class=\"fa fa-ethernet\"></i> Port", "DevDetail_MainInfo_Network_Port": "<i class=\"fa fa-ethernet\"></i> Port",
"DevDetail_MainInfo_Network_Title": "<i class=\"fa fa-network-wired\"></i> Réseau", "DevDetail_MainInfo_Network_Title": "<i class=\"fa fa-network-wired\"></i> R\u00e9seau",
"DevDetail_MainInfo_Owner": "Propriétaire", "DevDetail_MainInfo_Owner": "Propri\u00e9taire",
"DevDetail_MainInfo_Title": "<i class=\"fa fa-pencil\"></i> Informations principales", "DevDetail_MainInfo_Title": "<i class=\"fa fa-pencil\"></i> Informations principales",
"DevDetail_MainInfo_Type": "Type", "DevDetail_MainInfo_Type": "Type",
"DevDetail_MainInfo_Vendor": "Fabriquant", "DevDetail_MainInfo_Vendor": "Fabriquant",
@@ -110,28 +110,28 @@
"DevDetail_Periodselect_today": "Aujourd'hui", "DevDetail_Periodselect_today": "Aujourd'hui",
"DevDetail_Run_Actions_Title": "", "DevDetail_Run_Actions_Title": "",
"DevDetail_Run_Actions_Tooltip": "", "DevDetail_Run_Actions_Tooltip": "",
"DevDetail_SessionInfo_FirstSession": "Première session", "DevDetail_SessionInfo_FirstSession": "Premi\u00e8re session",
"DevDetail_SessionInfo_LastIP": "Dernière IP", "DevDetail_SessionInfo_LastIP": "Derni\u00e8re IP",
"DevDetail_SessionInfo_LastSession": "Dernière session", "DevDetail_SessionInfo_LastSession": "Derni\u00e8re session",
"DevDetail_SessionInfo_StaticIP": "IP statique", "DevDetail_SessionInfo_StaticIP": "IP statique",
"DevDetail_SessionInfo_Status": "État", "DevDetail_SessionInfo_Status": "\u00c9tat",
"DevDetail_SessionInfo_Title": "<i class=\"fa fa-calendar\"></i> Info de session", "DevDetail_SessionInfo_Title": "<i class=\"fa fa-calendar\"></i> Info de session",
"DevDetail_SessionTable_Additionalinfo": "Informations supplémentaires", "DevDetail_SessionTable_Additionalinfo": "Informations suppl\u00e9mentaires",
"DevDetail_SessionTable_Connection": "Connexion", "DevDetail_SessionTable_Connection": "Connexion",
"DevDetail_SessionTable_Disconnection": "Déconnection", "DevDetail_SessionTable_Disconnection": "D\u00e9connection",
"DevDetail_SessionTable_Duration": "Durée", "DevDetail_SessionTable_Duration": "Dur\u00e9e",
"DevDetail_SessionTable_IP": "IP", "DevDetail_SessionTable_IP": "IP",
"DevDetail_SessionTable_Order": "", "DevDetail_SessionTable_Order": "",
"DevDetail_Shortcut_CurrentStatus": "État actuel", "DevDetail_Shortcut_CurrentStatus": "\u00c9tat actuel",
"DevDetail_Shortcut_DownAlerts": "Alertes de panne", "DevDetail_Shortcut_DownAlerts": "Alertes de panne",
"DevDetail_Shortcut_Presence": "Présence", "DevDetail_Shortcut_Presence": "Pr\u00e9sence",
"DevDetail_Shortcut_Sessions": "Sessions", "DevDetail_Shortcut_Sessions": "Sessions",
"DevDetail_Tab_Details": "", "DevDetail_Tab_Details": "",
"DevDetail_Tab_Events": "", "DevDetail_Tab_Events": "",
"DevDetail_Tab_EventsTableDate": "Date", "DevDetail_Tab_EventsTableDate": "Date",
"DevDetail_Tab_EventsTableEvent": "Type d'événement", "DevDetail_Tab_EventsTableEvent": "Type d'\u00e9v\u00e9nement",
"DevDetail_Tab_EventsTableIP": "IP", "DevDetail_Tab_EventsTableIP": "IP",
"DevDetail_Tab_EventsTableInfo": "Informations complémentaires", "DevDetail_Tab_EventsTableInfo": "Informations compl\u00e9mentaires",
"DevDetail_Tab_Nmap": "", "DevDetail_Tab_Nmap": "",
"DevDetail_Tab_NmapEmpty": "", "DevDetail_Tab_NmapEmpty": "",
"DevDetail_Tab_NmapTableExtra": "Extra", "DevDetail_Tab_NmapTableExtra": "Extra",
@@ -139,7 +139,7 @@
"DevDetail_Tab_NmapTableIndex": "Index", "DevDetail_Tab_NmapTableIndex": "Index",
"DevDetail_Tab_NmapTablePort": "Port", "DevDetail_Tab_NmapTablePort": "Port",
"DevDetail_Tab_NmapTableService": "Service", "DevDetail_Tab_NmapTableService": "Service",
"DevDetail_Tab_NmapTableState": "État", "DevDetail_Tab_NmapTableState": "\u00c9tat",
"DevDetail_Tab_NmapTableText": "", "DevDetail_Tab_NmapTableText": "",
"DevDetail_Tab_NmapTableTime": "Heure", "DevDetail_Tab_NmapTableTime": "Heure",
"DevDetail_Tab_Plugins": "", "DevDetail_Tab_Plugins": "",
@@ -156,7 +156,7 @@
"DevDetail_Tab_Tools_Nslookup_Title": "Nslookup", "DevDetail_Tab_Tools_Nslookup_Title": "Nslookup",
"DevDetail_Tab_Tools_Speedtest_Description": "", "DevDetail_Tab_Tools_Speedtest_Description": "",
"DevDetail_Tab_Tools_Speedtest_Start": "", "DevDetail_Tab_Tools_Speedtest_Start": "",
"DevDetail_Tab_Tools_Speedtest_Title": "Test de débit en ligne", "DevDetail_Tab_Tools_Speedtest_Title": "Test de d\u00e9bit en ligne",
"DevDetail_Tab_Tools_Traceroute_Description": "", "DevDetail_Tab_Tools_Traceroute_Description": "",
"DevDetail_Tab_Tools_Traceroute_Error": "", "DevDetail_Tab_Tools_Traceroute_Error": "",
"DevDetail_Tab_Tools_Traceroute_Start": "", "DevDetail_Tab_Tools_Traceroute_Start": "",
@@ -171,7 +171,7 @@
"DevDetail_button_AddIcon_Help": "", "DevDetail_button_AddIcon_Help": "",
"DevDetail_button_AddIcon_Tooltip": "", "DevDetail_button_AddIcon_Tooltip": "",
"DevDetail_button_Delete": "Supprimer l'appareil", "DevDetail_button_Delete": "Supprimer l'appareil",
"DevDetail_button_DeleteEvents": "Supprimer les événements", "DevDetail_button_DeleteEvents": "Supprimer les \u00e9v\u00e9nements",
"DevDetail_button_DeleteEvents_Warning": "", "DevDetail_button_DeleteEvents_Warning": "",
"DevDetail_button_OverwriteIcons": "", "DevDetail_button_OverwriteIcons": "",
"DevDetail_button_OverwriteIcons_Tooltip": "", "DevDetail_button_OverwriteIcons_Tooltip": "",
@@ -185,38 +185,38 @@
"Device_MultiEdit_Tooltip": "", "Device_MultiEdit_Tooltip": "",
"Device_Searchbox": "Rechercher", "Device_Searchbox": "Rechercher",
"Device_Shortcut_AllDevices": "Tous les appareils", "Device_Shortcut_AllDevices": "Tous les appareils",
"Device_Shortcut_Archived": "Archivés", "Device_Shortcut_Archived": "Archiv\u00e9s",
"Device_Shortcut_Connected": "Connectés", "Device_Shortcut_Connected": "Connect\u00e9s",
"Device_Shortcut_Devices": "Appareils", "Device_Shortcut_Devices": "Appareils",
"Device_Shortcut_DownAlerts": "En panne & hors ligne", "Device_Shortcut_DownAlerts": "En panne & hors ligne",
"Device_Shortcut_Favorites": "Favoris", "Device_Shortcut_Favorites": "Favoris",
"Device_Shortcut_NewDevices": "Nouveaux appareils", "Device_Shortcut_NewDevices": "Nouveaux appareils",
"Device_Shortcut_OnlineChart": "Présence de l'appareil", "Device_Shortcut_OnlineChart": "Pr\u00e9sence de l'appareil",
"Device_TableHead_Connected_Devices": "Connexions", "Device_TableHead_Connected_Devices": "Connexions",
"Device_TableHead_Favorite": "Favori", "Device_TableHead_Favorite": "Favori",
"Device_TableHead_FirstSession": "Première session", "Device_TableHead_FirstSession": "Premi\u00e8re session",
"Device_TableHead_Group": "Groupe", "Device_TableHead_Group": "Groupe",
"Device_TableHead_Icon": "Icône", "Device_TableHead_Icon": "Ic\u00f4ne",
"Device_TableHead_LastIP": "Dernière IP", "Device_TableHead_LastIP": "Derni\u00e8re IP",
"Device_TableHead_LastIPOrder": "Ordre dernière IP", "Device_TableHead_LastIPOrder": "Ordre derni\u00e8re IP",
"Device_TableHead_LastSession": "Dernière session", "Device_TableHead_LastSession": "Derni\u00e8re session",
"Device_TableHead_Location": "Emplacement", "Device_TableHead_Location": "Emplacement",
"Device_TableHead_MAC": "MAC aléatoire", "Device_TableHead_MAC": "MAC al\u00e9atoire",
"Device_TableHead_MAC_full": "Adresse MAC", "Device_TableHead_MAC_full": "Adresse MAC",
"Device_TableHead_Name": "Nom", "Device_TableHead_Name": "Nom",
"Device_TableHead_Owner": "Propriétaire", "Device_TableHead_Owner": "Propri\u00e9taire",
"Device_TableHead_Parent_MAC": "", "Device_TableHead_Parent_MAC": "",
"Device_TableHead_Port": "Port", "Device_TableHead_Port": "Port",
"Device_TableHead_RowID": "", "Device_TableHead_RowID": "",
"Device_TableHead_Rowid": "", "Device_TableHead_Rowid": "",
"Device_TableHead_Status": "État", "Device_TableHead_Status": "\u00c9tat",
"Device_TableHead_Type": "Type", "Device_TableHead_Type": "Type",
"Device_TableHead_Vendor": "Fabriquant", "Device_TableHead_Vendor": "Fabriquant",
"Device_Table_Not_Network_Device": "", "Device_Table_Not_Network_Device": "",
"Device_Table_info": "", "Device_Table_info": "",
"Device_Table_nav_next": "Suivant", "Device_Table_nav_next": "Suivant",
"Device_Table_nav_prev": "Précédent", "Device_Table_nav_prev": "Pr\u00e9c\u00e9dent",
"Device_Tablelenght": "Afficher _MENU_ entrées", "Device_Tablelenght": "Afficher _MENU_ entr\u00e9es",
"Device_Tablelenght_all": "", "Device_Tablelenght_all": "",
"Device_Title": "Appareils", "Device_Title": "Appareils",
"Donations_Others": "Autres", "Donations_Others": "Autres",
@@ -227,38 +227,38 @@
"ENABLE_PLUGINS_name": "", "ENABLE_PLUGINS_name": "",
"Email_display_name": "Messagerie", "Email_display_name": "Messagerie",
"Email_icon": "", "Email_icon": "",
"Events_Loading": "Chargement …", "Events_Loading": "Chargement\u00a0\u2026",
"Events_Periodselect_All": "Toutes les informations", "Events_Periodselect_All": "Toutes les informations",
"Events_Periodselect_LastMonth": "Le mois dernier", "Events_Periodselect_LastMonth": "Le mois dernier",
"Events_Periodselect_LastWeek": "La semaine dernière", "Events_Periodselect_LastWeek": "La semaine derni\u00e8re",
"Events_Periodselect_LastYear": "L'année dernière", "Events_Periodselect_LastYear": "L'ann\u00e9e derni\u00e8re",
"Events_Periodselect_today": "Aujourd'hui", "Events_Periodselect_today": "Aujourd'hui",
"Events_Searchbox": "Rechercher", "Events_Searchbox": "Rechercher",
"Events_Shortcut_AllEvents": "Tous les évènements", "Events_Shortcut_AllEvents": "Tous les \u00e9v\u00e8nements",
"Events_Shortcut_DownAlerts": "Alertes de panne", "Events_Shortcut_DownAlerts": "Alertes de panne",
"Events_Shortcut_Events": "Évènements", "Events_Shortcut_Events": "\u00c9v\u00e8nements",
"Events_Shortcut_MissSessions": "Sessions manquantes", "Events_Shortcut_MissSessions": "Sessions manquantes",
"Events_Shortcut_NewDevices": "Nouveaux appareils", "Events_Shortcut_NewDevices": "Nouveaux appareils",
"Events_Shortcut_Sessions": "Sessions", "Events_Shortcut_Sessions": "Sessions",
"Events_Shortcut_VoidSessions": "Sessions annulées", "Events_Shortcut_VoidSessions": "Sessions annul\u00e9es",
"Events_TableHead_AdditionalInfo": "Informations complémentaires", "Events_TableHead_AdditionalInfo": "Informations compl\u00e9mentaires",
"Events_TableHead_Connection": "Connexion", "Events_TableHead_Connection": "Connexion",
"Events_TableHead_Date": "Date", "Events_TableHead_Date": "Date",
"Events_TableHead_Device": "Dispositif", "Events_TableHead_Device": "Dispositif",
"Events_TableHead_Disconnection": "Déconnexion", "Events_TableHead_Disconnection": "D\u00e9connexion",
"Events_TableHead_Duration": "Durée", "Events_TableHead_Duration": "Dur\u00e9e",
"Events_TableHead_DurationOrder": "Ordre de durée", "Events_TableHead_DurationOrder": "Ordre de dur\u00e9e",
"Events_TableHead_EventType": "Type d'événement", "Events_TableHead_EventType": "Type d'\u00e9v\u00e9nement",
"Events_TableHead_IP": "IP", "Events_TableHead_IP": "IP",
"Events_TableHead_IPOrder": "", "Events_TableHead_IPOrder": "",
"Events_TableHead_Order": "", "Events_TableHead_Order": "",
"Events_TableHead_Owner": "Propriétaire", "Events_TableHead_Owner": "Propri\u00e9taire",
"Events_Table_info": "Affichage de _START_ à _END_ sur _TOTAL_ entrées", "Events_Table_info": "Affichage de _START_ \u00e0 _END_ sur _TOTAL_ entr\u00e9es",
"Events_Table_nav_next": "Suivant", "Events_Table_nav_next": "Suivant",
"Events_Table_nav_prev": "Précédent", "Events_Table_nav_prev": "Pr\u00e9c\u00e9dent",
"Events_Tablelenght": "Afficher _MENU_ entrées", "Events_Tablelenght": "Afficher _MENU_ entr\u00e9es",
"Events_Tablelenght_all": "", "Events_Tablelenght_all": "",
"Events_Title": "Évènements", "Events_Title": "\u00c9v\u00e8nements",
"Gen_Action": "Action", "Gen_Action": "Action",
"Gen_AreYouSure": "", "Gen_AreYouSure": "",
"Gen_Backup": "", "Gen_Backup": "",
@@ -275,18 +275,18 @@
"Gen_Restore": "", "Gen_Restore": "",
"Gen_Run": "Lancer", "Gen_Run": "Lancer",
"Gen_Save": "Enregistrer", "Gen_Save": "Enregistrer",
"Gen_Saved": "Enregistré", "Gen_Saved": "Enregistr\u00e9",
"Gen_Selected_Devices": "", "Gen_Selected_Devices": "",
"Gen_Switch": "Basculer", "Gen_Switch": "Basculer",
"Gen_Upd": "", "Gen_Upd": "",
"Gen_Upd_Fail": "", "Gen_Upd_Fail": "",
"Gen_Warning": "Avertissement", "Gen_Warning": "Avertissement",
"Gen_Work_In_Progress": "", "Gen_Work_In_Progress": "",
"General_display_name": "Général", "General_display_name": "G\u00e9n\u00e9ral",
"General_icon": "", "General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "", "HRS_TO_KEEP_NEWDEV_description": "",
"HRS_TO_KEEP_NEWDEV_name": "", "HRS_TO_KEEP_NEWDEV_name": "",
"HelpFAQ_Cat_Detail": "Détails", "HelpFAQ_Cat_Detail": "D\u00e9tails",
"HelpFAQ_Cat_Detail_300_head": "", "HelpFAQ_Cat_Detail_300_head": "",
"HelpFAQ_Cat_Detail_300_text_a": "", "HelpFAQ_Cat_Detail_300_text_a": "",
"HelpFAQ_Cat_Detail_300_text_b": "", "HelpFAQ_Cat_Detail_300_text_b": "",
@@ -300,8 +300,8 @@
"HelpFAQ_Cat_Detail_303_text": "", "HelpFAQ_Cat_Detail_303_text": "",
"HelpFAQ_Cat_Device_200_head": "", "HelpFAQ_Cat_Device_200_head": "",
"HelpFAQ_Cat_Device_200_text": "", "HelpFAQ_Cat_Device_200_text": "",
"HelpFAQ_Cat_General": "Général", "HelpFAQ_Cat_General": "G\u00e9n\u00e9ral",
"HelpFAQ_Cat_General_100_head": "L'horloge en haut à droite et les heures des événements/présence ne sont pas correctes (décalage horaire).", "HelpFAQ_Cat_General_100_head": "L'horloge en haut \u00e0 droite et les heures des \u00e9v\u00e9nements/pr\u00e9sence ne sont pas correctes (d\u00e9calage horaire).",
"HelpFAQ_Cat_General_100_text_a": "", "HelpFAQ_Cat_General_100_text_a": "",
"HelpFAQ_Cat_General_100_text_b": "", "HelpFAQ_Cat_General_100_text_b": "",
"HelpFAQ_Cat_General_100_text_c": "", "HelpFAQ_Cat_General_100_text_c": "",
@@ -324,7 +324,7 @@
"HelpFAQ_Title": "Aide / FAQ", "HelpFAQ_Title": "Aide / FAQ",
"LOG_LEVEL_description": "", "LOG_LEVEL_description": "",
"LOG_LEVEL_name": "", "LOG_LEVEL_name": "",
"Loading": "Chargement …", "Loading": "Chargement\u00a0\u2026",
"Login_Box": "", "Login_Box": "",
"Login_Default_PWD": "", "Login_Default_PWD": "",
"Login_Psw-box": "Mot de passe", "Login_Psw-box": "Mot de passe",
@@ -338,20 +338,20 @@
"Login_Toggle_Alert_headline": "", "Login_Toggle_Alert_headline": "",
"Login_Toggle_Info": "", "Login_Toggle_Info": "",
"Login_Toggle_Info_headline": "", "Login_Toggle_Info_headline": "",
"Maintenance_Running_Version": "Version installée", "Maintenance_Running_Version": "Version install\u00e9e",
"Maintenance_Status": "État", "Maintenance_Status": "\u00c9tat",
"Maintenance_Title": "Outils d'entretien", "Maintenance_Title": "Outils d'entretien",
"Maintenance_Tool_ExportCSV": "Exportation CSV", "Maintenance_Tool_ExportCSV": "Exportation CSV",
"Maintenance_Tool_ExportCSV_noti": "Exportation CSV", "Maintenance_Tool_ExportCSV_noti": "Exportation CSV",
"Maintenance_Tool_ExportCSV_noti_text": "Êtes-vous sûr de vouloir générer un fichier CSV?", "Maintenance_Tool_ExportCSV_noti_text": "\u00cates-vous s\u00fbr de vouloir g\u00e9n\u00e9rer un fichier CSV\u202f?",
"Maintenance_Tool_ExportCSV_text": "", "Maintenance_Tool_ExportCSV_text": "",
"Maintenance_Tool_ImportCSV": "Importation CSV", "Maintenance_Tool_ImportCSV": "Importation CSV",
"Maintenance_Tool_ImportCSV_noti": "Importation CSV", "Maintenance_Tool_ImportCSV_noti": "Importation CSV",
"Maintenance_Tool_ImportCSV_noti_text": "Êtes-vous sûr de vouloir importer le fichier CSV? Cela écrasera complètement les appareils de votre base de données.", "Maintenance_Tool_ImportCSV_noti_text": "\u00cates-vous s\u00fbr de vouloir importer le fichier CSV\u202f? Cela \u00e9crasera compl\u00e8tement les appareils de votre base de donn\u00e9es.",
"Maintenance_Tool_ImportCSV_text": "", "Maintenance_Tool_ImportCSV_text": "",
"Maintenance_Tool_arpscansw": "Basculer l'arp-Scan (activé/désactivé)", "Maintenance_Tool_arpscansw": "Basculer l'arp-Scan (activ\u00e9/d\u00e9sactiv\u00e9)",
"Maintenance_Tool_arpscansw_noti": "Activer ou désactiver l'arp-Scan", "Maintenance_Tool_arpscansw_noti": "Activer ou d\u00e9sactiver l'arp-Scan",
"Maintenance_Tool_arpscansw_noti_text": "Une fois le scan désactivé, il reste désactivé jusqu'à ce qu'il soit réactivé.", "Maintenance_Tool_arpscansw_noti_text": "Une fois le scan d\u00e9sactiv\u00e9, il reste d\u00e9sactiv\u00e9 jusqu'\u00e0 ce qu'il soit r\u00e9activ\u00e9.",
"Maintenance_Tool_arpscansw_text": "", "Maintenance_Tool_arpscansw_text": "",
"Maintenance_Tool_backup": "", "Maintenance_Tool_backup": "",
"Maintenance_Tool_backup_noti": "", "Maintenance_Tool_backup_noti": "",
@@ -404,19 +404,19 @@
"Maintenance_Tool_upgrade_database_text": "", "Maintenance_Tool_upgrade_database_text": "",
"Maintenance_Tools_Tab_BackupRestore": "", "Maintenance_Tools_Tab_BackupRestore": "",
"Maintenance_Tools_Tab_Logging": "Journaux", "Maintenance_Tools_Tab_Logging": "Journaux",
"Maintenance_Tools_Tab_Settings": "Paramètres", "Maintenance_Tools_Tab_Settings": "Param\u00e8tres",
"Maintenance_Tools_Tab_Tools": "Outils", "Maintenance_Tools_Tab_Tools": "Outils",
"Maintenance_Tools_Tab_UISettings": "Paramètres de l'interface", "Maintenance_Tools_Tab_UISettings": "Param\u00e8tres de l'interface",
"Maintenance_arp_status": "", "Maintenance_arp_status": "",
"Maintenance_arp_status_off": "est actuellement désactivé", "Maintenance_arp_status_off": "est actuellement d\u00e9sactiv\u00e9",
"Maintenance_arp_status_on": "", "Maintenance_arp_status_on": "",
"Maintenance_built_on": "Construit sur", "Maintenance_built_on": "Construit sur",
"Maintenance_current_version": "Vous êtes à jour. Découvrez sur quoi <a href=\"https://github.com/jokob-sk/NetAlertX/issues/138\" target=\"_blank\">je travaille</a>.", "Maintenance_current_version": "Vous \u00eates \u00e0 jour. D\u00e9couvrez sur quoi <a href=\"https://github.com/jokob-sk/NetAlertX/issues/138\" target=\"_blank\">je travaille</a>.",
"Maintenance_database_backup": "Sauvegardes de base de données", "Maintenance_database_backup": "Sauvegardes de base de donn\u00e9es",
"Maintenance_database_backup_found": "des sauvegardes ont été trouvées", "Maintenance_database_backup_found": "des sauvegardes ont \u00e9t\u00e9 trouv\u00e9es",
"Maintenance_database_backup_total": "utilisation totale du disque", "Maintenance_database_backup_total": "utilisation totale du disque",
"Maintenance_database_lastmod": "Dernière modification", "Maintenance_database_lastmod": "Derni\u00e8re modification",
"Maintenance_database_path": "Chemin de la base de données", "Maintenance_database_path": "Chemin de la base de donn\u00e9es",
"Maintenance_database_rows": "", "Maintenance_database_rows": "",
"Maintenance_database_size": "", "Maintenance_database_size": "",
"Maintenance_lang_selector_apply": "Appliquer", "Maintenance_lang_selector_apply": "Appliquer",
@@ -431,25 +431,25 @@
"Maintenance_version": "", "Maintenance_version": "",
"NETWORK_DEVICE_TYPES_description": "", "NETWORK_DEVICE_TYPES_description": "",
"NETWORK_DEVICE_TYPES_name": "", "NETWORK_DEVICE_TYPES_name": "",
"Navigation_About": "À propos", "Navigation_About": "\u00c0 propos",
"Navigation_Devices": "Appareils", "Navigation_Devices": "Appareils",
"Navigation_Donations": "Dons", "Navigation_Donations": "Dons",
"Navigation_Events": "Évènements", "Navigation_Events": "\u00c9v\u00e8nements",
"Navigation_HelpFAQ": "Aide / FAQ", "Navigation_HelpFAQ": "Aide / FAQ",
"Navigation_Integrations": "", "Navigation_Integrations": "",
"Navigation_Maintenance": "", "Navigation_Maintenance": "",
"Navigation_Monitoring": "Surveillance", "Navigation_Monitoring": "Surveillance",
"Navigation_Network": "Réseau", "Navigation_Network": "R\u00e9seau",
"Navigation_Plugins": "Greffons", "Navigation_Plugins": "Greffons",
"Navigation_Presence": "Présence", "Navigation_Presence": "Pr\u00e9sence",
"Navigation_Report": "", "Navigation_Report": "",
"Navigation_Settings": "Paramètres", "Navigation_Settings": "Param\u00e8tres",
"Navigation_SystemInfo": "Infos système", "Navigation_SystemInfo": "Infos syst\u00e8me",
"Navigation_Workflows": "Flux de travail", "Navigation_Workflows": "Flux de travail",
"Network_Assign": "", "Network_Assign": "",
"Network_Cant_Assign": "", "Network_Cant_Assign": "",
"Network_Configuration_Error": "", "Network_Configuration_Error": "",
"Network_Connected": "Appareils connectés", "Network_Connected": "Appareils connect\u00e9s",
"Network_ManageAdd": "", "Network_ManageAdd": "",
"Network_ManageAdd_Name": "", "Network_ManageAdd_Name": "",
"Network_ManageAdd_Name_text": "", "Network_ManageAdd_Name_text": "",
@@ -484,9 +484,9 @@
"Network_Root": "", "Network_Root": "",
"Network_Root_Not_Configured": "", "Network_Root_Not_Configured": "",
"Network_Root_Unconfigurable": "", "Network_Root_Unconfigurable": "",
"Network_Table_Hostname": "Nom de hôte", "Network_Table_Hostname": "Nom de h\u00f4te",
"Network_Table_IP": "IP", "Network_Table_IP": "IP",
"Network_Table_State": "État", "Network_Table_State": "\u00c9tat",
"Network_Title": "", "Network_Title": "",
"Network_UnassignedDevices": "", "Network_UnassignedDevices": "",
"PIALERT_WEB_PASSWORD_description": "", "PIALERT_WEB_PASSWORD_description": "",
@@ -500,19 +500,19 @@
"Plugins_History": "", "Plugins_History": "",
"Plugins_Objects": "", "Plugins_Objects": "",
"Plugins_Out_of": "", "Plugins_Out_of": "",
"Plugins_Unprocessed_Events": "Événements non traités", "Plugins_Unprocessed_Events": "\u00c9v\u00e9nements non trait\u00e9s",
"Plugins_no_control": "", "Plugins_no_control": "",
"Presence_CalHead_day": "jour", "Presence_CalHead_day": "jour",
"Presence_CalHead_lang": "", "Presence_CalHead_lang": "",
"Presence_CalHead_month": "mois", "Presence_CalHead_month": "mois",
"Presence_CalHead_quarter": "trimestre", "Presence_CalHead_quarter": "trimestre",
"Presence_CalHead_week": "semaine", "Presence_CalHead_week": "semaine",
"Presence_CalHead_year": "année", "Presence_CalHead_year": "ann\u00e9e",
"Presence_CallHead_Devices": "Appareils", "Presence_CallHead_Devices": "Appareils",
"Presence_Loading": "Chargement …", "Presence_Loading": "Chargement\u00a0\u2026",
"Presence_Shortcut_AllDevices": "", "Presence_Shortcut_AllDevices": "",
"Presence_Shortcut_Archived": "Archivés", "Presence_Shortcut_Archived": "Archiv\u00e9s",
"Presence_Shortcut_Connected": "Connectés", "Presence_Shortcut_Connected": "Connect\u00e9s",
"Presence_Shortcut_Devices": "Appareils", "Presence_Shortcut_Devices": "Appareils",
"Presence_Shortcut_DownAlerts": "", "Presence_Shortcut_DownAlerts": "",
"Presence_Shortcut_Favorites": "Favoris", "Presence_Shortcut_Favorites": "Favoris",
@@ -526,7 +526,7 @@
"REPORT_TITLE": "", "REPORT_TITLE": "",
"RandomMAC_hover": "", "RandomMAC_hover": "",
"SCAN_SUBNETS_description": "", "SCAN_SUBNETS_description": "",
"SYSTEM_TITLE": "Informations système", "SYSTEM_TITLE": "Informations syst\u00e8me",
"Setting_Override": "", "Setting_Override": "",
"Setting_Override_Description": "", "Setting_Override_Description": "",
"Settings_Metadata_Toggle": "", "Settings_Metadata_Toggle": "",
@@ -534,89 +534,90 @@
"Settings_device_Scanners_desync_popup": "", "Settings_device_Scanners_desync_popup": "",
"Speedtest_Results": "", "Speedtest_Results": "",
"Systeminfo_CPU": "Processeur", "Systeminfo_CPU": "Processeur",
"Systeminfo_CPU_Cores": "Cœurs de processeur:", "Systeminfo_CPU_Cores": "C\u0153urs de processeur\u202f:",
"Systeminfo_CPU_Name": "Nom du processeur:", "Systeminfo_CPU_Name": "Nom du processeur\u202f:",
"Systeminfo_CPU_Speed": "Vitesse du CPU:", "Systeminfo_CPU_Speed": "Vitesse du CPU\u202f:",
"Systeminfo_CPU_Temp": "Température du processeur:", "Systeminfo_CPU_Temp": "Temp\u00e9rature du processeur\u202f:",
"Systeminfo_CPU_Vendor": "Fabriquant du processeur:", "Systeminfo_CPU_Vendor": "Fabriquant du processeur\u202f:",
"Systeminfo_Client_Resolution": "Résolution du navigateur:", "Systeminfo_Client_Resolution": "R\u00e9solution du navigateur\u202f:",
"Systeminfo_Client_User_Agent": "Agent utilisateur:", "Systeminfo_Client_User_Agent": "Agent utilisateur\u202f:",
"Systeminfo_General": "Général", "Systeminfo_General": "G\u00e9n\u00e9ral",
"Systeminfo_General_Date": "Date:", "Systeminfo_General_Date": "Date\u202f:",
"Systeminfo_General_Date2": "Date 2:", "Systeminfo_General_Date2": "Date 2\u202f:",
"Systeminfo_General_Full_Date": "Date complète:", "Systeminfo_General_Full_Date": "Date compl\u00e8te\u202f:",
"Systeminfo_General_TimeZone": "Fuseau horaire:", "Systeminfo_General_TimeZone": "Fuseau horaire\u202f:",
"Systeminfo_Memory": "Mémoire", "Systeminfo_Memory": "M\u00e9moire",
"Systeminfo_Memory_Total_Memory": "Mémoire totale:", "Systeminfo_Memory_Total_Memory": "M\u00e9moire totale\u202f:",
"Systeminfo_Memory_Usage": "Utilisation de la mémoire:", "Systeminfo_Memory_Usage": "Utilisation de la m\u00e9moire:",
"Systeminfo_Memory_Usage_Percent": "% de la mémoire:", "Systeminfo_Memory_Usage_Percent": "% de la m\u00e9moire\u202f:",
"Systeminfo_Motherboard": "Carte mère", "Systeminfo_Motherboard": "Carte m\u00e8re",
"Systeminfo_Motherboard_BIOS": "BIOS:", "Systeminfo_Motherboard_BIOS": "BIOS\u202f:",
"Systeminfo_Motherboard_BIOS_Date": "Date du BIOS:", "Systeminfo_Motherboard_BIOS_Date": "Date du BIOS\u202f:",
"Systeminfo_Motherboard_BIOS_Vendor": "Fabriquant du BIOS:", "Systeminfo_Motherboard_BIOS_Vendor": "Fabriquant du BIOS\u202f:",
"Systeminfo_Motherboard_Manufactured": "Fabriqué par:", "Systeminfo_Motherboard_Manufactured": "Fabriqu\u00e9 par\u202f:",
"Systeminfo_Motherboard_Name": "Nom:", "Systeminfo_Motherboard_Name": "Nom\u202f:",
"Systeminfo_Motherboard_Revision": "Révision:", "Systeminfo_Motherboard_Revision": "R\u00e9vision\u202f:",
"Systeminfo_Network": "Réseau", "Systeminfo_Network": "R\u00e9seau",
"Systeminfo_Network_Accept_Encoding": "Accepter l'encodage:", "Systeminfo_Network_Accept_Encoding": "Accepter l'encodage\u202f:",
"Systeminfo_Network_Accept_Language": "Accepter la langue:", "Systeminfo_Network_Accept_Language": "Accepter la langue\u202f:",
"Systeminfo_Network_Connection_Port": "Port de connexion:", "Systeminfo_Network_Connection_Port": "Port de connexion\u202f:",
"Systeminfo_Network_HTTP_Host": "Hôte HTTP:", "Systeminfo_Network_HTTP_Host": "H\u00f4te HTTP\u202f:",
"Systeminfo_Network_HTTP_Referer": "Référent HTTP:", "Systeminfo_Network_HTTP_Referer": "R\u00e9f\u00e9rent HTTP\u202f:",
"Systeminfo_Network_HTTP_Referer_String": "Pas de référent HTTP", "Systeminfo_Network_HTTP_Referer_String": "Pas de r\u00e9f\u00e9rent HTTP",
"Systeminfo_Network_Hardware": "Matériel réseau", "Systeminfo_Network_Hardware": "Mat\u00e9riel r\u00e9seau",
"Systeminfo_Network_Hardware_Interface_Mask": "", "Systeminfo_Network_Hardware_Interface_Mask": "",
"Systeminfo_Network_Hardware_Interface_Name": "", "Systeminfo_Network_Hardware_Interface_Name": "",
"Systeminfo_Network_Hardware_Interface_RX": "", "Systeminfo_Network_Hardware_Interface_RX": "",
"Systeminfo_Network_Hardware_Interface_TX": "", "Systeminfo_Network_Hardware_Interface_TX": "",
"Systeminfo_Network_IP": "IP Internet:", "Systeminfo_Network_IP": "IP Internet\u202f:",
"Systeminfo_Network_IP_Connection": "Connexion IP:", "Systeminfo_Network_IP_Connection": "Connexion IP\u202f:",
"Systeminfo_Network_IP_Server": "IP du serveur:", "Systeminfo_Network_IP_Server": "IP du serveur\u202f:",
"Systeminfo_Network_MIME": "MIME:", "Systeminfo_Network_MIME": "MIME\u202f:",
"Systeminfo_Network_Request_Method": "Méthode de demande:", "Systeminfo_Network_Request_Method": "M\u00e9thode de demande\u202f:",
"Systeminfo_Network_Request_Time": "Heure de la demande:", "Systeminfo_Network_Request_Time": "Heure de la demande\u202f:",
"Systeminfo_Network_Request_URI": "URI de la demande:", "Systeminfo_Network_Request_URI": "URI de la demande\u202f:",
"Systeminfo_Network_Secure_Connection": "Connexion sécurisée:", "Systeminfo_Network_Secure_Connection": "Connexion s\u00e9curis\u00e9e\u202f:",
"Systeminfo_Network_Secure_Connection_String": "", "Systeminfo_Network_Secure_Connection_String": "",
"Systeminfo_Network_Server_Name": "Nom du serveur:", "Systeminfo_Network_Server_Name": "Nom du serveur\u202f:",
"Systeminfo_Network_Server_Name_String": "Nom du serveur introuvable", "Systeminfo_Network_Server_Name_String": "Nom du serveur introuvable",
"Systeminfo_Network_Server_Query": "Requête du serveur:", "Systeminfo_Network_Server_Query": "Requ\u00eate du serveur\u202f:",
"Systeminfo_Network_Server_Query_String": "Aucune chaîne de requête", "Systeminfo_Network_Server_Query_String": "Aucune cha\u00eene de requ\u00eate",
"Systeminfo_Network_Server_Version": "Version du serveur:", "Systeminfo_Network_Server_Version": "Version du serveur\u202f:",
"Systeminfo_Services": "Services", "Systeminfo_Services": "Services",
"Systeminfo_Services_Description": "Description du service", "Systeminfo_Services_Description": "Description du service",
"Systeminfo_Services_Name": "Nom du service", "Systeminfo_Services_Name": "Nom du service",
"Systeminfo_Storage": "Stockage", "Systeminfo_Storage": "Stockage",
"Systeminfo_Storage_Device": "Appareil:", "Systeminfo_Storage_Device": "Appareil\u202f:",
"Systeminfo_Storage_Mount": "Point de montage:", "Systeminfo_Storage_Mount": "Point de montage\u202f:",
"Systeminfo_Storage_Size": "Taille:", "Systeminfo_Storage_Size": "Taille\u202f:",
"Systeminfo_Storage_Type": "Type:", "Systeminfo_Storage_Type": "Type\u202f:",
"Systeminfo_Storage_Usage": "", "Systeminfo_Storage_Usage": "",
"Systeminfo_Storage_Usage_Free": "Libre:", "Systeminfo_Storage_Usage_Free": "Libre\u202f:",
"Systeminfo_Storage_Usage_Mount": "", "Systeminfo_Storage_Usage_Mount": "",
"Systeminfo_Storage_Usage_Total": "Total:", "Systeminfo_Storage_Usage_Total": "Total\u202f:",
"Systeminfo_Storage_Usage_Used": "Utilisé :", "Systeminfo_Storage_Usage_Used": "Utilis\u00e9\u202f:",
"Systeminfo_System": "Système", "Systeminfo_System": "Syst\u00e8me",
"Systeminfo_System_AVG": "", "Systeminfo_System_AVG": "",
"Systeminfo_System_Architecture": "Architecture:", "Systeminfo_System_Architecture": "Architecture\u202f:",
"Systeminfo_System_Kernel": "Noyau:", "Systeminfo_System_Kernel": "Noyau\u202f:",
"Systeminfo_System_OSVersion": "", "Systeminfo_System_OSVersion": "",
"Systeminfo_System_Running_Processes": "Processus en cours:", "Systeminfo_System_Running_Processes": "Processus en cours\u202f:",
"Systeminfo_System_System": "Système:", "Systeminfo_System_System": "Syst\u00e8me\u202f:",
"Systeminfo_System_Uname": "", "Systeminfo_System_Uname": "",
"Systeminfo_System_Uptime": "", "Systeminfo_System_Uptime": "",
"Systeminfo_This_Client": "", "Systeminfo_This_Client": "",
"Systeminfo_USB_Devices": "", "Systeminfo_USB_Devices": "",
"TICKER_MIGRATE_TO_NETALERTX": "",
"TIMEZONE_description": "", "TIMEZONE_description": "",
"TIMEZONE_name": "", "TIMEZONE_name": "",
"UI_DEV_SECTIONS_description": "", "UI_DEV_SECTIONS_description": "",
"UI_DEV_SECTIONS_name": "", "UI_DEV_SECTIONS_name": "",
"UI_LANG_description": "Sélectionnez votre langue préféré de linterface. Aidez à traduire ou suggérez des langues dans le portail en ligne de <a href=\"https://hosted.weblate.org/projects/pialert/core/\" target=\"_blank\">Weblate</a>.", "UI_LANG_description": "S\u00e9lectionnez votre langue pr\u00e9f\u00e9r\u00e9 de l\u2019interface. Aidez \u00e0 traduire ou sugg\u00e9rez des langues dans le portail en ligne de <a href=\"https://hosted.weblate.org/projects/pialert/core/\" target=\"_blank\">Weblate</a>.",
"UI_LANG_name": "", "UI_LANG_name": "",
"UI_MY_DEVICES_description": "", "UI_MY_DEVICES_description": "",
"UI_MY_DEVICES_name": "", "UI_MY_DEVICES_name": "",
"UI_NOT_RANDOM_MAC_description": "", "UI_NOT_RANDOM_MAC_description": "",
"UI_NOT_RANDOM_MAC_name": "Ne pas marquer comme aléatoire", "UI_NOT_RANDOM_MAC_name": "Ne pas marquer comme al\u00e9atoire",
"UI_PRESENCE_description": "", "UI_PRESENCE_description": "",
"UI_PRESENCE_name": "", "UI_PRESENCE_name": "",
"UI_REFRESH_description": "", "UI_REFRESH_description": "",
@@ -635,23 +636,23 @@
"settings_device_scanners": "", "settings_device_scanners": "",
"settings_device_scanners_icon": "", "settings_device_scanners_icon": "",
"settings_device_scanners_label": "Scanners d'appareils", "settings_device_scanners_label": "Scanners d'appareils",
"settings_enabled": "Paramètres activés", "settings_enabled": "Param\u00e8tres activ\u00e9s",
"settings_enabled_icon": "", "settings_enabled_icon": "",
"settings_expand_all": "Tout développer", "settings_expand_all": "Tout d\u00e9velopper",
"settings_imported": "", "settings_imported": "",
"settings_imported_label": "Paramètres importés", "settings_imported_label": "Param\u00e8tres import\u00e9s",
"settings_missing": "", "settings_missing": "",
"settings_missing_block": "", "settings_missing_block": "",
"settings_old": "Importation des paramètres et réinitialisation...", "settings_old": "Importation des param\u00e8tres et r\u00e9initialisation...",
"settings_other_scanners": "", "settings_other_scanners": "",
"settings_other_scanners_icon": "", "settings_other_scanners_icon": "",
"settings_other_scanners_label": "", "settings_other_scanners_label": "",
"settings_publishers": "", "settings_publishers": "",
"settings_publishers_icon": "", "settings_publishers_icon": "",
"settings_publishers_label": "Éditeurs", "settings_publishers_label": "\u00c9diteurs",
"settings_saved": "", "settings_saved": "",
"settings_system_icon": "", "settings_system_icon": "",
"settings_system_label": "Système", "settings_system_label": "Syst\u00e8me",
"test_event_icon": "", "test_event_icon": "",
"test_event_tooltip": "" "test_event_tooltip": ""
} }

View File

@@ -607,6 +607,7 @@
"Systeminfo_System_Uptime": "", "Systeminfo_System_Uptime": "",
"Systeminfo_This_Client": "", "Systeminfo_This_Client": "",
"Systeminfo_USB_Devices": "", "Systeminfo_USB_Devices": "",
"TICKER_MIGRATE_TO_NETALERTX": "",
"TIMEZONE_description": "", "TIMEZONE_description": "",
"TIMEZONE_name": "", "TIMEZONE_name": "",
"UI_DEV_SECTIONS_description": "", "UI_DEV_SECTIONS_description": "",

View File

@@ -17,19 +17,19 @@
"AppEvents_ObjectIsArchived": "", "AppEvents_ObjectIsArchived": "",
"AppEvents_ObjectIsNew": "", "AppEvents_ObjectIsNew": "",
"AppEvents_ObjectPlugin": "", "AppEvents_ObjectPlugin": "",
"AppEvents_ObjectPrimaryID": "Primær-ID", "AppEvents_ObjectPrimaryID": "Prim\u00e6r-ID",
"AppEvents_ObjectSecondaryID": "Sekundær-ID", "AppEvents_ObjectSecondaryID": "Sekund\u00e6r-ID",
"AppEvents_ObjectStatus": "Status (ved loggføringstidspunkt)", "AppEvents_ObjectStatus": "Status (ved loggf\u00f8ringstidspunkt)",
"AppEvents_ObjectStatusColumn": "Statuskolonne", "AppEvents_ObjectStatusColumn": "Statuskolonne",
"AppEvents_ObjectType": "Objekttype", "AppEvents_ObjectType": "Objekttype",
"AppEvents_Plugin": "Programtillegg", "AppEvents_Plugin": "Programtillegg",
"AppEvents_Type": "Type", "AppEvents_Type": "Type",
"BackDevDetail_Actions_Ask_Run": "Utfør handlingen?", "BackDevDetail_Actions_Ask_Run": "Utf\u00f8r handlingen?",
"BackDevDetail_Actions_Not_Registered": "", "BackDevDetail_Actions_Not_Registered": "",
"BackDevDetail_Actions_Title_Run": "Utfør handling", "BackDevDetail_Actions_Title_Run": "Utf\u00f8r handling",
"BackDevDetail_Copy_Ask": "", "BackDevDetail_Copy_Ask": "",
"BackDevDetail_Copy_Title": "Kopier detaljer", "BackDevDetail_Copy_Title": "Kopier detaljer",
"BackDevDetail_Tools_WOL_error": "Kommandoen ble IKKE kjørt.", "BackDevDetail_Tools_WOL_error": "Kommandoen ble IKKE kj\u00f8rt.",
"BackDevDetail_Tools_WOL_okay": "", "BackDevDetail_Tools_WOL_okay": "",
"BackDevices_Arpscan_disabled": "", "BackDevices_Arpscan_disabled": "",
"BackDevices_Arpscan_enabled": "", "BackDevices_Arpscan_enabled": "",
@@ -607,6 +607,7 @@
"Systeminfo_System_Uptime": "", "Systeminfo_System_Uptime": "",
"Systeminfo_This_Client": "", "Systeminfo_This_Client": "",
"Systeminfo_USB_Devices": "", "Systeminfo_USB_Devices": "",
"TICKER_MIGRATE_TO_NETALERTX": "",
"TIMEZONE_description": "", "TIMEZONE_description": "",
"TIMEZONE_name": "", "TIMEZONE_name": "",
"UI_DEV_SECTIONS_description": "", "UI_DEV_SECTIONS_description": "",

1235
front/php/templates/language/ru_ru.json Normal file → Executable file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,30 @@
<?php require 'php/templates/notification.php'; ?>
<script>
var migrationNeeded = <?php
// Check if either file exists
$configFile = '/home/pi/pialert/conf/pialert.conf';
$databaseFile = '/home/pi/pialert/db/pialert.db';
if (file_exists($configFile) || file_exists($databaseFile)) {
echo 'true';
} else {echo 'false'; }
?>
console.log(`migrationNeeded = ${migrationNeeded}`);
if(migrationNeeded == true)
{
message = getString("TICKER_MIGRATE_TO_NETALERTX")
setTimeout(() => {
showTickerAnnouncement(message)
},100);
}
</script>

View File

@@ -124,3 +124,9 @@
<div id="alert-message"> Alert message </div> <div id="alert-message"> Alert message </div>
</div> </div>
<!-- Sticky Announcement -->
<div id="tickerAnnouncement" class="ticker_announcement myhidden">
<div id="ticker-message"> Announcement message </div>
</div>

View File

@@ -24,7 +24,7 @@ if(array_search('action', $_REQUEST) != FALSE)
// ################################################## // ##################################################
// ## Login Processing start // ## Login Processing start
// ################################################## // ##################################################
$config_file = "../config/pialert.conf"; $config_file = "../config/app.conf";
$config_file_lines = file($config_file); $config_file_lines = file($config_file);
$CookieSaveLoginName = "NetAlertX_SaveLogin"; $CookieSaveLoginName = "NetAlertX_SaveLogin";

View File

@@ -12,7 +12,7 @@ if( isset($_COOKIE['Front_Dark_Mode_Enabled']))
$ENABLED_DARKMODE = False; $ENABLED_DARKMODE = False;
} }
foreach (glob("/home/pi/pialert/db/setting_skin*") as $filename) { foreach (glob("/app/db/setting_skin*") as $filename) {
$pia_skin_selected = str_replace('setting_','',basename($filename)); $pia_skin_selected = str_replace('setting_','',basename($filename));
} }
if (isset($pia_skin_selected) == FALSE or (strlen($pia_skin_selected) == 0)) {$pia_skin_selected = 'skin-blue';} if (isset($pia_skin_selected) == FALSE or (strlen($pia_skin_selected) == 0)) {$pia_skin_selected = 'skin-blue';}

View File

@@ -5,9 +5,9 @@
// ################################### // ###################################
$configFolderPath = dirname(__FILE__)."/../../../config/"; $configFolderPath = dirname(__FILE__)."/../../../config/";
$config_file = "pialert.conf"; $config_file = "app.conf";
$logFolderPath = dirname(__FILE__)."/../../log/"; $logFolderPath = dirname(__FILE__)."/../../log/";
$log_file = "pialert_front.log"; $log_file = "app_front.log";
$fullConfPath = $configFolderPath.$config_file; $fullConfPath = $configFolderPath.$config_file;

View File

@@ -11,7 +11,7 @@
# cvc90 2023 https://github.com/cvc90 GNU GPLv3 # # cvc90 2023 https://github.com/cvc90 GNU GPLv3 #
#---------------------------------------------------------------------------------# #---------------------------------------------------------------------------------#
$filename = "/home/pi/pialert/.VERSION"; $filename = "/app/.VERSION";
if(file_exists($filename)) { if(file_exists($filename)) {
echo file_get_contents($filename); echo file_get_contents($filename);
} }

View File

@@ -74,7 +74,7 @@ Example use cases for plugins could be:
* Creating a script to create FAKE devices based on user input via custom settings * Creating a script to create FAKE devices based on user input via custom settings
* ...at this point the limitation is mostly the creativity rather than the capability (there might be edge cases and a need to support more form controls for user input off custom settings, but you probably get the idea) * ...at this point the limitation is mostly the creativity rather than the capability (there might be edge cases and a need to support more form controls for user input off custom settings, but you probably get the idea)
If you wish to develop a plugin, please check the existing plugin structure. Once the settings are saved by the user they need to be removed from the `pialert.conf` file manually if you want to re-initialize them from the `config.json` of the plugin. If you wish to develop a plugin, please check the existing plugin structure. Once the settings are saved by the user they need to be removed from the `app.conf` file manually if you want to re-initialize them from the `config.json` of the plugin.
Again, please read the below carefully if you'd like to contribute with a plugin yourself. This documentation file might be outdated, so double-check the sample plugins as well. Again, please read the below carefully if you'd like to contribute with a plugin yourself. This documentation file might be outdated, so double-check the sample plugins as well.
@@ -141,16 +141,16 @@ Currently, these data sources are supported (valid `data_source` value).
| Name | `data_source` value | Needs to return a "table"* | Overview (more details on this page below) | | Name | `data_source` value | Needs to return a "table"* | Overview (more details on this page below) |
|----------------------|----------------------|----------------------|----------------------| |----------------------|----------------------|----------------------|----------------------|
| Script | `script` | no | Executes any linux command in the `CMD` setting. | | Script | `script` | no | Executes any linux command in the `CMD` setting. |
| NetAlertX DB query | `pialert-db-query` | yes | Executes a SQL query on the NetAlertX database in the `CMD` setting. | | NetAlertX DB query | `app-db-query` | yes | Executes a SQL query on the NetAlertX database in the `CMD` setting. |
| Template | `template` | no | Used to generate internal settings, such as default values. | | Template | `template` | no | Used to generate internal settings, such as default values. |
| External SQLite DB query | `sqlite-db-query` | yes | Executes a SQL query from the `CMD` setting on an external SQLite database mapped in the `DB_PATH` setting. | | External SQLite DB query | `sqlite-db-query` | yes | Executes a SQL query from the `CMD` setting on an external SQLite database mapped in the `DB_PATH` setting. |
| Plugin type | `plugin_type` | no | Specifies the type of the plugin and in which section the Plugin settings are displayed ( one of `general/system/scanner/other/publisher` ). | | Plugin type | `plugin_type` | no | Specifies the type of the plugin and in which section the Plugin settings are displayed ( one of `general/system/scanner/other/publisher` ). |
> * "Needs to return a "table" means that the application expects a `last_result.log` file with some results. It's not a blocker, however warnings in the `pialert.log` might be logged. > * "Needs to return a "table" means that the application expects a `last_result.log` file with some results. It's not a blocker, however warnings in the `app.log` might be logged.
> 🔎Example > 🔎Example
>```json >```json
>"data_source": "pialert-db-query" >"data_source": "app-db-query"
>``` >```
If you want to display plugin objects or import devices into the app, data sources have to return a "table" of the exact structure as outlined above. If you want to display plugin objects or import devices into the app, data sources have to return a "table" of the exact structure as outlined above.
@@ -202,11 +202,11 @@ https://www.google.com|null|2023-01-02 15:56:30|200|0.7898|
``` ```
### "data_source": "pialert-db-query" ### "data_source": "app-db-query"
If the `data_source` is set to `pialert-db-query`, the `CMD` setting needs to contain a SQL query rendering the columns as defined in the "Column order and values" section above. The order of columns is important. If the `data_source` is set to `app-db-query`, the `CMD` setting needs to contain a SQL query rendering the columns as defined in the "Column order and values" section above. The order of columns is important.
This SQL query is executed on the `pialert.db` SQLite database file. This SQL query is executed on the `app.db` SQLite database file.
> 🔎Example > 🔎Example
> >
@@ -281,7 +281,7 @@ For example for `PIHOLE` (`"unique_prefix": "PIHOLE"`) it is `EXTERNAL_PIHOLE.`.
> ... > ...
>``` >```
The actual SQL query you want to execute is then stored as a `CMD` setting, similar to a Plugin of the `pialert-db-query` plugin type. The format has to adhere to the format outlined in the "Column order and values" section above. The actual SQL query you want to execute is then stored as a `CMD` setting, similar to a Plugin of the `app-db-query` plugin type. The format has to adhere to the format outlined in the "Column order and values" section above.
> 🔎Example > 🔎Example
> >
@@ -448,7 +448,7 @@ The `params` array in the `config.json` is used to enable the user to change the
> Passing user-defined settings to a command. Let's say, you want to have a script, that is called with a user-defined parameter called `urls`: > Passing user-defined settings to a command. Let's say, you want to have a script, that is called with a user-defined parameter called `urls`:
> >
> ```bash > ```bash
> root@server# python3 /home/pi/pialert/front/plugins/website_monitor/script.py urls=https://google.com,https://duck.com > root@server# python3 /app/front/plugins/website_monitor/script.py urls=https://google.com,https://duck.com
> ``` > ```
* You can allow the user to add URLs to a setting with the `function` property set to a custom name, such as `urls_to_check` (this is not a reserved name from the section "Supported settings `function` values" below). * You can allow the user to add URLs to a setting with the `function` property set to a custom name, such as `urls_to_check` (this is not a reserved name from the section "Supported settings `function` values" below).
@@ -469,7 +469,7 @@ The `params` array in the `config.json` is used to enable the user to change the
{ {
"function": "CMD", "function": "CMD",
"type": "text", "type": "text",
"default_value":"python3 /home/pi/pialert/front/plugins/website_monitor/script.py urls={urls}", "default_value":"python3 /app/front/plugins/website_monitor/script.py urls={urls}",
"options": [], "options": [],
"localized": ["name", "description"], "localized": ["name", "description"],
"name" : [{ "name" : [{
@@ -483,7 +483,7 @@ The `params` array in the `config.json` is used to enable the user to change the
} }
``` ```
During script execution, the app will take the command `"python3 /home/pi/pialert/front/plugins/website_monitor/script.py urls={urls}"`, take the `{urls}` wildcard and replace it with the value from the `WEBMON_urls_to_check` setting. This is because: During script execution, the app will take the command `"python3 /app/front/plugins/website_monitor/script.py urls={urls}"`, take the `{urls}` wildcard and replace it with the value from the `WEBMON_urls_to_check` setting. This is because:
1. The app checks the `params` entries 1. The app checks the `params` entries
2. It finds `"name" : "urls"` 2. It finds `"name" : "urls"`
@@ -495,9 +495,9 @@ During script execution, the app will take the command `"python3 /home/pi/pialer
- let's say the setting with the code name `WEBMON_urls_to_check` contains 2 values entered by the user: - let's say the setting with the code name `WEBMON_urls_to_check` contains 2 values entered by the user:
- `WEBMON_urls_to_check=['https://google.com','https://duck.com']` - `WEBMON_urls_to_check=['https://google.com','https://duck.com']`
6. The app takes the value from `WEBMON_urls_to_check` and replaces the `{urls}` wildcard in the setting where `"function":"CMD"`, so you go from: 6. The app takes the value from `WEBMON_urls_to_check` and replaces the `{urls}` wildcard in the setting where `"function":"CMD"`, so you go from:
- `python3 /home/pi/pialert/front/plugins/website_monitor/script.py urls={urls}` - `python3 /app/front/plugins/website_monitor/script.py urls={urls}`
- to - to
- `python3 /home/pi/pialert/front/plugins/website_monitor/script.py urls=https://google.com,https://duck.com` - `python3 /app/front/plugins/website_monitor/script.py urls=https://google.com,https://duck.com`
Below are some general additional notes, when defining `params`: Below are some general additional notes, when defining `params`:
@@ -586,7 +586,7 @@ You can have any `"function": "my_custom_name"` custom name, however, the ones l
| | - "always_after_scan" - run always after a scan is finished | | | - "always_after_scan" - run always after a scan is finished |
| | - "before_name_updates" - run before device names are updated (for name discovery plugins) | | | - "before_name_updates" - run before device names are updated (for name discovery plugins) |
| | - "on_new_device" - run when a new device is detected | | | - "on_new_device" - run when a new device is detected |
| | - "before_config_save" - run before the config is marked as saved. Useful if your plugin needs to modify the `pialert.conf` file. | | | - "before_config_save" - run before the config is marked as saved. Useful if your plugin needs to modify the `app.conf` file. |
| `RUN_SCHD` | (required if you include "schedule" in the above `RUN` function) Cron-like scheduling is used if the `RUN` setting is set to `schedule`. | | `RUN_SCHD` | (required if you include "schedule" in the above `RUN` function) Cron-like scheduling is used if the `RUN` setting is set to `schedule`. |
| `CMD` | (required) Specifies the command that should be executed. | | `CMD` | (required) Specifies the command that should be executed. |
| `API_SQL` | (not implemented) Generates a `table_` + `code_name` + `.json` file as per [API docs](https://github.com/jokob-sk/NetAlertX/blob/main/docs/API.md). | | `API_SQL` | (not implemented) Generates a `table_` + `code_name` + `.json` file as per [API docs](https://github.com/jokob-sk/NetAlertX/blob/main/docs/API.md). |

View File

@@ -9,7 +9,8 @@ import sys
from datetime import datetime from datetime import datetime
# Register NetAlertX directories # Register NetAlertX directories
sys.path.extend(["/home/pi/pialert/front/plugins", "/home/pi/pialert/netalertx"]) INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
import conf import conf
from const import confFileName from const import confFileName

View File

@@ -287,7 +287,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "readonly", "type": "readonly",
"default_value":"python3 /home/pi/pialert/front/plugins/_publisher_apprise/apprise.py", "default_value":"python3 /app/front/plugins/_publisher_apprise/apprise.py",
"options": [], "options": [],
"localized": ["name", "description"], "localized": ["name", "description"],
"name" : [{ "name" : [{

View File

@@ -354,7 +354,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "readonly", "type": "readonly",
"default_value": "python3 /home/pi/pialert/front/plugins/_publisher_email/email_smtp.py", "default_value": "python3 /app/front/plugins/_publisher_email/email_smtp.py",
"options": [], "options": [],
"localized": [ "localized": [
"name", "name",

View File

@@ -15,7 +15,9 @@ import smtplib
import socket import socket
import ssl import ssl
sys.path.extend(["/home/pi/pialert/front/plugins", "/home/pi/pialert/netalertx"]) # Register NetAlertX directories
INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
# NetAlertX modules # NetAlertX modules
import conf import conf

View File

@@ -278,7 +278,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "readonly", "type": "readonly",
"default_value":"python3 /home/pi/pialert/front/plugins/_publisher_mqtt/mqtt.py devices={devices}", "default_value":"python3 /app/front/plugins/_publisher_mqtt/mqtt.py devices={devices}",
"options": [], "options": [],
"localized": ["name", "description"], "localized": ["name", "description"],
"name" : [{ "name" : [{

View File

@@ -16,7 +16,8 @@ import hashlib
# Register NetAlertX directories # Register NetAlertX directories
sys.path.extend(["/home/pi/pialert/front/plugins", "/home/pi/pialert/netalertx"]) INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
# NetAlertX modules # NetAlertX modules
import conf import conf
@@ -172,8 +173,8 @@ def publish_mqtt(mqtt_client, topic, message):
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
def create_generic_device(mqtt_client): def create_generic_device(mqtt_client):
deviceName = 'PiAlert' deviceName = 'NetAlertX'
deviceId = 'pialert' deviceId = 'netalertx'
create_sensor(mqtt_client, deviceId, deviceName, 'sensor', 'online', 'wifi-check') create_sensor(mqtt_client, deviceId, deviceName, 'sensor', 'online', 'wifi-check')
create_sensor(mqtt_client, deviceId, deviceName, 'sensor', 'down', 'wifi-cancel') create_sensor(mqtt_client, deviceId, deviceName, 'sensor', 'down', 'wifi-cancel')
@@ -214,7 +215,7 @@ def publish_sensor(mqtt_client, sensorConfig):
"device": "device":
{ {
"identifiers" : [sensorConfig.deviceId+"_sensor"], "identifiers" : [sensorConfig.deviceId+"_sensor"],
"manufacturer" : "PiAlert", "manufacturer" : "NetAlertX",
"name" : sensorConfig.deviceName "name" : sensorConfig.deviceName
}, },
"icon": icon "icon": icon
@@ -288,7 +289,7 @@ def mqtt_start(db):
row = get_device_stats(db) row = get_device_stats(db)
# Publish (wrap into {} and remove last ',' from above) # Publish (wrap into {} and remove last ',' from above)
publish_mqtt(mqtt_client, "system-sensors/sensor/pialert/state", publish_mqtt(mqtt_client, "system-sensors/sensor/netalertx/state",
{ {
"online": row[0], "online": row[0],
"down": row[1], "down": row[1],

View File

@@ -247,7 +247,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "readonly", "type": "readonly",
"default_value":"python3 /home/pi/pialert/front/plugins/_publisher_ntfy/ntfy.py", "default_value":"python3 /app/front/plugins/_publisher_ntfy/ntfy.py",
"options": [], "options": [],
"localized": ["name", "description"], "localized": ["name", "description"],
"name" : [{ "name" : [{

View File

@@ -12,7 +12,8 @@ from datetime import datetime
from base64 import b64encode from base64 import b64encode
# Register NetAlertX directories # Register NetAlertX directories
sys.path.extend(["/home/pi/pialert/front/plugins", "/home/pi/pialert/netalertx"]) INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
import conf import conf
from const import confFileName from const import confFileName

View File

@@ -304,7 +304,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "readonly", "type": "readonly",
"default_value": "python3 /home/pi/pialert/front/plugins/_publisher_pushover/pushover.py", "default_value": "python3 /app/front/plugins/_publisher_pushover/pushover.py",
"options": [], "options": [],
"localized": [ "localized": [
"name", "name",

View File

@@ -6,7 +6,8 @@ import json
import requests import requests
# Register NetAlertX directories # Register NetAlertX directories
sys.path.extend(["/home/pi/pialert/front/plugins", "/home/pi/pialert/netalertx"]) INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
from plugin_helper import Plugin_Objects, handleEmpty # noqa: E402 from plugin_helper import Plugin_Objects, handleEmpty # noqa: E402
from logger import mylog # noqa: E402 from logger import mylog # noqa: E402

View File

@@ -247,7 +247,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "readonly", "type": "readonly",
"default_value":"python3 /home/pi/pialert/front/plugins/_publisher_pushsafer/pushsafer.py", "default_value":"python3 /app/front/plugins/_publisher_pushsafer/pushsafer.py",
"options": [], "options": [],
"localized": ["name", "description"], "localized": ["name", "description"],
"name" : [{ "name" : [{

View File

@@ -12,7 +12,8 @@ from datetime import datetime
from base64 import b64encode from base64 import b64encode
# Register NetAlertX directories # Register NetAlertX directories
sys.path.extend(["/home/pi/pialert/front/plugins", "/home/pi/pialert/netalertx"]) INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
import conf import conf
from const import confFileName from const import confFileName

View File

@@ -247,7 +247,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "readonly", "type": "readonly",
"default_value":"python3 /home/pi/pialert/front/plugins/_publisher_webhook/webhook.py", "default_value":"python3 /app/front/plugins/_publisher_webhook/webhook.py",
"options": [], "options": [],
"localized": ["name", "description"], "localized": ["name", "description"],
"name" : [{ "name" : [{

View File

@@ -14,7 +14,8 @@ import hashlib
import hmac import hmac
# Register NetAlertX directories # Register NetAlertX directories
sys.path.extend(["/home/pi/pialert/front/plugins", "/home/pi/pialert/netalertx"]) INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
import conf import conf

View File

@@ -121,7 +121,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "readonly", "type": "readonly",
"default_value": "python3 /home/pi/pialert/front/plugins/arp_scan/script.py userSubnets={subnets}", "default_value": "python3 /app/front/plugins/arp_scan/script.py userSubnets={subnets}",
"options": [], "options": [],
"localized": [ "localized": [
"name", "name",

View File

@@ -9,10 +9,10 @@ import base64
import subprocess import subprocess
from time import strftime from time import strftime
sys.path.append("/home/pi/pialert/front/plugins") # Register NetAlertX directories
sys.path.append('/home/pi/pialert/netalertx') INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
# Register NetAlertX modules NetAlertX directories
from database import DB from database import DB
from plugin_helper import Plugin_Object, Plugin_Objects, handleEmpty from plugin_helper import Plugin_Object, Plugin_Objects, handleEmpty
from logger import mylog, append_line_to_file from logger import mylog, append_line_to_file

View File

@@ -89,7 +89,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "readonly", "type": "readonly",
"default_value": "python3 /home/pi/pialert/front/plugins/csv_backup/script.py overwrite={overwrite} location={location}", "default_value": "python3 /app/front/plugins/csv_backup/script.py overwrite={overwrite} location={location}",
"options": [], "options": [],
"localized": ["name", "description"], "localized": ["name", "description"],
"name": [ "name": [
@@ -221,7 +221,7 @@
{ {
"function": "location", "function": "location",
"type": "text", "type": "text",
"default_value":"/home/pi/pialert/config", "default_value":"/app/config",
"options": [], "options": [],
"localized": ["name", "description"], "localized": ["name", "description"],
"name" : [{ "name" : [{
@@ -238,15 +238,15 @@
}], }],
"description": [{ "description": [{
"language_code":"en_us", "language_code":"en_us",
"string" : "Where the <code>devices.csv</code> file should be saved. For example <code>/home/pi/pialert/config</code>." "string" : "Where the <code>devices.csv</code> file should be saved. For example <code>/app/config</code>."
}, },
{ {
"language_code":"es_es", "language_code":"es_es",
"string" : "Donde se debe guardar el archivo <code>devices.csv</code>. Por ejemplo <code>/home/pi/pialert/config</code>." "string" : "Donde se debe guardar el archivo <code>devices.csv</code>. Por ejemplo <code>/app/config</code>."
}, },
{ {
"language_code":"de_de", "language_code":"de_de",
"string" : "Wo die Datei <code>devices.csv</code> gespeichert werden soll. Zum Beispiel <code>/home/pi/pialert/config</code>." "string" : "Wo die Datei <code>devices.csv</code> gespeichert werden soll. Zum Beispiel <code>/app/config</code>."
}] }]
} }
], ],

View File

@@ -10,8 +10,9 @@ import sqlite3
from io import StringIO from io import StringIO
from datetime import datetime from datetime import datetime
sys.path.append("/home/pi/pialert/front/plugins") # Register NetAlertX directories
sys.path.append('/home/pi/pialert/netalertx') INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64
from logger import mylog, append_line_to_file from logger import mylog, append_line_to_file

View File

@@ -75,7 +75,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "readonly", "type": "readonly",
"default_value": "python3 /home/pi/pialert/front/plugins/db_cleanup/script.py pluginskeephistory={pluginskeephistory} hourstokeepnewdevice={hourstokeepnewdevice} daystokeepevents={daystokeepevents} pholuskeepdays={pholuskeepdays}", "default_value": "python3 /app/front/plugins/db_cleanup/script.py pluginskeephistory={pluginskeephistory} hourstokeepnewdevice={hourstokeepnewdevice} daystokeepevents={daystokeepevents} pholuskeepdays={pholuskeepdays}",
"options": [], "options": [],
"localized": ["name", "description"], "localized": ["name", "description"],
"name": [ "name": [

View File

@@ -10,8 +10,9 @@ import sqlite3
from io import StringIO from io import StringIO
from datetime import datetime from datetime import datetime
sys.path.append("/home/pi/pialert/front/plugins") # Register NetAlertX directories
sys.path.append('/home/pi/pialert/netalertx') INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64
from logger import mylog, append_line_to_file from logger import mylog, append_line_to_file

View File

@@ -122,7 +122,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "readonly", "type": "readonly",
"default_value": "python3 /home/pi/pialert/front/plugins/ddns_update/script.py prev_ip={prev_ip} DDNS_UPDATE_URL={DDNS_UPDATE_URL} DDNS_USER={DDNS_USER} DDNS_PASSWORD={DDNS_PASSWORD} DDNS_DOMAIN={DDNS_DOMAIN} ", "default_value": "python3 /app/front/plugins/ddns_update/script.py prev_ip={prev_ip} DDNS_UPDATE_URL={DDNS_UPDATE_URL} DDNS_USER={DDNS_USER} DDNS_PASSWORD={DDNS_PASSWORD} DDNS_DOMAIN={DDNS_DOMAIN} ",
"options": [], "options": [],
"localized": [ "localized": [
"name", "name",

View File

@@ -13,8 +13,9 @@ import sqlite3
from io import StringIO from io import StringIO
from datetime import datetime from datetime import datetime
sys.path.append("/home/pi/pialert/front/plugins") # Register NetAlertX directories
sys.path.append('/home/pi/pialert/netalertx') INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64
from logger import mylog, append_line_to_file from logger import mylog, append_line_to_file

View File

@@ -493,7 +493,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "text", "type": "text",
"default_value": "python3 /home/pi/pialert/front/plugins/dhcp_leases/script.py paths={paths}", "default_value": "python3 /app/front/plugins/dhcp_leases/script.py paths={paths}",
"options": [], "options": [],
"localized": [ "localized": [
"name", "name",

View File

@@ -8,8 +8,9 @@ import os
import sys import sys
import chardet import chardet
sys.path.append("/home/pi/pialert/front/plugins") # Register NetAlertX directories
sys.path.append('/home/pi/pialert/netalertx') INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
from plugin_helper import Plugin_Object, Plugin_Objects, handleEmpty, is_mac from plugin_helper import Plugin_Object, Plugin_Objects, handleEmpty, is_mac
from logger import mylog from logger import mylog

View File

@@ -300,7 +300,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "text", "type": "text",
"default_value":"python3 /home/pi/pialert/front/plugins/dhcp_servers/script.py", "default_value":"python3 /app/front/plugins/dhcp_servers/script.py",
"options": [], "options": [],
"localized": ["name", "description"], "localized": ["name", "description"],
"name" : [{ "name" : [{

View File

@@ -6,8 +6,9 @@ from datetime import datetime
import sys import sys
sys.path.append("/home/pi/pialert/front/plugins") # Register NetAlertX directories
sys.path.append('/home/pi/pialert/netalertx') INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
from plugin_helper import Plugin_Objects, Plugin_Object from plugin_helper import Plugin_Objects, Plugin_Object
from logger import mylog from logger import mylog

View File

@@ -109,7 +109,7 @@
{ {
"function": "CMD", "function": "CMD",
"type": "readonly", "type": "readonly",
"default_value": "python3 /home/pi/pialert/front/plugins/internet_ip/script.py prev_ip={prev_ip} INTRNT_DIG_GET_IP_ARG={INTRNT_DIG_GET_IP_ARG}", "default_value": "python3 /app/front/plugins/internet_ip/script.py prev_ip={prev_ip} INTRNT_DIG_GET_IP_ARG={INTRNT_DIG_GET_IP_ARG}",
"options": [], "options": [],
"localized": [ "localized": [
"name", "name",

View File

@@ -13,8 +13,9 @@ import sqlite3
from io import StringIO from io import StringIO
from datetime import datetime from datetime import datetime
sys.path.append("/home/pi/pialert/front/plugins") # Register NetAlertX directories
sys.path.append('/home/pi/pialert/netalertx') INSTALL_PATH="/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64
from logger import mylog, append_line_to_file from logger import mylog, append_line_to_file

Some files were not shown because too many files have changed in this diff Show More