- PeerActionCell.tsx: replace ~20 hardcoded strings with t() calls (approve, bypass compliance, session expiration, SSH, delete actions) - Activity module: internationalize 5 files including ActivityDescription.tsx with ~104 activity event description templates using t.rich() - Setup Keys: replace ~18 hardcoded strings in SetupKeyActionCell and SetupKeyGroupsCell with translation keys - Add Chinese translations with natural grammar and consistent terminology
2142 lines
96 KiB
TypeScript
2142 lines
96 KiB
TypeScript
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",
|
|
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...",
|
|
},
|
|
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",
|
|
},
|
|
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",
|
|
},
|
|
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...",
|
|
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",
|
|
},
|
|
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",
|
|
},
|
|
onboarding: {
|
|
title: "Get started with NetBird",
|
|
addResource: "Add your first resource",
|
|
},
|
|
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",
|
|
},
|
|
};
|