export default {
  common: {
    loading: "Loading...",
    restrictedAccessHeading: "You don't have access to",
    restrictedAccessDescription:
      "Seems like you don't have access to this page. Only users with proper permissions can visit this page. Please contact your network administrator for further information.",
    error: "Error",
    success: "Success",
    cancel: "Cancel",
    confirm: "Confirm",
    save: "Save",
    delete: "Delete",
    edit: "Edit",
    create: "Create",
    search: "Search",
    refresh: "Refresh",
    close: "Close",
    yes: "Yes",
    no: "No",
    back: "Back",
    next: "Next",
    previous: "Previous",
    actions: "Actions",
    status: "Status",
    name: "Name",
    description: "Description",
    type: "Type",
    enabled: "Enabled",
    disabled: "Disabled",
    active: "Active",
    inactive: "Inactive",
    connected: "Connected",
    disconnected: "Disconnected",
    online: "Online",
    offline: "Offline",
    unknown: "Unknown",
    all: "All",
    none: "None",
    select: "Select",
    selected: "Selected",
    filter: "Filter",
    filters: "Filters",
    reset: "Reset",
    apply: "Apply",
    export: "Export",
    import: "Import",
    download: "Download",
    upload: "Upload",
    copy: "Copy",
    settings: "Settings",
    logout: "Logout",
    login: "Login",
    profile: "Profile",
    allLocations: "All locations",
    selectCityOptional: "Select city (optional)...",
    searchCity: "Search city...",
    selectCountry: "Select country...",
    searchCountry: "Search country...",
    learnMore: "Learn more",
    selectAll: "Select all",
    selectRow: "Select row",
    selectLanguage: "Select language",
    language: "Language",
    configurePolicies: "Configure policies",
    configureAccessControl: "Configure access control",
    configureAuthentication: "Configure authentication",
    removeRule: "Remove rule",
    removeHeader: "Remove header",
    publicListenPort: "Public listen port",
    destinationPort: "Destination port",
    allowSSH: "Allow SSH",
    currentPassword: "Current Password",
    newPassword: "New Password",
    confirmNewPassword: "Confirm New Password",
    lastUsed: "Last used",
    lastUsedOn: "Last used on",
    nameAndKey: "Name & Key",
    logFileCount: "Log File Count",
    duration: "Duration",
    blockUser: "Block User",
    removePeersFromGroup: "Remove Peers from Group",
    routingPeer: "Routing Peer",
    newNetworkRoute: "New Network Route",
    existingNetwork: "Existing Network",
    debugBundle: "Debug Bundle",
    metricPriority: "Lower metrics have higher priority.",
    peerGroup: "Peer Group",
    expires: "Expires",
    distributionGroups: "Distribution Groups",
    networkIdentifier: "Network Identifier",
    accessControlRules: "Access Control Rules",
    customHeaders: "Custom Headers",
    customHeadersHelp:
      "Add extra headers to include in forwarded requests.\nHop-by-hop headers such as Host or Connection are not allowed.",
    metric: "Metric",
    addNewRoutingPeer: "Add New Routing Peer",
    routingPeerHelp: "Assign a single peer as a routing peer for the",
    exitNode: "exit node",
    networkRoute: "network route",
    addRoute: "Add Route",
    addPolicy: "Add Policy",
    newNetworkRouteDesc: "Create a new network route with this peer",
    existingNetworkDesc: "Add this peer to an existing network",
    networkRoutes: "Network Routes",
    noNetworkRoutes: "This peer has no network routes",
    noNetworkRoutesDesc:
      "You don't have any assigned network routes yet. You can add this peer to an existing network or create a new network route.",
    runRemoteJob: "Run Remote Job",
    peerOfflineRemoteJob:
      "Peer <bold>{name}</bold> is currently offline. Please connect the peer to run remote jobs.",
    debugBundleDesc: "Collect debug information for troubleshooting",
    accessTokens: "Access Tokens",
    noAccessTokens: "No access tokens",
    noAccessTokensDesc:
      "You don't have any access tokens yet. You can add a token to access the NetBird API.",
    disable: "Disable",
    network: "Network",
    goBack: "Go Back",
    tryAgain: "Try Again",
    installNetBird: "Install NetBird",
    new: "NEW",
    peers: "Peers",
    resources: "Resources",
    assignedGroups: "Assigned Groups",
    assignedGroupsDescription: "Use groups to control what this peer can access",
    routeCount: "{count, plural, one {# Route} other {# Routes}}",
    domainCount: "{count, plural, one {# Domain} other {# Domains}}",
    allDomains: "All",
    validDomainError: "Please enter a valid domain, e.g. example.com or intra.example.com",
    domainPlaceholder: "e.g., example.com",
    peerCount: "{count, plural, =0 {0 Peers} one {# Peer} other {# Peers}}",
    resourceCount: "{count, plural, =0 {0 Resources} one {# Resource} other {# Resources}}",
  },
  navigation: {
    controlCenter: "Control Center",
    peers: "Peers",
    userDevices: "User Devices",
    servers: "Servers",
    accessControl: "Access Control",
    policies: "Policies",
    groups: "Groups",
    postureChecks: "Posture Checks",
    networkRouting: "Network Routing",
    networks: "Networks",
    routes: "Routes",
    reverseProxy: "Reverse Proxy",
    services: "Services",
    customDomains: "Custom Domains",
    clusters: "Clusters",
    accessLogs: "Access Logs",
    dns: "DNS",
    nameservers: "Nameservers",
    zones: "Zones",
    dnsSettings: "DNS Settings",
    team: "Team",
    users: "Users",
    serviceUsers: "Service Users",
    activity: "Activity",
    auditEvents: "Audit Events",
    settings: "Settings",
    documentation: "Documentation",
    helpAndSupport: "Help and Support",
    integrations: "Integrations",
    trafficEvents: "Traffic Events",
    troubleshooting: "Troubleshooting",
    forum: "NetBird Forum",
    slack: "NetBird Slack",
    feedback: "Feedback",
  },
  table: {
    search: "Search...",
    noResults: "No results",
    noResultsCardTitle: "Could not find any results",
    noResultsDescription:
      "We couldn't find any results. Please try a different search term or change your filters.",
    rowsPerPage: "Rows per page",
    previous: "Previous",
    next: "Next",
    resetFilters: "Reset Filters & Search",
    loading: "Loading...",
    error: "Error loading data",
    empty: "No data available",
    selected: "{count} selected",
    total: "Total {total} items",
    showing: "Showing",
    to: "to",
    of: "of",
    cancel: "Cancel",
    rows: "rows",
    selectAll: "Select all",
    selectRow: "Select row",
  },
  auth: {
    login: "Login",
    logout: "Logout",
    signIn: "Sign In",
    signOut: "Sign Out",
    email: "Email",
    password: "Password",
    rememberMe: "Remember me",
    forgotPassword: "Forgot password?",
    resetPassword: "Reset password",
    createAccount: "Create Account",
    accountCreated: "Account Created",
    invalidCredentials: "Invalid credentials",
    accountBlocked: "Account Blocked",
    accountPending: "Account Pending",
    sessionExpired: "Session Expired",
    sessionExpiredDescription:
      "It looks like your login session is no longer active or has expired. Please login again to continue using the app.",
    loginRequired: "Login Required",
    unauthorized: "Unauthorized",
    forbidden: "Forbidden",
    accessDenied: "Access Denied",
    tooManyRequests: "Too Many Requests",
    tryAgainLater: "Please try again later",
    contactAdmin: "Please contact your administrator",
  },
  errors: {
    generic: "An error occurred",
    networkError: "Network error",
    timeout: "Request timeout",
    notFound: "Not found",
    serverError: "Server error",
    validationError: "Validation error",
    permissionDenied: "Permission denied",
    resourceNotFound: "Resource not found",
    serviceUnavailable: "Service unavailable",
    userAccountBlocked: "User Account Blocked",
    userApprovalPending: "User Approval Pending",
    accessError: "Access Error",
    accessBlockedDescription:
      "Your access has been blocked by the NetBird account administrator, possibly due to new user approval requirements or security policies. Please contact your administrator to regain access.",
    pendingApprovalDescription:
      "Your account is pending approval from an administrator. Please wait for approval before accessing the dashboard.",
    accessGenericDescription:
      "An error occurred while trying to access the dashboard. Please try again or contact your administrator.",
    contactAdminDescription:
      "If you believe this is an error, please contact your administrator.",
  },
  pageNotFound: {
    title: "The requested page was not found",
    description:
      "The page you are attempting to access cannot be found. Please verify the URL or return to the dashboard to continue browsing.",
  },
  peers: {
    title: "Peers",
    name: "Name",
    ip: "IP Address",
    status: "Status",
    connected: "Connected",
    disconnected: "Disconnected",
    lastSeen: "Last Seen",
    os: "OS",
    version: "Version",
    address: "Address",
    location: "Location",
    groups: "Groups",
    users: "Users",
    routes: "Routes",
    ssh: "SSH",
    rdp: "RDP",
    actions: "Actions",
    approve: "Approve",
    reject: "Reject",
    delete: "Delete",
    edit: "Edit",
    view: "View",
    viewDetails: "View Details",
    connect: "Connect",
    disconnect: "Disconnect",
    approvePeer: "Approve Peer",
    rejectPeer: "Reject Peer",
    deletePeer: "Delete Peer",
    confirmDelete: "Are you sure you want to delete this peer?",
    confirmApprove: "Approve peer '{name}'?",
    confirmApproveDescription: "Are you sure you want to approve this peer?",
    approveSuccess: "Peer {name} approved",
    approveSuccessDescription:
      "This peer was approved and can now connect to other peers.",
    approveLoading: "Approving peer...",
    approved: "Approved",
    pending: "Pending",
    pendingApprovals: "Pending Approvals",
    noPeers: "No peers available",
    noAccessiblePeersTitle: "This peer has no accessible peers",
    noAccessiblePeersDescription:
      "Add more peers to your network or check your access control policies.",
    searchPlaceholder: "Search by name, IP, owner or group...",
    selectPeer: "Select a peer...",
    noPeersAvailable: "No peers available to select.",
    noPeersMatching: "No peers matching your search.",
    updateRequired:
      "Please update NetBird to at least v0.36.6 or later to use this peer as a routing peer.",
    serialNumber: "Serial number",
    loginExpiration: "Session Expiration",
    enableLoginExpiration: "Enable Session Expiration",
    disableLoginExpiration: "Disable Session Expiration",
    loginExpirationUpdated: "Session expiration is {state}",
    loginExpirationUpdateDescription:
      "Session expiration for peer {name} was successfully {state}.",
    loginExpirationUpdating: "Updating session expiration...",
    loginRequired: "Login required",
    loginExpiredTooltip:
      "This peer is offline and needs to be re-authenticated because its login has expired.",
    enableSSH: "Enable SSH Access",
    disableSSH: "Disable SSH Access",
    disableSSHConfirmation: "Disable SSH Access?",
    disableSSHDescription:
      "Starting from NetBird v0.61.0, once SSH access is disabled, you cannot re-enable it again from the dashboard. You'll need to create an explicit access control policy and update your NetBird client to restore SSH functionality.",
    sshLearnMore: "Learn more",
    cancel: "Cancel",
    changesTakeEffect: "Changes will take effect after the next peer update.",
    sshAccess: "SSH Access",
    sshAccessHelp:
      "Enable the SSH server on this peer to access the machine via a secure shell.",
    sshSetupHelp:
      "Set up SSH and create an explicit access control policy defining which users can access specific local usernames of this machine via SSH.",
    sshOldVersionWarning:
      "You have SSH access configured but your client runs on an older NetBird version. Please update your NetBird client to v.0.61.0+ in order to allow SSH connections.",
    sshServerNotEnabled:
      "You have an SSH access policy configured, but the SSH server isn't enabled on this client. Enable the SSH server to allow SSH connections.",
    sshNeedsPolicy:
      "Your SSH server is enabled, but starting from NetBird v0.61.0, SSH requires an explicit access control policy. Please create an SSH access control policy in order to allow SSH connections.",
    createSSHPolicy: "Create SSH Policy",
    activePoliciesCount:
      "{count, plural, one {# Active Policy} other {# Active Policies}}",
    browserPeerTooltip:
      "Show temporary peers created by the NetBird browser client. These peers are ephemeral and will be deleted automatically after a short period of time.",
    connectTooltipOffline:
      "Connecting via SSH or RDP is only available when the peer is online.",
    expirationDisabledTooltip:
      "Expiration is disabled for all peers added with an setup-key.",
    justNow: "just now",
    at: "at",
    searchByNameIpOwnerOrGroup: "Search by name, IP, owner or group...",
    selectedCount: "{count} Peer(s) selected",
    assignGroups: "Assign Groups",
    deleteAll: "Delete All",
    deleteAllConfirm: "Delete '{count}' {peerWord}?",
    deleteAllConfirmDescription:
      "Are you sure you want to delete these peers? This action cannot be undone.",
    deleteAllConfirmText: "Delete All",
    peersDeleted: "Peers were successfully deleted",
    peersDeleting: "Deleting the selected peers...",
    groupsAssigned: "Groups were successfully assigned to the peers",
    groupsAssigning: "Updating the groups of the selected peers...",
    assigningGroups: "Assigning groups...",
    groupsAssignedSuccess: "Groups successfully assigned",
    assignGroupsDescription:
      "Assign the following groups to the selected peers. Previously assigned groups will be kept unless you choose to overwrite them.",
    overwriteGroups: "Overwrite Existing Groups",
    overwriteGroupsHelp:
      "Overwrite the existing groups of the peers with the selected ones. Previously assigned groups will be removed.",
    overwrite: "Overwrite",
    overwriteGroupsConfirm: "Overwrite existing groups?",
    overwriteGroupsConfirmDescription:
      "Are you sure you want to overwrite the existing groups of your {count} selected peer(s)? This action cannot be undone.",
    addGroups: "Add Groups",
    assignedGroups: "Assigned Groups",
    groupsSaved: "Groups of the peer were successfully saved",
    groupsSaving: "Saving the groups of the peer...",
    assignedGroupsDescription:
      "Use groups to control what this peer can access",
    peerWord: "peer",
    peersWord: "peers",
    createPeer: "Create Peer",
    addPeer: "Add Peer",
    server: "Server",
    servers: "Servers",
    userDevice: "User Device",
    userDevices: "User Devices",
    operatingSystem: {
      linux: "Linux",
      windows: "Windows",
      macos: "macOS",
      android: "Android",
      ios: "iOS",
    },
    updateAvailable: "Update available",
    updateDescription:
      "A new version of Netbird is available. Please update your client to get the latest features and bug fixes.",
    downloadChangelog: "Download & Changelog",
    dnsLabelCopied: "DNS label has been copied to your clipboard",
    ipCopied: "IP address has been copied to your clipboard",
    viewDetailsOf: "View details of peer",
    userLabel: "user: {id}",
    netbirdIp: "NetBird IP",
    netbirdIpv6: "NetBird IPv6",
    netbirdIpCopied: "NetBird IP has been copied to your clipboard",
    netbirdIpv6Copied: "NetBird IPv6 has been copied to your clipboard",
    publicIp: "Public IP",
    publicIpCopied: "Public IP has been copied to your clipboard",
    domain: "Domain",
    region: "Region",
    regionCopied: "Region has been copied to your clipboard",
    peerNotFoundDescription:
      "The peer you are attempting to access cannot be found. It may have been deleted, or you may not have permission to view it. Please verify the URL or return to the dashboard.",
    tabOverview: "Overview",
    tabNetworkRoutes: "Network Routes",
    tabAccessiblePeers: "Accessible Peers",
    tabRemoteJobs: "Remote Jobs",
    peerSaved: "Peer was successfully saved",
    peerSaving: "Saving the peer...",
    editPeerIPAddress: "Edit Peer IP Address",
    updatePeerIPDescription: "Update the NetBird IP address for this peer.",
    editPeerIPPlaceholder: "e.g., 100.64.0.15",
    editPeerIPErrorMessage: "Please enter a valid IP, e.g., 100.64.0.15",
    editPeerIPv6Address: "Edit Peer IPv6 Address",
    updatePeerIPv6Description: "Update the NetBird IPv6 address for this peer.",
    editPeerIPv6Placeholder: "e.g., fd00:1234::1",
    editPeerIPv6ErrorMessage:
      "Please enter a valid IPv6 address, e.g., fd00:1234::1",
    remoteAccess: "Remote Access",
    remoteAccessDescription: "Connect directly to this peer via SSH or RDP.",
    domainName: "Domain Name",
    hostname: "Hostname",
    operatingSystemLabel: "Operating System",
    registeredOn: "Registered on",
    agentVersion: "Agent Version",
    uiVersion: "UI Version",
    peerIpUpdated: "NetBird Peer IP was successfully updated",
    peerIpUpdating: "Updating peer IP...",
    peerIpv6Updated: "NetBird Peer IPv6 was successfully updated",
    peerIpv6Updating: "Updating peer IPv6...",
    noServicesForPeer: "This peer has no services",
    addServicesDescription:
      "Add your services to this peer and securely expose them through NetBird's reverse proxy",
    editPeerName: "Edit Peer Name",
    editPeerNameDescription: "Set an easily identifiable name for your peer.",
    peerNamePlaceholder: "e.g., AWS Servers",
    domainNamePreview: "Domain Name Preview",
    domainNamePreviewHelp:
      "If the domain name already exists, we add an increment number suffix to it.",
    userDevicesDescription:
      "Laptops, phones and other personal devices with a user behind them, typically added when the user signs in with SSO.",
    learnMore: "Learn more",
    addNewDeviceTitle: "Add new device to your network",
    addNewDeviceDescription:
      "To get started, install NetBird and log in using your email account. After that you should be connected. If you have further questions check out our",
    installationGuide: "Installation Guide",
    serversDescription:
      "Servers, VMs, autonomous agents and other unattended machines with no user behind them, typically enrolled with a setup key.",
    addNewServerTitle: "Add new server to your network",
    addNewServerDescription:
      "To get started, install NetBird on the server and enroll it using a setup key. If you have further questions check out our",
    saveGroups: "Save Groups",
    sessionExpiration: "Session Expiration",
    sessionExpirationDescription:
      "Enable to require SSO login peers to re-authenticate when their session expires after a certain period of time.",
    inactivityExpirationDescription:
      "Enable to require authentication after users disconnect from management for 10 minutes.",
    setupKeyPeerExpirationDisabled:
      "This setting is disabled for all peers added with an setup-key.",
    noPermissionToUpdateSetting:
      "You don't have the required permissions to update this setting.",
    globalSettingDisabled:
      "Global setting {setting} is currently disabled. Enable the global setting to be able to toggle it individually per peer.",
    goToSettings: "Go to Settings",
    expirationUpdateSuccess: "Expiration was successfully updated",
    expirationUpdating: "Updating setting...",
    peerSessionExpiration: "Peer Session Expiration",
    requireLoginAfterDisconnect: "Require login after disconnect",
    getStarted: "Get Started with NetBird",
    getStartedDescription:
      "It looks like you don't have any connected machines.\nGet started by adding one to your network.",
    learnMoreInOur: "Learn more in our",
    gettingStartedGuide: "Getting Started Guide",
    userPeersDescription: "View all peers registered by this user.",
    accessiblePeersDesc:
      "This peer can connect to the following peers within the NetBird network.",
    networkRoutesDesc:
      "Access other networks without installing NetBird on every resource.",
    remoteJobsDesc:
      "Remotely trigger actions such as debug bundles or other tasks on this peer, without requiring CLI access.",
    revoke: "Revoke",
    bypassCompliance: "Bypass Compliance",
    bypassComplianceConfirmTitle: "Bypass compliance for '{name}'?",
    bypassComplianceConfirmDescription:
      "This will override the compliance check and allow this peer to connect. The bypass will be automatically removed if the device becomes compliant.",
    bypassComplianceSuccess: "Compliance bypassed for {name}",
    bypassComplianceSuccessDescription:
      "This peer can now connect to other peers.",
    bypassComplianceLoading: "Bypassing compliance...",
    revokeBypass: "Revoke Bypass",
    revokeBypassConfirmTitle: "Revoke compliance bypass for '{name}'?",
    revokeBypassConfirmDescription:
      "This peer will be subject to normal compliance validation. If still non-compliant, it will lose network access.",
    revokeBypassSuccess: "Compliance bypass revoked",
    revokeBypassSuccessDescription:
      "Peer {name} is now subject to normal compliance validation.",
    revokeBypassLoading: "Revoking compliance bypass...",
    bypassTooltip:
      "Bypass {integrationName} compliance check and allow this peer to connect. The bypass is automatically removed when the device becomes compliant.",
  },
  policies: {
    title: "Policies",
    name: "Name",
    description: "Description",
    enabled: "Enabled",
    disabled: "Disabled",
    rules: "Rules",
    sources: "Sources",
    destinations: "Destinations",
    actions: "Actions",
    create: "Create Policy",
    edit: "Edit Policy",
    delete: "Delete Policy",
    enable: "Enable",
    disable: "Disable",
    confirmDelete: "Are you sure you want to delete this policy?",
    noPolicies: "No policies available",
    searchPlaceholder: "Search policies...",
    policyName: "Policy Name",
    policyNameHelp: "Set an easily identifiable name for your policy",
    policyNamePlaceholder: "e.g., Engineering Access",
    enabledDescription: "Enable or disable this policy",
    rule: "Rule",
    addRule: "Add Rule",
    removeRule: "Remove Rule",
    source: "Source",
    destination: "Destination",
    all: "ALL",
    protocol: "Protocol",
    action: "Action",
    port: "Port",
    portRange: "Port Range",
    direction: "Direction",
    bidirectional: "Bidirectional",
    oneWay: "One Way",
    allow: "Allow",
    deny: "Deny",
    allProtocols: "All Protocols",
    protocols: "protocols",
    tcp: "TCP",
    udp: "UDP",
    icmp: "ICMP",
    any: "Any",
    netbirdSsh: "NetBird SSH",
    protoPorts: "Proto & Ports",
    portsPlaceholder: "e.g. 443",
    addPolicy: "Add Policy",
    createNewPolicy: "Create New Policy",
    createNewPolicyDescription:
      "It looks like you don't have any policies yet. Policies can allow connections by specific protocol and ports.",
    noPoliciesForGroup: "This group is not used within any policies yet",
    noPoliciesForGroupDescription:
      "Assign this group as either a source or destination inside a policy to see them listed here.",
    temporaryPoliciesTooltip:
      "Show temporary policies created by the NetBird browser client. These policies are ephemeral and will be deleted automatically after a short period of time.",
    learnMoreAbout: "Learn more about",
    accessControls: "Access Controls",
    policyActions: "Policy actions",
    policyEnabledSuccess: "The rule was successfully enabled",
    policyDisabledSuccess: "The rule was successfully disabled",
    confirmDeleteTitle: "Delete '{name}'?",
    confirmDeleteDescription:
      "Are you sure you want to delete this access control policy? This action cannot be undone.",
    updatePolicy: "Update Access Control Policy",
    modalDescription:
      "Use this policy to restrict access to groups of resources.",
    tabPolicy: "Policy",
    tabNameDescription: "Name & Description",
    protocolHelp:
      "Allow only specified network protocols. To change traffic direction and ports, select TCP or UDP protocol.",
    selectProtocol: "Select protocol...",
    netbirdSshHelp:
      "Select NetBird SSH for SSH-specific policies with fine-grained access control, or use TCP with port 22 for basic network-level SSH access",
    sourceHelp:
      "Typically a group of user devices (e.g., Developers, Marketing) or individual devices in peer-to-peer connections that will access the destination.",
    selectSource: "Select source(s)...",
    destinationHelp:
      "Typically a group of peers or resources (e.g., Servers, Databases, Internal Services) that will be accessed by the source. Can also be an individual peer or resource.",
    selectDestination: "Select destination(s)...",
    resourcesBidirectionalWarning:
      "Some destination groups contain resources. Resources only support incoming traffic and cannot initiate connections.",
    sshResourceWarning:
      "SSH access only works on peers, not on routed resources. Please ensure your destination groups contain peers for SSH connectivity.",
    sshAccess: "SSH Access",
    sshAccessHelp:
      "Select 'Full Access' to allow SSH as any local user, or 'Limited Access' to specify which local users each group is allowed to use.",
    ports: "Ports",
    portsHelp:
      "Allow network traffic and access only to specified ports. Select ports or port ranges between 1 and 65535.",
    enablePolicy: "Enable Policy",
    enablePolicyHelp: "Use this switch to enable or disable the policy.",
    ruleName: "Name of the Rule",
    ruleNameHelp: "Set an easily identifiable name for your policy.",
    ruleNamePlaceholder: "e.g., Devs to Servers",
    policyDescriptionLabel: "Description (optional)",
    policyDescriptionHelp:
      "Write a short description to add more context to this policy.",
    policyDescriptionPlaceholder:
      "e.g., Devs are allowed to access servers and servers are allowed to access Devs.",
    accessControlDescription:
      "Create rules to manage access in your network and define what peers can connect.",
    policyCreated: "Policy '{name}' successfully created",
    policyUpdated: "Policy '{name}' successfully updated",
    policyDeleted: "Policy '{name}' successfully deleted",
    policyEnableLoading: "Enabling policy...",
    policyDisableLoading: "Disabling policy...",
    policySaveLoading: "Saving policy...",
    policyDeleteLoading: "Deleting policy...",

    // SSH Access Type
    sshFullAccess: "Full Access",
    sshLimitedAccess: "Limited Access",
    sshAccessPlaceholder: "Select ssh access type...",

    // SSH Authorized Groups
    sshNoSourceGroups: "You have not added any source groups yet. Please add source groups in order to specify which user group has access to which system users on the destination machines.",

    // SSH Username Selector
    sshAllLocalUsers: "All Local Users",
    sshUsernamePlaceholder: "E.g., root, ec2-user, ubuntu",
    sshAddUsernameByPressing: "Add username by pressing '{key}'",

    // AccessControlProtoPortsCell
    nPorts: "{count} Ports",
    netbirdSshTooltip: "NETBIRD-SSH",

    // AccessControlPostureCheckCell
    addPostureCheck: "Add Posture Check",
    postureCheckCount: "{count} Posture Check(s)",

    // useAccessControl notification
    createPolicyTitle: "Create Access Control Policy",
    createPolicySuccess: "Policy was created successfully.",
    createPolicyLoading: "Creating your policy...",
    policySaveSuccess: "The policy was successfully saved",

    // AccessControlTable
    tableHeading: "Access Control Policies",
    searchByNameAndDescription: "Search by name and description...",
    filterPort: "Port",
    filterPostureChecks: "Posture Checks",
    filterWith: "With",
    filterWithout: "Without",
  },
  groups: {
    title: "Groups",
    name: "Name",
    peers: "Peers",
    users: "Users",
    policies: "Policies",
    resources: "Resources",
    create: "Create Group",
    createDescription:
      "Create a group to manage and organize access in your network",
    createSuccess: "Group '{name}' successfully created",
    creating: "Creating group...",
    nameHelp: "Set an easily identifiable name for your group",
    namePlaceholder: "e.g., Developers",
    learnMore: "Learn more about",
    edit: "Edit Group",
    delete: "Delete Group",
    confirmDelete: "Are you sure you want to delete this group?",
    noGroups: "No groups available",
    searchPlaceholder: "Search groups...",
    cancel: "Cancel",
    addPeerToGroup: "Add Peer",
    addUserToGroup: "Add User",
    editName: "Edit Name",
    groupName: "Group Name",
    groupUpdated: "Group '{name}' successfully updated",
    groupUpdating: "Updating group...",
    assignedPeers: "Assigned Peers",
    assignedUsers: "Assigned Users",
    assignedResources: "Assigned Resources",
    assignPeersDescription: "Use peers to control what this group can access",
    assignUsersDescription: "Use users to control what this group can access",
    assignResourcesDescription:
      "Use resources to control what this group can access",
    addPeerToGroupTitle: "Add Peers to Group",
    addUserToGroupTitle: "Add Users to Group",
    addResourcesToGroupTitle: "Add Resources to Group",
    searchPeer: "Search peers...",
    searchUser: "Search users...",
    searchResource: "Search resources...",
    used: "Used",
    unused: "Unused",
    usage: "Usage",
    inUse: "In Use",
    nameservers: "Nameservers",
    zones: "Zones",
    routes: "Routes",
    setupKeys: "Setup Keys",
    viewDetails: "View Details",
    rename: "Rename",
    groupsDescription:
      "Organize peers, users and resources into groups to manage access.",
    allGroups: "All Groups",
    nGroups: "{n} Group(s)",
    noGroupsMatching:
      "There are no groups matching your search. Try another search term.",
    noGroupsAvailable: "Seems like you don't have any groups.",
    nPeers: "{n} Peer(s)",
    nResources: "{n} Resource(s)",
    renameDisabledJWT: "This group is issued by JWT and cannot be renamed.",
    renameDisabledIdP: "This group is issued by an IdP and cannot be renamed.",
    deleteDisabledIdP: "This group is issued by an IdP and cannot be deleted.",
    deleteDisabledInUse: "Remove dependencies to this group to delete it.",
    assignedGroups: "Assigned Groups",
  },
  users: {
    title: "Users",
    name: "Name",
    email: "Email",
    role: "Role",
    status: "Status",
    lastLogin: "Last Login",
    actions: "Actions",
    invite: "Invite User",
    edit: "Edit User",
    delete: "Delete User",
    block: "Block",
    unblock: "Unblock",
    approve: "Approve",
    reject: "Reject",
    resendInvite: "Resend Invite",
    confirmDelete: "Are you sure you want to delete this user?",
    noUsers: "No users available",
    searchPlaceholder: "Search users...",
    owner: "Owner",
    user: "User",
    admin: "Admin",
    blocked: "Blocked",
    invited: "Invited",
    active: "Active",
    inactive: "Inactive",
    roleOwner: "Owner",
    roleAdmin: "Admin",
    roleUser: "User",
    roleServiceUser: "Service User",
    inviteUser: "Invite User",
    inviteUserDescription: "Invite a user to join your NetBird network",
    userEmail: "User Email",
    userEmailPlaceholder: "user@example.com",
    userEmailHelp: "Enter the email address of the user you want to invite",
    group: "Group",
    selectGroup: "Select group...",
    selectRole: "Select role...",
    userRole: "User Role",
    userRoleHelp: "Set a role for the user to assign access permissions.",
    autoSSODescription:
      "This user will be added automatically via SSO when they first sign in.",
    inviteSuccess: "User {email} has been invited",
    inviting: "Inviting user...",
    userBlocked: "User {name} has been blocked",
    userUnblocked: "User {name} has been unblocked",
    blocking: "Blocking user...",
    unblocking: "Unblocking user...",
    userDeleted: "User {name} has been deleted",
    deleting: "Deleting user...",
    inviteResent: "Invite has been resent",
    resending: "Resending invite...",
    userApproved: "User {name} has been approved",
    approving: "Approving user...",
    userRejected: "User {name} has been rejected",
    rejecting: "Rejecting user...",
    copyUserId: "Copy User ID",
    copyUserIdSuccess: "User ID copied to clipboard",
    networkAdmin: "Network Admin",
    billingAdmin: "Billing Admin",
    auditor: "Auditor",
    pending: "Pending",
    lastLoginOn: "Last login on",
    showInvites: "Show Invites",
    addNewUsers: "Add New Users",
    addNewUsersDescription:
      "It looks like you don't have any users yet. Get started by inviting users to your account.",
    addUser: "Add User",
    localAuthDisabled:
      "Local authentication is disabled. Use your IdP for authentication.",
    team: "Team",
    usersPageDescription:
      "Manage users and their permissions. Same-domain email users are added automatically on first sign-in.",
    expiresIn: "Expires in",
    expiresInHelp: "Days until the invite expires.",
    // Shared labels
    groups: "Groups",
    learnMoreAbout: "Learn more about",
    // UsersTable
    searchByNameEmailOrRole: "Search by name, email or role...",
    // UserInviteModal
    userCreatedSuccess: "User created successfully!",
    inviteLinkCreated: "Invite link created!",
    passwordCopyWarning:
      "This password will not be shown again, so be sure to copy it and store in a secure location.",
    inviteLinkShareInfo:
      "Share this link with the user. They will be able to set their own password.",
    passwordCopied: "Password was copied to your clipboard!",
    inviteLinkCopied: "Invite link was copied to your clipboard!",
    expiresOn: "Expires on",
    copyAndClose: "Copy & Close",
    createUserTitle: "Create User",
    inviteUserTitle: "Invite User",
    createUserDescription:
      "Create a NetBird user account with email and password.",
    inviteUserDescription2:
      "Invite a user to your network and set their permissions.",
    generateInviteLinkDesc:
      "Generate an invite link that the user can use to set their own password.",
    sendInvitation: "Send Invitation",
    createInviteLink: "Create Invite Link",
    inviteUserTab: "Invite User",
    createUserTab: "Create User",
    autoAssignedGroups: "Auto-assigned Groups",
    autoAssignedGroupsHelp:
      "Groups will be assigned to peers added by this user.",
    dayUnit: "Day(s)",
    createUserNotify: "Create User",
    creatingUserFor: "Creating user account for {name}...",
    creatingUserNotify: "Creating user...",
    createInviteNotify: "Create Invite",
    creatingInviteFor: "Creating invite link for {name}...",
    creatingInviteNotify: "Creating invite...",
    // UserStatusCell
    statusDisabled: "Disabled",
    localAuthDisabledTooltip:
      "Local authentication is disabled. This user can no longer log in. Use your IdP for authentication.",
    invitedTooltip:
      "This user was invited but has not accepted the invitation yet. Use the Resend button to send another invitation email.",
    pendingApprovalTooltip:
      "This user needs admin approval before joining your organization. To disable approvals, turn off",
    userApprovalRequiredLabel: "'User Approval Required'",
    inSettings: "in Settings",
    // UserNameCell
    you: "You",
    // UserActionCell
    userDeletedNotify: "'{name}' deleted",
    userDeletedDesc: "User was successfully deleted.",
    deletingUser: "Deleting the user...",
    userApprovedNotify: "'{name}' approved",
    userApprovedDesc: "User was successfully approved.",
    approvingUser: "Approving the user...",
    rejectUserTitle: "Reject '{name}'?",
    rejectUserDesc:
      "Rejecting this user will remove them from the account permanently. This action cannot be undone.",
    rejectButton: "Reject",
    userRejectedNotify: "'{name}' rejected",
    userRejectedDesc: "User was successfully rejected and removed.",
    rejectingUser: "Rejecting the user...",
    deleteUserTitle: "Delete '{name}'?",
    deleteUserDesc:
      "Deleting this user will remove their devices and remove dashboard access. This action cannot be undone.",
    blockUserTitle: "Block '{name}'?",
    blockUserDesc:
      "This action will immediately revoke the user's access and disconnect all of their active peers.",
    blockButton: "Block",
    userBlockedNotify: "User blocked",
    userUnblockedNotify: "User unblocked",
    blockedSuccess: "{name} was successfully blocked.",
    unblockedSuccess: "{name} was successfully unblocked.",
    blockingUser: "Blocking the user...",
    unblockingUser: "Unblocking the user...",
    // UserGroupCell
    groupsSaved: "Groups of the user were successfully saved",
    updatingGroups: "Updating groups...",
    // UserResendInviteButton
    resendInviteNotify: "Resend Invite",
    resendingInviteTo: "The invitation is being sent to {email}",
    sendingInvitation: "Sending invitation...",
    sending: "Sending...",
    resendButton: "Resend",
    // PendingApprovalFilter
    pendingApproval: "Pending Approval",
    // HorizontalUsersStack
    allUsers: "All Users",
    userCount: "{count, plural, one {# User} other {# Users}}",
    system: "System",
    // UserRoleSelector
    transferOwnership: "Transfer Ownership?",
    transferOwnershipPrefix: "This action will transfer the",
    transferOwnershipTo: "role to",
    transferOwnershipThisUser: "this user",
    transferOwnershipSuffix1: "and leave you with the",
    transferOwnershipSuffix2:
      "role. This action can only be undone if the new owner transfers the role back to you.",
    // ChangePasswordModal
    changePasswordTitle: "Change Password",
    updateAccountPassword: "Update your account password.",
    enterCurrentPasswordHelp:
      "Enter your current password to verify your identity.",
    enterCurrentPasswordPlaceholder: "Enter current password",
    enterNewPasswordHelp:
      "Enter your new password. Must be at least 8 characters.",
    enterNewPasswordPlaceholder: "Enter new password",
    reenterNewPasswordHelp: "Re-enter your new password to confirm.",
    confirmNewPasswordPlaceholder: "Confirm new password",
    passwordMinLength: "Password must be at least 8 characters",
    passwordsDoNotMatch: "Passwords do not match",
    passwordChanged: "Your password has been successfully changed.",
    changingPassword: "Changing password...",
    changePasswordButton: "Change Password",
    // UserPeersSection
    noRegisteredPeers: "This user has no registered peers",
    noRegisteredPeersDesc:
      "Install NetBird and sign in as this user to register peers.",
    // UserInvitesTable
    invites: "Invites",
    searchByNameOrEmail: "Search by name or email...",
    noPendingInvites: "No Pending Invites",
    noPendingInvitesDesc:
      "There are no pending invites. Create an invite to add users to your network.",
    showUsers: "Show Users",
    valid: "Valid",
    expired: "Expired",
    regenerateInvite: "Regenerate Invite",
    regeneratingInviteFor: "Regenerating invite link for {name}...",
    regenerating: "Regenerating...",
    inviteDeletedNotify: "'{name}' deleted",
    inviteDeletedDesc: "Invite was successfully deleted.",
    deletingInvite: "Deleting the invite...",
    deleteInviteTitle: "Delete invite for '{name}'?",
    deleteInviteDesc:
      "Deleting this invite will revoke the invite link. The user will no longer be able to join using this invite.",
    inviteLinkRegenerated: "Invite link regenerated!",
    inviteLinkRegenShareInfo:
      "Share this link with the user. They will be able to set their own password.",
    inviteActions: "Invite actions",
    regenerateButton: "Regenerate",
    expires: "Expires",
    // Add
    namePlaceholder: "e.g., John Doe",
    emailPlaceholder: "e.g., hello@netbird.io",
    userActions: "User actions",
  },
  userDropdown: {
    profileSettings: "Profile Settings",
    plansAndBilling: "Plans & Billing",
  },
  theme: {
    light: "Light",
    dark: "Dark",
    system: "System",
  },
  serviceUsers: {
    title: "Service Users",
    role: "Role",
    status: "Status",
    learnMoreAbout: "Learn more about",
    name: "Name",
    userId: "User ID",
    createdAt: "Created At",
    actions: "Actions",
    create: "Create Service User",
    edit: "Edit Service User",
    delete: "Delete Service User",
    noServiceUsers: "No service users available",
    searchPlaceholder: "Search service users...",
    confirmDelete: "Are you sure you want to delete this service user?",
    serviceUserName: "Service User Name",
    serviceUserNamePlaceholder: "e.g., CI/CD Pipeline",
    serviceUserNameHelp: "Set a descriptive name for this service user",
    copyUserId: "Copy User ID",
    autoGroups: "Auto Assign Groups",
    autoGroupsDescription:
      "Automatically assign these groups to peers that use this service user",
    copySuccess: "Copied to clipboard",
    userCreated: "Service user '{name}' successfully created",
    userUpdated: "Service user '{name}' successfully updated",
    userDeleted: "Service user '{name}' successfully deleted",
    createLoading: "Creating service user...",
    updateLoading: "Updating service user...",
    deleteLoading: "Deleting service user...",
    serviceUsersDescription:
      "Use service users to create API tokens and avoid losing automated access.",
    serviceUsersEmptyDescription:
      "It looks like you don't have any service users. Get started by creating a service user.",
    blocked: "Blocked",
    accessTokens: "Access Tokens",
    accessTokensDescription: "Access tokens give access to NetBird API.",
    tokenName: "Name",
    tokenNameHelp: "Set an easily identifiable name for your token",
    tokenExpiresIn: "Expires in",
    userCreatedNotify: "Service user created",
    userCreatedDesc: "{name} was successfully created.",
    creatingServiceUserNotify: "Creating service user...",
    createServiceUserTitle: "Create Service User",
    serviceUserCreateDesc:
      "Service users are non-login users that are not associated with any specific person.",
  },
  settings: {
    title: "Settings",
    general: "General",
    account: "Account",
    security: "Security",
    notifications: "Notifications",
    appearance: "Appearance",
    language: "Language",
    theme: "Theme",
    darkMode: "Dark Mode",
    lightMode: "Light Mode",
    systemDefault: "System Default",
    save: "Save Settings",
    cancel: "Cancel",
    reset: "Reset to Default",
    saved: "Settings successfully saved",
    saving: "Saving settings...",
    profile: "Profile",
    changePassword: "Change Password",
    currentPassword: "Current Password",
    newPassword: "New Password",
    confirmPassword: "Confirm Password",
    twoFactor: "Two-Factor Authentication",
    enable2FA: "Enable 2FA",
    disable2FA: "Disable 2FA",
    authentication: "Authentication",
    setupKeys: "Setup Keys",
    identityProviders: "Identity Providers",
    groupsTab: "Groups",
    permissions: "Permissions",
    networksTab: "Networks",
    clients: "Clients",
    dangerZone: "Danger zone",
    languageDescription:
      "Choose your preferred display language for the dashboard.",
    currentLanguage: "Current language",
    delete: "Delete",
    deleteAccountTitle: "Delete NetBird account",
    deleteAccountConfirm:
      "Are you sure you want to delete your NetBird account? This action cannot be undone.",
    deleteAccountSuccess: "NetBird account was successfully deleted.",
    deleteAccountLoading: "Deleting the account...",
    deleteAccountCardTitle: "Delete NetBird account",
    deleteAccountWarning:
      "Before proceeding to delete your Netbird account, please be aware that this action is irreversible. Once your account is deleted, you will permanently lose access to all associated data, including your peers, users, groups, policies, and routes.",
    deleteAccountButton: "Delete Account",
    endpointUrls: "Endpoint URLs",
    endpointUrlsHelp: "Add these to your identity provider configuration",
    redirectCallback: "Redirect / Callback",
    logoutLabel: "Logout",
    notAllProvidersLogout: "Not all identity providers support logout.",
    learnMore: "Learn more",
    learnMoreAbout: "Learn more about",
    saveChanges: "Save Changes",
    days: "Days",
    hours: "Hours",
    beta: "Beta",
    selectInterval: "Select interval...",
    userApprovalRequired: "User Approval Required",
    userApprovalHelp:
      "Require manual approval for new users joining via domain matching. Users will be blocked until approved.",
    enableLocalMFA: "Enable Local MFA",
    localMfaHelp:
      "Require multi-factor authentication for users authenticating with local credentials.",
    peerSessionExpiration: "Peer Session Expiration",
    peerSessionExpirationHelp:
      "Request periodic re-authentication of peers registered with SSO.",
    sessionExpiration: "Session Expiration",
    sessionExpirationHelp:
      "Time after which every peer added with SSO login will require re-authentication.",
    requireLoginAfterDisconnect: "Require login after disconnect",
    requireLoginHelp:
      "Enable to require authentication after users disconnect from management for 10 minutes.",
    automaticUpdates: "Automatic Updates",
    automaticUpdatesHelp:
      "Configure how NetBird clients receive update notifications. When enabled, users will be prompted to install the selected version. This requires at least NetBird v0.61.0.",
    versionCustomPrefix: "Version",
    versionCustomPlaceholder: "e.g., 0.52.2",
    forceAutomaticUpdates: "Force Automatic Updates",
    forceAutomaticUpdatesHelp:
      "When enabled, updates are installed automatically in the background without user interaction.",
    automaticUpdatesWarning:
      "Enabling automatic updates will restart the NetBird client during updates, which can temporarily disrupt active connections. Use with caution in production environments.",
    exposeServicesFromCli: "Expose Services from CLI",
    exposeServicesFromCliHelp:
      "Allow peers to expose local services through the NetBird reverse proxy using the CLI. This requires at least NetBird v0.66.0.",
    enablePeerExpose: "Enable Peer Expose",
    enablePeerExposeHelp:
      "When enabled, peers can expose local HTTP services accessible via a public URL.",
    allowedPeerGroups: "Allowed peer groups",
    allowedPeerGroupsHelp:
      "Select which peer groups are allowed to expose services. At least one group is required.",
    selectPeerGroups: "Select peer groups...",
    experimental: "Experimental",
    experimentalHelp:
      "Lazy connections are an experimental feature. Functionality and behavior may evolve. Instead of maintaining always-on connections, NetBird activates them on-demand based on activity or signaling.",
    enableLazyConnections: "Enable Lazy Connections",
    enableLazyConnectionsHelp:
      "Lazy connections activate on-demand based on activity or signaling instead of maintaining always-on connections.",
    enableGroupPropagation: "Enable user group propagation",
    groupPropagationHelp:
      "Allow group propagation from user's auto-groups to peers, sharing membership information.",
    enableJwtGroupSync: "Enable JWT group sync",
    jwtGroupSyncHelp:
      "Extract & sync groups from JWT claims with user's auto-groups, auto-creating groups from tokens.",
    jwtClaim: "JWT claim",
    jwtClaimHelp:
      "Specify the JWT claim for extracting group names, e.g., roles or groups, to add to account groups (this claim should contain a list of group names).",
    jwtClaimPlaceholder: "e.g., roles",
    jwtAllowGroups: "JWT allow groups",
    jwtAllowGroupsHelp:
      "Limit access to NetBird for the specified group names, e.g., NetBird users. To use the groups, you need to configure them first in your IdP.",
    addGroupPlaceholder: "Add a group and press Enter",
    jwtGroupAccessWarning:
      "To prevent losing access, ensure you are part of this group.",
    dnsDomain: "DNS Domain",
    dnsDomainHelp:
      "Specify a custom peer DNS domain for your network. This should not point to a domain that is already in use elsewhere, to avoid overriding DNS results.",
    dnsDomainHostedPlaceholder: "netbird.cloud",
    dnsDomainSelfhostedPlaceholder: "netbird.selfhosted",
    networkRange: "Network Range",
    networkRangeHelp:
      "Specify a custom IPv4 range for your network in CIDR format. All peer IPs will be re-allocated when changed.",
    networkRangePlaceholder: "e.g. 100.64.0.0/16",
    ipv6NetworkRange: "IPv6 Network Range",
    ipv6NetworkRangeHelp:
      "Specify a custom IPv6 range for your network in CIDR format. All peer IPv6 addresses will be re-allocated when changed.",
    ipv6NetworkRangePlaceholder: "e.g. fd00:1234:5678::/64",
    ipv6EnabledGroups: "IPv6 Enabled Groups",
    ipv6EnabledGroupsHelp:
      "Peers in the selected groups will receive IPv6 overlay addresses (dual-stack). Remove all groups to disable IPv6. Changes apply on save and will restart affected clients.",
    selectIpv6Groups: "Select groups to enable IPv6...",
    ipv6PrefixLengthError: "Prefix length must be between /48 and /112",
    ipv6FormatError:
      "Please enter a valid IPv6 CIDR range, e.g. fd00:1234::/64",
    enableDnsWildcardRouting: "Enable DNS Wildcard Routing",
    dnsWildcardRoutingHelp:
      "Allow routing using DNS wildcards. This requires NetBird client v0.35 or higher. Changes will only take effect after restarting the clients.",
    configureIdpDescription:
      "Configure identity providers for user authentication in your network.",
    setupKeysDescription:
      "Setup keys are pre-authentication keys that allow to register new machines in your network.",
    restrictDashboard: "Restrict dashboard for regular users",
    restrictDashboardHelp:
      "Access to the dashboard will be limited and regular users will not be able to view any peers.",
    name: "Name",
    type: "Type",
    idpProviderType: "Provider Type",
    idpProviderTypeHelp: "Select the type of identity provider",
    idpName: "Name",
    idpNameHelp: "A friendly name to identify this provider",
    idpClientId: "Client ID",
    idpClientSecret: "Client Secret",
    idpIssuerUrl: "Issuer URL",
    idpIssuerUrlHelp: "The OIDC issuer URL for this provider",
  },
  reverseProxy: {
    title: "Reverse Proxy",
    description: "Configure reverse proxy services and domains",
    services: "Services",
    customDomains: "Custom Domains",
    clusters: "Clusters",
    accessLogs: "Access Logs",
    createService: "Create Service",
    editService: "Edit Service",
    deleteService: "Delete Service",
    confirmDeleteService: "Are you sure you want to delete this service?",
    serviceName: "Service Name",
    serviceNamePlaceholder: "e.g., My Web App",
    source: "Source Peer",
    destination: "Destination",
    port: "Port",
    protocol: "Protocol",
    enabled: "Enabled",
    noServices: "No services available",
    searchServices: "Search services...",
    domain: "Domain",
    path: "Path",
    target: "Target",
    selectSourcePeer: "Select source peer...",
    selectTargetPeer: "Select target peer...",
    selectPort: "Select port...",
    customDomainsDescription: "Configure custom domains for your services",
    noCustomDomains: "No custom domains available",
    createDomain: "Create Custom Domain",
    editDomain: "Edit Custom Domain",
    domainName: "Domain Name",
    domainNamePlaceholder: "example.com",
    clustersDescription: "Configure clusters for high availability",
    noClusters: "No clusters available",
    createCluster: "Create Cluster",
    editCluster: "Edit Cluster",
    clusterName: "Cluster Name",
    clusterNamePlaceholder: "e.g., Production Cluster",
    clusterDescription: "Description",
    accessLogsDescription: "View access logs for your reverse proxy services",
    noAccessLogs: "No access logs available",
    servicesDescription:
      "Expose services securely through NetBird's reverse proxy.",
    betaNoticeCloud:
      "NetBird's Reverse Proxy is currently in beta and available at no cost during this period. Features, functionality, and pricing are subject to change upon release.",
    betaNoticeSelfHosted:
      "NetBird's Reverse Proxy is currently in beta. Features, functionality, and pricing are subject to change upon release.",
    saveChanges: "Save Changes",
    addServiceBtn: "Add Service",
    editServiceBtn: "Edit Service",
    cancel: "Cancel",
    back: "Back",
    continue: "Continue",
    service: "Service",
    authentication: "Authentication",
    accessControl: "Access Control",
    advancedSettings: "Advanced Settings",
    netBirdOnlyAccess: "NetBird-Only Access",
    netBirdOnlyAccessDescription:
      "Reachable only from connected peers in the selected NetBird groups.",
    netBirdOnlyAccessTooltip:
      "NetBird-Only Access requires a proxy cluster with at least one connected embedded proxy (netbird proxy). The selected cluster doesn't have one. Connect an embedded proxy to this cluster to enable this option.",
    sso: "SSO (Single Sign-On)",
    ssoDescription:
      "Require users to authenticate via SSO to access this service.",
    password: "Password",
    passwordDescription: "Require a password to access this service.",
    pinCode: "PIN Code",
    pinCodeDescription: "Require a numeric PIN code to access this service.",
    httpHeaders: "HTTP Headers",
    httpHeadersDescription:
      "Require specific HTTP headers to access this service.",
    netBirdOnlyServiceNotice:
      "This service is accessible via NetBird only. An allow rule for the NetBird network range is applied by default. Any rules you add here are layered on top.",
    preserveClientSourceIp: "Preserve Client Source IP",
    preserveClientSourceIpHelp:
      "Preserve client source IP addresses when forwarding traffic to the backend using PROXY Protocol v2.",
    sessionIdleTimeout: "Session Idle Timeout",
    sessionIdleTimeoutHelp:
      "Close the UDP session after this period of inactivity. Leave this field empty for no timeout.",
    connectionTimeout: "Connection Timeout",
    connectionTimeoutHelp:
      "Timeout for establishing backend connections. Leave this field empty for no timeout.",
    timeoutPlaceholder: "e.g. 10s, 30s, 1m",
    passHostHeader: "Pass Host Header",
    passHostHeaderHelp:
      "Forward the original Host header to the backend instead of rewriting it to the target address.",
    rewriteRedirects: "Rewrite Redirects",
    rewriteRedirectsHelp:
      "Rewrite Location headers in backend responses to use the public domain instead of the internal backend address.",
    directUpstream: "Direct Upstream",
    directUpstreamHelp:
      "Dial the upstream target from the proxy host instead of through the WireGuard tunnel. Turn on when the upstream is reachable without a WireGuard connection.",
    directUpstreamHelpCluster:
      "Required and locked on for proxy-cluster targets: the cluster has no WireGuard endpoint to fall back to.",
    directUpstreamTooltip:
      "Direct Upstream is only configurable on clusters with at least one connected embedded proxy (netbird proxy). The selected cluster doesn't have one.",
    learnMoreServices: "Services",
    learnMoreAuthentication: "Authentication",
    learnMoreAccessControl: "Access Control",
    learnMoreSettings: "Settings",
    noProtectionTitle: "No Protection Configured",
    noProtectionDescription:
      "This service has no authentication or access control rules configured. It will be publicly accessible to everyone on the internet. Are you sure you want to continue?",
    httpsService: "HTTPS Service",
    tlsPassthrough: "TLS Passthrough",
    tcpService: "TCP Service",
    udpService: "UDP Service",
    forwardTrafficDesc: "Forward traffic directly to your backend service.",
    exposeServicesDesc:
      "Expose services securely through NetBird's reverse proxy.",
    terminatedService: "This service has been terminated by the NetBird team as it violates the Terms of Service. For questions, please contact",
    terminated: "Terminated",
  },
  dns: {
    title: "DNS",
    description: "Manage DNS nameservers and zones for your network",
    nameservers: "Nameservers",
    zones: "Zones",
    settings: "DNS Settings",
    createNameserver: "Create Nameserver",
    editNameserver: "Edit Nameserver",
    deleteNameserver: "Delete Nameserver",
    confirmDeleteNameserver: "Are you sure you want to delete this nameserver?",
    nameserverName: "Nameserver Name",
    nameserverNamePlaceholder: "e.g., Internal DNS",
    nameserverDescription: "Description",
    nameserverDomains: "Domains",
    noNameservers: "No nameservers available",
    searchNameservers: "Search nameservers...",
    createZone: "Create Zone",
    editZone: "Edit Zone",
    deleteZone: "Delete Zone",
    confirmDeleteZone: "Are you sure you want to delete this zone?",
    zoneName: "Zone Name",
    zoneNamePlaceholder: "e.g., example.com",
    zoneDomains: "Domains",
    noZones: "No zones available",
    searchZones: "Search zones...",
    dnsSettings: "DNS Settings",
    dnsSettingsDescription: "Manage your account's DNS settings.",
    disabledManagementGroup: "Disable DNS management for these groups",
    disabledManagementGroupHelp:
      "Peers in these groups will require manual domain name resolution",
    settingsSaved: "Settings saved successfully.",
    settingsSaving: "Saving the settings...",
    saveChanges: "Save Changes",
    nameserversDescription:
      "Add nameservers for domain name resolution in your NetBird network.",
    zonesDescription: "Configure DNS zones for your network.",
    tabNameserver: "Nameserver",
    tabDomains: "Domains",
    tabNameDescription: "Name & Description",
    addDomain: "Add Domain",
    distributionGroups: "Distribution Groups",
    matchDomains: "Match Domains",
    enableNameserver: "Enable Nameserver",
    enableSearchDomainsNS: "Mark match domains as search domains",
    nameserverModalDescription:
      "Use a nameserver to resolve domains in your network",
    DNSName: "DNS Name",
    enterNameserverName: "Enter a name for this nameserver.",
    nameserverNameInputPlaceholder: "e.g., Public DNS",
    descriptionOptional: "Description (optional)",
    writeDescription:
      "Write a short description to add more context to this nameserver.",
    descriptionPlaceholder:
      "e.g., Berlin office resolver for remote developers",
    advertiseToGroups:
      "Advertise this nameserver to peers that belong to the following groups",
    enableDisableNameserver:
      "Use this switch to enable or disable the nameserver.",
    addDomainHelp:
      "Add domain if you want to have a specific one resolved by this nameserver.",
    searchDomainHelp: "E.g., 'peer.example.com' will be accessible with 'peer'",
    updateZoneDescription:
      "Use a zone to control domain name resolution for your network.",
    domainLabel: "Domain",
    domainHelp:
      "Enter a domain for this zone (e.g., company.internal, intra.example.com)",
    domainPlaceholder: "e.g., company.internal",
    distributionGroupsLabel: "Distribution Groups",
    zoneGroupsHelp:
      "Advertise this zone and its records to peers that belong to the following groups",
    enableSearchDomains: "Enable Search Domains",
    searchDomainHelpZone:
      "E.g., 'server.company.internal' will be accessible with 'server'",
    enableDNSZone: "Enable DNS Zone",
    enableDisableDNSZone: "Use this switch to enable or disable the dns zone.",
    addDNSZone: "Add DNS Zone",
    updateDNSZone: "Update DNS Zone",
    addDNSRecord: "Add DNS Record",
    updateDNSRecord: "Update DNS Record",
    recordType: "Record Type",
    recordTypeHelp: "Select the type of record you want to add",
    selectType: "Select type...",
    selectTTL: "Select TTL...",
    hostname: "Hostname",
    hostnameHelp:
      "Enter a subdomain, wildcard or leave empty to use the primary domain.",
    hostnamePlaceholder: "E.g., dev, * or leave empty for primary domain",
    ipv4Address: "IPv4 Address",
    ipv6Address: "IPv6 Address",
    targetDomain: "Target Domain",
    ttl: "TTL (Time to Live)",
    sec: "Sec.",
    min: "Min.",
    hour: "Hour",
    day: "Day",
    learnMoreAbout: "Learn more about",
    dnsRecords: "DNS Records",
    dnsZones: "DNS Zones",
    dns: "DNS",
    recordTypeAAAA: "AAAA",
    recordTypeCNAME: "CNAME",
    // Nameserver templates
    customDNS: "Custom DNS",
    customDNSDescription:
      "Use custom nameservers to resolve domains in your network. You can either use a public DNS or your own nameservers.",
    // NameserverModal - notifications
    updateNameserverNotify: "Update Nameserver",
    nameserverUpdatedSuccess: "Nameserver was updated successfully.",
    updatingNameserver: "Updating your nameserver...",
    nameserverCreatedSuccess: "Nameserver was created successfully.",
    creatingNameserver: "Creating your nameserver...",
    // NameserverModal - validation
    nameLengthError: "Name should be less than 40 characters",
    validIPError: "Please enter a valid IP, e.g., 192.168.1.0",
    ipPlaceholder: "e.g., 172.16.0.0",
    // NameserverActionCell
    nameserverToggleSuccess: "Nameserver was successfully {status}.",
    nameserverToggleLoading: "Updating your nameserver...",
    nameserverDeletedSuccess: "The nameserver was successfully removed.",
    deletingNameserver: "Deleting the nameserver...",
    confirmDeleteNameserverTitle: "Delete '{name}'?",
    confirmDeleteZoneTitle: "Delete zone '{name}'?",
    nameserverActionsAria: "Nameserver actions",
    enable: "Enable",
    disable: "Disable",
    port: "Port",
    // NameserverGroupTable
    searchNameserverPlaceholder: "Search by name, domains or nameservers...",
    noNameserversGroupTitle: "This group is not used within any nameservers yet",
    noNameserversGroupDesc: "Assign this group as a distribution group in your nameservers to see them listed here.",
    noNameserversGetStartedDesc: "It looks like you don't have any nameservers. Get started by adding one to your network. Select a predefined or add your custom nameservers.",
    // NameserverNameserversCell
    serverCount: "{count} Servers",
    // DNSZonesProvider - Zone notifications
    notifyZoneAddedTitle: "DNS Zone '{name}'",
    notifyZoneAddedDesc: "DNS Zone was added successfully.",
    notifyZoneAddedLoading: "Adding DNS Zone...",
    notifyZoneUpdatedTitle: "DNS Zone '{name}'",
    notifyZoneUpdatedDesc: "DNS Zone was updated successfully.",
    notifyZoneUpdatedLoading: "Updating DNS Zone...",
    notifyZoneDeletedTitle: "DNS Zone '{name}'",
    notifyZoneDeletedDesc: "DNS Zone was deleted successfully.",
    notifyZoneDeletedLoading: "Deleting DNS Zone...",
    // DNSZonesProvider - Record notifications
    notifyRecordAddedTitle: "{type} Record '{name}'",
    notifyRecordAddedDesc: "DNS Record was added successfully.",
    notifyRecordAddedLoading: "Adding DNS Record...",
    notifyRecordUpdatedTitle: "{type} Record '{name}'",
    notifyRecordUpdatedDesc: "DNS Record was updated successfully.",
    notifyRecordUpdatedLoading: "Updating DNS Record...",
    notifyRecordDeletedTitle: "{type} Record '{name}'",
    notifyRecordDeletedDesc: "DNS Record was deleted successfully.",
    notifyRecordDeletedLoading: "Deleting DNS Record...",
    // DNSZonesProvider - Confirm/Ask dialogs
    confirmDeleteZoneDesc: "Are you sure you want to delete this zone? This action cannot be undone.",
    confirmDeleteRecordTitle: "Delete record '{name}'?",
    confirmDeleteRecordDesc: "Are you sure you want to delete this record? This action cannot be undone.",
    askForRecordTitle: "Add new record to '{name}'?",
    askForRecordDesc: "Add either an A, AAAA or a CNAME record to control domain name resolution for your network.",
    askForRecordCancel: "Later",
    // DNSZoneModal
    validDomainErrorZone: "Please enter a valid domain, e.g. internal, company.internal or intra.example.com",
    // DNSRecordModal
    validIPv4Error: "Please enter a valid IPv4 address, e.g. 192.168.1.1",
    validIPv6Error: "Please enter a valid IPv6 address, e.g. 2001:0db8:85a3::8a2e:0370:7334",
    validCnameError: "Please enter a valid domain, e.g. example.com or server.example.com",
    updateRecordDesc: "Update record of '{zone}' zone",
    addRecordDesc: "Add new record to the '{zone}' zone",
    ipv4Placeholder: "192.168.1.1",
    ipv6Placeholder: "2001:0db8:85a3::8a2e:0370:7334",
    cnamePlaceholder: "e.g., example.com or intra.example.com",
    // TTL plural units
    hours: "Hours",
    days: "Days",
    // DNSZonesTable
    zoneColumn: "Zone",
    recordsColumn: "Records",
    searchDomainColumn: "Search Domain",
    searchZonePlaceholder: "Search by domain, ip, content or group...",
    noZonesGroupTitle: "This group is not used within any zones yet",
    noZonesGroupDesc: "Assign this group as a distribution group in your zones to see them listed here.",
    noZonesGetStartedDesc: "It looks like you don't have any zones. Control domain name resolution for your network by adding a zone.",
    addZone: "Add Zone",
    // DNSZonesActionCell
    zoneActionsAria: "Zone actions",
    // DNSZonesRecordsCell
    addRecordBtn: "Add",
    // DNSRecordsTable
    contentColumn: "Content",
  },
  networks: {
    title: "Networks",
    description: "Manage networks and routing for your organization",
    pageDescription:
      "Access internal resources in LANs and VPCs without installing NetBird on every machine.",
    networkName: "Network Name",
    networkNamePlaceholder: "e.g., Engineering Network",
    createNetwork: "Create Network",
    editNetwork: "Edit Network",
    deleteNetwork: "Delete Network",
    confirmDeleteNetwork: "Are you sure you want to delete this network?",
    noNetworks: "No networks available",
    searchNetworks: "Search networks...",
    searchByNameOrDescription: "Search by network name or description...",
    resources: "Resources",
    policies: "Policies",
    routingPeers: "Routing Peers",
    activePoliciesCount:
      "{count, plural, one {# Active Policy} other {# Active Policies}}",
    noActivePolicies: "No Active Policies",
    goToPolicies: "Go to Policies",
    createResource: "Create Resource",
    editResource: "Edit Resource",
    deleteResource: "Delete Resource",
    confirmDeleteResource: "Are you sure you want to delete this resource?",
    resourceName: "Resource Name",
    resourceAddress: "Address",
    resourceDescription: "Description",
    noResources: "No resources available",
    addRoutingPeer: "Add Routing Peer",
    removeRoutingPeer: "Remove Routing Peer",
    networkRoutes: "Network Routes",
    routesDescription:
      "Access other networks like LANs and VPCs without installing NetBird on every resource.",
    learnMoreAbout: "Learn more about",
    newNetworksRecommendation:
      "We recommend using the new Networks concept to easier visualise and manage access to your resources.",
    goToNetworks: "Go to Networks",
    active: "Active",
    network: "Network",
    createRoute: "Create Route",
    editRoute: "Edit Route",
    deleteRoute: "Delete Route",
    confirmDeleteRoute: "Are you sure you want to delete this route?",
    routeName: "Route Name",
    routeDescription: "Description",
    routeNetwork: "Network",
    noRoutes: "No routes available",
    saveChanges: "Save Changes",
    addNetwork: "Add Network",
    updateNetwork: "Update Network",
    networkNameLabel: "Network Name",
    networkNameHelp: "Provide a unique name for the network.",
    networkNameModalPlaceholder: "e.g., Office Network",
    networkDescriptionLabel: "Description (optional)",
    networkDescriptionHelp:
      "Write a short description to add more context to this network.",
    networkDescriptionPlaceholder: "e.g., Berlin, Münzstraße 12",
    addResource: "Add Resource",
    editResourceBtn: "Edit Resource",
    resourceNameLabel: "Name",
    resourceNameHelp: "Set an easily identifiable name for your resource",
    resourceNamePlaceholder: "e.g., Postgres Database",
    resourceDescriptionLabel: "Description",
    resourceDescriptionHelp:
      "Write a short description to add more context to this resource.",
    resourceDescriptionPlaceholder: "e.g., Production, Development",
    resourceGroupsLabel: "Resource Groups",
    resourceGroupsHelp:
      "Add this resource to a group (e.g., Databases, Web Servers) and reference the group in access policies to simplify management.",
    resourceGroupsPlaceholder: "Add or select resource group(s)...",
    accessControl: "Access Control",
    resourceTab: "Resource",
    optionalSettings: "Optional Settings",
    accessControlPolicies: "Access Control Policies",
    accessControlPoliciesHelp:
      "Define which source groups are allowed to access this resource. You can also restrict access to specific protocols and ports. Without policies access to this resource will not be possible.",
    routeType: "Route Type",
    routeTypeHelp:
      "Select your route type to add either a network range or a list of domains.",
    routeTypeNetworkRange: "Network Range",
    routeTypeDomains: "Domains",
    networkRange: "Network Range",
    networkRangeHelp: "Add a private IPv4 or IPv6 address or range",
    networkRangePlaceholder:
      "e.g., 172.16.0.1, 172.16.0.0/16, 2001:db8::1 or 2001:db8::/64",
    domains: "Domains",
    distributionGroups: "Distribution Groups",
    networkIdentifier: "Network Identifier",
    metric: "Metric",
    metricHelp:
      "Set a metric value to prioritize routes. Lower values take precedence.",
    metricPlaceholder: "Enter metric value (1-9999)",
    additionalSettings: "Additional Settings",
    accessControlGroups: "Access Control Groups",
    autoApply: "Auto Apply",

    // NetworkProvider.tsx
    confirmDeleteNetworkTitle: "Delete network '{name}'?",
    confirmDeleteNetworkDesc:
      "Every resource and routing peers will be removed from this network. This action cannot be undone.",
    networkDeleted: "Network deleted successfully.",
    networkDeleting: "Deleting network...",
    confirmDeleteResourceTitle: "Delete resource '{name}'?",
    confirmDeleteResourceDesc:
      "Are you sure you want to delete this resource? This action cannot be undone.",
    resourceDeleted: "Resource deleted successfully.",
    resourceDeleting: "Deleting resource...",
    confirmRemoveRouterTitle: "Remove this router?",
    confirmRemoveRouterDesc:
      "Are you sure you want to remove this router?",
    removeRouter: "Remove {name}",
    routerRemoved: "Router deleted successfully.",
    routerRemoving: "Deleting router...",
    confirmAddRoutingPeerTitle: "Add Routing Peer to '{name}'?",
    confirmAddRoutingPeerDesc:
      "Without a routing peer, the resources inside this network will not be accessible by any peers.",
    later: "Later",
    confirmAddResourceTitle: "Add Resource to '{name}'?",
    confirmAddResourceDesc:
      "Peers will be able to access your network resources once you add them.",
    multiResourceTitle:
      "This policy is used by multiple resources",
    multiResourceDesc:
      "This policy uses one or many resource group(s) as destinations. {action} this policy will also affect following resources:",
    deletePolicyDesc:
      "Are you sure you want to delete this policy? This action cannot be undone.",
    remainingMore: "+ {count} more",

    // NetworkRangeCell.tsx
    exitNode: "Exit Node",

    // NetworkActionCell.tsx + network/page.tsx
    viewDetails: "View Details",
    renameNetwork: "Rename",

    // PolicyCell.tsx
    accessPolicies: "Access Policie(s)",

    // NetworkRoutingPeerCell.tsx + network/page.tsx
    highAvailabilityInactiveText:
      "High availability is currently {status} for this network.",
    highAvailabilityActiveText:
      "High availability is {status} for this network.",
    highAvailabilityHelpActive:
      "You can add more routing peers to increase the availability of this network.",
    highAvailabilityHelpInactive:
      "Go ahead and add more routing peers or groups with routing peers to enable high availability for this network.",
    highAvailability: "High Availability",
    peerCount: "{count} Peer(s)",

    // ResourcesTable.tsx
    address: "Address",
    searchResources: "Search by name, address or group...",
    exposed: "Exposed",
    notExposed: "Not Exposed",
    noAssignedResources: "This group has no assigned resources",
    noAssignedResourcesDesc:
      "Assign this group to your resources inside your networks to see them listed here.",
    noNetworkResources: "This network has no resources",
    noNetworkResourcesDesc:
      "Add resources to this network to control what peers can access. Resources can be anything from a single IP, a subnet, or a domain.",

    // ResourcesTabContent.tsx
    resourcesTabDescription:
      "Add resources to this network to control what peers can access. <link>Learn more</link>",

    // ResourceActionCell.tsx
    resourceEdit: "Edit",
    resourceEnable: "Enable",
    resourceDisable: "Disable",
    resourceDelete: "Delete",

    // ResourceAddressCell.tsx
    addressCopied: "{address} has been copied to your clipboard",

    // ResourceEnabledCell.tsx
    updateResource: "Update Resource",
    resourceNowEnabled: "'{name}' is now enabled",
    resourceNowDisabled: "'{name}' is now disabled",
    updatingResource: "Updating resource...",

    // ResourceExposeServiceCell.tsx
    expose: "Expose",

    // ResourceSingleAddressInput.tsx
    addressLabel: "Address",
    addressDescription:
      "Enter a single IP address, CIDR block or domain name",
    addressPlaceholder: "Address (IP, CIDR or Domain)",
    domainError:
      "Please enter a valid domain, e.g. service.internal, example.com or *.example.com",
    ipCidrError:
      "Please enter a valid IP or CIDR, e.g., 10.0.0.21, 192.168.1.0/24, 2001:db8::1 or 2001:db8::/64",
    ipAddressTooltip:
      "A single host address, e.g., 10.0.0.1 or 192.168.1.5. Use this to give access to a specific machine or service.",
    cidrBlockTooltip:
      "To give access to an entire subnet, use a CIDR block. For example, 10.0.0.0/24 or 192.168.1.0/24.",
    domainNameTooltip:
      "A DNS domain name, e.g., service.internal, example.com or *.example.com to match all subdomains.",

    // ResourceTypeCell.tsx
    singleIP: "Single IP",
    ipRange: "IP Range",

    // NetworkRoutingPeersTabContent.tsx
    routingPeersTabDescription:
      "Add routing peers to this network to access resources inside this network. <link>Learn more</link>",

    // NetworkRoutingPeersTable.tsx
    peer: "Peer",
    searchRoutingPeers: "Search by peer name, group name...",
    noRoutingPeers: "This network has no routing peers",
    noRoutingPeersDesc:
      "Add routing peers to this network to access resources inside this network.",

    // RoutingPeersActionCell.tsx
    routerEdit: "Edit",
    routerEnable: "Enable",
    routerDisable: "Disable",
    remove: "Remove",
    networkRoutingPeer: "Network Routing Peer",

    // RoutingPeerMasqueradeSwitch.tsx
    masquerade: "Masquerade",
    masqueradeHelp:
      "Allow access to your private networks without configuring routes on your local routers or other devices.",
    masqueradeTooltip:
      "Masquerade needs to be enabled for non-Linux routing peers.",
    masqueradeEnabled: "Masquerade is now enabled",
    masqueradeDisabled: "Masquerade is now disabled",
    updatingMasquerade: "Updating masquerade...",
    masqueradeNonLinuxWarning:
      "Group <important>{groupName}</important> contains at least one non-Linux peer. Disabled Masquerade will have no effect on non-Linux routing peers.",

    // NetworkRoutesDeprecationInfo.tsx
    routesDeprecationInfo:
      "Network Routes will be deprecated and replaced with Networks.",

    // NetworkModal.tsx
    modalAccessDescription:
      "Access internal resources in LANs and VPC by adding a network.",
    networkCreated: "Network created successfully.",
    networkCreating: "Creating network...",
    networkUpdated: "Network updated successfully.",
    networkUpdating: "Updating network...",

    // NetworkResourceModal.tsx
    resourceCreated: "Resource Created",
    resourceCreatedDesc:
      'The resource "{name}" has been created successfully.',
    resourceCreating: "Creating resource...",
    resourceUpdated: "Resource Updated",
    resourceUpdatedDesc:
      'Resource "{name}" has been updated successfully.',
    resourceUpdating: "Updating resource...",
    nameAlreadyExists:
      "A resource with this name already exists. Please use another name.",
    noPoliciesConfirmTitle:
      "No Access Control Policies Configured",
    noPoliciesConfirmDesc:
      "Without access control policies, this resource will not be accessible by any peers. You can also create policies later. Are you sure you want to continue?",
    resourceAddNewDesc: 'Add new resource to "{networkName}"',
    resourceGroupsLearnMore:
      "Learn more about <link>Resources</link>",

    // NetworkResourceAccessControl.tsx
    editPolicy: "Edit Policy",
    deletePolicy: "Delete Policy",

    // ResourceGroupModal.tsx
    resourceGroupsModalTitle: "Resource Groups",
    resourceGroupsModalDesc:
      "Add this resource to a group (e.g., Databases, Web Servers) and reference the group in access policies to simplify management.",
    saveGroups: "Save Groups",
    groupUpdated: "'{name}' groups updated",
    updatingGroups: "Updating resource groups...",

    // ResourcesTable column headers
    resourceColumn: "Resource",
    policiesColumn: "Policies",
  },
  postureChecks: {
    title: "Posture Checks",
    description:
      "Define posture checks to ensure peers meet security requirements",
    descriptionOptional: "Description (optional)",
    createPostureCheck: "Create Posture Check",
    editPostureCheck: "Edit Posture Check",
    deletePostureCheck: "Delete Posture Check",
    confirmDelete: "Are you sure you want to delete this posture check?",
    name: "Name",
    namePlaceholder: "e.g., OS Check",
    checkDescription: "Description",
    checks: "Checks",
    addCheck: "Add Check",
    removeCheck: "Remove Check",
    noPostureChecks: "No posture checks available",
    searchPlaceholder: "Search posture checks...",
    searchByNameAndDescription: "Search by name and description...",
    operatingSystem: "Operating System",
    geoLocation: "Geo Location",
    peerNetworkRange: "Peer Network Range",
    osVersion: "OS Version",
    minVersion: "Minimum Version",
    maxVersion: "Maximum Version",
    country: "Country",
    selectCountry: "Select country...",
    networkRange: "Network Range",
    pageDescription:
      "Define posture checks to ensure peers meet security requirements.",
    saveChanges: "Save Changes",
    updatePostureCheck: "Update Posture Check",
    nameAndDescription: "Name & Description",
    postureCheckName: "Name of the Posture Check",
    postureCheckNameHelp:
      "Set an easily identifiable name for your posture check.",
    postureCheckNamePlaceholder: "e.g., NetBird Version > 0.25.0",
    postureCheckDescriptionHelp:
      "Write a short description to add more context to this policy.",
    postureCheckDescriptionPlaceholder:
      "e.g., Check if the NetBird version is bigger than 0.25.0",
    netBirdClientVersion: "NetBird Client Version",
    netBirdClientVersionHelp:
      "Restrict access to peers with a specific NetBird client version.",
    netBirdClientVersionCheck: "Client Version Check",
    minimumRequiredVersion: "Minimum required version",
    minimumRequiredVersionHelp:
      "Only peers with the minimum specified NetBird client version will have access to the network.",
    minimumRequiredVersionPlaceholder: "e.g., 0.25.0",
    minimumRequiredVersionError:
      "Please enter a valid version, e.g., 0.2, 0.2.0, 0.2.0-alpha.1",
    countryAndRegion: "Country & Region",
    countryAndRegionHelp:
      "Restrict access in your network based on country or region.",
    countryAndRegionCheck: "Country & Region Check",
    geoLite2License:
      "This check includes GeoLite2 data created by MaxMind, available from",
    allowOrBlockLocation: "Allow or Block Location",
    chooseAllowOrBlock:
      "Choose whether you want to allow or block access from specific countries or regions",
    addLocation: "Add Location",
    learnMoreAbout: "Learn more about",
    operatingSystemHelp:
      "Restrict access in your network based on the operating system.",
    operatingSystemCheck: "Operating System Check",
    allVersions: "All versions",
    equalOrGreaterThan: "Equal or greater than",
    allowOrBlock: "Allow or Block",
    allowOrBlockOSHelp:
      "Choose whether you want to allow or block the operating system.",
    selectVersion: "Select version...",
    versionPlaceholder: "e.g., 6.0.0",
    useCustomVersion: "Use custom version number",
    useCustomVersionHelp:
      "Use a custom version number if you need more control.",
    kernelVersion: "Kernel Version",
    process: "Process",
    processHelp:
      "Restrict access in your network based on running processes of a peer.",
    processCheck: "Process Check",
    processes: "Processes",
    processesHelp:
      "Add the path of an executable file of the process. You can define a path for Linux, macOS and Windows. Peers will only be allowed to connect if the process is running on their system.",
    addProcess: "Add Process",
    linuxPathPlaceholder: "/usr/local/bin/netbird",
    macPathPlaceholder: "/Applications/NetBird.app/Contents/MacOS/netbird",
    windowsPathPlaceholder: "C:\\ProgramData\\NetBird\\netbird.exe",
    validMacPath: "Please enter a valid macOS file path",
    validUnixPath: "Please enter a valid Unix file path",
    validWindowsPath: "Please enter a valid Windows file path",
    peerNetworkRangeHelp:
      "Restrict access by allowing or blocking peer network ranges.",
    peerNetworkRangeCheck: "Peer Network Range Check",
    allowOrBlockRanges: "Allow or Block Ranges",
    allowOrBlockRangesHelp:
      "Choose whether you want to allow or block specific peer network ranges",
    addNetworkRange: "Add Network Range",
    validCidr: "Please enter a valid CIDR, e.g., 192.168.1.0/24",
    cidrPlaceholder: "e.g., 172.16.0.0/16",
    noChecks: "You haven't added any posture checks yet",
    noChecksDescription:
      "Add various posture checks to further restrict access in your network. E.g., only clients with a specific NetBird client version, operating system or location are allowed to connect.",
    browseChecks: "Browse Checks",
    newPostureCheck: "New Posture Check",
    postureCheck: "Posture Check",
    addPostureChecks: "Add Posture Checks ({count, number})",
    usePostureChecks:
      "Use posture checks to further restrict access in your network.",
    removePostureCheck: "Remove Posture Check",
    confirmDeleteTitle: "Delete '{name}'?",
    confirmDeleteDescription:
      "Are you sure you want to delete this posture check? This action cannot be undone.",
    assignedToPolicyCannotDelete:
      "This posture check is assigned to a policy and cannot be deleted. Please remove the posture check from all policies before deleting it.",
    postureCheckDeleted: "Posture check was successfully deleted",
    deletingPostureCheck: "Deleting posture check...",
    disableThisCheck: "Disable this check?",
    disableCheckConfirm:
      "Are you sure you want to disable this check? All settings of this check will be lost.",
    on: "On",
    off: "Off",
  },
  setupKeys: {
    title: "Setup Keys",
    description: "Manage setup keys to onboard peers automatically",
    createSetupKey: "Create Setup Key",
    editSetupKey: "Edit Setup Key",
    deleteSetupKey: "Delete Setup Key",
    confirmDelete: "Are you sure you want to delete this setup key?",
    name: "Name",
    namePlaceholder: "e.g., Production Key",
    expires: "Expires",
    usageLimit: "Usage Limit",
    usageCount: "Usage Count",
    unlimited: "Unlimited",
    never: "Never",
    ephemeral: "Ephemeral",
    pinnedOwner: "Pin to Owner",
    autoAssignGroups: "Auto Assign Groups",
    lastUsed: "Last used",
    nameAndKey: "Name & Key",
    revoked: "Revoked",
    active: "Active",
    expired: "Expired",
    copyKey: "Copy Key",
    keyCopied: "Setup key copied to clipboard",
    key: "Key",
    copyWarning:
      "This is the only time the key will be shown. Copy it now and store it in a safe place.",
    created: "Setup key '{name}' successfully created",
    updated: "Setup key '{name}' successfully updated",
    deleted: "Setup key '{name}' successfully deleted",
    noSetupKeys: "No setup keys available",
    searchPlaceholder: "Search setup keys...",
    createTitle: "Create New Setup Key",
    createDescription: "Use this key to register new machines in your network",
    nameHelp: "Set an easily identifiable name for your key",
    usageLimitHelp: "For example, set to 30 if you want to enroll 30 peers",
    usageLimitSuffix: "Peer(s)",
    expiresIn: "Expires in",
    expiresInHelp: "Days until the key expires.",
    expiresInHelpEmpty: "Leave empty for no expiration.",
    expiresInSuffix: "Day(s)",
    all: "All",
    oneOff: "One-off",
    reusable: "Reusable",
    status: "Status",
    groupNotUsedTitle: "This group is not used within any setup keys yet",
    groupNotUsedDescription:
      "Assign this group when creating a new setup key to see them listed here.",
    getStartedDescription:
      "Add a setup key to register new machines in your network. The key links machines to your account during initial setup.",
    learnMore: "Learn more about",
    groups: "Groups",
    usage: "Usage",
    lastUsedOn: "Last used on",
    // SetupKeyActionCell
    revoke: "Revoke",
    openActionsMenu: "Open actions menu",
    revokeConfirmTitle: "Revoke '{name}'?",
    revokeConfirmDescription:
      "Are you sure you want to revoke the setup key? This action cannot be undone.",
    revokeSuccessDescription: "Setup key was successfully revoked",
    revokeLoading: "Revoking the setup key...",
    deleteConfirmTitle: "Delete '{name}'?",
    deleteConfirmDescription:
      "Are you sure you want to delete the setup key? This action cannot be undone.",
    deleteSuccessDescription: "Setup key was successfully deleted",
    deleteLoading: "Deleting the setup key...",
    // SetupKeyGroupsCell
    autoAssignedGroups: "Auto-assigned Groups",
    autoAssignedGroupsDescription:
      "These groups will be automatically assigned to peers enrolled with this key",
    groupsSavedDescription: "Groups of the setup key were successfully saved",
    groupsSaving: "Saving the groups of the setup key...",
  },
  activity: {
    title: "Activity",
    description: "View audit events and activity logs",
    auditEvents: "Audit Events",
    auditEventsDescription:
      "Audit configuration changes, access policy updates, and peer registration and login events across your network.",
    noEvents: "No events available",
    searchPlaceholder: "Search events...",
    searchByAuditNameUserPeerMeta: "Search by audit name, user, peer, meta...",
    actor: "Actor",
    action: "Action",
    target: "Target",
    timestamp: "Timestamp",
    ipAddress: "IP Address",
    details: "Details",
    code: "Code",

    // UI strings used across activity components
    allEventTypes: "All Event Types",
    allUsers: "All Users",
    includeAllUsers: "Include all users",
    searchEvent: "Search event...",
    searchUser: "Search user...",
    noUsersAvailable: "No users available to select.",
    noUsersMatching: "There are no users matching your search.",
    system: "System",
    external: "External",
    serviceUser: "Service User",
    typeCount: "{count} types",
    eventCount: "{count} Event(s)",
    activityCode: "Activity Code",
    meta: "Meta",
    from: "from",
    unknown: "Unknown",

    // Activity event descriptions (used by ActivityDescription.tsx)

    // Setup Key
    desc_setupkey_revoke:
      "Setup-Key <Value>{name}</Value> with key <Value>{key}</Value> was revoked",
    desc_setupkey_delete:
      "Setup-Key <Value>{name}</Value> with key <Value>{key}</Value> was deleted",
    desc_setupkey_add:
      "Setup-Key <Value>{name}</Value> with key <Value>{key}</Value> was created",
    desc_peer_setupkey_add:
      "Peer <Value>{name}</Value> from <peerConnectionInfo></peerConnectionInfo> was added with the NetBird IP <Value>{ip}</Value> using the setup key <Value>{setup_key_name}</Value>",
    desc_setupkey_group_delete:
      "Group <Value>{group}</Value> was removed from the <Value>{setupkey}</Value> setup key",
    desc_setupkey_group_add:
      "Group <Value>{group}</Value> was added to the <Value>{setupkey}</Value> setup key",

    // Dashboard
    desc_dashboard_login:
      "<Value>{username}</Value> logged in to the dashboard",

    // Policy
    desc_policy_update: "Policy <Value>{name}</Value> has been updated",
    desc_policy_delete: "Policy <Value>{name}</Value> was deleted",
    desc_policy_add: "Policy <Value>{name}</Value> was created",

    // Route
    desc_route_delete_domains:
      "Route <Value>{name}</Value> with the domain(s) <Value>{domains}</Value> was deleted",
    desc_route_delete_range:
      "Route <Value>{name}</Value> with the range <Value>{network_range}</Value> was deleted",
    desc_route_update_domains:
      "Route <Value>{name}</Value> with the domain(s) <Value>{domains}</Value> was updated",
    desc_route_update_range:
      "Route <Value>{name}</Value> with the range <Value>{network_range}</Value> was updated",
    desc_route_add_domains:
      "Route <Value>{name}</Value> with the domain(s) <Value>{domains}</Value> was created",
    desc_route_add_range:
      "Route <Value>{name}</Value> with the range <Value>{network_range}</Value> was created",

    // User / Peer
    desc_user_peer_delete:
      "Peer <Value>{name}</Value> from <peerConnectionInfo></peerConnectionInfo> with NetBird IP <Value>{ip}</Value> was deleted",
    desc_user_peer_add:
      "Peer <Value>{name}</Value> from <peerConnectionInfo></peerConnectionInfo> was added with the NetBird IP <Value>{ip}</Value>",
    desc_user_peer_update:
      "Peer <Value>{name}</Value> from <peerConnectionInfo></peerConnectionInfo> with NetBird IP <Value>{ip}</Value> was updated",
    desc_user_join: "User <Value>{username}</Value> joined NetBird",
    desc_user_invite:
      "<Value>{username}</Value> <Value>{email}</Value> was invited.",
    desc_user_create:
      "<Value>{username}</Value> <Value>{email}</Value> was created by <Value>{initiator}</Value>",
    desc_user_group_add:
      "Group <Value>{group}</Value> was added to user <Value>{username}</Value>",
    desc_user_block:
      "User <Value>{username}</Value> <Value>{email}</Value> was blocked",
    desc_user_unblock:
      "User <Value>{username}</Value> <Value>{email}</Value> was unblocked",
    desc_user_delete:
      "User <Value>{username}</Value> <Value>{email}</Value> was deleted",
    desc_user_group_delete:
      "Group <Value>{group}</Value> was removed from user <Value>{username}</Value> <Value>{email}</Value>",
    desc_user_role_update:
      "Role <Value>{role}</Value> was updated of user <Value>{username}</Value> <Value>{email}</Value>",
    desc_user_approve:
      "User <Value>{username}</Value> <Value>{email}</Value> was approved",
    desc_user_reject:
      "User <Value>{username}</Value> <Value>{email}</Value> was rejected",
    desc_user_password_change:
      "Password was changed for user <Value>{username}</Value> <Value>{email}</Value>",

    // Invite Link
    desc_user_invite_link_create:
      "Invite link was created for <Value>{username}</Value> <Value>{email}</Value>",
    desc_user_invite_link_accept:
      "Invite link was accepted by <Value>{username}</Value> <Value>{email}</Value>",
    desc_user_invite_link_regenerate:
      "Invite link was regenerated for <Value>{username}</Value> <Value>{email}</Value>",
    desc_user_invite_link_delete:
      "Invite link was deleted for <Value>{username}</Value> <Value>{email}</Value>",

    // Service User
    desc_service_user_create: "Service user <Value>{name}</Value> was created",
    desc_service_user_delete: "Service user <Value>{name}</Value> was deleted",

    // Peer
    desc_peer_group_delete:
      "Group <Value>{group}</Value> was removed from the peer with the NetBird IP <Value>{peer_ip}</Value>",
    desc_peer_group_add:
      "Group <Value>{group}</Value> was added to the peer with the NetBird IP <Value>{peer_ip}</Value>",
    desc_peer_login_expire:
      "Login of the peer <Value>{name}</Value> is expired",
    desc_peer_ssh_disable:
      "SSH Server of peer <Value>{name}</Value> was disabled",
    desc_peer_ssh_enable:
      "SSH Server of peer <Value>{name}</Value> was enabled",
    desc_peer_login_expiration_disable:
      "Login expiration of peer <Value>{name}</Value> was disabled",
    desc_peer_login_expiration_enable:
      "Login expiration of peer <Value>{name}</Value> was enabled",
    desc_peer_rename:
      "Peer with the NetBird IP <Value>{ip}</Value> was renamed to <Value>{name}</Value>",
    desc_peer_approve:
      "Peer with the NetBird IP <Value>{ip}</Value> was approved",
    desc_peer_ip_update:
      "Peer <Value>{name}</Value> IP address was updated from <Value>{old_ip}</Value> to <Value>{ip}</Value>",
    desc_peer_user_add:
      "Peer <Value>{name}</Value> from <peerConnectionInfo></peerConnectionInfo> was added with the NetBird IP <Value>{ip}</Value>",

    // Group
    desc_group_add: "Group <Value>{name}</Value> was created",
    desc_group_delete: "Group <Value>{name}</Value> was deleted",
    desc_group_update:
      "Group <Value>{old_name}</Value> was renamed to <Value>{new_name}</Value>",

    // Account
    desc_account_create: "<Value>{initiator}</Value> created an account",
    desc_account_setting_peer_login_expiration_update:
      "Global login expiration was updated",
    desc_account_setting_peer_login_expiration_enable:
      "Global login expiration was enabled",
    desc_account_setting_peer_login_expiration_disable:
      "Global login expiration was disabled",
    desc_account_network_range_update:
      "Account network range was updated from <Value>{old_network_range}</Value> to <Value>{new_network_range}</Value>",

    // Nameserver
    desc_nameserver_group_add: "Nameserver <Value>{name}</Value> was added",
    desc_nameserver_group_delete: "Nameserver <Value>{name}</Value> was deleted",
    desc_nameserver_group_update: "Nameserver <Value>{name}</Value> was updated",

    // Personal Access Token
    desc_personal_access_token_create:
      "Access token <Value>{name}</Value> for user <Value>{username}</Value> was created",
    desc_personal_access_token_delete:
      "Access token <Value>{name}</Value> for user <Value>{username}</Value> was deleted",

    // Integration
    desc_integration_create_platform:
      "<Value>{platform}</Value> integration created",
    desc_integration_create: "Integration created",
    desc_integration_delete_platform:
      "<Value>{platform}</Value> integration deleted",
    desc_integration_delete: "Integration deleted",
    desc_integration_update_platform:
      "<Value>{platform}</Value> integration updated",
    desc_integration_update: "Integration updated",

    // DNS
    desc_dns_setting_disabled_management_group_add:
      "Group <Value>{group}</Value> was added to disabled DNS group setting",
    desc_dns_setting_disabled_management_group_delete:
      "Group <Value>{group}</Value> was removed from disabled DNS group setting",

    // Posture Checks
    desc_posture_check_updated:
      "Posture check <Value>{name}</Value> was updated",
    desc_posture_check_created:
      "Posture check <Value>{name}</Value> was created",
    desc_posture_check_deleted:
      "Posture check <Value>{name}</Value> was deleted",
    desc_transferred_owner_role: "Owner role was transferred",

    // EDR / Integrated Validator
    desc_integrated_validator_api_created:
      "<Value>{platform}</Value> integration created",
    desc_integrated_validator_api_updated:
      "<Value>{platform}</Value> integration updated",
    desc_integrated_validator_api_deleted:
      "<Value>{platform}</Value> integration deleted",
    desc_integrated_validator_host_check_approved:
      "Peer approved by <Value>{platform}</Value> integration",
    desc_integrated_validator_host_check_denied:
      "Peer rejected by <Value>{platform}</Value> integration",
    desc_integrated_validator_peer_compliance_bypassed:
      "Peer <Value>{name}</Value> with the NetBird IP <Value>{ip}</Value> compliance bypassed for <Value>{platform}</Value> integration{original_reason}",
    desc_integrated_validator_peer_compliance_bypass_revoked:
      "Peer <Value>{name}</Value> with the NetBird IP <Value>{ip}</Value> compliance bypass revoked for <Value>{platform}</Value> integration",
    desc_compliance_original_reason:
      " (original non-compliant reason: <Value>{reason}</Value>)",

    // Resource
    desc_resource_group_add:
      "Group <Value>{resource_name}</Value> added to resource <Value>{name}</Value>",
    desc_resource_group_delete:
      "Group <Value>{resource_name}</Value> removed from resource <Value>{name}</Value>",

    // Reverse Proxy (peer expose)
    desc_service_peer_expose:
      "Peer <Value>{peer_name}</Value> exposed service <Value>{domain}</Value> with auth <Value>{auth}</Value>",
    desc_service_peer_unexpose:
      "Peer <Value>{peer_name}</Value> unexposed service <Value>{domain}</Value>",
    desc_service_peer_expose_expire:
      "Service <Value>{domain}</Value> exposed by peer <Value>{peer_name}</Value> was removed due to renewal expiration",

    // Networks
    desc_network_resource_create:
      "Resource <Value>{name}</Value> created for network <Value>{network_name}</Value>",
    desc_network_resource_update:
      "Resource <Value>{name}</Value> updated for network <Value>{network_name}</Value>",
    desc_network_resource_delete:
      "Resource <Value>{name}</Value> deleted from network <Value>{network_name}</Value>",
    desc_network_router_create:
      "Routing peer created for network <Value>{network_name}</Value>",
    desc_network_router_delete:
      "Routing peer deleted from network <Value>{network_name}</Value>",
    desc_network_router_update:
      "Routing peer updated from network <Value>{network_name}</Value>",
    desc_network_create:
      "Network with name <Value>{name}</Value> created",
    desc_network_delete:
      "Network with name <Value>{name}</Value> deleted",
    desc_network_update:
      "Network with name <Value>{name}</Value> updated",

    // Jobs
    desc_peer_job_create:
      "Remote job <Value>{job_type}</Value> created for peer <Value>{for_peer_name}</Value>",

    // Flow Settings
    desc_account_settings_extra_flow_group_remove:
      "Limit traffic event group <Value>{group_name}</Value> removed",
    desc_account_settings_extra_flow_group_add:
      "Limit traffic event group <Value>{group_name}</Value> added",

    // Identity Provider
    desc_identityprovider_create:
      "Identity provider <Value>{name}</Value> was created",
    desc_identityprovider_update:
      "Identity provider <Value>{name}</Value> was updated",
    desc_identityprovider_delete:
      "Identity provider <Value>{name}</Value> was deleted",

    // Service (proxy cluster)
    desc_service_create:
      "Service <Value>{domain}</Value> in cluster <Value>{proxy_cluster}</Value> was created with authentication <Value>{auth}</Value>",
    desc_service_update:
      "Service <Value>{domain}</Value> in cluster <Value>{proxy_cluster}</Value> was updated with authentication <Value>{auth}</Value>",
    desc_service_delete:
      "Service <Value>{domain}</Value> in cluster <Value>{proxy_cluster}</Value> was deleted",

    // Reseller / Distributor
    desc_reseller_msp_created:
      "Customer <Value>{msp_name}</Value> with domain <Value>{msp_domain}</Value> was created",
    desc_reseller_activated: "Distributor account was activated",
    desc_reseller_msp_deleted:
      "Customer <Value>{msp_name}</Value> with domain <Value>{msp_domain}</Value> was deleted",
    desc_reseller_msp_unlinked:
      "Customer <Value>{msp_name}</Value> with domain <Value>{msp_domain}</Value> was unlinked",
    desc_reseller_msp_invite_requested:
      "Invite requested for customer <Value>{msp_name}</Value> with domain <Value>{msp_domain}</Value>",
    desc_reseller_msp_invite_accepted:
      "Invite accepted by customer <Value>{msp_name}</Value> with domain <Value>{msp_domain}</Value>",
    desc_reseller_msp_invite_declined:
      "Invite declined by customer <Value>{msp_name}</Value> with domain <Value>{msp_domain}</Value>",
    desc_reseller_msp_updated:
      "Customer <Value>{msp_name}</Value> with domain <Value>{msp_domain}</Value> was updated",
  },
  controlCenter: {
    title: "Control Center",
    description: "Overview of your network",
    totalPeers: "Total Peers",
    activePeers: "Active Peers",
    totalPolicies: "Total Policies",
    totalGroups: "Total Groups",
    totalUsers: "Total Users",
    totalNetworks: "Total Networks",
    networkOverview: "Network Overview",
  },
  notifications: {
    title: "Notifications",
    description: "Choose how to be notified when important events occur in your account.",
    learnMore: "Learn more about",
    notificationChannels: "Notification Channels",
    inOurDocumentation: "in our documentation.",
    beta: "Beta",
    email: "Email",
    slack: "Slack",
    webhook: "Webhook",
    emailNotifications: "Email Notifications",
    slackNotifications: "Slack Notifications",
    webhookNotifications: "Webhook Notifications",
    addedSuccessfully: "has been successfully added",
    removedSuccessfully: "has been successfully removed",
    adding: "Adding",
    removing: "Removing",
    enableEmailChannel: "Enable Email Channel",
    enableEmailChannelHelp: "Enable or disable all email notifications for your account",
    emailAddresses: "Email Addresses",
    emailAddressesHelp: "Add one or more email addresses that should receive notifications",
    emailPlaceholder: "e.g. hello@company.com",
    add: "Add",
    connectNetBirdWithSlack: "Connect NetBird with Slack",
    slackDescription: "Receive NetBird notification events directly in your Slack channel via an Incoming Webhook.",
    createSlackApp: "Create a Slack App",
    open: "Open",
    slackAppManagement: "Slack App Management",
    click: "click",
    createAnApp: "Create an app",
    andChoose: "and choose",
    fromScratch: "From scratch",
    setAppNameTo: "Set the app name to",
    netBirdNotifications: "NetBird Notifications",
    andSelectWorkspace: "and select your workspace. After that click",
    createApp: "Create App",
    configureIncomingWebhook: "Configure Incoming Webhook",
    inAppSettings: "In the app settings, go to",
    incomingWebhooks: "Incoming Webhooks",
    andToggle: "and toggle",
    activateIncomingWebhooks: "Activate Incoming Webhooks",
    to: "to",
    on: "On",
    addNewWebhook: "Add New Webhook",
    andSelectChannel: "and select the channel where you want to receive notifications and confirm with",
    allow: "Allow",
    copyGenerated: "Copy the generated",
    webhookUrl: "Webhook URL",
    andPasteBelow: "and paste it below.",
    slackPlaceholder: "https://hooks.slack.com/services/T000/B000/XXXX",
    webhookConfiguration: "Webhook Configuration",
    connectWebhook: "Connect Webhook",
    webhookUpdateDescription: "Update your webhook endpoint and authentication settings.",
    webhookConnectDescription: "Configure a webhook endpoint to receive notification events.",
    general: "General",
    headers: "Headers",
    webhookUrlHelp: "Full HTTP(S) URL where notification events will be sent via a POST request.",
    saveChanges: "Save Changes",
    continue: "Continue",
    back: "Back",
    connect: "Connect",
    connected: "connected",
    updated: "updated",
    disconnected: "disconnected",
    deleted: "deleted",
    connecting: "Connecting",
    updating: "Updating",
    disconnecting: "Disconnecting",
    deleting: "Deleting",
    disconnectSlack: "Disconnect Slack",
    disconnectSlackConfirm: "Are you sure you want to disconnect Slack? You will no longer receive notifications in your Slack channel.",
    deleteWebhookConnection: "Delete Webhook Connection",
    deleteWebhookConfirm: "Are you sure you want to delete this webhook connection? This action cannot be undone.",
    notConnected: "Not Connected",
    edit: "Edit",
    delete: "Delete",
    disabled: "Disabled",
    enabled: "Enabled",
    allNotifications: "All Notifications",
    notificationsCount: "{active} of {total} Notifications",
    recipient: "Recipient",
    recipients: "Recipients",
    peerNotifications: "Peer Notifications",
    userNotifications: "User Notifications",
    integrationNotifications: "Integration Notifications",
    pendingApproval: "Pending Approval",
    peerPendingApprovalHelp: "Notify when a peer is waiting for approval to join the network",
    peerAdded: "Peer Added",
    peerAddedHelp: "Notify when a new peer is added to the network",
    routingPeerDisconnected: "Routing Peer Disconnected",
    routingPeerDisconnectedHelp: "Notify when a routing peer loses its connection",
    routingPeerDeleted: "Routing Peer Deleted",
    routingPeerDeletedHelp: "Notify when a routing peer is deleted from the network",
    userPendingApproval: "User Pending Approval",
    userPendingApprovalHelp: "Notify when a user is waiting for approval to join the network",
    userJoined: "User Joined",
    userJoinedHelp: "Notify when a new user joins the account",
    serviceUserCreated: "Service User Created",
    serviceUserCreatedHelp: "Notify when a new service user is created",
    idpSyncTokenExpired: "IdP Sync Token Expired",
    idpSyncTokenExpiredHelp: "Notify when the IdP sync token has expired and needs renewal",
    edrSyncTokenExpired: "EDR Sync Token Expired",
    edrSyncTokenExpiredHelp: "Notify when the EDR sync token has expired and needs renewal",
  },
  invoices: {
    title: "Invoices",
    description: "View and export all your available invoices",
    date: "Date",
    type: "Type",
    searchPlaceholder: "Search by invoice number or date...",
    noInvoicesTitle: "You don't have any invoices",
    noInvoicesDescription: "Invoices are created at the end of each billing period. You will see them here once they are available.",
    downloadPDF: "Download as PDF",
    downloadCSV: "Download as CSV",
    downloadInvoicePDF: "Download Invoice (PDF)",
    downloadInvoiceCSV: "Download Invoice (CSV)",
    redirectingToStripe: "Redirecting to Stripe to download the invoice...",
    gettingInvoice: "Getting invoice for this billing period...",
    account: "Account",
    customers: "Customers",
    tenants: "Tenants",
  },
  webhooks: {
    endpointUrl: "Endpoint URL",
    enterEndpointUrl: "Enter your Endpoint URL",
    authentication: "Authentication",
    authHelpText: "Select your preferred authentication method for the endpoint.",
    urlPlaceholder: "https://api.example.com/webhook",
    urlError: "Please enter a valid url, e.g., https://api.example.com/webhook",
    httpHeaders: "HTTP Headers (optional)",
    httpHeadersHelp: "If your endpoint requires additional headers, you can add them here.",
    addHeader: "Add Header",
    headerName: "Name",
    headerValue: "Value",
    headerNamePlaceholder: "e.g., Authorization",
    headerValuePlaceholder: "e.g., Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InVURWw0SmJieUU4S00zY3NwcmdUSSJ9",
    headerKeyRequired: "Header key is required when value is provided",
    headerNameRequired: "Header name is required when a value is provided",
    authHeaderConflict: "Warning: You have added an 'Authorization' header. This will override the {authType} authentication from the previous step. Please remove the 'Authorization' header.",
    basicAuth: "Basic Auth",
    bearerToken: "Bearer Token",
    noAuthentication: "No Authentication",
    customAuthentication: "Custom Authentication",
    username: "Username",
    password: "Password",
    httpHeaderNameValue: "HTTP Header Name & Value",
    customAuthHelp: "Specify the header name and value for your custom authentication",
    customAuthNamePlaceholder: "e.g. X-API-Key",
    customAuthValuePlaceholder: "e.g. AIiaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe",
  },
  survey: {
    loveToHear: "We'd love to hear from you",
    improveHelp: "Help us improve by sharing how you discovered NetBird. Your feedback truly helps us grow.",
    howDidYouHear: "How did you hear about NetBird?",
    selectOption: "Please select an option...",
    submitContinue: "Submit & Continue",
  },
  awsMarketplace: {
    thanksRegistering: "Thanks for registering via AWS Marketplace!",
    activeStripePlan: "It seems you already have an active subscription with us. In order to use AWS as a billing provider, please contact our support team.",
    flexiblePricing: "With our flexible pricing, you are only billed for active users and active peers through your AWS account. Please choose the plan that fits your needs.",
    changePlanLater: "You can always change your plan later.",
    getSupport: "Get Support",
    continueDashboard: "Continue to Dashboard",
    logout: "Logout",
    subscribeTo: "Subscribe to",
    downgradeTo: "Downgrade to",
  },
  routes: {
    // Table columns
    colName: "Name",
    colMetric: "Metric",
    colDistributionGroups: "Distribution Groups",
    colAccessControlGroups: "Access Control Groups",
    colAutoApply: "Auto Apply",
    tableTitle: "Network Routes",

    // Create route modal - header
    setupExitNode: "Set Up Exit Node",
    addExitNode: "Add Exit Node",
    createNewRoute: "Create New Route",
    routeAllThroughPeer: "Route all traffic through the peer '{name}'",
    routeAllInternet: "Route all internet traffic through a peer",
    createDescription: "Access LANs and VPC by adding a network route.",

    // Create route modal - create policy prompt
    createPolicyConfirm:
      "Do you want to create a new access control policy for the route '{name}'?",
    createPolicyDescription:
      "You have one or more access control groups added to this route. These groups allow you to limit access to this route by using them in access policies.",
    createPolicyConfirmText: "Create Policy",
    createPolicyCancelText: "Later",

    // Tabs
    tabRoute: "Route",
    tabGroups: "Groups",
    tabNameDescription: "Name & Description",
    tabSettings: "Settings",

    // Domains section
    addDomainsHelp:
      "Add domains that dynamically resolve to one or more IPv4 addresses. <br /> A maximum of 32 domains can be added.",
    addDomain: "Add Domain",
    keepRoutesTooltip:
      "DNS records for load-balanced systems often change. Keeping resolved addresses ensures ongoing connections to active resources remain uninterrupted.",
    keepRoutes: "Keep Routes",
    keepRoutesHelp:
      "Retain previously resolved routes after IP address updates to maintain stable connections.",

    // Routing peer section
    assignSinglePeer:
      "Assign a single peer as a routing peer for the {type}",
    assignPeerGroup:
      "Assign a peer group with machines to be used as {type}",
    exitNode: "exit node",
    exitNodes: "exit nodes",
    networkRoute: "network route",
    routingPeers: "routing peers",

    // Distribution groups help
    routeAllTrafficPeer:
      "Route all internet traffic through this peer for the following groups",
    routeAllTrafficPeers:
      "Route all internet traffic through the peer(s) for the following groups",
    advertiseRouteToGroups:
      "Advertise this route to peers that belong to the following groups",

    // Access control groups
    accessControlGroupsOptional: "Access Control Groups (optional)",
    accessControlGroupsHelpCreate:
      "These groups allow you to limit access to this route. Simply use these groups as a destination when creating access policies.",
    accessControlGroupsHelpUpdate:
      "These groups offer a more granular control of internal services in your network. They can be used in access control policies to limit and control access of this route.",

    // General / Name & Description
    networkIdentifierHelp:
      "Add a unique network identifier that is assigned to each device.",
    networkIdentifierPlaceholder: "e.g., aws-eu-central-1-vpc",
    descriptionHelp:
      "Write a short description to add more context to this route.",
    descriptionPlaceholder:
      "e.g., Route to access all devices in the AWS VPC, located in Frankfurt.",

    // Settings
    enableRoute: "Enable Route",
    enableRouteHelp:
      "Use this switch to enable or disable the route.",
    autoApplyRoute: "Auto Apply Route",
    autoApplyRouteHelp:
      "Automatically apply this exit node to your distribution groups. This requires NetBird client v0.55.0 or higher.",
    metricHelp: "A lower metric indicates higher priority routes.",

    // Footer links
    learnMore: "Learn more about",
    continueBtn: "Continue",
    addRouteBtn: "Add Route",
    addExitNodeBtn: "Add Exit Node",

    // Update modal
    updateTitle: "Update {name}",
    updateTabDescription: "Description",
    metricError: "Metric must be between 1 and 9999",
    networkIdentifierLengthError:
      "Network identifier must be less than 40 characters",
    saveChanges: "Save Changes",

    // Action cell
    deleteRouteNotify: "Delete Route {network_id}",
    routeRemoved: "Route was successfully removed",
    deletingRoute: "Deleting the route...",
    deleteDialogTitle: "Delete '{name}'?",
    deleteDialogDescription:
      "Are you sure you want to delete this route? This action cannot be undone.",
    deleteDialogConfirm: "Delete",
    routeEnabledSuccess: "The network route was successfully enabled",
    routeDisabledSuccess: "The network route was successfully disabled",
    routeActionsLabel: "Route actions",
    actionEdit: "Edit",
    actionDisable: "Disable",
    actionEnable: "Enable",
    actionDelete: "Delete",

    // Auto apply cell
    autoApplyEnabled: "Auto Apply was enabled for the route",
    autoApplyDisabled: "Auto Apply was disabled for the route",

    // Add routing peer modal
    addRoutingPeerDescription:
      "When you add multiple routing peers, NetBird enables high availability for this network.",
    routeSelectorHelp:
      "Network name and CIDR that you are adding the route to.",
    assignSinglePeerRoute:
      "Assign a single peer as a routing peer for the network route.",
    peerAddedToRoute: "Peer was successfully added to the route",

    // NetworkRoutesTable column headers
    colNetwork: "Network",
    colType: "Type",
    colHighAvailability: "High Availability",
    filterStatus: "Status",
    searchRoutes: "Search by network, range, name or groups...",
    groupNoRoutesTitle:
      "This group is not used within any network routes yet",
    groupNoRoutesDescription:
      "Assign this group when creating a new route to see them listed here.",
    getStartedDescription:
      "It looks like you don't have any routes. Access LANs and VPC by adding a network route.",

    // High availability cell
    haDisabled:
      "High availability is currently disabled for this route.",
    haEnabled:
      "High availability is enabled for this route.",
    haAddMorePeersTooltip:
      "Go ahead and add more routing peers to enable high availability for this network route.",
    haIncreasePeersTooltip:
      "You can add more peers to increase the availability of this network route.",
    haAddToGroupTooltip:
      "To configure, you must add more peers to a group in this route. You can do it in the Peers menu.",
    haAddFromPeersTooltip:
      "You can add more peers to a group in this route by going to the peers page.",
    haPeerCount: "{count} Peer(s)",
    haDisabledBadge: "Disabled",
    goToPeers: "Go to Peers",
    addPeer: "Add Peer",

    // GroupedRouteActionCell
    deleteNetworkNotify: "Delete Network",
    networkRemoved: "Network was successfully removed",
    deletingNetwork: "Deleting the network...",
    deleteNetworkConfirmTitle: "Delete network '{name}'?",
    deleteNetworkConfirmDescription:
      "Are you sure you want to delete this network? All routes inside this network will be deleted. This action cannot be undone.",

    // Badge labels
    exitNodeLabel: "Exit Node",
    routingPeersBadge: "Routing Peers",
  },
  onboarding: {
    title: "Get started with NetBird",
    addResource: "Add your first resource",
    description:
      "NetBird provides the flexibility of both a peer-to-peer overlay network and a remote network access solution. Choose what fits your needs, you can always combine both.",
    p2pTitle: "Peer-to-Peer Network",
    p2pDescription_business:
      "Install NetBird on two or more devices to create secure, direct WireGuard connections, like laptop to server or server to database. Add at least two machines to get started.",
    p2pDescription_personal:
      "Install NetBird on two or more devices in your homelab, such as your laptop, NAS, or Raspberry Pi, to create secure, direct WireGuard connections.",
    remoteAccessTitle: "Remote Network Access",
    remoteAccessDescription_business:
      "Enable employee remote access to VMs, Kubernetes clusters, and cloud or on-prem resources without installing NetBird on every machine.",
    remoteAccessDescription_personal:
      "Securely access your homelab remotely from anywhere without installing NetBird on every device.",
    recommended: "Recommended",
    recommendedTooltip:
      "Based on your previous choices, we recommend starting with {title}. You can always combine both options later.",
    congratulationsName: "Congratulations, {name}!",
    congratulations: "Congratulations!",
    completedOnboarding: "You’ve completed the onboarding.",
    whatsNext:
      "What’s next? Check out these guides to get the most out of NetBird. To learn more, explore the dashboard, visit our documentation, or browse our YouTube channel.",
    goToDashboard: "Go to Dashboard",
    videoAccessControlTitle: "Access Control in Under 5 Minutes",
    videoAccessControlDescription:
      "Learn how to manage access for your network resources effectively. Whether you want to restrict access to specific machines or allow certain users to connect.",
    videoIdPTitle: "Provision Users & Groups From Your IdP",
    videoIdPDescription:
      "Learn how to provision users and groups from your identity provider, such as Okta, Azure AD, or Google Workspace, to manage access control in NetBird and automate onboarding and offboarding processes.",
    videoHowNetBirdWorksTitle: "How NetBird Works",
    videoHowNetBirdWorksDescription:
      "Learn more about how NetBird works, its architecture, and how it can help you build secure networks.",

    // OnboardingDemoCall.tsx experiment variants
    demoCall: {
      duration: "The call usually takes around {duration, number} minutes",
      v1: {
        title: "Book a Technical Overview (Not a Sales Call)",
        desc: "You’ll meet with a solutions engineer who will walk through how NetBird works, answer your implementation questions - no slides, no hard sell.",
        feature1: "Live walkthrough of setup and architecture",
        feature2: "Implementation of use case, for your stack",
        feature3: "Best practices and general overview",
        cta: "Book Now",
        cancel: "No Thanks",
      },
      v2: {
        title: "Talk to our Solutions Engineer",
        desc: "Get a 30-min technical overview. We’ll go over your specific use-case and answer any technical questions you might have. <br/> We’re offering this as a technical onboard support for you. <br/> This is NOT a sales call.",
        cta: "Book Now",
        cancel: "No Thanks",
      },
      v3: {
        title: "Book a Technical Overview (Not a Sales Call)",
        desc: "Get a 30-min technical overview. We’ll go over your specific use-case and answer any technical questions you might have. <br/> We’re offering this as a technical onboard support for you. <br/> This is NOT a sales call.",
        cta: "Book Now",
        cancel: "No Thanks",
      },
      v4: {
        title: "Book a Technical Overview",
        desc: "You’ll meet with a solutions engineer who will walk through how NetBird works, answer your implementation questions - no slides, no hard sell.",
        feature1: "Live walkthrough of setup and architecture",
        feature2: "Implementation of use case, for your stack",
        feature3: "Best practices and general overview",
        cta: "Book Now",
        cancel: "No Thanks",
      },
      v5: {
        title: "Talk to our Solutions Engineer",
        desc: "Get a 30-min technical overview. We’ll go over your specific use-case and answer any technical questions you might have. <br/> We’re offering this as a technical onboard support for you.",
        cta: "Book Now",
        cancel: "No Thanks",
      },
      v6: {
        title: "Book a Technical Overview",
        desc: "Get a 30-min technical overview. We’ll go over your specific use-case and answer any technical questions you might have. <br/> We’re offering this as a technical onboard support for you.",
        cta: "Book Now",
        cancel: "No Thanks",
      },
    },
  },
  setupModal: {
    generateSetupKey: "Generate a setup key",
    setupKeyHelpTooltip:
      "A setup key is a one-time, pre-authentication token used to enroll an unattended machine with NetBird. Pass it to <code>netbird up</code> via <code>--setup-key</code> and the peer registers without an interactive login.",
    learnMore: "Learn more",
    defaultUserName: "there",
    helloMessage: "Hello {name}! 👋",
    timeToAddFirstDevice: "It's time to add your first device.",
    installNetBirdWithSetupKey: "Install NetBird with Setup Key",
    installNetBird: "Install NetBird",
    getStartedWithSetupKey:
      "To get started, install and run NetBird with the setup key as a parameter.",
    getStartedWithEmail:
      "To get started, install NetBird and log in with your email account.",
    footerDescription:
      "After that you should be connected. Add more devices to your network or manage your existing devices in the admin panel. If you have further questions check out our",
    installationGuide: "Installation Guide",
    setupKeyOnceMessage:
      "This setup key can be used only once within the next 24 hours.",
    setupKeyExpiredMessage: "When expired, the same key can not be used again.",
    setupKeyCreated: "Setup Key Created",
    setupKeyCreatedDescription:
      "A one-off setup key was generated for this install.",
    generatingSetupKey: "Generating setup key...",
    setupKeyCopied: "Setup Key Copied",
    setupKeyCopiedDescription: "Successfully copied to clipboard.",
    generateKey: "Generate Key",
    setupKey: "Setup Key",
    setupKeyExpiryMessage:
      "This setup key can be used only once and expires in 24 hours.",
    downloadNetBird: "Download NetBird",
    runNetBird: "Run NetBird",
    andLogInBrowser: "and log in the browser",
    installWithCli: "Install with Command-line",
    installManuallyOnUbuntu: "Install manually on Ubuntu",
    addRepository: "Add our repository",
    installOnMacos: "Install on macOS",
    downloadMacInstaller: "Download and run macOS Installer",
    managementUrlInstruction:
      "Click on \"Settings\" then \"Advanced Settings\" from the NetBird icon in your system tray and enter the following \"Management URL\"",
    openTerminalAndRun: "Open Terminal and run NetBird",
    clickConnectTray:
      "Click on \"Connect\" from the NetBird icon in your system tray",
    signUpWithEmail: "Sign up using your email address",
    installWithTerminal: "Install manually with Terminal",
    installWithHomebrew: "Install manually with HomeBrew",
    downloadHomebrew: "Download and install HomeBrew",
    homebrewGuide: "HomeBrew Installation Guide",
    startDaemon: "Start NetBird daemon",
    installOnWindows: "Install on Windows",
    downloadWindowsInstaller: "Download and run Windows Installer",
    selectArchitecture: "Select architecture",
    openCmdAndRun: "Open Command-line and run NetBird",
    installOnUbuntuDocker: "Install on Ubuntu",
    installDocker: "Install Docker",
    dockerGuide: "Official Docker Installation Guide",
    runNetBirdContainer: "Run NetBird container",
    readDocumentation: "Read our documentation",
    runningInDocker: "Running NetBird in Docker",
    installOnAndroid: "Install on Android",
    downloadFromGooglePlay:
      "Download and install the application from Google Play Store:",
    googlePlayAlt: "Download NetBird from Google Play",
    changeServer:
      "Click on \"Change Server\" and enter the following \"Server\"",
    clickConnectButton:
      "Click on the \"Connect\" button in the middle of the screen",
    installOnIos: "Install on iOS",
    downloadFromAppStore:
      "Download and install the application on the App Store:",
    appStoreAlt: "Download NetBird on the App Store",
  },
  untranslated: {
    // app
    customers_1: "Customers -",
    customers_2: "Customers",
    integrations_3: "Integrations -",
    processing_your_invitation_4: "Processing your invitation...",
    successfully_joined_as_an_managed_service_provider_5: "Successfully joined as an Managed Service Provider",
    plans_6: "Plans -",
    tenants_7: "Tenants -",
    tenants_8: "Tenants",
    activity_events_9: "Activity Events -",
    access_control_10: "Access Control -",
    control_center_11: "Control Center -",
    nameservers___dns_12: "Nameservers - DNS -",
    settings___dns_13: "Settings - DNS -",
    zones___dns_14: "Zones - DNS -",
    audit_events___activity_15: "Audit Events - Activity -",
    traffic_events___activity_16: "Traffic Events - Activity -",
    activity_17: "Activity",
    traffic_events_18: "Traffic Events",
    group_19: "Group -",
    groups_20: "Groups -",
    network_routes_21: "Network Routes -",
    network___networks_22: "Network - Networks -",
    networks_23: "Networks -",
    peer___peers_24: "Peer - Peers -",
    peers_25: "Peers -",
    servers_26: "Servers -",
    user_devices_27: "User Devices -",
    posture_checks_28: "Posture Checks -",
    clusters___reverse_proxy_29: "Clusters - Reverse Proxy -",
    custom_domains___reverse_proxy_30: "Custom Domains - Reverse Proxy -",
    access_logs___reverse_proxy_31: "Access Logs - Reverse Proxy -",
    services___reverse_proxy_32: "Services - Reverse Proxy -",
    settings_33: "Settings -",
    setup_keys_34: "Setup Keys -",
    service_users___team_35: "Service Users - Team -",
    user___team_36: "User - Team -",
    auto_assigned_groups_37: "Auto-assigned groups",
    users___team_38: "Users - Team -",
    connecting_to_39: "Connecting to @...",
    installation_40: "Installation -",
    accept_invite_41: "Accept Invite -",
    at_least_8_characters_42: "At least 8 characters",
    confirm_password_43: "Confirm Password",
    one_lowercase_letter_44: "One lowercase letter",
    one_number_45: "One number",
    one_uppercase_letter_46: "One uppercase letter",
    password_47: "Password",
    instance_setup_48: "Instance Setup -",
    // cloud
    add__customer_1: "Add  customer",
    cancel_2: "Cancel",
    company_3: "Company",
    customer_id__optional_4: "Customer ID (optional)",
    domain_5: "Domain",
    update_6: "Update",
    select_the_plan_that_best_fits_your_customer_s_nee_7: "Select the plan that best fits your customer's needs.",
    are_you_sure_you_want_to_grant_access__this_action_8: "Are you sure you want to grant access? This action cannot be undone.",
    grant_access_to_distributor_9: "Grant access to distributor?",
    request_account_access_10: "Request Account Access",
    successfully_unlinked_11: "Successfully unlinked  ()",
    unlink_12: "Unlink ''?",
    unlinking_13: "Unlinking",
    unlinking_14: "Unlinking ...",
    subscribing_to_15: "Subscribing to ...",
    subscription_plan_16: "Subscription Plan",
    successfully_subscribed_to_the__plan_17: "Successfully subscribed to the  plan.",
    customer_18: "Customer",
    customer_id_19: "Customer ID",
    customer_id_copied_to_clipboard_20: "Customer ID copied to clipboard",
    plan_21: "Plan",
    tenants_22: "Tenants",
    downloading__csv_23: "Downloading .csv...",
    mfa_is_now__for_your_account_24: "MFA is now  for your account",
    reset_multi_factor_authentication_25: "Reset Multi-factor Authentication?",
    txt_record_26: "TXT record",
    add__account_27: "Add  account",
    enter_the_primary_domain_of_the_tenant_28: "Enter the primary domain of the tenant.",
    name_29: "Name",
    primary_domain_of_the_tenant_30: "Primary domain of the tenant.",
    update__account_31: "Update  account",
    update_tenant_32: "Update Tenant",
    permissions__required_33: "Permissions (required)",
    peers_34: "Peers",
    permission_groups_35: "Permission Groups",
    tenant_36: "Tenant",
    users_37: "Users",
    granting_access_to_38: "Granting access to",
    granting_access_to_39: "Granting access to ?",
    new_owner_40: "New Owner",
    delete_41: "Delete ''?",
    deleting_42: "Deleting",
    deleting_43: "Deleting ...",
    subscription_for_44: "Subscription for",
    successfully_deleted_45: "Successfully deleted  ()",
    verification_of_46: "Verification of",
    verifying_ownership_of_47: "Verifying ownership of",
    slack_48: "Slack",
    slack_49: "Slack .",
    activate_incoming_webhooks_50: "Activate Incoming Webhooks",
    add_new_webhook_51: "Add New Webhook",
    allow_52: "Allow",
    create_app_53: "Create App",
    create_an_app_54: "Create an app",
    incoming_webhooks_55: "Incoming Webhooks",
    webhook_url_56: "Webhook URL",
    webhook_57: "Webhook .",
    enable_traffic_reporting__kernel_58: "Enable Traffic Reporting (Kernel)",
    limit_to_specific_groups_59: "Limit To Specific Groups",
    traffic_events_successfully_60: "Traffic events successfully .",
    traffic_reporting_successfully_61: "Traffic reporting successfully .",
    connection_62: "Connection",
    destination_63: "Destination",
    event_64: "Event",
    router_65: "Router",
    source_66: "Source",
    time_67: "Time",
    traffic_68: "Traffic",
    access_control_policy_xyz_passed_69: "Access Control Policy XYZ passed",
    peer_2_accepted_the_connection_request_70: "Peer 2 accepted the connection request",
    posture_check_xyz_passed_71: "Posture Check XYZ passed",
    unknown_72: "Unknown",
    bearer_73: "Bearer",
    // components
    select_an_existing_network_1: "Select an existing network...",
    code_2: "Code :",
    networks_3: "Networks",
    peers_4: "Peers",
    select_ports_5: "Select ports...",
    management_6: "Management",
    update_available_7: "Update available",
    close_8: "Close",
    dialog_9: "Dialog",
    n__plural_10: "N {plural}",
    next_locale_11: "NEXT_LOCALE",
    // contexts
    subscription__to_1: "Subscription  to  ()",
    successfully_subscribed_to_the__plan_2: "Successfully subscribed to the  plan",
    request_failed_with_status_code_3: "Request failed with status code",
    add_user_to_group_4: "Add User to Group",
    add_users_to_group_5: "Add Users to Group",
    delete_6: "Delete ''?",
    peers_were_successfully_added_to_7: "Peers were successfully added to .",
    rename_group_8: "Rename Group",
    user____was_successfully_added_to_group_9: "User '' was successfully added to group ''.",
    users_were_successfully_added_to_group_10: "Users were successfully added to group ''.",
    delete_target_11: "Delete target?",
    reverse_proxy_12: "Reverse proxy",
    target_13: "Target",
    // hooks
    error_reading_localstorage_key_1: "Error reading localStorage key “”:",
    error_setting_localstorage_key_2: "Error setting localStorage key “”:",
    tried_setting_localstorage_key____even_though_envi_3: "Tried setting localStorage key “” even though environment is not a client",
    invalid_time_unit_4: "Invalid time unit:",
    // modules
    delete_1: "Delete ''?",
    trial_ends_in__days_2: "Trial ends in  days",
    select_currency_3: "Select currency...",
    upgrade_your__plan_to_access_this_feature_4: "Upgrade your  plan to access this feature.",
    free_trial_5: "Free Trial",
    what_s_next_6: "What's next?",
    smart_firewall_translates_natural_language_prompts_7: "Smart Firewall translates natural language prompts into network\n            policies. You can describe your access needs in plain language, and\n            AI will handle the rest. If you're interested in early access,\n            please fill out the form below.",
    thank_you_for_signing_up_8: "Thank you for signing up!",
    hello___i_m_here_to_help_you_configure_your_access_9: "Hello , I'm here to help you configure your access control rules securely and efficiently. How can I assist you today?",
    we_will_notify_you_by_email_as_soon_as_it_s_availa_10: "We will notify you by email as soon as it's available for your account.",
    policy__was_successfully_created_11: "Policy  was successfully created.",
    posture_check_failed_to_create_12: "Posture Check failed to create.",
    it_s_configured_to_allow_connections_13: "It's configured to allow connections",
    it_s_configured_to_allow_connections_through_14: "It's configured to allow connections through",
    address_15: "Address",
    name_16: "Name",
    role_17: "Role",
    status_18: "Status",
    groups_19: "Groups",
    policies_20: "Policies",
    resource_21: "Resource",
    view_details_of_group_22: "View details of group",
    email_23: "Email",
    enter_a_strong_password_24: "Enter a strong password",
    password_25: "Password",
    your_name_26: "Your name",
    crowdstrike_is_a_cloud_native_platform_for_protect_27: "CrowdStrike is a cloud-native platform for protecting endpoints, cloud workloads, identities and data.",
    crowdstrike_was_successfully_28: "CrowdStrike was successfully",
    disable_crowdstrike_29: "Disable CrowdStrike?",
    crowdstrike_integration_was_successfully_deleted_30: "CrowdStrike Integration was successfully deleted",
    crowdstrike_integration_was_successfully_updated_31: "CrowdStrike Integration was successfully updated",
    delete_integration_32: "Delete integration?",
    client_id_33: "Client ID",
    create_34: "Create",
    create_api_client_35: "Create API client",
    hosts__read_36: "Hosts (Read)",
    secret_37: "Secret",
    zero_trust_assessment__read_38: "Zero Trust Assessment (Read)",
    score_threshold_39: "Score Threshold",
    are_you_sure_you_want_to_disable_the_fleetdm_integ_40: "Are you sure you want to disable the FleetDM integration?",
    disable_fleetdm_41: "Disable FleetDM?",
    fleetdm_was_successfully_42: "FleetDM was successfully",
    open_source_device_management_platform_for_macos_43: "Open-source device management platform for macOS, Windows, and Linux with osquery-based compliance policies.",
    fleetdm_was_successfully_deleted_44: "FleetDM was successfully deleted",
    fleetdm_was_successfully_updated_45: "FleetDM was successfully updated",
    navigate_to_your_fleetdm_management_console_46: "Navigate to your FleetDM Management Console.",
    are_you_sure_you_want_to_disable_the_huntress_inte_47: "Are you sure you want to disable the Huntress integration?",
    disable_huntress_48: "Disable Huntress?",
    huntress_was_successfully_49: "Huntress was successfully",
    huntress_was_successfully_deleted_50: "Huntress was successfully deleted",
    huntress_was_successfully_updated_51: "Huntress was successfully updated",
    api_credentials_52: "API Credentials",
    api_key_53: "API Key",
    api_secret_54: "API Secret",
    enter_your_api_credentials_55: "Enter your API Credentials",
    disable_intune_56: "Disable Intune?",
    intune_was_successfully_57: "Intune was successfully",
    microsoft_intune_is_a_cloud_based_unified_endpoint_58: "Microsoft Intune is a cloud-based unified endpoint management for your organization.",
    intune_was_successfully_deleted_59: "Intune was successfully deleted",
    intune_was_successfully_updated_60: "Intune was successfully updated",
    api_permissions_61: "API permissions",
    add_a_permission_62: "Add a permission",
    add_permissions_63: "Add permissions",
    app_registrations_64: "App Registrations",
    application__client__id_65: "Application (client) ID",
    application_permissions_66: "Application permissions",
    devicemanagementmanageddevices_read_all_67: "DeviceManagementManagedDevices.Read.All",
    directory__tenant__id_68: "Directory (tenant) ID",
    microsoft_graph_69: "Microsoft Graph",
    register_70: "Register",
    select_permissions_71: "Select permissions",
    value_72: "Value",
    ai_powered_endpoint_protection_platform_for_real_t_73: "AI-powered endpoint protection platform for real-time threat detection and automated response.",
    are_you_sure_you_want_to_disable_the_sentinelone_i_74: "Are you sure you want to disable the SentinelOne integration?",
    disable_sentinelone_75: "Disable SentinelOne?",
    sentinelone_was_successfully_76: "SentinelOne was successfully",
    sentinelone_was_successfully_deleted_77: "SentinelOne was successfully deleted",
    sentinelone_was_successfully_updated_78: "SentinelOne was successfully updated",
    create_service_user_79: "Create Service User",
    create_user_80: "Create User",
    navigate_to_your_sentinelone_management_console_81: "Navigate to your SentinelOne Management Console.",
    next_82: "Next",
    viewer_83: "Viewer",
    event_streaming_84: "Event Streaming",
    amazon_data_firehose_was_successfully_disconnected_85: "Amazon Data Firehose was successfully disconnected",
    disconnect_amazon_data_firehose_86: "Disconnect Amazon Data Firehose?",
    create_firehose_stream_87: "Create Firehose stream",
    create_access_key_88: "Create access key",
    destination_89: "Destination",
    direct_put_90: "Direct PUT",
    enter_your_access_key_91: "Enter your Access-Key",
    enter_your_firehose_stream_name_92: "Enter your Firehose stream name",
    enter_your_secret_key_93: "Enter your Secret-Key",
    security_credentials_94: "Security Credentials",
    source_95: "Source",
    you_can_transform_and_convert_the_event_messages_t_96: "You can transform and convert the event messages to fit your needs.",
    amazon_s3_is_a_scalable_storage_in_the_cloud_97: "Amazon S3 is a scalable storage in the cloud.",
    disconnect_s3_98: "Disconnect S3?",
    create_bucket_99: "Create bucket",
    enter_your_s3_bucket_name_100: "Enter your S3 Bucket name",
    datadog_is_a_monitoring_service_for_cloud_scale_ap_101: "Datadog is a monitoring service for cloud-scale applications.",
    datadog_was_successfully_disconnected_102: "Datadog was successfully disconnected",
    disconnect_datadog_103: "Disconnect Datadog?",
    create_key_104: "Create Key",
    enter_your_api_key_105: "Enter your API-Key",
    navigate_to_datadogs_api_keys_page_106: "Navigate to Datadogs API Keys page",
    when_creating_a_new_datadog_api_key__it_could_take_107: "When creating a new Datadog API key, it could take up to 5 minutes for the key to be available for use.",
    generic_http_integration_108: "Generic HTTP Integration",
    http_integration_was_successfully_109: "HTTP Integration was successfully .",
    cancel_110: "Cancel",
    delete_generic_http_integration_111: "Delete Generic HTTP Integration?",
    generic_http_was_successfully_deleted_112: "Generic HTTP was successfully deleted",
    identity_provider_113: "Identity Provider",
    select_your_identity_provider_114: "Select your identity provider...",
    settings___identity_providers_115: "Settings › Identity Providers",
    all_groups_116: "All Groups",
    all_users_117: "All Users",
    identity_provider_sync_118: "Identity Provider Sync",
    entra_id__api__was_successfully_119: "Entra ID (API) was successfully",
    entra_id__api__was_successfully_synced_120: "Entra ID (API) was successfully synced",
    microsoft_entra_id_is_a_cloud_based_identity_and_a_121: "Microsoft Entra ID is a cloud-based identity and access management solution.",
    entra_id__api__was_successfully_deleted_122: "Entra ID (API) was successfully deleted",
    entra_id__api__was_successfully_updated_123: "Entra ID (API) was successfully updated",
    sync_interval_124: "Sync Interval",
    group_read_all_125: "Group.Read.All",
    user_read_all_126: "User.Read.All",
    assign_127: "Assign",
    attribute_mapping_128: "Attribute mapping",
    connect_your_application_129: "Connect your application",
    continue_with_entra_id_130: "Continue with Entra ID",
    delete_131: "Delete",
    edit_132: "Edit",
    enterprise_applications_133: "Enterprise applications",
    finish_setup_134: "Finish Setup",
    get_started_135: "Get started",
    provision_microsoft_entra_id_groups_136: "Provision Microsoft Entra ID Groups",
    provision_microsoft_entra_id_users_137: "Provision Microsoft Entra ID Users",
    provision_user_accounts_138: "Provision User Accounts",
    save_139: "Save",
    source_attribute_140: "Source attribute",
    start_provisioning_141: "Start provisioning",
    test_connection_142: "Test Connection",
    users_and_groups_143: "Users and groups",
    auth_token_was_successfully_regenerated_144: "Auth token was successfully regenerated",
    regenerate_auth_token_145: "Regenerate Auth Token?",
    a_flexible__innovative_solution_for_people_and_org_146: "A flexible, innovative solution for people and organizations to achieve more.",
    google_workspace_was_successfully_147: "Google Workspace was successfully",
    google_workspace_was_successfully_synced_148: "Google Workspace was successfully synced",
    google_workspace_was_successfully_deleted_149: "Google Workspace was successfully deleted",
    google_workspace_was_successfully_updated_150: "Google Workspace was successfully updated",
    assign_role_151: "ASSIGN ROLE",
    account_152: "Account",
    add_key_153: "Add key",
    assign_service_accounts_154: "Assign service accounts",
    create_credentials_155: "CREATE CREDENTIALS",
    create_role_156: "CREATE ROLE",
    create_new_key_157: "Create new key",
    create_new_role_158: "Create new role",
    customer_id_159: "Customer ID",
    done_160: "DONE",
    e_mail_161: "E-Mail",
    json_162: "JSON",
    keys_163: "Keys",
    service_account_164: "Service account",
    jumpcloud_is_a_unified_identity__device__and_acces_165: "Jumpcloud is a unified identity, device, and access management platform.",
    jumpcloud_was_successfully_166: "Jumpcloud was successfully",
    auth_token_for_jumpcloud_was_successfully_regenera_167: "Auth token for Jumpcloud was successfully regenerated",
    jumpcloud_was_successfully_deleted_168: "Jumpcloud was successfully deleted",
    jumpcloud_was_successfully_updated_169: "Jumpcloud was successfully updated",
    activate_170: "Activate",
    credentials_details_171: "Credentials Details",
    identity_management_172: "Identity Management",
    jumpcloud_was_successfully_set_up_173: "Jumpcloud was successfully set up",
    okta_is_a_platform_to_provision_and_manage_user_ac_174: "Okta is a platform to provision and manage user accounts in cloud-based applications.",
    okta_was_successfully_175: "Okta was successfully",
    auth_token_for_okta_was_successfully_regenerated_176: "Auth token for Okta was successfully regenerated",
    okta_was_successfully_deleted_177: "Okta was successfully deleted",
    okta_was_successfully_updated_178: "Okta was successfully updated",
    api_token_179: "API Token",
    application_username_format_180: "Application username format",
    assign_to_groups_181: "Assign to Groups",
    assign_to_people_182: "Assign to People",
    assignments_183: "Assignments",
    client_secret_184: "Client secret",
    configure_api_integration_185: "Configure API Integration",
    create_users_186: "Create Users",
    deactivate_users_187: "Deactivate Users",
    done_188: "Done",
    enable_api_integration_189: "Enable API integration",
    find_groups_by_name_190: "Find groups by name",
    integration_191: "Integration",
    okta_account_domain_192: "Okta account domain",
    primary_email_domain_193: "Primary email domain",
    provisioning_194: "Provisioning",
    push_groups_195: "Push Groups",
    save_and_go_back_196: "Save and Go Back",
    test_api_credentials_197: "Test API Credentials",
    update_user_attributes_198: "Update User Attributes",
    txt_record_199: "TXT record",
    verification_for__has_started_200: "Verification for  has started",
    verify_later_201: "Verify Later",
    single_sign_on_202: "Single Sign-On",
    client_secret_203: "Client Secret",
    openid_connect_discovery_204: "OpenID Connect Discovery",
    primary_e_mail_domain_205: "Primary E-Mail Domain",
    use__as_a_single_sign_on_provider_to_authenticate_206: "Use  as a Single Sign-On provider to authenticate users. Follow the steps below to get started.",
    domain_207: "Domain",
    last_check_208: "Last Check",
    delete_integration_209: "Delete Integration?",
    debug_bundle_210: "Debug Bundle",
    generate_a_debug_bundle_on_this_peer_with_logs_and_211: "Generate a debug bundle on this peer with logs and diagnostics. Useful for troubleshooting without CLI access.",
    completed_212: "Completed",
    completed_at_213: "Completed at",
    created_214: "Created",
    created_at_215: "Created at",
    output_216: "Output",
    parameters_217: "Parameters",
    type_218: "Type",
    create_a_setup_key_219: "Create a Setup Key?",
    metric_220: "Metric",
    route_traffic_to_221: "Route traffic to ''",
    routing_peer_222: "Routing Peer ()",
    save_changes_223: "Save Changes",
    onboarding_224: "Onboarding",
    network_225: "Network",
    congratulations_226: "Congratulations, !",
    skipped_onboarding_____step_227: "Skipped Onboarding -  (Step )",
    troubleshooting_228: "Troubleshooting -",
    allows_access_to_this________issubnet_229: "Allows access to this ${\n				isSubnet ?",
    users_to_230: "Users to",
    set_the_rules__you_re_in_control_231: "Set the rules. You're in control",
    let_s_put_that_connection_to_the_test_232: "Let's put that connection to the test",
    nice_work_connecting_your_client_device__now__let_233: "Nice work connecting your client device! Now, let’s have a little fun and test if it can reach your resource.",
    let_s_get_your_first_device_online_234: "Let's get your first device online",
    share_link_235: "Share Link",
    time_to_bring_in_your_second_device_236: "Time to bring in your second device",
    allow_ssh_237: "Allow SSH",
    settings_238: "Settings",
    are_you_sure_you_want_to_delete_these_peers__this_239: "Are you sure you want to delete these peers? This action cannot be undone.",
    are_you_sure_you_want_to_overwrite_the_existing_gr_240: "Are you sure you want to overwrite the existing groups of your  selected peer(s)? This action cannot be undone.",
    delete_241: "Delete '' ?",
    delete_all_242: "Delete All",
    overwrite_existing_groups_243: "Overwrite existing groups?",
    block_244: "Block",
    min__client_version_245: "Min. Client Version",
    allow_only_246: "Allow only",
    checks_247: "Checks",
    disable_this_check_248: "Disable this check?",
    posture_check_249: "Posture Check",
    posture_check_was__successfully_250: "Posture Check was  successfully.",
    certificate_details_251: "Certificate Details",
    connect_to__via_rdp_252: "Connect to  via RDP",
    port_253: "Port",
    this_peer_is_offline_and_cannot_be_accessed_via_rd_254: "This peer is offline and cannot be accessed via RDP.",
    connection_failed____wsa_255: "Connection failed:  (WSA )",
    connection_failed__http_256: "Connection failed: HTTP",
    ironrdp_connection_failed_257: "IronRDP connection failed:",
    accept_258: "Accept",
    certificate_for__has_changed_259: "Certificate for  has changed!",
    do_you_trust_this_certificate_260: "Do you trust this certificate?",
    issuer_261: "Issuer:",
    new_certificate_for____requesting_user_acceptance_262: "New certificate for  - requesting user acceptance",
    rdp_certificate_verification_263: "RDP Certificate Verification",
    reject_264: "Reject",
    sha_256_265: "SHA-256:",
    serial_266: "Serial:",
    subject_267: "Subject:",
    the_server_268: "The server",
    rdcleanpath_websocket_handler_not_available_for_pr_269: "RDCleanPath WebSocket handler not available for proxy",
    connect_to__via_ssh_270: "Connect to  via SSH",
    connecting_via_ssh_is_only_available_when_the_peer_271: "Connecting via SSH is only available when the peer is online.",
    crowdsec_ip_reputation_272: "CrowdSec IP Reputation",
    enforce_273: "Enforce",
    observe_274: "Observe",
    https_targets_275: "HTTPS Targets",
    select_type_276: "Select type...",
    service_type_277: "Service Type",
    bearer_278: "Bearer",
    http_headers_279: "HTTP Headers",
    header_280: "Header",
    header_281: "Header  -",
    require_specific_http_headers_to_access_this_servi_282: "Require specific HTTP headers to access this service.",
    username_283: "Username",
    enter_password_284: "Enter password...",
    require_a_password_to_access_this_service_285: "Require a password to access this service.",
    pin_code_286: "PIN Code",
    require_a_numeric_pin_code_to_access_this_service_287: "Require a numeric PIN code to access this service.",
    require_users_to_authenticate_via_sso_to_access_th_288: "Require users to authenticate via SSO to access this service.",
    sso__single_sign_on_289: "SSO (Single Sign-On)",
    account_cluster_290: "Account cluster.",
    shared_cluster_291: "Shared cluster.",
    proxy_cluster_292: "Proxy Cluster",
    cname_293: "CNAME",
    configure_dns_294: "Configure DNS",
    content_295: "Content",
    docker_296: "Docker",
    cluster_297: "Cluster",
    connected_proxies_298: "Connected Proxies",
    features_299: "Features",
    target_proxy_cluster_300: "Target Proxy Cluster",
    add_custom_domain_301: "Add Custom Domain",
    custom_302: "Custom",
    select_domain_303: "Select domain...",
    shared_304: "Shared",
    cname_record_305: "CNAME record",
    auth_306: "Auth:",
    download_307: "Download:",
    upload_308: "Upload:",
    reason_309: "Reason:",
    cluster_310: "Cluster:",
    target_s_311: "Target(s)",
    enter_an_ip_address_within_312: "Enter an IP address within",
    header__e_g___authorization_313: "Header, e.g., Authorization",
    value__e_g___bearer_eyjhbgci_314: "Value, e.g., Bearer eyJhbGci...",
    configure_the_target_for_your_reverse_proxy_315: "Configure the target for your reverse proxy.",
    location__optional_316: "Location (Optional)",
    request_timeout_317: "Request Timeout",
    session_idle_timeout_318: "Session Idle Timeout",
    networks_319: "Networks",
    location_320: "Location",
    service_321: "Service",
    close_322: "Close",
    navigate_323: "Navigate",
    networks_324: "Networks ()",
    open_325: "Open",
    resources_326: "Resources ()",
    authentication_327: "Authentication",
    select_interval_328: "Select interval...",
    client_settings_successfully_updated_329: "Client settings successfully updated.",
    lazy_connections_successfully_330: "Lazy Connections successfully .",
    access_control___groups_331: "Access Control › Groups",
    select_provider_type_332: "Select provider type...",
    dns_wildcard_routing_successfully_333: "DNS Wildcard Routing successfully .",
    network_settings_successfully_updated_334: "Network settings successfully updated.",
    auto_assigned_groups_335: "Auto-assigned groups",
    unlimited_336: "Unlimited",
  },
};
