diff --git a/package.json b/package.json index ffa5066e6..59a3488ea 100644 --- a/package.json +++ b/package.json @@ -250,4 +250,4 @@ ] } } -} +} \ No newline at end of file diff --git a/public/locales/da/modules/dns-hole-controls.json b/public/locales/da/modules/dns-hole-controls.json index 6e491e671..737618c61 100644 --- a/public/locales/da/modules/dns-hole-controls.json +++ b/public/locales/da/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "Vis 'Aktiver/deaktiver alle'-knapper" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/da/modules/weather.json b/public/locales/da/modules/weather.json index eae55681e..5b46ca9c7 100644 --- a/public/locales/da/modules/weather.json +++ b/public/locales/da/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "Ukendt" } }, - "error": "Der er opstået en fejl" + "error": "" } diff --git a/public/locales/de/modules/dns-hole-controls.json b/public/locales/de/modules/dns-hole-controls.json index 5e585ad72..557ebb019 100644 --- a/public/locales/de/modules/dns-hole-controls.json +++ b/public/locales/de/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "Schaltflächen \"Alle aktivieren/deaktivieren\" anzeigen" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/de/modules/weather.json b/public/locales/de/modules/weather.json index e38eae274..4ed04f998 100644 --- a/public/locales/de/modules/weather.json +++ b/public/locales/de/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "Unbekannt" } }, - "error": "Ein Fehler ist aufgetreten" + "error": "" } diff --git a/public/locales/el/authentication/invite.json b/public/locales/el/authentication/invite.json index 3daebb90d..36da398c0 100644 --- a/public/locales/el/authentication/invite.json +++ b/public/locales/el/authentication/invite.json @@ -1,7 +1,7 @@ { - "metaTitle": "", - "title": "", - "text": "", + "metaTitle": "Δημιουργία λογαριασμού", + "title": "Δημιουργία λογαριασμού", + "text": "Παρακαλώ καθορίστε τα διαπιστευτήριά σας παρακάτω", "form": { "fields": { "username": { @@ -11,25 +11,25 @@ "label": "Κωδικός" }, "passwordConfirmation": { - "label": "" + "label": "Επιβεβαίωση κωδικού" } }, "buttons": { - "submit": "" + "submit": "Δημιουργία λογαριασμού" } }, "notifications": { "loading": { - "title": "", - "text": "" + "title": "Δημιουργία λογαριασμού", + "text": "Παρακαλώ περιμένετε" }, "success": { - "title": "", - "text": "" + "title": "Ο λογαριασμός δημιουργήθηκε", + "text": "Ο λογαριασμός σας έχει δημιουργηθεί επιτυχώς" }, "error": { "title": "Σφάλμα", - "text": "" + "text": "Κάτι πήγε στραβά, προέκυψε το ακόλουθο σφάλμα: {{error}}" } } } \ No newline at end of file diff --git a/public/locales/el/authentication/login.json b/public/locales/el/authentication/login.json index bc6257e63..482657f6d 100644 --- a/public/locales/el/authentication/login.json +++ b/public/locales/el/authentication/login.json @@ -1,7 +1,7 @@ { - "metaTitle": "", + "metaTitle": "Σύνδεση", "title": "Καλώς ήρθατε!", - "text": "", + "text": "Παρακαλώ εισάγετε τα στοιχεία σας", "form": { "fields": { "username": { @@ -14,7 +14,7 @@ "buttons": { "submit": "Σύνδεση" }, - "afterLoginRedirection": "" + "afterLoginRedirection": "Μετά τη σύνδεση, θα μεταφερθείτε στο {{url}}" }, - "alert": "" + "alert": "Τα διαπιστευτήριά σας είναι λανθασμένα ή αυτός ο λογαριασμός δεν υπάρχει. Προσπαθήστε ξανά." } \ No newline at end of file diff --git a/public/locales/el/boards/common.json b/public/locales/el/boards/common.json index a70db06bf..2b880351c 100644 --- a/public/locales/el/boards/common.json +++ b/public/locales/el/boards/common.json @@ -1,5 +1,5 @@ { "header": { - "customize": "" + "customize": "Προσαρμογή ταμπλό" } } \ No newline at end of file diff --git a/public/locales/el/boards/customize.json b/public/locales/el/boards/customize.json index cf7880317..8222917ef 100644 --- a/public/locales/el/boards/customize.json +++ b/public/locales/el/boards/customize.json @@ -1,16 +1,16 @@ { - "metaTitle": "", - "pageTitle": "", - "backToBoard": "", + "metaTitle": "Προσαρμογή {{name}} ταμπλό", + "pageTitle": "Προσαρμογή για το ταμπλό {{name}}", + "backToBoard": "Πίσω στο ταμπλό", "settings": { "appearance": { - "primaryColor": "", - "secondaryColor": "" + "primaryColor": "Βασικό χρώμα", + "secondaryColor": "Δευτερεύον χρώμα" } }, "save": { - "button": "", - "note": "" + "button": "Αποθήκευση αλλαγών", + "note": "Προσοχή, έχετε μη αποθηκευμένες αλλαγές!" }, "notifications": { "pending": { diff --git a/public/locales/el/common.json b/public/locales/el/common.json index fed7fab4d..f2f419762 100644 --- a/public/locales/el/common.json +++ b/public/locales/el/common.json @@ -3,12 +3,12 @@ "about": "Σχετικά", "cancel": "Ακύρωση", "close": "Κλείσιμο", - "back": "", + "back": "Πίσω", "delete": "Διαγραφή", "ok": "ΟΚ", "edit": "Επεξεργασία", - "next": "", - "previous": "", + "next": "Επόμενο", + "previous": "Προηγούμενο", "confirm": "Επιβεβαίωση", "enabled": "Ενεργοποιημένο", "disabled": "Απενεργοποιημένο", diff --git a/public/locales/el/layout/header.json b/public/locales/el/layout/header.json index 7f911ef5b..0b4c3409f 100644 --- a/public/locales/el/layout/header.json +++ b/public/locales/el/layout/header.json @@ -1,34 +1,34 @@ { "experimentalNote": { - "label": "" + "label": "Αυτή είναι μια πειραματική λειτουργία του Homarr. Αναφέρετε τυχόν προβλήματα στο GitHub ή στο Discord." }, "search": { - "label": "", + "label": "Αναζήτηση", "engines": { - "web": "", - "youtube": "", - "torrent": "", - "movie": "" + "web": "Αναζήτηση για {{query}} στο διαδίκτυο", + "youtube": "Αναζήτηση για {{query}} στο YouTube", + "torrent": "Αναζήτηση για {{query}} torrents", + "movie": "Αναζήτηση για {{query}} στο {{app}}" } }, "actions": { "avatar": { - "switchTheme": "", - "preferences": "", - "defaultBoard": "", - "manage": "", + "switchTheme": "Αλλαγή θέματος", + "preferences": "Προτιμήσεις χρήστη", + "defaultBoard": "Προεπιλεγμένο ταμπλό", + "manage": "Διαχείριση", "about": { "label": "Σχετικά", - "new": "" + "new": "Νέο" }, - "logout": "", - "login": "" + "logout": "Αποσύνδεση από {{username}}", + "login": "Σύνδεση" } }, "modals": { "movie": { "title": "", - "topResults": "" + "topResults": "Κορυφαία αποτελέσματα {{count}} για {{search}}." } } } \ No newline at end of file diff --git a/public/locales/el/layout/manage.json b/public/locales/el/layout/manage.json index e697aaaad..a6403c64e 100644 --- a/public/locales/el/layout/manage.json +++ b/public/locales/el/layout/manage.json @@ -9,7 +9,7 @@ "users": { "title": "", "items": { - "manage": "", + "manage": "Διαχείριση", "invites": "" } }, diff --git a/public/locales/el/manage/index.json b/public/locales/el/manage/index.json index 5c5b4c0b9..830c6f320 100644 --- a/public/locales/el/manage/index.json +++ b/public/locales/el/manage/index.json @@ -1,5 +1,5 @@ { - "metaTitle": "", + "metaTitle": "Διαχείριση", "hero": { "title": "", "fallbackUsername": "", diff --git a/public/locales/el/manage/users/create.json b/public/locales/el/manage/users/create.json index e5c7960ff..ae52192ca 100644 --- a/public/locales/el/manage/users/create.json +++ b/public/locales/el/manage/users/create.json @@ -1,26 +1,26 @@ { - "metaTitle": "", + "metaTitle": "Δημιουργία χρήστη", "steps": { "account": { - "title": "", - "text": "", + "title": "Πρώτο βήμα", + "text": "Δημιουργία λογαριασμού", "username": { "label": "Όνομα Χρήστη" }, "email": { - "label": "" + "label": "E-Mail" } }, "security": { - "title": "", + "title": "Δεύτερο βήμα", "text": "Κωδικός", "password": { "label": "Κωδικός" } }, "finish": { - "title": "", - "text": "", + "title": "Επιβεβαίωση", + "text": "Αποθήκευση στη βάση δεδομένων", "card": { "title": "", "text": "" @@ -30,7 +30,7 @@ "property": "", "value": "", "username": "Όνομα Χρήστη", - "email": "", + "email": "E-Mail", "password": "Κωδικός" }, "notSet": "", diff --git a/public/locales/el/manage/users/invites.json b/public/locales/el/manage/users/invites.json index 8ba8ec70c..68232674e 100644 --- a/public/locales/el/manage/users/invites.json +++ b/public/locales/el/manage/users/invites.json @@ -28,21 +28,21 @@ } }, "copy": { - "title": "", - "description": "", - "invitationLink": "", + "title": "Αντιγραφή πρόσκλησης", + "description": "Η πρόσκλησή σας έχει δημιουργηθεί. Αφού κλείσει αυτό το modal, δεν θα μπορείτε πλέον να αντιγράψετε αυτόν τον σύνδεσμο. Εάν δεν επιθυμείτε πλέον να προσκαλέσετε το εν λόγω άτομο, μπορείτε να διαγράψετε αυτή την πρόσκληση ανά πάσα στιγμή.", + "invitationLink": "Σύνδεσμος πρόσκλησης", "details": { "id": "", - "token": "" + "token": "Token" }, "button": { - "close": "" + "close": "Αντιγραφή & Απόρριψη" } }, "delete": { "title": "", - "description": "" + "description": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτή την πρόσκληση; Οι χρήστες με αυτόν τον σύνδεσμο δεν θα μπορούν πλέον να δημιουργήσουν λογαριασμό χρησιμοποιώντας αυτόν τον σύνδεσμο." } }, - "noInvites": "" + "noInvites": "Δεν υπάρχουν ακόμη προσκλήσεις." } \ No newline at end of file diff --git a/public/locales/el/modules/dns-hole-controls.json b/public/locales/el/modules/dns-hole-controls.json index 86842377b..1cfad7a51 100644 --- a/public/locales/el/modules/dns-hole-controls.json +++ b/public/locales/el/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "Εμφάνιση Κουμπιών 'Ενεργοποίηση/Απενεργοποίηση Όλων'" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/el/modules/weather.json b/public/locales/el/modules/weather.json index c6f77a60b..40b4e6448 100644 --- a/public/locales/el/modules/weather.json +++ b/public/locales/el/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "Άγνωστο" } }, - "error": "Προέκυψε ένα σφάλμα" + "error": "" } diff --git a/public/locales/el/settings/customization/general.json b/public/locales/el/settings/customization/general.json index d8970542e..0bbfc3be8 100644 --- a/public/locales/el/settings/customization/general.json +++ b/public/locales/el/settings/customization/general.json @@ -22,8 +22,8 @@ "description": "Διαμόρφωση του Homarr για χρήστες με αναπηρία και άτομα με ειδικές ανάγκες" }, "access": { - "name": "", - "description": "" + "name": "Πρόσβαση", + "description": "Ρυθμίστε ποιος έχει πρόσβαση στο ταμπλό σας" } } } diff --git a/public/locales/el/user/preferences.json b/public/locales/el/user/preferences.json index d6a1d970a..4773b749d 100644 --- a/public/locales/el/user/preferences.json +++ b/public/locales/el/user/preferences.json @@ -1,9 +1,9 @@ { - "metaTitle": "", - "pageTitle": "", + "metaTitle": "Ρυθμίσεις", + "pageTitle": "Οι ρυθμίσεις σας", "boards": { "defaultBoard": { - "label": "" + "label": "Προεπιλεγμένο ταμπλο" } }, "accessibility": { @@ -22,11 +22,11 @@ "label": "Γλώσσα" }, "firstDayOfWeek": { - "label": "", + "label": "Πρώτη ημέρα της εβδομάδας", "options": { - "monday": "", - "saturday": "", - "sunday": "" + "monday": "Δευτέρα", + "saturday": "Σάββατο", + "sunday": "Κυριακή" } } }, @@ -34,15 +34,15 @@ "title": "Μηχανή αναζήτησης", "custom": "Προσαρμοσμένη", "newTab": { - "label": "" + "label": "Άνοιγμα αποτελεσμάτων αναζήτησης σε νέα καρτέλα" }, "autoFocus": { - "label": "", - "description": "" + "label": "Εστίαση της γραμμής αναζήτησης κατά τη φόρτωση της σελίδας.", + "description": "Αυτό θα εστιάσει αυτόματα τη γραμμή αναζήτησης, όταν μεταβείτε στις σελίδες του πίνακα. Θα λειτουργήσει μόνο σε συσκευές γραφείου." }, "template": { "label": "Ερώτημα URL", - "description": "" + "description": "Χρησιμοποιήστε το %s ως placeholder για το query" } } } \ No newline at end of file diff --git a/public/locales/el/zod.json b/public/locales/el/zod.json index 3abe6cbd8..694932a86 100644 --- a/public/locales/el/zod.json +++ b/public/locales/el/zod.json @@ -1,22 +1,22 @@ { "errors": { - "default": "", + "default": "Το πεδίο δεν είναι έγκυρο", "required": "Αυτό το πεδίο είναι υποχρεωτικό", "string": { - "startsWith": "", - "endsWith": "", - "includes": "" + "startsWith": "Αυτό το πεδίο πρέπει να ξεκινά με {{startsWith}}", + "endsWith": "Το πεδίο αυτό πρέπει να τελειώνει με {{endsWith}}", + "includes": "Το πεδίο αυτό πρέπει να περιλαμβάνει το {{includes}}" }, "tooSmall": { - "string": "", - "number": "" + "string": "Το πεδίο αυτό πρέπει να έχει μήκος τουλάχιστον {{minimum}} χαρακτήρες", + "number": "Το πεδίο αυτό πρέπει να είναι μεγαλύτερο ή ίσο του {{minimum}}" }, "tooBig": { - "string": "", - "number": "" + "string": "Το πεδίο αυτό πρέπει να έχει μήκος το πολύ {{maximum}} χαρακτήρες", + "number": "Το πεδίο αυτό πρέπει να είναι μικρότερο ή ίσο του {{maximum}}" }, "custom": { - "passwordMatch": "" + "passwordMatch": "Οι κωδικοί πρέπει να είναι ίδιοι" } } } \ No newline at end of file diff --git a/public/locales/en/modules/dns-hole-controls.json b/public/locales/en/modules/dns-hole-controls.json index 279931f04..2059f802a 100644 --- a/public/locales/en/modules/dns-hole-controls.json +++ b/public/locales/en/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "Show 'Enable/Disable All' Buttons" } + }, + "errors": { + "general": { + "title": "Unable to find a DNS hole", + "text": "There was a problem connecting to your DNS Hole(s). Please verify your configuration/integration(s)." + } } } } \ No newline at end of file diff --git a/public/locales/en/modules/weather.json b/public/locales/en/modules/weather.json index a8e5cefcc..9801bb907 100644 --- a/public/locales/en/modules/weather.json +++ b/public/locales/en/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "Unknown" } }, - "error": "An error occured" + "error": "An error occurred" } diff --git a/public/locales/es/authentication/invite.json b/public/locales/es/authentication/invite.json index ae924564d..1d273f1bc 100644 --- a/public/locales/es/authentication/invite.json +++ b/public/locales/es/authentication/invite.json @@ -1,7 +1,7 @@ { - "metaTitle": "Crear Cuenta", - "title": "Crear Cuenta", - "text": "Por favor, define tus credenciales abajo", + "metaTitle": "Crear cuenta", + "title": "Crear cuenta", + "text": "Por favor, define tus credenciales a continuación", "form": { "fields": { "username": { @@ -25,11 +25,11 @@ }, "success": { "title": "Cuenta creada", - "text": "Tu cuenta ha sido creada correctamente" + "text": "Tu cuenta ha sido creada con éxito" }, "error": { "title": "Error", - "text": "Algo salió mal, se obtuvo el siguiente error: {{error}}" + "text": "Algo salió mal, se encontró el siguiente error: {{error}}" } } } \ No newline at end of file diff --git a/public/locales/es/authentication/login.json b/public/locales/es/authentication/login.json index c15a40531..9b7ea0ed5 100644 --- a/public/locales/es/authentication/login.json +++ b/public/locales/es/authentication/login.json @@ -14,7 +14,7 @@ "buttons": { "submit": "Iniciar sesión" }, - "afterLoginRedirection": "Después de iniciar sesión, serás redireccionado a {{url}}" + "afterLoginRedirection": "Después de iniciar sesión, serás redirigido a {{url}}" }, - "alert": "Tus credenciales son incorrectas, o la cuenta no existe. Por favor, prueba otra vez." + "alert": "Tus credenciales son incorrectas o esta cuenta no existe. Por favor, inténtalo de nuevo." } \ No newline at end of file diff --git a/public/locales/es/boards/common.json b/public/locales/es/boards/common.json index a3158ddcb..6b508966e 100644 --- a/public/locales/es/boards/common.json +++ b/public/locales/es/boards/common.json @@ -1,5 +1,5 @@ { "header": { - "customize": "Personalizado tablero" + "customize": "Personalizar tablero" } } \ No newline at end of file diff --git a/public/locales/es/boards/customize.json b/public/locales/es/boards/customize.json index 8238885a6..54408aa30 100644 --- a/public/locales/es/boards/customize.json +++ b/public/locales/es/boards/customize.json @@ -19,11 +19,11 @@ }, "success": { "title": "Personalización guardada", - "message": "Tu personalización ha sido guardada correctamente" + "message": "Tu personalización se ha guardado correctamente" }, "error": { "title": "Error", - "message": "Imposible guardar cambios" + "message": "No se pueden guardar los cambios" } } } \ No newline at end of file diff --git a/public/locales/es/layout/header.json b/public/locales/es/layout/header.json index 0ae4e7386..870b2546c 100644 --- a/public/locales/es/layout/header.json +++ b/public/locales/es/layout/header.json @@ -7,7 +7,7 @@ "engines": { "web": "Buscar {{query}} en la web", "youtube": "Buscar {{query}} en YouTube", - "torrent": "Buscar {{query}} torrents", + "torrent": "Buscar {{query}} en torrents", "movie": "Buscar {{query}} en {{app}}" } }, @@ -15,7 +15,7 @@ "avatar": { "switchTheme": "Cambiar tema", "preferences": "Preferencias de usuario", - "defaultBoard": "Dashboard por defecto", + "defaultBoard": "Panel predeterminado", "manage": "Administrar", "about": { "label": "Acerca de", diff --git a/public/locales/es/manage/boards.json b/public/locales/es/manage/boards.json index 1c757680a..54dbed2b3 100644 --- a/public/locales/es/manage/boards.json +++ b/public/locales/es/manage/boards.json @@ -11,10 +11,10 @@ "view": "Ver tablero" }, "menu": { - "setAsDefault": "Establecer como tu tablero por defecto", + "setAsDefault": "Establecer como tu tablero predeterminado", "delete": { "label": "Eliminar permanentemente", - "disabled": "Eliminación desactivida, porque versiones antiguas de los componentes de Homarr no permiten la eliminación de la configuración por defecto. La eliminación será posible en el futuro." + "disabled": "Eliminación deshabilitada, porque los componentes más antiguos de Homarr no permiten la eliminación de la configuración predeterminada. La eliminación será posible en el futuro." } }, "badges": { @@ -28,11 +28,11 @@ "modals": { "delete": { "title": "Eliminar tablero", - "text": "¿Seguro que quieres eliminar este tablero? Esta acción no puede ser deshecha, y tus datos se perderán de manera permanente." + "text": "¿Estás seguro de que deseas eliminar este tablero? Esta acción no se puede deshacer y tus datos se perderán permanentemente." }, "create": { "title": "Crear tablero", - "text": "El nombre no puede cambiarse después de que el tablero haya sido creado.", + "text": "El nombre no se puede cambiar una vez creado el tablero.", "form": { "name": { "label": "Nombre" diff --git a/public/locales/es/manage/index.json b/public/locales/es/manage/index.json index 84028ee0b..f8c61edba 100644 --- a/public/locales/es/manage/index.json +++ b/public/locales/es/manage/index.json @@ -3,7 +3,7 @@ "hero": { "title": "Bienvenido/a de nuevo, {{username}}", "fallbackUsername": "Anónimo", - "subtitle": "Bienvenido/a a su centro de aplicaciones. ¡Organiza, optimiza y conquista!" + "subtitle": "Bienvenido/a a tu centro de aplicaciones. ¡Organiza, optimiza y conquista!" }, "quickActions": { "title": "Acciones rápidas", @@ -13,7 +13,7 @@ }, "inviteUsers": { "title": "Invitar a un nuevo usuario", - "subtitle": "Crea y envía una invitación para el registro" + "subtitle": "Crear y enviar una invitación para registrarse" }, "manageUsers": { "title": "Administrar usuarios", diff --git a/public/locales/es/manage/users.json b/public/locales/es/manage/users.json index 4b38059a8..415e3697c 100644 --- a/public/locales/es/manage/users.json +++ b/public/locales/es/manage/users.json @@ -1,7 +1,7 @@ { "metaTitle": "Usuarios", "pageTitle": "Administrar usuarios", - "text": "Usando usuarios, puedes configurar quien pueda editar tus dashboards. Versiones futuras de Homarr tendrán aún más control granular sobre los permisos y tableros.", + "text": "Mediante los usuarios, puedes configurar quién puede editar tus paneles. Las versiones futuras de Homarr tendrán un control aún más granular sobre los permisos y los tableros.", "buttons": { "create": "Crear" }, @@ -12,22 +12,22 @@ }, "tooltips": { "deleteUser": "Eliminar usuario", - "demoteAdmin": "Relevar administrador", - "promoteToAdmin": "Ascender a administrador" + "demoteAdmin": "Degradar administrador", + "promoteToAdmin": "Promover a administrador" }, "modals": { "delete": { "title": "Eliminar usuario {{name}}", - "text": "¿Seguro que quieres eliminar el usuario {{name}}? Esto eliminará todo dato asociado a dicha cuenta, pero no los dashboards creados por el usuario." + "text": "¿Estás seguro de que deseas eliminar el usuario {{name}}? Esto eliminará los datos asociados con esta cuenta, pero no los paneles creados por este usuario." }, "change-role": { "promote": { - "title": "Ascender usuario {{name}} a administrador", - "text": "¿Seguro que quieres ascender al usuario {{name}} a administrador? Esto le dará acceso a todos los recursos de tu instancia de Homarr." + "title": "Promover al usuario {{name}} a administrador", + "text": "¿Estás seguro de que deseas promocionar al usuario {{name}} a administrador? Esto le dará al usuario acceso a todos los recursos en tu instancia de Homarr." }, "demote": { - "title": "Relevar usuario {{name}}, y volver a usuario", - "text": "¿Seguro que quieres relevar al usuario {{name}}, y volverlo a usuario? Esto eliminará el acceso de dicho usuario a todos los recursos de tu instancia de Homarr." + "title": "Degradar al usuario {{name}} a usuario", + "text": "¿Estás seguro de que deseas degradar al usuario {{name}} a usuario? Esto eliminará el acceso del usuario a todos los recursos en tu instancia de Homarr." }, "confirm": "Confirmar" } diff --git a/public/locales/es/manage/users/create.json b/public/locales/es/manage/users/create.json index 03e2f6fcf..306c8ab76 100644 --- a/public/locales/es/manage/users/create.json +++ b/public/locales/es/manage/users/create.json @@ -8,7 +8,7 @@ "label": "Nombre de usuario" }, "email": { - "label": "E-Mail" + "label": "Correo electrónico" } }, "security": { @@ -23,14 +23,14 @@ "text": "Guardar en la base de datos", "card": { "title": "Revisar datos introducidos", - "text": "Después de enviar los datos a la base de datos, el usuario podrá iniciar sesión. ¿Estás seguro de que quieres almacenar este usuario en la base de datos y activar el inicio de sesión?" + "text": "Después de enviar tus datos a la base de datos, el usuario podrá iniciar sesión. ¿Está seguro de que desea almacenar este usuario en la base de datos y activar el inicio de sesión?" }, "table": { "header": { "property": "Propiedad", "value": "Valor", "username": "Nombre de usuario", - "email": "E-Mail", + "email": "Correo electrónico", "password": "Contraseña" }, "notSet": "No configurado", @@ -40,7 +40,7 @@ }, "completed": { "alert": { - "title": "Usuario creado", + "title": "El usuario fue creado", "text": "El usuario fue creado en la base de datos. Ahora pueden iniciar sesión." } } diff --git a/public/locales/es/manage/users/invites.json b/public/locales/es/manage/users/invites.json index 1886b6bfc..c530c3e92 100644 --- a/public/locales/es/manage/users/invites.json +++ b/public/locales/es/manage/users/invites.json @@ -1,7 +1,7 @@ { "metaTitle": "Invitaciones de usuario", "pageTitle": "Administrar invitaciones de usuario", - "description": "Al usar invitaciones, puedes invitar usuarios a tu instancia de Homarr. Una invitación solo será válida por un cierto periodo de tiempo, y puede ser usada una única vez. La expiración debe ser entre 5 minutos y 12 meses desde su creación.", + "description": "Mediante invitaciones, puedes invitar usuarios a tu instancia de Homarr. Una invitación solo será válida por un período de tiempo determinado y podrá usarse una vez. La caducidad debe ser entre 5 minutos y 12 meses desde su creación.", "button": { "createInvite": "Crear invitación", "deleteInvite": "Eliminar invitación" @@ -10,26 +10,26 @@ "header": { "id": "ID", "creator": "Creador", - "expires": "Expira", + "expires": "Caduca", "action": "Acciones" }, "data": { - "expiresAt": "expirado el {{at}}", + "expiresAt": "Caducado {{at}}", "expiresIn": "en {{in}}" } }, "modals": { "create": { "title": "Crear invitación", - "description": "Después de la expiración, una invitación ya no será válida, y el destinatario de la invitación no podrá crear una cuenta.", + "description": "Después de la caducidad, una invitación ya no será válida y el destinatario de la invitación no podrá crear una cuenta.", "form": { - "expires": "Fecha de expiración", + "expires": "Fecha de caducidad", "submit": "Crear" } }, "copy": { "title": "Copiar invitación", - "description": "Tu invitación se ha generado. Después de que este modal se cierre, no podrás copiar más este enlace. Si ya no deseas invitar a esta persona, puedes eliminar la invitación en cualquier momento.", + "description": "Tu invitación ha sido generada. Después de que se cierre esta ventana, ya no podrás copiar este enlace. Si ya no deseas invitar a dicha persona, puedes eliminar esta invitación en cualquier momento.", "invitationLink": "Link de invitación", "details": { "id": "ID", @@ -41,8 +41,8 @@ }, "delete": { "title": "Eliminar invitación", - "description": "¿Seguro que quieres eliminar la invitación? Los usuarios con este enlace, no podrán crear una cuenta usando dicho enlace." + "description": "¿Estás seguro de que deseas eliminar esta invitación? Los usuarios con este enlace ya no podrán crear una cuenta usando ese enlace." } }, - "noInvites": "Sin invitaciones aún." + "noInvites": "Aún no hay invitaciones." } \ No newline at end of file diff --git a/public/locales/es/modules/dns-hole-controls.json b/public/locales/es/modules/dns-hole-controls.json index 733a07698..7cf58eee6 100644 --- a/public/locales/es/modules/dns-hole-controls.json +++ b/public/locales/es/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "Mostrar botones 'Activar/Desactivar todos'" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/es/modules/weather.json b/public/locales/es/modules/weather.json index e69470cc7..1548e16dd 100644 --- a/public/locales/es/modules/weather.json +++ b/public/locales/es/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "Desconocido" } }, - "error": "Ocurrió un error" + "error": "" } diff --git a/public/locales/es/settings/customization/access.json b/public/locales/es/settings/customization/access.json index 2ceac7ba3..d91d16e59 100644 --- a/public/locales/es/settings/customization/access.json +++ b/public/locales/es/settings/customization/access.json @@ -1,6 +1,6 @@ { "allowGuests": { "label": "Permitir anónimos", - "description": "Permitir usuarios que no estén logeados para poder ver tu tablero" + "description": "Permitir que los usuarios que no han iniciado sesión vean tu tablero" } } \ No newline at end of file diff --git a/public/locales/es/settings/customization/general.json b/public/locales/es/settings/customization/general.json index 89fead8fc..c98b95246 100644 --- a/public/locales/es/settings/customization/general.json +++ b/public/locales/es/settings/customization/general.json @@ -23,7 +23,7 @@ }, "access": { "name": "Acceso", - "description": "Configura quien tiene acceso a tu tablero" + "description": "Configura quién tiene acceso a tu tablero" } } } diff --git a/public/locales/es/tools/docker.json b/public/locales/es/tools/docker.json index 4ea7af848..0f89db477 100644 --- a/public/locales/es/tools/docker.json +++ b/public/locales/es/tools/docker.json @@ -2,30 +2,30 @@ "title": "Docker", "alerts": { "notConfigured": { - "text": "Tu instancia de Homarr no tiene Docker configurado, o falló al obtener los contenedores. Por favor, comprueba la documentación sobre cómo configurar la integración." + "text": "Tu instancia de Homarr no tiene Docker configurado o no pudo recuperar contenedores. Por favor, consulta la documentación sobre cómo configurar la integración." } }, "modals": { "selectBoard": { "title": "Selecciona un tablero", - "text": "Selecciona el tablero donde quieres añadir las apps para los contenedores marcados.", + "text": "Selecciona el tablero donde deseas añadir las aplicaciones para los contenedores Docker seleccionados.", "form": { "board": { "label": "Tablero" }, - "submit": "Añadir apps" + "submit": "Añadir aplicaciones" } } }, "notifications": { "selectBoard": { "success": { - "title": "Apps añadidas al tablero", - "message": "Las apps de los contenedores Docker marcadas han sido añadidas al tablero." + "title": "Aplicaciones añadidas al tablero", + "message": "Las aplicaciones para los contenedores Docker seleccionados se han agregado al tablero." }, "error": { - "title": "Fallo al añadir las apps al tablero", - "message": "Las apps para los contenedores marcados no pudieron ser añadidas al tablero." + "title": "No se pudieron añadir aplicaciones al tablero", + "message": "Las aplicaciones para los contenedores Docker seleccionados no se pudieron añadir al tablero." } } } diff --git a/public/locales/es/user/preferences.json b/public/locales/es/user/preferences.json index fb043d288..a48b73040 100644 --- a/public/locales/es/user/preferences.json +++ b/public/locales/es/user/preferences.json @@ -3,7 +3,7 @@ "pageTitle": "Tus preferencias", "boards": { "defaultBoard": { - "label": "Tablero por defecto" + "label": "Tablero predeterminado" } }, "accessibility": { @@ -34,15 +34,15 @@ "title": "Motor de búsqueda", "custom": "Personalizado", "newTab": { - "label": "Abrir resultados de búsqueda en nueva pestaña" + "label": "Abrir resultados de búsqueda en una nueva pestaña" }, "autoFocus": { - "label": "", - "description": "" + "label": "Enfocar en la barra de búsqueda al cargar la página.", + "description": "Esto enfocará automáticamente la barra de búsqueda cuando navegue a las páginas del tablero. Sólo funcionará en dispositivos de escritorio." }, "template": { "label": "URL de consulta", - "description": "Usar %s como marcador de posición de la consulta" + "description": "Usar \"%s\" como marcador de posición de la consulta" } } } \ No newline at end of file diff --git a/public/locales/es/zod.json b/public/locales/es/zod.json index 044027090..49ec77b49 100644 --- a/public/locales/es/zod.json +++ b/public/locales/es/zod.json @@ -1,19 +1,19 @@ { "errors": { - "default": "El campo no es válido", + "default": "Este campo no es válido", "required": "Este campo es obligatorio", "string": { - "startsWith": "El campo debe empezar con {{startsWith}}", - "endsWith": "El campo debe acabar en {{endsWith}}", - "includes": "El campo debe incluir {{includes}}" + "startsWith": "Este campo debe empezar con {{startsWith}}", + "endsWith": "Este campo debe terminar con {{endsWith}}", + "includes": "Este campo debe incluir {{includes}}" }, "tooSmall": { - "string": "El campo debe ser de al menos {{minimum}} caracteres de largo", - "number": "El campo debe ser más grande, o igual a {{minimum}}" + "string": "Este campo debe tener al menos {{minimum}} caracteres", + "number": "Este campo debe ser mayor o igual a {{minimum}}" }, "tooBig": { - "string": "El campo debe ser al menos {{maximum}} caracteres de largo", - "number": "El campo debe menor o igual a {{maximum}}" + "string": "Este campo debe tener como máximo {{maximum}} caracteres", + "number": "Este campo debe ser menor o igual a {{maximum}}" }, "custom": { "passwordMatch": "Las contraseñas deben coincidir" diff --git a/public/locales/fr/layout/header.json b/public/locales/fr/layout/header.json index a58ce7c1b..1e8dae9e5 100644 --- a/public/locales/fr/layout/header.json +++ b/public/locales/fr/layout/header.json @@ -16,10 +16,10 @@ "switchTheme": "Changer de thème", "preferences": "Préférences utilisateur", "defaultBoard": "Tableau de bord par défaut", - "manage": "", + "manage": "Gérer", "about": { "label": "À propos", - "new": "" + "new": "Nouveau" }, "logout": "Se déconnecter de {{username}}", "login": "Connexion" diff --git a/public/locales/fr/layout/manage.json b/public/locales/fr/layout/manage.json index d6aa8e65b..b513364f2 100644 --- a/public/locales/fr/layout/manage.json +++ b/public/locales/fr/layout/manage.json @@ -9,7 +9,7 @@ "users": { "title": "Utilisateurs", "items": { - "manage": "", + "manage": "Gérer", "invites": "Invitations" } }, diff --git a/public/locales/fr/manage/boards.json b/public/locales/fr/manage/boards.json index f49b519e2..f39beb510 100644 --- a/public/locales/fr/manage/boards.json +++ b/public/locales/fr/manage/boards.json @@ -19,7 +19,7 @@ }, "badges": { "fileSystem": "Système de fichiers", - "default": "" + "default": "Par défaut" } }, "buttons": { diff --git a/public/locales/fr/manage/index.json b/public/locales/fr/manage/index.json index 9a51024e2..f0711cbc9 100644 --- a/public/locales/fr/manage/index.json +++ b/public/locales/fr/manage/index.json @@ -1,5 +1,5 @@ { - "metaTitle": "", + "metaTitle": "Gérer", "hero": { "title": "Content de te revoir, {{username}}", "fallbackUsername": "Anonyme", diff --git a/public/locales/fr/manage/users.json b/public/locales/fr/manage/users.json index 46313b37a..2f95243f2 100644 --- a/public/locales/fr/manage/users.json +++ b/public/locales/fr/manage/users.json @@ -1,7 +1,7 @@ { "metaTitle": "Utilisateurs", "pageTitle": "Gérer les utilisateurs", - "text": "", + "text": "En utilisant des utilisateurs, vous pouvez configurer qui peut éditer vos tableaux de bord. Les prochaines versions de Homarr auront un contrôle plus fin quant aux permissions et les tableaux de bord.", "buttons": { "create": "Créer" }, @@ -18,16 +18,16 @@ "modals": { "delete": { "title": "Supprimer l'utilisateur {{name}}", - "text": "" + "text": "Voulez-vous vraiment supprimer l'utilisateur {{name}} ? Cela supprimera les données associées au compte mais pas les tableaux de bord créés par celui-ci." }, "change-role": { "promote": { "title": "Promouvoir l'utilisateur {{name}} en tant qu'administrateur", - "text": "" + "text": "Voulez-vous vraiment promouvoir l'utilisateur {{name}} en tant qu'administrateur ? Ceci donnera à celui-ci l'accès à toutes les ressources de votre instance Homarr." }, "demote": { - "title": "", - "text": "" + "title": "Rétrograder l'utilisateur {{name}} en tant qu'utilisateur", + "text": "Voulez-vous vraiment rétrograder l'utilisateur {{name}} en tant qu'administrateur ? Ceci supprimera l'accès à l'utilisateur à toutes les ressources de votre instance Homarr." }, "confirm": "Confirmer" } diff --git a/public/locales/fr/manage/users/invites.json b/public/locales/fr/manage/users/invites.json index 786f32426..3ac2c1049 100644 --- a/public/locales/fr/manage/users/invites.json +++ b/public/locales/fr/manage/users/invites.json @@ -1,7 +1,7 @@ { - "metaTitle": "", + "metaTitle": "Invitations des utilisateurs", "pageTitle": "Gérer les invitations des utilisateurs", - "description": "", + "description": "Avec les invitations, vous pouvez convier des utilisateurs sur votre instance Homarr. Une invitation ne sera valide que pendant un certain temps et ne peut être utilisée qu'une fois. L'expiration doit être définie entre 5 minutes et 12 mois.", "button": { "createInvite": "Créer une invitation", "deleteInvite": "Supprimer une invitation" diff --git a/public/locales/fr/modules/dns-hole-controls.json b/public/locales/fr/modules/dns-hole-controls.json index 591133245..151e5f212 100644 --- a/public/locales/fr/modules/dns-hole-controls.json +++ b/public/locales/fr/modules/dns-hole-controls.json @@ -3,10 +3,16 @@ "name": "Pilotage du DNS Hole", "description": "Contrôlez PiHole ou AdGuard depuis votre tableau de bord", "settings": { - "title": "", + "title": "Paramètres du DNS Hole", "showToggleAllButtons": { "label": "Afficher les boutons \"Activer/Désactiver tout\"" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/fr/modules/weather.json b/public/locales/fr/modules/weather.json index 2de7c60db..14f23526b 100644 --- a/public/locales/fr/modules/weather.json +++ b/public/locales/fr/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "Inconnu" } }, - "error": "Une erreur est survenue" + "error": "" } diff --git a/public/locales/fr/settings/general/config-changer.json b/public/locales/fr/settings/general/config-changer.json index fc6f629ab..86f4360cb 100644 --- a/public/locales/fr/settings/general/config-changer.json +++ b/public/locales/fr/settings/general/config-changer.json @@ -1,7 +1,7 @@ { "configSelect": { "label": "Changeur de configuration", - "description": "{{configCount}} configurations disponibles", + "description": "{{configCount}} configuration(s) disponible(s)", "loadingNew": "Chargement des configurations ...", "pleaseWait": "Veuillez attendre que votre nouvelle configuration soit chargée !" }, diff --git a/public/locales/fr/tools/docker.json b/public/locales/fr/tools/docker.json index b5a96e712..0ffe2a29a 100644 --- a/public/locales/fr/tools/docker.json +++ b/public/locales/fr/tools/docker.json @@ -2,7 +2,7 @@ "title": "Docker", "alerts": { "notConfigured": { - "text": "" + "text": "Docker n'est pas configuré sur votre instance Homarr ou a échoué à trouver les conteneurs. Veuillez vérifier la documentation pour savoir comment configurer cette intégration." } }, "modals": { diff --git a/public/locales/he/layout/manage.json b/public/locales/he/layout/manage.json index fb1a00ddb..819b19807 100644 --- a/public/locales/he/layout/manage.json +++ b/public/locales/he/layout/manage.json @@ -1,29 +1,29 @@ { "navigation": { "home": { - "title": "" + "title": "מסך הבית" }, "boards": { - "title": "" + "title": "לוחות" }, "users": { - "title": "", + "title": "משתמשים", "items": { "manage": "ניהול", - "invites": "" + "invites": "הזמנות" } }, "help": { - "title": "", + "title": "עזרה", "items": { "documentation": "תיעוד", - "report": "", - "discord": "", - "contribute": "" + "report": "דווח על בעיה / תקלה", + "discord": "קהילת דיסקורד", + "contribute": "תרומה" } }, "tools": { - "title": "", + "title": "כלים", "items": { "docker": "דוקר" } diff --git a/public/locales/he/manage/boards.json b/public/locales/he/manage/boards.json index ea0044e6d..24617805b 100644 --- a/public/locales/he/manage/boards.json +++ b/public/locales/he/manage/boards.json @@ -1,6 +1,6 @@ { - "metaTitle": "", - "pageTitle": "", + "metaTitle": "לוחות", + "pageTitle": "לוחות", "cards": { "statistics": { "apps": "אפליקציות", @@ -8,36 +8,36 @@ "categories": "קטגוריות" }, "buttons": { - "view": "" + "view": "צפייה בלוח" }, "menu": { - "setAsDefault": "", + "setAsDefault": "קביעת לוח ברירת מחדל", "delete": { - "label": "", - "disabled": "" + "label": "מחיקה לצמיתות", + "disabled": "המחיקה מושבתת, מכיוון שרכיבי Homarr ישנים יותר אינם מאפשרים מחיקה של תצורת ברירת המחדל. המחיקה תתאפשר בעתיד." } }, "badges": { - "fileSystem": "", - "default": "" + "fileSystem": "מערכת קבצים", + "default": "ברירת מחדל" } }, "buttons": { - "create": "" + "create": "יצירת לוח חדש" }, "modals": { "delete": { - "title": "", - "text": "" + "title": "מחיקת לוח", + "text": "האם אתה בטוח שאתה רוצה למחוק את הלוח הזה? לא ניתן לבטל פעולה זו והנתונים שלך יאבדו לצמיתות." }, "create": { - "title": "", - "text": "", + "title": "צור לוח", + "text": "לא ניתן לשנות את השם לאחר יצירת לוח.", "form": { "name": { "label": "שם" }, - "submit": "" + "submit": "צור" } } } diff --git a/public/locales/he/manage/index.json b/public/locales/he/manage/index.json index 842599505..6270ae079 100644 --- a/public/locales/he/manage/index.json +++ b/public/locales/he/manage/index.json @@ -1,23 +1,23 @@ { "metaTitle": "ניהול", "hero": { - "title": "", - "fallbackUsername": "", - "subtitle": "" + "title": "ברוך שובך, {{username}}", + "fallbackUsername": "אנונימי", + "subtitle": "ברוכים הבאים למרכז היישומים שלך. ארגן, ייעל וכבוש!" }, "quickActions": { - "title": "", + "title": "פעולות מהירות", "boards": { - "title": "", - "subtitle": "" + "title": "הלוחות שלך", + "subtitle": "צור ונהל את הלוחות שלך" }, "inviteUsers": { - "title": "", - "subtitle": "" + "title": "הזמנת משתמש חדש", + "subtitle": "צור ושלח הזמנה להרשמה" }, "manageUsers": { - "title": "", - "subtitle": "" + "title": "ניהול משתמשים", + "subtitle": "צור ונהל את המשתמשים שלך" } } } \ No newline at end of file diff --git a/public/locales/he/manage/users.json b/public/locales/he/manage/users.json index 51edc6a0d..882562149 100644 --- a/public/locales/he/manage/users.json +++ b/public/locales/he/manage/users.json @@ -1,9 +1,9 @@ { - "metaTitle": "", - "pageTitle": "", + "metaTitle": "משתמשים", + "pageTitle": "ניהול משתמשים", "text": "באמצעות משתמשים, באפשרותך להגדיר מי יוכל לערוך את לוח המחוונים שלך. גרסאות עתידיות של Homarr יהיו בעלות שליטה פרטנית עוד יותר על הרשאות ולוחות.", "buttons": { - "create": "" + "create": "צור" }, "table": { "header": { diff --git a/public/locales/he/manage/users/invites.json b/public/locales/he/manage/users/invites.json index 7f1a8291e..dd866b371 100644 --- a/public/locales/he/manage/users/invites.json +++ b/public/locales/he/manage/users/invites.json @@ -1,30 +1,30 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "הזמנות משתמש", + "pageTitle": "נהל הזמנות משתמש", + "description": "באמצעות הזמנות, ניתן להזמין משתמשים למופע Homarr שלך. הזמנה תהיה תקפה רק לפרק זמן מסוים וניתן להשתמש בה פעם אחת. התפוגה חייבת להיות בין 5 דקות ל-12 חודשים מרגע היצירה.", "button": { - "createInvite": "", - "deleteInvite": "" + "createInvite": "יצירת הזמנה", + "deleteInvite": "מחיקת הזמנה" }, "table": { "header": { - "id": "", - "creator": "", - "expires": "", - "action": "" + "id": "מספר מזהה", + "creator": "יוצר", + "expires": "פג תוקף", + "action": "פעולות" }, "data": { - "expiresAt": "", - "expiresIn": "" + "expiresAt": "פג תוקף ב-{{at}}", + "expiresIn": "ב-{{in}}" } }, "modals": { "create": { - "title": "", - "description": "", + "title": "יצירת הזמנה", + "description": "לאחר התפוגה, הזמנה לא תהיה תקפה יותר ומקבל ההזמנה לא יוכל ליצור חשבון.", "form": { - "expires": "", - "submit": "" + "expires": "תאריך תפוגה", + "submit": "צור" } }, "copy": { @@ -32,7 +32,7 @@ "description": "ההזמנה שלך נוצרה. לאחר סגירת המודל הזה, לא תוכל להעתיק את הקישור הזה יותר. אם אינך מעוניין יותר להזמין את האדם האמור, תוכל למחוק הזמנה זו בכל עת.", "invitationLink": "קישור הזמנה", "details": { - "id": "", + "id": "מספר מזהה", "token": "טוקן" }, "button": { @@ -40,7 +40,7 @@ } }, "delete": { - "title": "", + "title": "מחיקת הזמנה", "description": "האם אתה בטוח שברצונך למחוק את ההזמנה הזו? משתמשים עם קישור זה לא יוכלו עוד ליצור חשבון באמצעות קישור זה." } }, diff --git a/public/locales/he/modules/dns-hole-controls.json b/public/locales/he/modules/dns-hole-controls.json index 27d472687..86857fc9d 100644 --- a/public/locales/he/modules/dns-hole-controls.json +++ b/public/locales/he/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "הצג את לחצני 'הפעל/השבת הכל'" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/he/modules/weather.json b/public/locales/he/modules/weather.json index 2b4e67251..a25dd1b18 100644 --- a/public/locales/he/modules/weather.json +++ b/public/locales/he/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "לא ידוע" } }, - "error": "אירעה שגיאה" + "error": "" } diff --git a/public/locales/he/password-requirements.json b/public/locales/he/password-requirements.json index 9e26dfeeb..dc782f98b 100644 --- a/public/locales/he/password-requirements.json +++ b/public/locales/he/password-requirements.json @@ -1 +1,7 @@ -{} \ No newline at end of file +{ + "number": "אפשר מספרים", + "lowercase": "אפשר אותיות קטנות", + "uppercase": "אפשר אותיות גדולות", + "special": "אפשר תווים מיוחדים", + "length": "כולל לפחות {{count}} תווים" +} \ No newline at end of file diff --git a/public/locales/he/settings/customization/access.json b/public/locales/he/settings/customization/access.json index cc4d17f61..55e0e75d6 100644 --- a/public/locales/he/settings/customization/access.json +++ b/public/locales/he/settings/customization/access.json @@ -1,6 +1,6 @@ { "allowGuests": { - "label": "", - "description": "" + "label": "אפשר אנונימי", + "description": "אפשר למשתמשים שאינם מחוברים לצפות בלוח שלך" } } \ No newline at end of file diff --git a/public/locales/he/tools/docker.json b/public/locales/he/tools/docker.json index 23d6bcfad..c2ef87e55 100644 --- a/public/locales/he/tools/docker.json +++ b/public/locales/he/tools/docker.json @@ -21,11 +21,11 @@ "selectBoard": { "success": { "title": "נוספו אפליקציות ללוח", - "message": "" + "message": "האפליקציות עבור מכולות Docker שנבחרו נוספו ללוח." }, "error": { - "title": "", - "message": "" + "title": "הוספת אפליקציות ללוח נכשלה", + "message": "לא ניתן היה להוסיף את האפליקציות עבור מכולות Docker שנבחרו ללוח." } } } diff --git a/public/locales/hr/modules/dns-hole-controls.json b/public/locales/hr/modules/dns-hole-controls.json index d4ce8084d..3f87eb2dd 100644 --- a/public/locales/hr/modules/dns-hole-controls.json +++ b/public/locales/hr/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/hu/boards/common.json b/public/locales/hu/boards/common.json index b74ab8a81..0d191c5e7 100644 --- a/public/locales/hu/boards/common.json +++ b/public/locales/hu/boards/common.json @@ -1,5 +1,5 @@ { "header": { - "customize": "Testreszabható tábla" + "customize": "Személyre szabható tábla" } } \ No newline at end of file diff --git a/public/locales/hu/modules/dns-hole-controls.json b/public/locales/hu/modules/dns-hole-controls.json index ea3994fd1..60da7aa4b 100644 --- a/public/locales/hu/modules/dns-hole-controls.json +++ b/public/locales/hu/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "'Minden engedélyezés/letiltás gombok megjelenítése" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/hu/modules/weather.json b/public/locales/hu/modules/weather.json index d5d57f56b..646faac8f 100644 --- a/public/locales/hu/modules/weather.json +++ b/public/locales/hu/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "Ismeretlen" } }, - "error": "Hiba történt" + "error": "" } diff --git a/public/locales/hu/settings/customization/access.json b/public/locales/hu/settings/customization/access.json index cc4d17f61..b87813af4 100644 --- a/public/locales/hu/settings/customization/access.json +++ b/public/locales/hu/settings/customization/access.json @@ -1,6 +1,6 @@ { "allowGuests": { - "label": "", - "description": "" + "label": "Anonim megtekintés engedélyezése", + "description": "Engedélyezze a nem bejelentkezett felhasználók számára, hogy megtekintsék a táblát" } } \ No newline at end of file diff --git a/public/locales/it/authentication/invite.json b/public/locales/it/authentication/invite.json index 19d231371..686c2f1d7 100644 --- a/public/locales/it/authentication/invite.json +++ b/public/locales/it/authentication/invite.json @@ -1,7 +1,7 @@ { - "metaTitle": "", - "title": "", - "text": "", + "metaTitle": "Crea Account", + "title": "Crea Account", + "text": "Definisci le tue credenziali qui sotto", "form": { "fields": { "username": { @@ -11,25 +11,25 @@ "label": "Password" }, "passwordConfirmation": { - "label": "" + "label": "Conferma password" } }, "buttons": { - "submit": "" + "submit": "Crea account" } }, "notifications": { "loading": { - "title": "", - "text": "" + "title": "Creazione account in corso", + "text": "Attendere" }, "success": { - "title": "", - "text": "" + "title": "Account creato", + "text": "Il tuo account è stato creato con successo" }, "error": { "title": "Errore", - "text": "" + "text": "Qualcosa è andato storto, riferirsi al seguente errore: {{error}}" } } } \ No newline at end of file diff --git a/public/locales/it/authentication/login.json b/public/locales/it/authentication/login.json index b1a6c9d3b..b04b705b2 100644 --- a/public/locales/it/authentication/login.json +++ b/public/locales/it/authentication/login.json @@ -1,7 +1,7 @@ { - "metaTitle": "", + "metaTitle": "Accedi", "title": "Bentornati!", - "text": "", + "text": "Inserisci le tue credenziali", "form": { "fields": { "username": { @@ -14,7 +14,7 @@ "buttons": { "submit": "Accedi" }, - "afterLoginRedirection": "" + "afterLoginRedirection": "Dopo il login, verrete reindirizzati a {{url}}" }, - "alert": "" + "alert": "Le credenziali non sono corrette o questo account non esiste. Si prega di riprovare." } \ No newline at end of file diff --git a/public/locales/it/boards/common.json b/public/locales/it/boards/common.json index a70db06bf..04c8ebf8d 100644 --- a/public/locales/it/boards/common.json +++ b/public/locales/it/boards/common.json @@ -1,5 +1,5 @@ { "header": { - "customize": "" + "customize": "Personalizza la board" } } \ No newline at end of file diff --git a/public/locales/it/boards/customize.json b/public/locales/it/boards/customize.json index a6e8e0421..c711b0092 100644 --- a/public/locales/it/boards/customize.json +++ b/public/locales/it/boards/customize.json @@ -1,29 +1,29 @@ { - "metaTitle": "", - "pageTitle": "", - "backToBoard": "", + "metaTitle": "Personalizza la board {{name}}", + "pageTitle": "Personalizzazione per la board {{name}}", + "backToBoard": "Torna alla board", "settings": { "appearance": { - "primaryColor": "", - "secondaryColor": "" + "primaryColor": "Colore primario", + "secondaryColor": "Colore secondario" } }, "save": { - "button": "", - "note": "" + "button": "Salva modifiche", + "note": "Attenzione, ci sono modifiche non salvate!" }, "notifications": { "pending": { - "title": "", - "message": "" + "title": "Salvataggio personalizzazione", + "message": "Attendere mentre si salva la personalizzazione" }, "success": { - "title": "", - "message": "" + "title": "Personalizzazione salvata", + "message": "La tua personalizzazione è stata salvata con successo" }, "error": { "title": "Errore", - "message": "" + "message": "Impossibile salvare le modifiche" } } } \ No newline at end of file diff --git a/public/locales/it/common.json b/public/locales/it/common.json index be10804a9..3bae12fd7 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -3,12 +3,12 @@ "about": "Info", "cancel": "Annulla", "close": "Chiudi", - "back": "", + "back": "Indietro", "delete": "Elimina", "ok": "OK", "edit": "Modifica", - "next": "", - "previous": "", + "next": "Successivo", + "previous": "Precedente", "confirm": "Conferma", "enabled": "Abilitato", "disabled": "Disattivato", diff --git a/public/locales/it/layout/header.json b/public/locales/it/layout/header.json index d579e7055..e47a1fb4b 100644 --- a/public/locales/it/layout/header.json +++ b/public/locales/it/layout/header.json @@ -1,34 +1,34 @@ { "experimentalNote": { - "label": "" + "label": "Questa è una caratteristica sperimentale di Homarr. Si prega di segnalare qualsiasi problema su GitHub o Discord." }, "search": { - "label": "", + "label": "Cerca", "engines": { - "web": "", - "youtube": "", - "torrent": "", - "movie": "" + "web": "Cerca {{query}} sul web", + "youtube": "Cerca {{query}} su YouTube", + "torrent": "Cerca per i torrent {{query}}", + "movie": "Ricerca di {{query}} su {{app}}" } }, "actions": { "avatar": { - "switchTheme": "", - "preferences": "", - "defaultBoard": "", - "manage": "", + "switchTheme": "Cambia tema", + "preferences": "Impostazioni utente", + "defaultBoard": "Dashboard predefinita", + "manage": "Gestisci", "about": { "label": "Info", - "new": "" + "new": "Nuovo" }, - "logout": "", - "login": "" + "logout": "Esci da {{username}}", + "login": "Accedi" } }, "modals": { "movie": { "title": "", - "topResults": "" + "topResults": "Top {{count}} risultati per {{search}}." } } } \ No newline at end of file diff --git a/public/locales/it/layout/manage.json b/public/locales/it/layout/manage.json index 2f81d8462..518779b11 100644 --- a/public/locales/it/layout/manage.json +++ b/public/locales/it/layout/manage.json @@ -1,29 +1,29 @@ { "navigation": { "home": { - "title": "" + "title": "Home" }, "boards": { - "title": "" + "title": "Boards" }, "users": { - "title": "", + "title": "Utenti", "items": { - "manage": "", - "invites": "" + "manage": "Gestisci", + "invites": "Inviti" } }, "help": { - "title": "", + "title": "Aiuto", "items": { "documentation": "Documentazione", - "report": "", - "discord": "", - "contribute": "" + "report": "Segnala un problema / bug", + "discord": "Discord della community", + "contribute": "Contribuisci" } }, "tools": { - "title": "", + "title": "Strumenti", "items": { "docker": "Docker" } diff --git a/public/locales/it/manage/boards.json b/public/locales/it/manage/boards.json index c2992be0a..594f14a74 100644 --- a/public/locales/it/manage/boards.json +++ b/public/locales/it/manage/boards.json @@ -1,6 +1,6 @@ { - "metaTitle": "", - "pageTitle": "", + "metaTitle": "Boards", + "pageTitle": "Boards", "cards": { "statistics": { "apps": "Applicazioni", @@ -8,36 +8,36 @@ "categories": "Categorie" }, "buttons": { - "view": "" + "view": "Mostra board" }, "menu": { - "setAsDefault": "", + "setAsDefault": "Imposta come board predefinita", "delete": { - "label": "", - "disabled": "" + "label": "Elimina definitivamente", + "disabled": "Eliminazione disabilitata, perché i vecchi componenti di Homarr non consentono la cancellazione della configurazione predefinita. La cancellazione sarà possibile in futuro." } }, "badges": { - "fileSystem": "", - "default": "" + "fileSystem": "File system", + "default": "Predefinito" } }, "buttons": { - "create": "" + "create": "Crea nuova board" }, "modals": { "delete": { - "title": "", - "text": "" + "title": "Elimina board", + "text": "Siete sicuri di voler eliminare questa board? Questa azione non può essere annullata e i dati andranno persi definitivamente." }, "create": { - "title": "", - "text": "", + "title": "Crea board", + "text": "Il nome non può essere modificato dopo la creazione della board.", "form": { "name": { "label": "Nome" }, - "submit": "" + "submit": "Crea" } } } diff --git a/public/locales/it/manage/index.json b/public/locales/it/manage/index.json index 5c5b4c0b9..5347390d0 100644 --- a/public/locales/it/manage/index.json +++ b/public/locales/it/manage/index.json @@ -1,23 +1,23 @@ { - "metaTitle": "", + "metaTitle": "Gestisci", "hero": { - "title": "", - "fallbackUsername": "", - "subtitle": "" + "title": "Bentornati, {{username}}", + "fallbackUsername": "Anonimo", + "subtitle": "Benvenuti nel vostro Application Hub. Organizza, ottimizza e conquista!" }, "quickActions": { - "title": "", + "title": "Azioni rapide", "boards": { - "title": "", - "subtitle": "" + "title": "Le tue board", + "subtitle": "Crea e gestisci le tue board" }, "inviteUsers": { - "title": "", - "subtitle": "" + "title": "Invita un nuovo utente", + "subtitle": "Crea e invia un invito per la registrazione" }, "manageUsers": { - "title": "", - "subtitle": "" + "title": "Gestisci utenti", + "subtitle": "Elimina e gestisci i tuoi utenti" } } } \ No newline at end of file diff --git a/public/locales/it/manage/users.json b/public/locales/it/manage/users.json index 6df578de1..692dc753b 100644 --- a/public/locales/it/manage/users.json +++ b/public/locales/it/manage/users.json @@ -1,9 +1,9 @@ { - "metaTitle": "", - "pageTitle": "", - "text": "", + "metaTitle": "Utenti", + "pageTitle": "Gestisci utenti", + "text": "Utilizzando gli utenti, è possibile configurare chi può modificare i dashboard. Le versioni future di Homarr offriranno un controllo ancora più granulare sulle autorizzazioni e sulle board.", "buttons": { - "create": "" + "create": "Crea" }, "table": { "header": { @@ -11,26 +11,26 @@ } }, "tooltips": { - "deleteUser": "", - "demoteAdmin": "", - "promoteToAdmin": "" + "deleteUser": "Elimina utente", + "demoteAdmin": "Declassa amministratore", + "promoteToAdmin": "Promuovi ad amministratore" }, "modals": { "delete": { - "title": "", - "text": "" + "title": "Elimina l'utente {{name}}", + "text": "Si è sicuri di voler eliminare l'utente {{name}}? Questo eliminerà i dati associati a questo account, ma non le dashboard create da questo utente." }, "change-role": { "promote": { - "title": "", - "text": "" + "title": "Promuovi l'utente {{name}} ad amministratore", + "text": "Siete sicuri di voler promuovere l'utente {{name}} ad amministratore? In questo modo l'utente avrà accesso a tutte le risorse dell'istanza di Homarr." }, "demote": { - "title": "", - "text": "" + "title": "Declassa l'utente {{name}} a utente", + "text": "Siete sicuri di voler declassare l'utente {{name}} a utente? Questo rimuoverà l'accesso dell'utente a tutte le risorse dell'istanza di Homarr." }, "confirm": "Conferma" } }, - "searchDoesntMatch": "" + "searchDoesntMatch": "La ricerca non corrisponde a nessuna voce. Si prega di modificare il filtro." } \ No newline at end of file diff --git a/public/locales/it/manage/users/create.json b/public/locales/it/manage/users/create.json index f39b63ad3..7c2a30cf2 100644 --- a/public/locales/it/manage/users/create.json +++ b/public/locales/it/manage/users/create.json @@ -1,52 +1,52 @@ { - "metaTitle": "", + "metaTitle": "Crea utente", "steps": { "account": { - "title": "", - "text": "", + "title": "Primo passo", + "text": "Crea account", "username": { "label": "Nome utente" }, "email": { - "label": "" + "label": "E-mail" } }, "security": { - "title": "", + "title": "Secondo passo", "text": "Password", "password": { "label": "Password" } }, "finish": { - "title": "", - "text": "", + "title": "Conferma", + "text": "Salva nel database", "card": { - "title": "", - "text": "" + "title": "Rivedi i tuoi input", + "text": "Dopo aver inviato i dati al database, l'utente potrà effettuare il login. Siete sicuri di voler memorizzare questo utente nel database e attivare il login?" }, "table": { "header": { - "property": "", - "value": "", + "property": "Proprietà", + "value": "Valore", "username": "Nome utente", - "email": "", + "email": "E-mail", "password": "Password" }, - "notSet": "", - "valid": "" + "notSet": "Non impostato", + "valid": "Valido" }, - "failed": "" + "failed": "Creazione utente non riuscita: {{error}}" }, "completed": { "alert": { - "title": "", - "text": "" + "title": "Utente creato", + "text": "L'utente è stato creato nel database. Ora può effettuare il login." } } }, "buttons": { - "generateRandomPassword": "", - "createAnother": "" + "generateRandomPassword": "Genera casualmente", + "createAnother": "Crea un altro" } } \ No newline at end of file diff --git a/public/locales/it/manage/users/invites.json b/public/locales/it/manage/users/invites.json index 8ba8ec70c..dac34aa1a 100644 --- a/public/locales/it/manage/users/invites.json +++ b/public/locales/it/manage/users/invites.json @@ -1,48 +1,48 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "Inviti utente", + "pageTitle": "Gestisci inviti utente", + "description": "Utilizzando gli inviti, è possibile invitare gli utenti alla propria istanza di Homarr. Un invito sarà valido solo per un certo periodo di tempo e potrà essere utilizzato una sola volta. La scadenza deve essere compresa tra 5 minuti e 12 mesi al momento della creazione.", "button": { - "createInvite": "", - "deleteInvite": "" + "createInvite": "Crea invito", + "deleteInvite": "Elimina invito" }, "table": { "header": { - "id": "", - "creator": "", - "expires": "", - "action": "" + "id": "ID", + "creator": "Creatore", + "expires": "Scadenza", + "action": "Azioni" }, "data": { - "expiresAt": "", - "expiresIn": "" + "expiresAt": "scaduto {{at}}", + "expiresIn": "nel {{in}}" } }, "modals": { "create": { - "title": "", - "description": "", + "title": "Crea invito", + "description": "Dopo la scadenza, un invito non sarà più valido e il destinatario dell'invito non potrà creare un account.", "form": { - "expires": "", - "submit": "" + "expires": "Data di scadenza", + "submit": "Crea" } }, "copy": { - "title": "", - "description": "", - "invitationLink": "", + "title": "Copia invito", + "description": "Il tuo invito è stato generato. Dopo questa chiusura modale, non sarai più in grado di copiare questo link. Se non si desidera più invitare detta persona, è possibile eliminare questo invito in qualsiasi momento.", + "invitationLink": "Link d'invito", "details": { - "id": "", - "token": "" + "id": "ID", + "token": "Token" }, "button": { - "close": "" + "close": "Copia e rimuovi" } }, "delete": { - "title": "", - "description": "" + "title": "Elimina invito", + "description": "Siete sicuri di voler eliminare questo invito? Gli utenti con questo link non potranno più creare un account utilizzando tale link." } }, - "noInvites": "" + "noInvites": "Non ci sono ancora inviti." } \ No newline at end of file diff --git a/public/locales/it/modules/dns-hole-controls.json b/public/locales/it/modules/dns-hole-controls.json index e0498e4d9..449b4897b 100644 --- a/public/locales/it/modules/dns-hole-controls.json +++ b/public/locales/it/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "Mostra i pulsanti \"Abilita/Disabilita tutto\"" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/it/modules/weather.json b/public/locales/it/modules/weather.json index 1078d206b..f709e09ba 100644 --- a/public/locales/it/modules/weather.json +++ b/public/locales/it/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "Sconosciuto" } }, - "error": "Si è verificato un errore" + "error": "" } diff --git a/public/locales/it/password-requirements.json b/public/locales/it/password-requirements.json index 9e26dfeeb..281191aa4 100644 --- a/public/locales/it/password-requirements.json +++ b/public/locales/it/password-requirements.json @@ -1 +1,7 @@ -{} \ No newline at end of file +{ + "number": "Include numero", + "lowercase": "Include lettera minuscola", + "uppercase": "Include lettera maiuscola", + "special": "Include carattere speciale", + "length": "Include almeno {{count}} caratteri" +} \ No newline at end of file diff --git a/public/locales/it/settings/customization/access.json b/public/locales/it/settings/customization/access.json index cc4d17f61..6a24de9b4 100644 --- a/public/locales/it/settings/customization/access.json +++ b/public/locales/it/settings/customization/access.json @@ -1,6 +1,6 @@ { "allowGuests": { - "label": "", - "description": "" + "label": "Consenti anonimo", + "description": "Consenti agli utenti che non hanno effettuato l'accesso di visualizzare la tua board" } } \ No newline at end of file diff --git a/public/locales/it/settings/customization/general.json b/public/locales/it/settings/customization/general.json index cf523af00..aa366a076 100644 --- a/public/locales/it/settings/customization/general.json +++ b/public/locales/it/settings/customization/general.json @@ -22,8 +22,8 @@ "description": "Configura Homarr per utenti con disabilità" }, "access": { - "name": "", - "description": "" + "name": "Accesso", + "description": "Configura chi ha accesso alla tua board" } } } diff --git a/public/locales/it/tools/docker.json b/public/locales/it/tools/docker.json index c224c68ec..979b1e170 100644 --- a/public/locales/it/tools/docker.json +++ b/public/locales/it/tools/docker.json @@ -2,30 +2,30 @@ "title": "Docker", "alerts": { "notConfigured": { - "text": "" + "text": "L'istanza di Homarr non è configurata per Docker o non è riuscita a recuperare i container. Consultare la documentazione su come impostare l'integrazione." } }, "modals": { "selectBoard": { - "title": "", - "text": "", + "title": "Scegli una board", + "text": "Scegliere la board in cui aggiungere le applicazioni per i Docker container selezionati.", "form": { "board": { - "label": "" + "label": "Board" }, - "submit": "" + "submit": "Aggiungi applicazioni" } } }, "notifications": { "selectBoard": { "success": { - "title": "", - "message": "" + "title": "Aggiunte app a board", + "message": "Le applicazioni per i Docker container selezionati sono state aggiunte alla board." }, "error": { - "title": "", - "message": "" + "title": "Impossibile aggiungere le app alla board", + "message": "Non è stato possibile aggiungere alla board le applicazioni per i Docker container selezionati." } } } diff --git a/public/locales/it/user/preferences.json b/public/locales/it/user/preferences.json index 18f544f23..35a9c6ec1 100644 --- a/public/locales/it/user/preferences.json +++ b/public/locales/it/user/preferences.json @@ -1,9 +1,9 @@ { - "metaTitle": "", - "pageTitle": "", + "metaTitle": "Impostazioni", + "pageTitle": "Le tue impostazioni", "boards": { "defaultBoard": { - "label": "" + "label": "Board predefinita" } }, "accessibility": { @@ -22,11 +22,11 @@ "label": "Lingua" }, "firstDayOfWeek": { - "label": "", + "label": "Primo giorno della settimana", "options": { - "monday": "", - "saturday": "", - "sunday": "" + "monday": "Lunedì", + "saturday": "Sabato", + "sunday": "Domenica" } } }, @@ -34,15 +34,15 @@ "title": "Motore di ricerca", "custom": "Personalizzato", "newTab": { - "label": "" + "label": "Apri i risultati di ricerca in una nuova scheda" }, "autoFocus": { - "label": "", - "description": "" + "label": "Focalizza la barra di ricerca sul caricamento della pagina.", + "description": "Questo focalizzerà automaticamente la barra di ricerca, quando si passa alle pagine della board. Funzionerà solo su dispositivi desktop." }, "template": { "label": "URL di ricerca", - "description": "" + "description": "Usa %s come segnaposto per la query" } } } \ No newline at end of file diff --git a/public/locales/it/zod.json b/public/locales/it/zod.json index 4008035c9..c013ae653 100644 --- a/public/locales/it/zod.json +++ b/public/locales/it/zod.json @@ -1,22 +1,22 @@ { "errors": { - "default": "", + "default": "Questo campo non è valido", "required": "Questo campo è obbligatorio", "string": { - "startsWith": "", - "endsWith": "", - "includes": "" + "startsWith": "Questo campo deve iniziare con {{startsWith}}", + "endsWith": "Questo campo deve terminare con {{endsWith}}", + "includes": "Questo campo deve includere {{includes}}" }, "tooSmall": { - "string": "", - "number": "" + "string": "Questo campo deve avere una lunghezza minima di {{minimum}} caratteri", + "number": "Questo campo deve essere maggiore o uguale a {{minimum}}" }, "tooBig": { - "string": "", - "number": "" + "string": "Questo campo deve avere una lunghezza massima di {{maximum}} caratteri", + "number": "Questo campo deve essere maggiore o uguale a {{maximum}}" }, "custom": { - "passwordMatch": "" + "passwordMatch": "Le password devono coincidere" } } } \ No newline at end of file diff --git a/public/locales/ja/modules/dns-hole-controls.json b/public/locales/ja/modules/dns-hole-controls.json index c03b11dd5..f953f3dcf 100644 --- a/public/locales/ja/modules/dns-hole-controls.json +++ b/public/locales/ja/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/ja/modules/weather.json b/public/locales/ja/modules/weather.json index 946016fa9..02bfe4c8d 100644 --- a/public/locales/ja/modules/weather.json +++ b/public/locales/ja/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "不明" } }, - "error": "エラーが発生しました" + "error": "" } diff --git a/public/locales/ko/modules/dns-hole-controls.json b/public/locales/ko/modules/dns-hole-controls.json index 7391fea94..3bf25c924 100644 --- a/public/locales/ko/modules/dns-hole-controls.json +++ b/public/locales/ko/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/lol/modules/dns-hole-controls.json b/public/locales/lol/modules/dns-hole-controls.json index 7391fea94..3bf25c924 100644 --- a/public/locales/lol/modules/dns-hole-controls.json +++ b/public/locales/lol/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/lv/modules/dns-hole-controls.json b/public/locales/lv/modules/dns-hole-controls.json index 1e87fbd1e..30212982f 100644 --- a/public/locales/lv/modules/dns-hole-controls.json +++ b/public/locales/lv/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "Rādīt 'Ieslēgt/Izslēgt Visus' Pogas" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/lv/modules/weather.json b/public/locales/lv/modules/weather.json index 8b4efa8c3..559816caf 100644 --- a/public/locales/lv/modules/weather.json +++ b/public/locales/lv/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "Nezināms" } }, - "error": "Radās kļūda" + "error": "" } diff --git a/public/locales/nl/modules/dns-hole-controls.json b/public/locales/nl/modules/dns-hole-controls.json index 7391fea94..3bf25c924 100644 --- a/public/locales/nl/modules/dns-hole-controls.json +++ b/public/locales/nl/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/no/modules/dns-hole-controls.json b/public/locales/no/modules/dns-hole-controls.json index 7391fea94..3bf25c924 100644 --- a/public/locales/no/modules/dns-hole-controls.json +++ b/public/locales/no/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/pl/modules/dns-hole-controls.json b/public/locales/pl/modules/dns-hole-controls.json index 7391fea94..3bf25c924 100644 --- a/public/locales/pl/modules/dns-hole-controls.json +++ b/public/locales/pl/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/pt/modules/dns-hole-controls.json b/public/locales/pt/modules/dns-hole-controls.json index 7391fea94..3bf25c924 100644 --- a/public/locales/pt/modules/dns-hole-controls.json +++ b/public/locales/pt/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/ru/modules/dns-hole-controls.json b/public/locales/ru/modules/dns-hole-controls.json index 865407878..7616ed5dd 100644 --- a/public/locales/ru/modules/dns-hole-controls.json +++ b/public/locales/ru/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "Показать кнопки \"Включить/Выключить все" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/ru/modules/weather.json b/public/locales/ru/modules/weather.json index c14cf6eea..2c39b9a94 100644 --- a/public/locales/ru/modules/weather.json +++ b/public/locales/ru/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "Неизвестно" } }, - "error": "Произошла ошибка" + "error": "" } diff --git a/public/locales/sk/modules/dns-hole-controls.json b/public/locales/sk/modules/dns-hole-controls.json index 3392d675b..a8bb1da0c 100644 --- a/public/locales/sk/modules/dns-hole-controls.json +++ b/public/locales/sk/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "Zobrazenie tlačidiel \"Povoliť/Zakázať všetko" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/sk/modules/weather.json b/public/locales/sk/modules/weather.json index 1e06620f2..dfd349b6c 100644 --- a/public/locales/sk/modules/weather.json +++ b/public/locales/sk/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "Neznámy" } }, - "error": "Došlo k chybe" + "error": "" } diff --git a/public/locales/sl/modules/dns-hole-controls.json b/public/locales/sl/modules/dns-hole-controls.json index 7391fea94..3bf25c924 100644 --- a/public/locales/sl/modules/dns-hole-controls.json +++ b/public/locales/sl/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/sv/modules/dns-hole-controls.json b/public/locales/sv/modules/dns-hole-controls.json index 00696129e..7b0f8fd97 100644 --- a/public/locales/sv/modules/dns-hole-controls.json +++ b/public/locales/sv/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/sv/modules/weather.json b/public/locales/sv/modules/weather.json index cc031926f..2e4e582a0 100644 --- a/public/locales/sv/modules/weather.json +++ b/public/locales/sv/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "Okänd" } }, - "error": "Ett fel uppstod" + "error": "" } diff --git a/public/locales/tr/modules/dns-hole-controls.json b/public/locales/tr/modules/dns-hole-controls.json index 24cdcd8fd..af560ffb6 100644 --- a/public/locales/tr/modules/dns-hole-controls.json +++ b/public/locales/tr/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "'Tümünü Etkinleştir/Devre Dışı Bırak' Butonlarını Göster" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/tr/modules/weather.json b/public/locales/tr/modules/weather.json index 7b98cd679..5a31254a6 100644 --- a/public/locales/tr/modules/weather.json +++ b/public/locales/tr/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "Bilinmeyen" } }, - "error": "Bir hata oluştu" + "error": "" } diff --git a/public/locales/uk/authentication/login.json b/public/locales/uk/authentication/login.json index 0e795eb8f..473cd309f 100644 --- a/public/locales/uk/authentication/login.json +++ b/public/locales/uk/authentication/login.json @@ -1,7 +1,7 @@ { - "metaTitle": "", + "metaTitle": "Логін", "title": "З поверненням!", - "text": "", + "text": "Будь ласка, введіть свої облікові дані", "form": { "fields": { "username": { diff --git a/public/locales/uk/common.json b/public/locales/uk/common.json index f6ff7042f..10aea003e 100644 --- a/public/locales/uk/common.json +++ b/public/locales/uk/common.json @@ -3,12 +3,12 @@ "about": "Про програму", "cancel": "Скасувати", "close": "Закрити", - "back": "", + "back": "Назад", "delete": "Видалити", "ok": "OK", "edit": "Редагувати", - "next": "", - "previous": "", + "next": "Далі", + "previous": "Попередній", "confirm": "Підтвердити", "enabled": "Увімкнено", "disabled": "Вимкнено", @@ -40,5 +40,5 @@ "medium": "середній", "large": "великий" }, - "seeMore": "" + "seeMore": "Побачити більше..." } \ No newline at end of file diff --git a/public/locales/uk/layout/element-selector/selector.json b/public/locales/uk/layout/element-selector/selector.json index 6e8514058..fe2b748fc 100644 --- a/public/locales/uk/layout/element-selector/selector.json +++ b/public/locales/uk/layout/element-selector/selector.json @@ -8,17 +8,17 @@ "actionIcon": { "tooltip": "Додати плитку" }, - "apps": "", + "apps": "Додатки", "app": { - "defaultName": "" + "defaultName": "Ваші додатки" }, - "widgets": "", - "categories": "", + "widgets": "Віджети", + "categories": "Категорії", "category": { - "newName": "", - "defaultName": "", + "newName": "Назва категорії", + "defaultName": "Нова категорія", "created": { - "title": "", + "title": "Категорію створено", "message": "" } } diff --git a/public/locales/uk/layout/header.json b/public/locales/uk/layout/header.json index 776699e80..0a0037306 100644 --- a/public/locales/uk/layout/header.json +++ b/public/locales/uk/layout/header.json @@ -22,7 +22,7 @@ "new": "" }, "logout": "", - "login": "" + "login": "Логін" } }, "modals": { diff --git a/public/locales/uk/manage/boards.json b/public/locales/uk/manage/boards.json index e87de5e4d..a1abd1571 100644 --- a/public/locales/uk/manage/boards.json +++ b/public/locales/uk/manage/boards.json @@ -3,9 +3,9 @@ "pageTitle": "", "cards": { "statistics": { - "apps": "", - "widgets": "", - "categories": "" + "apps": "Додатки", + "widgets": "Віджети", + "categories": "Категорії" }, "buttons": { "view": "" diff --git a/public/locales/uk/modules/calendar.json b/public/locales/uk/modules/calendar.json index baf8ea33e..cbd2b20e9 100644 --- a/public/locales/uk/modules/calendar.json +++ b/public/locales/uk/modules/calendar.json @@ -10,25 +10,25 @@ "radarrReleaseType": { "label": "Radarr - тип релізів", "data": { - "inCinemas": "", - "physicalRelease": "", - "digitalRelease": "" + "inCinemas": "У кінотеатрах", + "physicalRelease": "Фізичне", + "digitalRelease": "Цифрове" } }, "hideWeekDays": { - "label": "" + "label": "Приховати дні тижня" }, "showUnmonitored": { - "label": "" + "label": "Показати елементи, за якими не ведеться спостереження" }, "fontSize": { "label": "Розмір шрифту", "data": { - "xs": "", - "sm": "", - "md": "", - "lg": "", - "xl": "" + "xs": "Дуже маленьке", + "sm": "Малий", + "md": "Середній", + "lg": "Великий", + "xl": "Дуже великий" } } } diff --git a/public/locales/uk/modules/date.json b/public/locales/uk/modules/date.json index 7b6a543df..808afcb39 100644 --- a/public/locales/uk/modules/date.json +++ b/public/locales/uk/modules/date.json @@ -8,24 +8,24 @@ "label": "Показувати повний час (24 години)" }, "dateFormat": { - "label": "", + "label": "Формат дати", "data": { - "hide": "" + "hide": "Сховати дату" } }, "enableTimezone": { - "label": "" + "label": "Відображати ваш часовий пояс" }, "timezoneLocation": { - "label": "" + "label": "Місцезнаходження часовий поясу" }, "titleState": { - "label": "", + "label": "Назва міста", "info": "", "data": { - "both": "", - "city": "", - "none": "" + "both": "Місто та часовий пояс", + "city": "Лише місто", + "none": "Нема" } } } diff --git a/public/locales/uk/modules/dns-hole-controls.json b/public/locales/uk/modules/dns-hole-controls.json index cd7266236..10929f423 100644 --- a/public/locales/uk/modules/dns-hole-controls.json +++ b/public/locales/uk/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/uk/modules/weather.json b/public/locales/uk/modules/weather.json index 7ce100ea8..94ed34b14 100644 --- a/public/locales/uk/modules/weather.json +++ b/public/locales/uk/modules/weather.json @@ -8,7 +8,7 @@ "label": "Використовувати Фаренгейт" }, "displayCityName": { - "label": "" + "label": "Показувати назву міста" }, "location": { "label": "Погодна локація" diff --git a/public/locales/uk/settings/general/search-engine.json b/public/locales/uk/settings/general/search-engine.json index 334e21b4a..587b04dec 100644 --- a/public/locales/uk/settings/general/search-engine.json +++ b/public/locales/uk/settings/general/search-engine.json @@ -1,7 +1,7 @@ { "title": "Пошукова система", "configurationName": "Налаштування пошукової системи", - "custom": "", + "custom": "Нестандартний", "tips": { "generalTip": "Ви можете використовувати кілька префіксів! Додавання їх перед запитом відфільтрує результати. !s (веб), !t (торренти), !y (YouTube) і !m (медіа).", "placeholderTip": "%s можна використовувати як заповнювач для запиту." diff --git a/public/locales/uk/user/preferences.json b/public/locales/uk/user/preferences.json index bd5224a11..445ea5a81 100644 --- a/public/locales/uk/user/preferences.json +++ b/public/locales/uk/user/preferences.json @@ -32,7 +32,7 @@ }, "searchEngine": { "title": "Пошукова система", - "custom": "", + "custom": "Нестандартний", "newTab": { "label": "" }, diff --git a/public/locales/vi/modules/dns-hole-controls.json b/public/locales/vi/modules/dns-hole-controls.json index 66540fe87..2d1c90f33 100644 --- a/public/locales/vi/modules/dns-hole-controls.json +++ b/public/locales/vi/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/zh/manage/boards.json b/public/locales/zh/manage/boards.json index a814feb55..4cbd84d29 100644 --- a/public/locales/zh/manage/boards.json +++ b/public/locales/zh/manage/boards.json @@ -11,10 +11,10 @@ "view": "查看面板" }, "menu": { - "setAsDefault": "设置为您的默认面板", + "setAsDefault": "设置为默认", "delete": { "label": "永久删除", - "disabled": "删除功能已禁用,因为旧的 Homarr 组件不允许删除默认配置。将来将有可能删除。" + "disabled": "删除功能被禁用,因为较旧的 Homarr 组件不允许删除默认配置。将来可能会删除。" } }, "badges": { @@ -32,7 +32,7 @@ }, "create": { "title": "创建面板", - "text": "创建版面后不能更改名称。", + "text": "面板创建成功后,不能修改名称。", "form": { "name": { "label": "名称" diff --git a/public/locales/zh/manage/users.json b/public/locales/zh/manage/users.json index 184b60100..75722cca3 100644 --- a/public/locales/zh/manage/users.json +++ b/public/locales/zh/manage/users.json @@ -1,7 +1,7 @@ { "metaTitle": "用户", "pageTitle": "管理用户", - "text": "通过使用用户,您可以配置谁可以编辑您的仪表板。Homarr的未来版本将对权限和板进行更精细的控制。", + "text": "通过账号,您可以配置谁可以编辑您的面板。Homarr的未来版本将对权限和面板进行更精细地控制。", "buttons": { "create": "创建" }, @@ -23,11 +23,11 @@ "change-role": { "promote": { "title": "将用户 {{name}} 提升为管理员", - "text": "您确定要将 {{name}} 用户升级为管理员吗?这样该用户就可以访问 Homarr 实例的所有资源。" + "text": "您确定要将用户{{name}} 提升为管理员吗? 这将允许用户访问Homarr实例上的所有资源。" }, "demote": { "title": "将用户 {{name}} 降级为用户", - "text": "您确定要将 {{name}} 用户降级为用户吗?这将取消该用户对 Homarr 实例所有资源的访问权限。" + "text": "您确定要将用户{{name}} 降级为用户吗? 这将删除用户对Homarr实例上所有资源的访问权限。" }, "confirm": "确认" } diff --git a/public/locales/zh/manage/users/create.json b/public/locales/zh/manage/users/create.json index 051ace725..46d98e097 100644 --- a/public/locales/zh/manage/users/create.json +++ b/public/locales/zh/manage/users/create.json @@ -23,7 +23,7 @@ "text": "保存到数据库", "card": { "title": "检查您的输入", - "text": "向数据库提交数据后,用户就可以登录了。您确定要将此用户存储在数据库中并激活登录吗?" + "text": "将数据提交到数据库后,用户就可以登录了。您确定要将该用户存储在数据库中并激活登录吗?" }, "table": { "header": { @@ -41,7 +41,7 @@ "completed": { "alert": { "title": "用户已创建", - "text": "用户已在数据库中创建。他们现在可以登录了。" + "text": "用户已在数据库中创建。他现在可以登录了。" } } }, diff --git a/public/locales/zh/manage/users/invites.json b/public/locales/zh/manage/users/invites.json index 6342fbcfb..925144768 100644 --- a/public/locales/zh/manage/users/invites.json +++ b/public/locales/zh/manage/users/invites.json @@ -1,7 +1,7 @@ { "metaTitle": "用户邀请", "pageTitle": "管理用户邀请", - "description": "使用邀请功能,可以邀请用户访问Homarr实例。邀请只在一定的时间范围内有效,并且只能使用一次。有效期必须在创建后5分钟至12个月之间。", + "description": "使用邀请功能,可以邀请用户访问 Homarr 实例。邀请只在一定的时间范围内有效,并且只能使用一次。过期时间必须在创建后5分钟到12个月之间。", "button": { "createInvite": "创建邀请", "deleteInvite": "删除邀请" @@ -10,8 +10,8 @@ "header": { "id": "ID", "creator": "创建者", - "expires": "到期", - "action": "动作" + "expires": "有效期", + "action": "操作" }, "data": { "expiresAt": "过期 {{at}}", @@ -21,7 +21,7 @@ "modals": { "create": { "title": "创建邀请", - "description": "到期后,邀请将不再有效,邀请接收者将无法创建账号。", + "description": "过期后,邀请会失效,被邀请的收件人将无法创建账号。", "form": { "expires": "过期时间", "submit": "创建" @@ -36,7 +36,7 @@ "token": "Token" }, "button": { - "close": "复制 & 取消" + "close": "复制并关闭" } }, "delete": { diff --git a/public/locales/zh/modules/bookmark.json b/public/locales/zh/modules/bookmark.json index c5d46c838..dcadff41a 100644 --- a/public/locales/zh/modules/bookmark.json +++ b/public/locales/zh/modules/bookmark.json @@ -31,7 +31,7 @@ "validation": { "length": "长度必须在 {{shortest}} 和 {{longest}} 之间", "invalidLink": "无效链接", - "errorMsg": "没有保存,因为出现了验证错误。请重新输入" + "errorMsg": "由于存在验证错误,未保存。请调整您的输入" }, "name": "名称", "url": "网址", diff --git a/public/locales/zh/modules/dashdot.json b/public/locales/zh/modules/dashdot.json index e5b85a9cd..ec827e382 100644 --- a/public/locales/zh/modules/dashdot.json +++ b/public/locales/zh/modules/dashdot.json @@ -33,7 +33,7 @@ "label": "显示为文本(紧凑型)" }, "multiView": { - "label": "显示为多核视图" + "label": "显示为多驱动视图" } }, "network": { @@ -57,7 +57,7 @@ "label": "列宽度" }, "multiView": { - "label": "显示为多核视图" + "label": "显示为多核心视图" } }, "ram": { @@ -88,7 +88,7 @@ "noInformation": "无法从 Dash. 获取信息。- 你运行的是最新版本吗?", "protocolDowngrade": { "title": "检测到协议降级", - "text": "Dash 正在使用HTTP。这存在安全风险,因为HTTP是未加密的,攻击者可能会滥用此连接。确保 Dash 也在 HTTPS 上运行,或者将 Homarr 降级为 HTTP (不推荐)。" + "text": "与 Dash. 实例的连接使用的是HTTP。这是一个安全风险,因为HTTP是未加密的,攻击者可能会滥用此连接。确保 Dash. 使用的是HTTPS,或者将Homarr降级为HTTP(不推荐)。" } }, "graphs": { diff --git a/public/locales/zh/modules/dns-hole-controls.json b/public/locales/zh/modules/dns-hole-controls.json index e8b8ba2df..c71e4b1db 100644 --- a/public/locales/zh/modules/dns-hole-controls.json +++ b/public/locales/zh/modules/dns-hole-controls.json @@ -7,6 +7,12 @@ "showToggleAllButtons": { "label": "显示 \"启用/禁用全部 \"按钮" } + }, + "errors": { + "general": { + "title": "", + "text": "" + } } } } \ No newline at end of file diff --git a/public/locales/zh/modules/weather.json b/public/locales/zh/modules/weather.json index 68363a334..462ebc847 100644 --- a/public/locales/zh/modules/weather.json +++ b/public/locales/zh/modules/weather.json @@ -33,5 +33,5 @@ "unknown": "未知" } }, - "error": "发生错误" + "error": "" } diff --git a/public/locales/zh/settings/customization/general.json b/public/locales/zh/settings/customization/general.json index fb47b3508..8d1b0ed83 100644 --- a/public/locales/zh/settings/customization/general.json +++ b/public/locales/zh/settings/customization/general.json @@ -22,7 +22,7 @@ "description": "为残疾和残障人士配置 Homarr" }, "access": { - "name": "Acccess", + "name": "访问", "description": "配置谁有权访问您的面板" } } diff --git a/public/locales/zh/user/preferences.json b/public/locales/zh/user/preferences.json index af67d6662..b17f288d8 100644 --- a/public/locales/zh/user/preferences.json +++ b/public/locales/zh/user/preferences.json @@ -38,7 +38,7 @@ }, "autoFocus": { "label": "页面加载时聚焦搜索栏。", - "description": "当您浏览页面时,搜索栏会自动聚焦。该功能仅适用于桌面设备。" + "description": "当您导航到面板页面时,搜索栏会自动聚焦。该功能仅适用于桌面设备。" }, "template": { "label": "查询网址", diff --git a/src/components/Onboarding/step-onboarding-finished.tsx b/src/components/Onboarding/step-onboarding-finished.tsx index c1dc40e12..5cd69a285 100644 --- a/src/components/Onboarding/step-onboarding-finished.tsx +++ b/src/components/Onboarding/step-onboarding-finished.tsx @@ -41,7 +41,7 @@ export const StepOnboardingFinished = () => { } className={classes.link} icon={} diff --git a/src/middleware.ts b/src/middleware.ts index 93420cb5f..3480fb9d2 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -1,3 +1,5 @@ +import Consola from 'consola'; +import fs from 'fs/promises'; import { NextRequest, NextResponse } from 'next/server'; import { env } from 'process'; import { v4 } from 'uuid'; @@ -37,11 +39,8 @@ export async function middleware(req: NextRequest) { return HomarrResponse.next(deviceId); } - // is only called from when there were no users in the database in this session (Since the app started) - cachedUserCount = await client.user.count.query(); - // Do not redirect if there are users in the database - if (cachedUserCount > 0) { + if (!(await shouldRedirectToOnboard())) { return HomarrResponse.next(deviceId); } @@ -63,3 +62,25 @@ const HomarrResponse = { return response; }, }; + +const shouldRedirectToOnboard = async (): Promise => { + const cacheAndGetUserCount = async () => { + cachedUserCount = await client.user.count.query(); + return cachedUserCount === 0; + }; + + if (!env.DATABASE_URL?.startsWith('file:')) { + return await cacheAndGetUserCount(); + } + + const fileUri = env.DATABASE_URL.substring(4); + try { + await fs.access(fileUri, fs.constants.W_OK); + return await cacheAndGetUserCount(); + } catch { + Consola.warn( + `detected that the path ${fileUri} was not readable. Showing onboarding page for setup...` + ); + return true; + } +}; diff --git a/src/pages/board/index.tsx b/src/pages/board/index.tsx index 248f15dd5..abf6945c7 100644 --- a/src/pages/board/index.tsx +++ b/src/pages/board/index.tsx @@ -59,6 +59,11 @@ export const getServerSideProps: GetServerSideProps = a if (!board.allowGuests && !session?.user) { return { notFound: true, + props: { + primaryColor: board.primaryColor, + secondaryColor: board.secondaryColor, + primaryShade: board.primaryShade, + }, }; } diff --git a/src/pages/manage/tools/docker.tsx b/src/pages/manage/tools/docker.tsx index 83d29fed1..2d2c16738 100644 --- a/src/pages/manage/tools/docker.tsx +++ b/src/pages/manage/tools/docker.tsx @@ -62,6 +62,12 @@ export const getServerSideProps: GetServerSideProps = async ({ locale, req, res }; } + const caller = dockerRouter.createCaller({ + session: session, + cookies: req.cookies, + headers: req.headers, + }); + const translations = await getServerSideTranslations( [...boardNamespaces, 'layout/manage', 'tools/docker'], locale, diff --git a/src/server/api/routers/board.ts b/src/server/api/routers/board.ts index 6d9020a15..7ced9593f 100644 --- a/src/server/api/routers/board.ts +++ b/src/server/api/routers/board.ts @@ -4,7 +4,6 @@ import { and, eq, inArray } from 'drizzle-orm'; import fs from 'fs'; import { z } from 'zod'; import { db } from '~/server/db'; -import { WidgetSort } from '~/server/db/items'; import { getDefaultBoardAsync } from '~/server/db/queries/userSettings'; import { appStatusCodes, diff --git a/src/server/api/routers/config.ts b/src/server/api/routers/config.ts index c8b505d31..dda1fc249 100644 --- a/src/server/api/routers/config.ts +++ b/src/server/api/routers/config.ts @@ -67,12 +67,6 @@ export const configRouter = createTRPCRouter({ }) ) .mutation(async ({ input }) => { - if (process.env.DISABLE_EDIT_MODE?.toLowerCase() === 'true') { - throw new TRPCError({ - code: 'METHOD_NOT_SUPPORTED', - message: 'Edit is not allowed, because edit mode is disabled', - }); - } Consola.info(`Saving updated configuration of '${input.name}' config.`); const previousConfig = getConfig(input.name); diff --git a/src/server/api/routers/dns-hole/router.ts b/src/server/api/routers/dns-hole/router.ts index 6de3f91a3..8c7f73553 100644 --- a/src/server/api/routers/dns-hole/router.ts +++ b/src/server/api/routers/dns-hole/router.ts @@ -62,22 +62,24 @@ export const dnsHoleRouter = createTRPCRouter({ ) ); - const data = result.reduce( - (prev: AdStatistics, curr) => ({ - domainsBeingBlocked: prev.domainsBeingBlocked + curr.domainsBeingBlocked, - adsBlockedToday: prev.adsBlockedToday + curr.adsBlockedToday, - dnsQueriesToday: prev.dnsQueriesToday + curr.dnsQueriesToday, - status: [...prev.status, curr.status], - adsBlockedTodayPercentage: 0, - }), - { - domainsBeingBlocked: 0, - adsBlockedToday: 0, - adsBlockedTodayPercentage: 0, - dnsQueriesToday: 0, - status: [], - } - ); + const data = result + .filter((x) => x !== null) + .reduce( + (prev: AdStatistics, curr) => ({ + domainsBeingBlocked: prev.domainsBeingBlocked + curr!.domainsBeingBlocked, + adsBlockedToday: prev.adsBlockedToday + curr!.adsBlockedToday, + dnsQueriesToday: prev.dnsQueriesToday + curr!.dnsQueriesToday, + status: [...prev.status, curr!.status], + adsBlockedTodayPercentage: 0, + }), + { + domainsBeingBlocked: 0, + adsBlockedToday: 0, + adsBlockedTodayPercentage: 0, + dnsQueriesToday: 0, + status: [], + } + ); data.adsBlockedTodayPercentage = data.adsBlockedToday / data.dnsQueriesToday; if (Number.isNaN(data.adsBlockedTodayPercentage)) { @@ -131,7 +133,13 @@ const processPiHole = async (app: ConfigAppType, enable: boolean) => { const collectPiHoleSummary = async (app: ConfigAppType) => { const piHole = new PiHoleClient(app.url, findAppProperty(app, 'apiKey')); - const summary = await piHole.getSummary(); + const summary = await piHole.getSummary().catch(() => { + return null; + }); + + if (!summary) { + return null; + } return { domainsBeingBlocked: summary.domains_being_blocked, @@ -152,7 +160,14 @@ const collectAdGuardSummary = async (app: ConfigAppType) => { findAppProperty(app, 'password') ); - const stats = await adGuard.getStats(); + const stats = await adGuard.getStats().catch(() => { + return null; + }); + + if (!stats) { + return null; + } + const status = await adGuard.getStatus(); const countFilteredDomains = await adGuard.getCountFilteringDomains(); diff --git a/src/server/api/routers/media-server.ts b/src/server/api/routers/media-server.ts index 7f3188cc5..0f7c14ebb 100644 --- a/src/server/api/routers/media-server.ts +++ b/src/server/api/routers/media-server.ts @@ -2,17 +2,21 @@ import { Jellyfin } from '@jellyfin/sdk'; import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client/models'; import { getSessionApi } from '@jellyfin/sdk/lib/utils/api/session-api'; import { getSystemApi } from '@jellyfin/sdk/lib/utils/api/system-api'; + import Consola from 'consola'; + import { z } from 'zod'; + +import { createTRPCRouter, publicProcedure } from '../trpc'; + +import { ConfigAppType } from '~/types/app'; import { checkIntegrationsType, findAppProperty } from '~/tools/client/app-properties'; import { getConfig } from '~/tools/config/getConfig'; -import { PlexClient } from '~/tools/server/sdk/plex/plexClient'; +import { trimStringEnding } from '~/tools/shared/strings'; import { GenericMediaServer } from '~/types/api/media-server/media-server'; import { MediaServersResponseType } from '~/types/api/media-server/response'; import { GenericCurrentlyPlaying, GenericSessionInfo } from '~/types/api/media-server/session-info'; -import { ConfigAppType } from '~/types/app'; - -import { createTRPCRouter, publicProcedure } from '../trpc'; +import { PlexClient } from '~/tools/server/sdk/plex/plexClient'; const jellyfin = new Jellyfin({ clientInfo: { @@ -104,7 +108,7 @@ const handleServer = async (app: ConfigAppType): Promise session.NowPlayingItem) @@ -176,7 +180,7 @@ const handleServer = async (app: ConfigAppType): Promise { const item = await db.query.items.findFirst({ diff --git a/src/tools/server/sdk/adGuard/adGuard.schema.ts b/src/tools/server/sdk/adGuard/adGuard.schema.ts index a2c843062..556db1ffb 100644 --- a/src/tools/server/sdk/adGuard/adGuard.schema.ts +++ b/src/tools/server/sdk/adGuard/adGuard.schema.ts @@ -32,7 +32,7 @@ export const adGuardApiStatusResponseSchema = z.object({ export const adGuardApiFilteringStatusSchema = z.object({ filters: z.array( z.object({ - url: z.string().url(), + url: z.string(), name: z.string(), last_updated: z.string().optional(), id: z.number().nonnegative(), diff --git a/src/widgets/bookmark/BookmarkWidgetTile.tsx b/src/widgets/bookmark/BookmarkWidgetTile.tsx index fa86b5970..67ecf3a43 100644 --- a/src/widgets/bookmark/BookmarkWidgetTile.tsx +++ b/src/widgets/bookmark/BookmarkWidgetTile.tsx @@ -254,6 +254,7 @@ function BookmarkWidgetTile({ widget }: BookmarkWidgetTileProps) { ); case 'horizontal': case 'vertical': + const flexDirection = widget.options.layout === 'vertical' ? 'column' : 'row'; return ( @@ -282,15 +283,16 @@ function BookmarkWidgetTile({ widget }: BookmarkWidgetTileProps) { w="100%" > {widget.options.items.map((item: BookmarkItem, index) => ( - <> - {index > 0 && ( - <Divider - m="3px" - orientation={widget.options.layout !== 'vertical' ? 'vertical' : 'horizontal'} - /> - )} + <div + key={index} + style={{ display: 'flex', flex: '1', flexDirection: flexDirection }} + > + <Divider + m="3px" + orientation={widget.options.layout !== 'vertical' ? 'vertical' : 'horizontal'} + color={index === 0 ? 'transparent' : undefined} + /> <Card - key={index} px="md" py="1px" component="a" @@ -307,7 +309,7 @@ function BookmarkWidgetTile({ widget }: BookmarkWidgetTileProps) { > <BookmarkItemContent item={item} /> </Card> - </> + </div> ))} </Flex> </ScrollArea> diff --git a/src/widgets/calendar/CalendarTile.tsx b/src/widgets/calendar/CalendarTile.tsx index 27499b4e3..ed4c7dce6 100644 --- a/src/widgets/calendar/CalendarTile.tsx +++ b/src/widgets/calendar/CalendarTile.tsx @@ -98,7 +98,6 @@ function CalendarTile({ widget }: CalendarTileProps) { style={{ position: 'relative' }} date={month} maxLevel="month" - minLevel="month" styles={{ calendarHeader: { maxWidth: 'inherit', diff --git a/src/widgets/dnshole/DnsHoleControls.tsx b/src/widgets/dnshole/DnsHoleControls.tsx index 8477b5f30..bf5341bf9 100644 --- a/src/widgets/dnshole/DnsHoleControls.tsx +++ b/src/widgets/dnshole/DnsHoleControls.tsx @@ -3,11 +3,13 @@ import { Box, Button, Card, + Center, Group, Image, SimpleGrid, Stack, Text, + Title, UnstyledButton, } from '@mantine/core'; import { useElementSize } from '@mantine/hooks'; @@ -71,7 +73,7 @@ function DnsHoleControlsWidgetTile({ widget }: DnsHoleControlsWidgetProps) { const { isInitialLoading, data, isFetching: fetchingDnsSummary } = useDnsHoleSummeryQuery(); const { mutateAsync, isLoading: changingStatus } = useDnsHoleControlMutation(); const { width, ref } = useElementSize(); - const { t } = useTranslation('common'); + const { t } = useTranslation(['common', 'modules/dns-hole-controls']); const { name: configName, config } = useConfigContext(); @@ -81,6 +83,20 @@ function DnsHoleControlsWidgetTile({ widget }: DnsHoleControlsWidgetProps) { return <WidgetLoading />; } + if (data.status.length === 0) { + return( + <Center h="100%"> + <Stack align="center"> + <IconDeviceGamepad size={40} strokeWidth={1}/> + <Title align="center" order={6}>{t('modules/dns-hole-controls:descriptor.errors.general.title')} + {t('modules/dns-hole-controls:descriptor.errors.general.text')} + + + ) + } + + console.log(data); + type getDnsStatusAcc = { enabled: string[]; disabled: string[]; diff --git a/src/widgets/media-requests/MediaRequestListTile.tsx b/src/widgets/media-requests/MediaRequestListTile.tsx index 0917e0766..f984e89f3 100644 --- a/src/widgets/media-requests/MediaRequestListTile.tsx +++ b/src/widgets/media-requests/MediaRequestListTile.tsx @@ -145,8 +145,8 @@ function MediaRequestListTile({ widget }: MediaRequestListWidgetProps) { ) : ( {t('nonePending')} )} - {sortedData.map((item) => ( - + {sortedData.map((item, index) => ( + - {data?.servers.map((server) => { + {data?.servers.map((server, index) => { const app = config?.apps.find((x) => x.id === server.appId); if (!app) { @@ -109,6 +109,7 @@ function MediaServerTile({ widget }: MediaServerWidgetProps) { return ( >>>>>> dev version: 6.0.21 resolution: "@mantine/core@npm:6.0.21" dependencies: @@ -1048,7 +1052,11 @@ __metadata: languageName: node linkType: hard +<<<<<<< HEAD "@mantine/dates@npm:^6.0.21": +======= +"@mantine/dates@npm:^6.0.0": +>>>>>>> dev version: 6.0.21 resolution: "@mantine/dates@npm:6.0.21" dependencies: @@ -1062,7 +1070,11 @@ __metadata: languageName: node linkType: hard +<<<<<<< HEAD "@mantine/dropzone@npm:^6.0.21": +======= +"@mantine/dropzone@npm:^6.0.0": +>>>>>>> dev version: 6.0.21 resolution: "@mantine/dropzone@npm:6.0.21" dependencies: @@ -1077,7 +1089,11 @@ __metadata: languageName: node linkType: hard +<<<<<<< HEAD "@mantine/form@npm:^6.0.21": +======= +"@mantine/form@npm:^6.0.0": +>>>>>>> dev version: 6.0.21 resolution: "@mantine/form@npm:6.0.21" dependencies: @@ -1089,7 +1105,11 @@ __metadata: languageName: node linkType: hard +<<<<<<< HEAD "@mantine/hooks@npm:^6.0.21": +======= +"@mantine/hooks@npm:^6.0.0": +>>>>>>> dev version: 6.0.21 resolution: "@mantine/hooks@npm:6.0.21" peerDependencies: @@ -1098,7 +1118,11 @@ __metadata: languageName: node linkType: hard +<<<<<<< HEAD "@mantine/modals@npm:^6.0.21": +======= +"@mantine/modals@npm:^6.0.0": +>>>>>>> dev version: 6.0.21 resolution: "@mantine/modals@npm:6.0.21" dependencies: @@ -1112,7 +1136,11 @@ __metadata: languageName: node linkType: hard +<<<<<<< HEAD "@mantine/next@npm:^6.0.21": +======= +"@mantine/next@npm:^6.0.0": +>>>>>>> dev version: 6.0.21 resolution: "@mantine/next@npm:6.0.21" dependencies: @@ -1126,7 +1154,11 @@ __metadata: languageName: node linkType: hard +<<<<<<< HEAD "@mantine/notifications@npm:^6.0.21": +======= +"@mantine/notifications@npm:^6.0.0": +>>>>>>> dev version: 6.0.21 resolution: "@mantine/notifications@npm:6.0.21" dependencies: @@ -1141,7 +1173,11 @@ __metadata: languageName: node linkType: hard +<<<<<<< HEAD "@mantine/prism@npm:^6.0.21": +======= +"@mantine/prism@npm:^6.0.19": +>>>>>>> dev version: 6.0.21 resolution: "@mantine/prism@npm:6.0.21" dependencies: @@ -1185,7 +1221,11 @@ __metadata: languageName: node linkType: hard +<<<<<<< HEAD "@mantine/tiptap@npm:^6.0.21": +======= +"@mantine/tiptap@npm:^6.0.17": +>>>>>>> dev version: 6.0.21 resolution: "@mantine/tiptap@npm:6.0.21" dependencies: @@ -7566,6 +7606,7 @@ __metadata: "@emotion/react": ^11.10.6 "@emotion/server": ^11.10.0 "@jellyfin/sdk": ^0.8.0 +<<<<<<< HEAD "@mantine/core": ^6.0.21 "@mantine/dates": ^6.0.21 "@mantine/dropzone": ^6.0.21 @@ -7576,6 +7617,18 @@ __metadata: "@mantine/notifications": ^6.0.21 "@mantine/prism": ^6.0.21 "@mantine/tiptap": ^6.0.21 +======= + "@mantine/core": ^6.0.0 + "@mantine/dates": ^6.0.0 + "@mantine/dropzone": ^6.0.0 + "@mantine/form": ^6.0.0 + "@mantine/hooks": ^6.0.0 + "@mantine/modals": ^6.0.0 + "@mantine/next": ^6.0.0 + "@mantine/notifications": ^6.0.0 + "@mantine/prism": ^6.0.19 + "@mantine/tiptap": ^6.0.17 +>>>>>>> dev "@next/bundle-analyzer": ^13.0.0 "@next/eslint-plugin-next": ^13.4.5 "@nivo/core": ^0.83.0