diff --git a/messages/de-DE.json b/messages/de-DE.json index 24153a78..d710e14b 100644 --- a/messages/de-DE.json +++ b/messages/de-DE.json @@ -886,5 +886,33 @@ "idpConnectingToProcess": "Verbindung wird hergestellt...", "idpConnectingToFinished": "Verbunden", "idpErrorConnectingTo": "Es gab ein Problem bei der Verbindung zu {name}. Bitte kontaktieren Sie Ihren Administrator.", - "idpErrorNotFound": "IdP nicht gefunden" + "idpErrorNotFound": "IdP nicht gefunden", + "expiresAt": "Läuft ab am", + "inviteInvalid": "Ungültige Einladung", + "inviteInvalidDescription": "Der Einladungslink ist ungültig.", + "inviteErrorWrongUser": "Einladung ist nicht für diesen Benutzer", + "inviteErrorUserNotExists": "Benutzer existiert nicht. Bitte erstelle zuerst ein Konto.", + "inviteErrorLoginRequired": "Du musst angemeldet sein, um eine Einladung anzunehmen", + "inviteErrorExpired": "Die Einladung ist möglicherweise abgelaufen", + "inviteErrorRevoked": "Die Einladung wurde möglicherweise widerrufen", + "inviteErrorTypo": "Es könnte ein Tippfehler im Einladungslink sein", + "pangolinSetup": "Einrichtung - Pangolin", + "orgNameRequired": "Organisationsname ist erforderlich", + "orgIdRequired": "Organisations-ID ist erforderlich", + "orgErrorCreate": "Beim Erstellen der Organisation ist ein Fehler aufgetreten", + "pageNotFound": "Seite nicht gefunden", + "pageNotFoundDescription": "Hoppla! Die gesuchte Seite existiert nicht.", + "overview": "Übersicht", + "home": "Startseite", + "sites": "Standorte", + "resources": "Ressourcen", + "accessControl": "Zugriffskontrolle", + "users": "Benutzer", + "roles": "Rollen", + "share": "Teilbare Links", + "settings": "Einstellungen", + "usersAll": "Alle Benutzer", + "idp": "Identitätsanbieter", + "license": "Lizenz", + "pangolinDashboard": "Dashboard - Pangolin" } diff --git a/messages/en-US.json b/messages/en-US.json index 9fce5b9f..bd279447 100644 --- a/messages/en-US.json +++ b/messages/en-US.json @@ -886,5 +886,33 @@ "idpConnectingToProcess": "Connecting...", "idpConnectingToFinished": "Connected", "idpErrorConnectingTo": "There was a problem connecting to {name}. Please contact your administrator.", - "idpErrorNotFound": "IdP not found" + "idpErrorNotFound": "IdP not found", + "expiresAt": "Expires At", + "inviteInvalid": "Invalid Invite", + "inviteInvalidDescription": "The invite link is invalid.", + "inviteErrorWrongUser": "Invite is not for this user", + "inviteErrorUserNotExists": "User does not exist. Please create an account first.", + "inviteErrorLoginRequired": "You must be logged in to accept an invite", + "inviteErrorExpired": "The invite may have expired", + "inviteErrorRevoked": "The invite might have been revoked", + "inviteErrorTypo": "There could be a typo in the invite link", + "pangolinSetup": "Setup - Pangolin", + "orgNameRequired": "Organization name is required", + "orgIdRequired": "Organization ID is required", + "orgErrorCreate": "An error occurred while creating org", + "pageNotFound": "Page Not Found", + "pageNotFoundDescription": "Oops! The page you're looking for doesn't exist.", + "overview": "Overview", + "home": "Home", + "sites": "Sites", + "resources": "Resources", + "accessControl": "Access Control", + "users": "Users", + "roles": "Roles", + "share": "Shareable Links", + "settings": "Settings", + "usersAll": "All Users", + "idp": "Identity Providers", + "license": "License", + "pangolinDashboard": "Dashboard - Pangolin" } diff --git a/messages/fr-FR.json b/messages/fr-FR.json index ea8727b2..d1ced0f5 100644 --- a/messages/fr-FR.json +++ b/messages/fr-FR.json @@ -886,5 +886,33 @@ "idpConnectingToProcess": "Connexion...", "idpConnectingToFinished": "Connecté", "idpErrorConnectingTo": "Un problème est survenu lors de la connexion à {name}. Veuillez contacter votre administrateur.", - "idpErrorNotFound": "IdP introuvable" + "idpErrorNotFound": "IdP introuvable", + "expiresAt": "Expire le", + "inviteInvalid": "Invitation invalide", + "inviteInvalidDescription": "Le lien d'invitation n'est pas valide.", + "inviteErrorWrongUser": "L'invitation n'est pas pour cet utilisateur", + "inviteErrorUserNotExists": "L'utilisateur n'existe pas. Veuillez d'abord créer un compte.", + "inviteErrorLoginRequired": "Vous devez être connecté pour accepter une invitation", + "inviteErrorExpired": "L'invitation a peut-être expiré", + "inviteErrorRevoked": "L'invitation a peut-être été révoquée", + "inviteErrorTypo": "Il pourrait y avoir une erreur de frappe dans le lien d'invitation", + "pangolinSetup": "Configuration - Pangolin", + "orgNameRequired": "Le nom de l'organisation est requis", + "orgIdRequired": "L'ID de l'organisation est requis", + "orgErrorCreate": "Une erreur s'est produite lors de la création de l'organisation", + "pageNotFound": "Page non trouvée", + "pageNotFoundDescription": "Oups! La page que vous recherchez n'existe pas.", + "overview": "Vue d'ensemble", + "home": "Accueil", + "sites": "Sites", + "resources": "Ressources", + "accessControl": "Contrôle d'accès", + "users": "Utilisateurs", + "roles": "Rôles", + "share": "Liens partageables", + "settings": "Paramètres", + "usersAll": "Tous les utilisateurs", + "idp": "Fournisseurs d'identité", + "license": "Licence", + "pangolinDashboard": "Tableau de bord - Pangolin" } diff --git a/messages/it-IT.json b/messages/it-IT.json index 8099a8a8..c33cd9cd 100644 --- a/messages/it-IT.json +++ b/messages/it-IT.json @@ -886,5 +886,33 @@ "idpConnectingToProcess": "Connessione in corso...", "idpConnectingToFinished": "Connesso", "idpErrorConnectingTo": "Si è verificato un problema durante la connessione a {name}. Contatta il tuo amministratore.", - "idpErrorNotFound": "IdP non trovato" + "idpErrorNotFound": "IdP non trovato", + "expiresAt": "Scade Il", + "inviteInvalid": "Invito Non Valido", + "inviteInvalidDescription": "Il link di invito non è valido.", + "inviteErrorWrongUser": "L'invito non è per questo utente", + "inviteErrorUserNotExists": "L'utente non esiste. Si prega di creare prima un account.", + "inviteErrorLoginRequired": "Devi effettuare l'accesso per accettare un invito", + "inviteErrorExpired": "L'invito potrebbe essere scaduto", + "inviteErrorRevoked": "L'invito potrebbe essere stato revocato", + "inviteErrorTypo": "Potrebbe esserci un errore di battitura nel link di invito", + "pangolinSetup": "Configurazione - Pangolin", + "orgNameRequired": "Il nome dell'organizzazione è obbligatorio", + "orgIdRequired": "L'ID dell'organizzazione è obbligatorio", + "orgErrorCreate": "Si è verificato un errore durante la creazione dell'organizzazione", + "pageNotFound": "Pagina Non Trovata", + "pageNotFoundDescription": "Oops! La pagina che stai cercando non esiste.", + "overview": "Panoramica", + "home": "Home", + "sites": "Siti", + "resources": "Risorse", + "accessControl": "Controllo Accessi", + "users": "Utenti", + "roles": "Ruoli", + "share": "Link Condivisibili", + "settings": "Impostazioni", + "usersAll": "Tutti Gli Utenti", + "idp": "Provider Di Identità", + "license": "Licenza", + "pangolinDashboard": "Dashboard - Pangolin" } diff --git a/messages/pl-PL.json b/messages/pl-PL.json index b0dba5cb..0336f120 100644 --- a/messages/pl-PL.json +++ b/messages/pl-PL.json @@ -886,5 +886,33 @@ "idpConnectingToProcess": "Łączenie...", "idpConnectingToFinished": "Połączono", "idpErrorConnectingTo": "Wystąpił problem z połączeniem z {name}. Skontaktuj się z administratorem.", - "idpErrorNotFound": "Nie znaleziono IdP" + "idpErrorNotFound": "Nie znaleziono IdP", + "expiresAt": "Wygasa w dniu", + "inviteInvalid": "Nieprawidłowe zaproszenie", + "inviteInvalidDescription": "Link zapraszający jest nieprawidłowy.", + "inviteErrorWrongUser": "Zaproszenie nie jest dla tego użytkownika", + "inviteErrorUserNotExists": "Użytkownik nie istnieje. Najpierw utwórz konto.", + "inviteErrorLoginRequired": "Musisz być zalogowany, aby zaakceptować zaproszenie", + "inviteErrorExpired": "Zaproszenie mogło wygasnąć", + "inviteErrorRevoked": "Zaproszenie mogło zostać odwołane", + "inviteErrorTypo": "W linku zapraszającym może być literówka", + "pangolinSetup": "Konfiguracja - Pangolin", + "orgNameRequired": "Nazwa organizacji jest wymagana", + "orgIdRequired": "ID organizacji jest wymagane", + "orgErrorCreate": "Wystąpił błąd podczas tworzenia organizacji", + "pageNotFound": "Nie znaleziono strony", + "pageNotFoundDescription": "Ups! Strona, której szukasz, nie istnieje.", + "overview": "Przegląd", + "home": "Strona główna", + "sites": "Witryny", + "resources": "Zasoby", + "accessControl": "Kontrola dostępu", + "users": "Użytkownicy", + "roles": "Role", + "share": "Linki do udostępniania", + "settings": "Ustawienia", + "usersAll": "Wszyscy użytkownicy", + "idp": "Dostawcy tożsamości", + "license": "Licencja", + "pangolinDashboard": "Panel - Pangolin" } diff --git a/messages/pt-PT.json b/messages/pt-PT.json index 1192b3af..c35487e1 100644 --- a/messages/pt-PT.json +++ b/messages/pt-PT.json @@ -886,5 +886,33 @@ "idpConnectingToProcess": "A conectar...", "idpConnectingToFinished": "Conectado", "idpErrorConnectingTo": "Ocorreu um problema ao ligar a {name}. Por favor, contacte o seu administrador.", - "idpErrorNotFound": "IdP não encontrado" + "idpErrorNotFound": "IdP não encontrado", + "expiresAt": "Expira em", + "inviteInvalid": "Convite Inválido", + "inviteInvalidDescription": "O link do convite é inválido.", + "inviteErrorWrongUser": "O convite não é para este usuário", + "inviteErrorUserNotExists": "O usuário não existe. Por favor, crie uma conta primeiro.", + "inviteErrorLoginRequired": "Você deve estar logado para aceitar um convite", + "inviteErrorExpired": "O convite pode ter expirado", + "inviteErrorRevoked": "O convite pode ter sido revogado", + "inviteErrorTypo": "Pode haver um erro de digitação no link do convite", + "pangolinSetup": "Configuração - Pangolin", + "orgNameRequired": "O nome da organização é obrigatório", + "orgIdRequired": "O ID da organização é obrigatório", + "orgErrorCreate": "Ocorreu um erro ao criar a organização", + "pageNotFound": "Página Não Encontrada", + "pageNotFoundDescription": "Ops! A página que você está procurando não existe.", + "overview": "Visão Geral", + "home": "Início", + "sites": "Sites", + "resources": "Recursos", + "accessControl": "Controle de Acesso", + "users": "Usuários", + "roles": "Funções", + "share": "Links Compartilháveis", + "settings": "Configurações", + "usersAll": "Todos os Usuários", + "idp": "Provedores de Identidade", + "license": "Licença", + "pangolinDashboard": "Painel - Pangolin" } diff --git a/messages/tr-TR.json b/messages/tr-TR.json index 9fce5b9f..bd279447 100644 --- a/messages/tr-TR.json +++ b/messages/tr-TR.json @@ -886,5 +886,33 @@ "idpConnectingToProcess": "Connecting...", "idpConnectingToFinished": "Connected", "idpErrorConnectingTo": "There was a problem connecting to {name}. Please contact your administrator.", - "idpErrorNotFound": "IdP not found" + "idpErrorNotFound": "IdP not found", + "expiresAt": "Expires At", + "inviteInvalid": "Invalid Invite", + "inviteInvalidDescription": "The invite link is invalid.", + "inviteErrorWrongUser": "Invite is not for this user", + "inviteErrorUserNotExists": "User does not exist. Please create an account first.", + "inviteErrorLoginRequired": "You must be logged in to accept an invite", + "inviteErrorExpired": "The invite may have expired", + "inviteErrorRevoked": "The invite might have been revoked", + "inviteErrorTypo": "There could be a typo in the invite link", + "pangolinSetup": "Setup - Pangolin", + "orgNameRequired": "Organization name is required", + "orgIdRequired": "Organization ID is required", + "orgErrorCreate": "An error occurred while creating org", + "pageNotFound": "Page Not Found", + "pageNotFoundDescription": "Oops! The page you're looking for doesn't exist.", + "overview": "Overview", + "home": "Home", + "sites": "Sites", + "resources": "Resources", + "accessControl": "Access Control", + "users": "Users", + "roles": "Roles", + "share": "Shareable Links", + "settings": "Settings", + "usersAll": "All Users", + "idp": "Identity Providers", + "license": "License", + "pangolinDashboard": "Dashboard - Pangolin" } diff --git a/src/app/[orgId]/settings/sites/CreateSiteForm.tsx b/src/app/[orgId]/settings/sites/CreateSiteForm.tsx index a045926b..91db2059 100644 --- a/src/app/[orgId]/settings/sites/CreateSiteForm.tsx +++ b/src/app/[orgId]/settings/sites/CreateSiteForm.tsx @@ -57,11 +57,9 @@ const createSiteFormSchema = z.object({ .string() .min(2, { message: "Name must be at least 2 characters." - message: "Name must be at least 2 characters." }) .max(30, { message: "Name must not be longer than 30 characters." - message: "Name must not be longer than 30 characters." }), method: z.enum(["wireguard", "newt", "local"]) }); diff --git a/src/app/invite/InviteStatusCard.tsx b/src/app/invite/InviteStatusCard.tsx index 1eee0174..c2c757c6 100644 --- a/src/app/invite/InviteStatusCard.tsx +++ b/src/app/invite/InviteStatusCard.tsx @@ -45,9 +45,9 @@ export default function InviteStatusCard({ {t('inviteErrorNotValid')}
The invite link is invalid.
+{t('inviteInvalidDescription')}
> ); } @@ -52,15 +57,13 @@ export default async function InvitePage(props: { } function cardType() { - if (error.includes("Invite is not for this user")) { + if (error.includes(t('inviteErrorWrongUser'))) { return "wrong_user"; } else if ( - error.includes( - "User does not exist. Please create an account first." - ) + error.includes(t('inviteErrorUserNotExists')) ) { return "user_does_not_exist"; - } else if (error.includes("You must be logged in to accept an invite")) { + } else if (error.includes(t('inviteErrorLoginRequired'))) { return "not_logged_in"; } else { return "rejected"; diff --git a/src/app/navigation.tsx b/src/app/navigation.tsx index 8ea3c080..7ee9ec75 100644 --- a/src/app/navigation.tsx +++ b/src/app/navigation.tsx @@ -10,6 +10,7 @@ import { KeyRound, TicketCheck } from "lucide-react"; +import { useTranslations } from "next-intl"; export const orgLangingNavItems: SidebarNavItem[] = [ { diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx index cb831311..a1cd6103 100644 --- a/src/app/not-found.tsx +++ b/src/app/not-found.tsx @@ -1,14 +1,16 @@ import Link from "next/link"; +import { useTranslations } from "next-intl"; export default async function NotFound() { + const t = useTranslations(); return (- Oops! The page you're looking for doesn't exist. + {t('pageNotFoundDescription')}