update missing translations

This commit is contained in:
Eduard Gert
2026-06-05 14:57:32 +02:00
parent efd874efac
commit 9ecc083139
6 changed files with 75 additions and 7 deletions

View File

@@ -2,6 +2,7 @@ import { forwardRef, ComponentPropsWithoutRef, ElementRef, HTMLAttributes } from
import * as DialogPrimitive from "@radix-ui/react-dialog";
import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
import { X } from "lucide-react";
import { useTranslation } from "react-i18next";
import { cn } from "@/lib/cn";
export const Root = DialogPrimitive.Root;
@@ -36,6 +37,7 @@ export const Content = forwardRef<ElementRef<typeof DialogPrimitive.Content>, Co
{ className, children, showClose = true, maxWidthClass = "max-w-md", ...props },
ref,
) {
const { t } = useTranslation();
return (
<DialogPrimitive.Portal>
<Overlay>
@@ -67,7 +69,7 @@ export const Content = forwardRef<ElementRef<typeof DialogPrimitive.Content>, Co
"text-nb-gray-300 hover:text-nb-gray-100",
"focus:outline-none disabled:pointer-events-none",
)}
aria-label="Close"
aria-label={t("common.close")}
>
<X className="h-4 w-4" />
</DialogPrimitive.Close>

View File

@@ -1,6 +1,7 @@
import { cva, VariantProps } from "class-variance-authority";
import { Check, ChevronDown, ChevronUp, Copy, Eye, EyeOff } from "lucide-react";
import { forwardRef, InputHTMLAttributes, ReactNode, useId, useRef, useState } from "react";
import { useTranslation } from "react-i18next";
import { cn } from "@/lib/cn";
import { Label } from "@/components/typography/Label";
@@ -71,6 +72,7 @@ export const Input = forwardRef<HTMLInputElement, InputProps>(function Input(
},
ref,
) {
const { t } = useTranslation();
const [showPassword, setShowPassword] = useState(false);
const [copied, setCopied] = useState(false);
const isPasswordType = type === "password";
@@ -112,7 +114,7 @@ export const Input = forwardRef<HTMLInputElement, InputProps>(function Input(
type="button"
onClick={() => setShowPassword((s) => !s)}
className="hover:text-white transition-all pointer-events-auto"
aria-label="Toggle password visibility"
aria-label={t("common.togglePasswordVisibility")}
>
{showPassword ? <EyeOff size={18} /> : <Eye size={18} />}
</button>
@@ -135,7 +137,7 @@ export const Input = forwardRef<HTMLInputElement, InputProps>(function Input(
type="button"
onClick={onCopy}
className="hover:text-white transition-all pointer-events-auto"
aria-label="Copy"
aria-label={t("common.copy")}
>
{copied ? <Check size={16} /> : <Copy size={16} />}
</button>
@@ -226,7 +228,7 @@ export const Input = forwardRef<HTMLInputElement, InputProps>(function Input(
<button
type="button"
tabIndex={-1}
aria-label="Increase"
aria-label={t("common.increase")}
onClick={() => stepBy(1)}
className="flex-1 flex items-center justify-center w-9 hover:bg-nb-gray-800 transition-colors text-nb-gray-300 cursor-default"
>
@@ -235,7 +237,7 @@ export const Input = forwardRef<HTMLInputElement, InputProps>(function Input(
<button
type="button"
tabIndex={-1}
aria-label="Decrease"
aria-label={t("common.decrease")}
onClick={() => stepBy(-1)}
className={cn(
"flex-1 flex items-center justify-center w-9 hover:bg-nb-gray-800 transition-colors text-nb-gray-300 cursor-default",

View File

@@ -46,8 +46,8 @@ export function SettingsNetwork() {
<FancyToggleSwitch
value={!config.disableIpv6}
onChange={(v) => setField("disableIpv6", !v)}
label={"Enable IPv6"}
helpText={"Use IPv6 addressing for the NetBird overlay network."}
label={t("settings.network.ipv6.label")}
helpText={t("settings.network.ipv6.help")}
/>
</SectionGroup>
</>

View File

@@ -61,6 +61,10 @@
"common.saveChanges": "Änderungen speichern",
"common.saving": "Speichert…",
"common.close": "Schließen",
"common.copy": "Kopieren",
"common.togglePasswordVisibility": "Passwortsichtbarkeit umschalten",
"common.increase": "Erhöhen",
"common.decrease": "Verringern",
"common.delete": "Löschen",
"common.create": "Erstellen",
"common.add": "Hinzufügen",
@@ -95,6 +99,10 @@
"header.openSettings": "Einstellungen öffnen",
"header.togglePanel": "Seitenleiste umschalten",
"header.menu.settings": "Einstellungen …",
"header.menu.defaultView": "Standardansicht",
"header.menu.advancedView": "Erweiterte Ansicht",
"header.menu.updateAvailable": "Update verfügbar",
"profile.selector.loading": "Lädt…",
"profile.selector.noProfile": "Kein Profil",
@@ -105,11 +113,20 @@
"profile.selector.moreOptions": "Weitere Optionen",
"profile.selector.deregister": "Abmelden",
"profile.selector.delete": "Profil löschen",
"profile.selector.switchTo": "Zu diesem Profil wechseln",
"profile.dropdown.activeProfile": "Aktives Profil",
"profile.dropdown.switchProfile": "Profil wechseln",
"profile.dropdown.noEmail": "Andere",
"profile.dropdown.addProfile": "Profil hinzufügen",
"profile.dropdown.manageProfiles": "Profile verwalten",
"profile.dropdown.settings": "Einstellungen",
"profile.dialog.title": "Neues Profil",
"profile.dialog.nameLabel": "Profilname",
"profile.dialog.description": "Legen Sie einen leicht erkennbaren Namen für Ihr Profil fest.",
"profile.dialog.placeholder": "z. B. Arbeit",
"profile.dialog.required": "Bitte geben Sie einen Profilnamen ein, z. B. Arbeit, Privat",
"profile.dialog.submit": "Profil hinzufügen",
"profile.dialog.managementHelp": "NetBird Cloud oder Ihr eigener Server.",
"profile.dialog.urlUnreachable": "Server nicht erreichbar. Überprüfen Sie die URL, oder fügen Sie das Profil trotzdem hinzu, wenn Sie sicher sind, dass sie korrekt ist.",
@@ -137,11 +154,19 @@
"settings.tabs.network": "Netzwerk",
"settings.tabs.security": "Sicherheit",
"settings.tabs.ssh": "SSH",
"settings.tabs.profiles": "Profile",
"settings.tabs.advanced": "Erweitert",
"settings.tabs.troubleshooting": "Fehlerbehebung",
"settings.tabs.about": "Über",
"settings.tabs.updateAvailable": "Update verfügbar",
"settings.profiles.section.profiles": "Profile",
"settings.profiles.intro": "Halten Sie separate NetBird-Identitäten nebeneinander, zum Beispiel berufliche und private Konten oder verschiedene Management-Server. Fügen Sie unten Profile hinzu, melden Sie sie ab oder löschen Sie sie.",
"settings.profiles.addProfile": "Profil hinzufügen",
"settings.profiles.active": "Aktiv",
"settings.profiles.emptyTitle": "Keine Profile",
"settings.profiles.emptyDescription": "Erstellen Sie ein Profil, um sich mit einem NetBird-Management-Server zu verbinden.",
"settings.general.section.general": "Allgemein",
"settings.general.section.connection": "Verbindung",
"settings.general.connectOnStartup.label": "Beim Start verbinden",
@@ -178,6 +203,8 @@
"settings.network.clientRoutes.help": "Routen von anderen Peers übernehmen, um deren Netzwerke zu erreichen.",
"settings.network.serverRoutes.label": "Server-Routen aktivieren",
"settings.network.serverRoutes.help": "Lokale Routen dieses Hosts an andere Peers ankündigen.",
"settings.network.ipv6.label": "IPv6 aktivieren",
"settings.network.ipv6.help": "IPv6-Adressierung für das NetBird-Overlay-Netzwerk verwenden.",
"settings.security.section.firewall": "Firewall",
"settings.security.section.encryption": "Verschlüsselung",

View File

@@ -61,6 +61,10 @@
"common.saveChanges": "Save Changes",
"common.saving": "Saving…",
"common.close": "Close",
"common.copy": "Copy",
"common.togglePasswordVisibility": "Toggle password visibility",
"common.increase": "Increase",
"common.decrease": "Decrease",
"common.delete": "Delete",
"common.create": "Create",
"common.add": "Add",
@@ -201,6 +205,8 @@
"settings.network.clientRoutes.help": "Accept routes from other peers to reach their networks.",
"settings.network.serverRoutes.label": "Enable Server Routes",
"settings.network.serverRoutes.help": "Advertise this host's local routes to other peers.",
"settings.network.ipv6.label": "Enable IPv6",
"settings.network.ipv6.help": "Use IPv6 addressing for the NetBird overlay network.",
"settings.security.section.firewall": "Firewall",
"settings.security.section.encryption": "Encryption",
@@ -235,6 +241,8 @@
"settings.advanced.section.interface": "Interface",
"settings.advanced.section.security": "Security",
"settings.advanced.interfaceName.label": "Name",
"settings.advanced.interfaceName.error": "Use 1-15 letters, digits, dots, hyphens, or underscores.",
"settings.advanced.interfaceName.errorMac": "Must start with \"utun\" followed by a number (e.g. utun100).",
"settings.advanced.port.label": "Port",
"settings.advanced.port.error": "Enter a port between {min} and {max}.",
"settings.advanced.port.help": "If set to 0, a random free port will be used.",
@@ -360,6 +368,7 @@
"browserLogin.title": "Continue in your browser to complete the login",
"browserLogin.notSeeing": "Not seeing the browser tab?",
"browserLogin.tryAgain": "Try again",
"browserLogin.openFailedTitle": "Open Browser Failed",
"sessionExpired.title": "Session expired",
"sessionExpired.description": "Your NetBird session has expired. Sign in again to keep your devices connected.",
@@ -374,6 +383,7 @@
"sessionAboutToExpire.logout": "Logout",
"sessionAboutToExpire.expired": "Session expired",
"sessionAboutToExpire.extendFailedTitle": "Extend Session Failed",
"sessionAboutToExpire.logoutFailedTitle": "Logout Failed",
"peers.search.placeholder": "Search by name or IP",
"peers.filter.all": "All",

View File

@@ -61,6 +61,10 @@
"common.saveChanges": "Módosítások mentése",
"common.saving": "Mentés…",
"common.close": "Bezárás",
"common.copy": "Másolás",
"common.togglePasswordVisibility": "Jelszó láthatóságának váltása",
"common.increase": "Növelés",
"common.decrease": "Csökkentés",
"common.delete": "Törlés",
"common.create": "Létrehozás",
"common.add": "Hozzáadás",
@@ -95,6 +99,10 @@
"header.openSettings": "Beállítások megnyitása",
"header.togglePanel": "Oldalsó panel váltása",
"header.menu.settings": "Beállítások…",
"header.menu.defaultView": "Alapnézet",
"header.menu.advancedView": "Speciális nézet",
"header.menu.updateAvailable": "Frissítés elérhető",
"profile.selector.loading": "Betöltés…",
"profile.selector.noProfile": "Nincs profil",
@@ -105,11 +113,20 @@
"profile.selector.moreOptions": "További műveletek",
"profile.selector.deregister": "Leválasztás",
"profile.selector.delete": "Profil törlése",
"profile.selector.switchTo": "Váltás erre a profilra",
"profile.dropdown.activeProfile": "Aktív profil",
"profile.dropdown.switchProfile": "Profilváltás",
"profile.dropdown.noEmail": "Egyéb",
"profile.dropdown.addProfile": "Profil hozzáadása",
"profile.dropdown.manageProfiles": "Profilok kezelése",
"profile.dropdown.settings": "Beállítások",
"profile.dialog.title": "Új profil",
"profile.dialog.nameLabel": "Profilnév",
"profile.dialog.description": "Adjon profiljának egy könnyen azonosítható nevet.",
"profile.dialog.placeholder": "pl. Munka",
"profile.dialog.required": "Adjon meg egy profilnevet, pl. Munka, Otthon",
"profile.dialog.submit": "Profil hozzáadása",
"profile.dialog.managementHelp": "NetBird Cloud vagy saját kiszolgáló.",
"profile.dialog.urlUnreachable": "A szerver nem érhető el. Ellenőrizze az URL-t, vagy adja hozzá a profilt, ha biztos benne, hogy helyes.",
@@ -137,11 +154,19 @@
"settings.tabs.network": "Hálózat",
"settings.tabs.security": "Biztonság",
"settings.tabs.ssh": "SSH",
"settings.tabs.profiles": "Profilok",
"settings.tabs.advanced": "Speciális",
"settings.tabs.troubleshooting": "Hibaelhárítás",
"settings.tabs.about": "Névjegy",
"settings.tabs.updateAvailable": "Frissítés elérhető",
"settings.profiles.section.profiles": "Profilok",
"settings.profiles.intro": "Tartson külön NetBird-identitásokat egymás mellett, például munkahelyi és személyes fiókokat, vagy különböző kezelőszervereket. Lent hozzáadhat, leválaszthat vagy törölhet profilokat.",
"settings.profiles.addProfile": "Profil hozzáadása",
"settings.profiles.active": "Aktív",
"settings.profiles.emptyTitle": "Nincsenek profilok",
"settings.profiles.emptyDescription": "Hozzon létre egy profilt a NetBird kezelőszerverhez való csatlakozáshoz.",
"settings.general.section.general": "Általános",
"settings.general.section.connection": "Kapcsolat",
"settings.general.connectOnStartup.label": "Csatlakozás indításkor",
@@ -178,6 +203,8 @@
"settings.network.clientRoutes.help": "Más társak útvonalainak elfogadása az ő hálózataik eléréséhez.",
"settings.network.serverRoutes.label": "Szerver útvonalak engedélyezése",
"settings.network.serverRoutes.help": "Ennek a gazdának a helyi útvonalainak meghirdetése más társak számára.",
"settings.network.ipv6.label": "IPv6 engedélyezése",
"settings.network.ipv6.help": "IPv6-címzés használata a NetBird overlay hálózathoz.",
"settings.security.section.firewall": "Tűzfal",
"settings.security.section.encryption": "Titkosítás",