// SPDX-License-Identifier: MIT
// Copyright © 2018-2019 WireGuard LLC. All Rights Reserved.

// Generic alert action names

"actionOK" = "OK";
"actionCancel" = "Cancel";
"actionDone" = "Done";
"actionInstall" = "Install";
"actionEnable" = "Enable";
"actionDisable" = "Disable";
"actionAdd" = "Add";
"actionDelete" = "Delete";
"actionDeleteEllipsis" = "Delete…";
"actionLogout" = "Log Out";
"actionIgnore" = "Ignore";
"actionUpdate" = "Update";
"actionCopy" = "Copy";
"actionRemove" = "Remove";
"actionDisconnect" = "Disconnect";
"actionOpen" = "Open";
"actionLearnMore" = "Learn more...";
"actionRenewSession" = "Renew Session";
"actionHelp" = "Help";

// CLI

"cli_noBackend" = "Unable to start the Tailscale network extension. Please try toggling the VPN in the System Settings app.";
"cli_connecting" = "Tailscale backend is connecting. If the issue persists, please try toggling the VPN in the System Settings app.";
"cli_standalone_missing" = "macOS could not not find a Standalone variant of Tailscale on this Mac. Make sure it's in the /Applications folder, and that the App Store variant is not installed. Rebooting your Mac may be required.";
"cli_fatal" = "Fatal error: the Tailscale network extension is not setup, was disabled, or is unavailable. Ensure Tailscale is listed in the VPN preferences of the System Settings app. If it isn't, launch the Tailscale app to complete onboarding.\n";
"cli_permissionDenied" = "Permission denied.";
"cli_guiAlreadyRunning" = "Cannot run Tailscale GUI. Another instance is already running.";
"cli_installScriptMissing" = "Could not find CLI Install script. Is the bundle corrupted?";
"cli_uninstallScriptMissing" = "Could not find CLI Uninstall script. Is the bundle corrupted?";

// Taildrop V2

"td_info" = "Taildrop by Tailscale is the simplest way to send files to any of your devices, anywhere. A safe private network that just works.";
"td_learnmore" = "Learn More";
"td_feedback" = "Send Feedback";
"td_noResults" = "No Devices Found";
"td_noDevices" = "You don't have other devices in your tailnet";
"td_noDevicesNote" = "Tailscale is available for Windows, Linux, iOS and Android";
"td_noUsers" = "There are no other users in your tailnet";
"td_noUsersNote" = "Invite teammates and family members to your tailnet";
"td_taggedDevices" = "You don't have tagged devices in your tailnet";
"td_taggedDevicesNote" = "Tagged Devices";

"td_taggedDevicesHeader" = "Tagged Devices";
"td_myDevices" = "My Devices";
"td_OtherUsers" = "Other Users";



"td_search" = "Search";

// Taildrop transfer states
"td_send" = "Send";
"td_sending" = "Sending…";
"td_rejected" = "Rejected";
"td_waiting" = "Waiting…";
"td_sent" = "Sent (%@ of %@)";
"td_sendFailed" = "Transfer failed: %@";

"td_noFiles" = "No Files Selected";
"td_files" = "%@ Files Selected";

// Alerts

"logoutConfirmation" = "Log out and remove account for %@?";

"accountDeleteConfirmation" = "Delete account for %@?";
"accountDeletionFailed" = "Unable to delete account. Please try again.";
"addUserFailed" = "Unable to add a new user. Please try again.";
"resetPrefsBody" = "Reset all settings to their default values?";

// 2024 Mac Settings UI

"mac_allowIncomingTitle"        = "Allow incoming connections";
"mac_useDNSTitle"               = "Use Tailscale DNS settings";
"mac_useSubnetsTitle"           = "Use Tailscale subnets";
"mac_useSubnetsSubtitle"        = "Route traffic according to your network's rules. Some networks require this to access IP addresses that don't start with 100.x.y.z.";
"mac_launchAtLoginTitle"        = "Launch Tailscale at login";
"mac_launchAtLoginManagedSubtitle" = "Launch at login is managed by your organization";
"automaticUpdatesAreManagedByYourOrganization" = "Automatic updates are managed by your organization";
"thisSettingIsManagedByYourOrganization" = "This setting is managed by your organization and cannot be changed. Contact your administrator for help.";
"checkForUpdatesEllipsis"        = "Check for Updates…";
"mac_checkForUpdatesNow"        = "Check Now";
"mac_releaseChannels"           = "Update to:";
"mac_automaticUpdates"          = "Automatic updates";
"mac_updateToStableVersions"    = "Stable versions";
"mac_updateToUnstableVersions"  = "Unstable versions";
"mac_updateToRCs"               = "Release candidates";
"mac_unstableExplainerTitle"    = "Help Us Improve Tailscale";
"mac_unstableExplainerCaption"  = "Enroll in unstable updates to test drive new features and bug fixes before they are released to the general public.";
"unstableUpdatesManagedByMDM"   = "Your organization is managing whether unstable updates are allowed to be installed.";
"connectToToggleAutomaticUpdates" = "Connect to toggle automatic updates";
"thisSettingIsSyncedWithTheAdminConsole" = "This setting is synced with the admin console. Connect to Tailscale before changing it. You can always use the 'Check Now' button to check for updates manually.";
"mac_lastUpdateChecked (%@)"    = "Last check: %@";
"mac_runAsExitNodeTitle"        = "Run as exit node";
"mac_runAsExitNodeSubtitleDeviceName (%@)" = "Allows this %@ to act as a gateway for your network. Other devices can then opt-in to routing all their traffic through it. Exit nodes must be approved in the admin console.";
"mac_allowLanTitle"             = "Allow local network access";
"mac_allowLanTitleSubtitle"     = "Allow direct access to the local network when routing traffic via an exit node.";
"mac_manageTailnetLockBtn"      = "Manage…";
"mac_addFirstAccount"           = "Add your first account";
"mac_addFirstAccountDesc"       = "Add an account to log in and connect to your tailnet.";


// The colons here are to match other apple settings. These are section headers
"mac_generalPrefsTitle"         = "General:";
"mac_windowPrefsTitle"          = "Window:";
"mac_vpnOnDemandPrefsTitle"     = "VPN On Demand:";
"mac_networkPrefsTitle"         = "Exit Nodes:";
"mac_tailnetLockTitle"          = "Tailnet Lock:";
"mac_tailscaleCLITitle"         = "CLI integration:";

"mac_accountsTabTitle"          = "Accounts";
"mac_settingsTabTitle"          = "Settings";
"mac_fileSharingTabTitle"       = "File Sharing";
"mac_aboutTabTitle"             = "About";

"mac_keyExpiry_title"           = "Expiry";
"mac_keyExpiry_never"           = "Never";

"mac_server_title"              = "Server";
"mac_tailnet_title"             = "Tailnet";
"mac_email_title"               = "Email";
"mac_status_title"              = "Status";
"mac_status_loggedIn"           = "Logged In";
"mac_logOutButton"              = "Log Out";
"mac_status_loggedOut"          = "Logged out";
"mac_switchButton"              =" Switch to user";

"mac_removeAccount"             = "Remove Account…";
"mac_adminConsole"              = "Admin Console…";
"mac_openInAdminConsole"        = "Open in Admin Console";

"mac_ccsDialog_title"           = "Add Account Using Alternate Server";
"mac_ccsAddButton"              = "Add Account…";
"mac_ccsDialog_instructions"    = "Enter the URL of an alternate Tailscale server or your self-hosted Headscale server.";
"mac_ccsDialog_placeholder"     = "https://my.custom.server.com";
"mac_cssURLVerificationError"   = "Please enter a valid URL in the form https://server.com";

// Bug report (in debug UI)

"currentIssues" = "Current Issues";
"noKnownIssues" = "No known issues on our end";
"tailscaleDebug" = "Tailscale debug";
"bugReport" = "Bug Report";
"viewHealthDetails" = "View details";
"generateBugReportIDButton" = "Report an issue";
"generateBugReportIDExplainer" = "Generate an ID to send along requests to our support team.";
"resetHeading" = "Reset";
"resetOptions" = "Reset options";
"confirmReset" = "Confirm Reset";
"confirmResetMessage (%@)" = "%@";
"exportOptions" = "Export options";
"exportRegular" = "Regular report";
"exportExtended" = "Extended report";
"bugReportMenuTitle" = "Bug Report…";
"reportAnIssue" = "Report an Issue…";
"generatingBugReport" = "Generating bug report…";
"failedToCreateBugReportID" = "Could not generate bug report ID";
"bugReportSentFailure" = "Your bug report could not be sent at this time, please try again later. You can export a device configuration report to help with further debugging.";
"toReportABugContactSupport (%@)" = "To report a bug, [contact our support team](%@) and include the ID above.";
"thisIDHelpsUs" = "This ID helps us find the event in our diagnostic logs.";
"notAvailable" = "Not Available";
"goOnlineToReportAnIssue" = "Connect to Tailscale to report an issue";
"failedToCreateBugReportIDExplainer (%@)" = "Could not generate a bug report identifier. Backend error: %@.";
"unavailableWhenOfflineExplainer" = "This feature is not available when Tailscale is offline. Connect and try again.";
"bugReportUnavailableWhenOfflineExplainer (%@)" = "Generating a bug report is not available when Tailscale is offline. Connect to Tailscale and try again. If you cannot connect to Tailscale, please contact support and attach a sysdiagnose from this %@.";
"macOSDiagnostics" = "macOS Configuration Report";
"macOSDiagnosticsExplainer" = "To help you resolve technical issues, Tailscale support may sometimes ask you to share a device configuration report. This report may contain sensitive information about your Mac’s configuration. Review the file before sharing.";
"tryAgain" = "Try Again";
"exportDiagnosticsFile" = "Export Configuration Report…";



// Mac about dialog


// Settings Viewer

"settingsViewer" = "Settings Viewer";
"on" = "On";
"off" = "Off";
"(noValue)" = "(No Value)";
"hide" = "Hide";
"show" = "Show";
"boolean" = "Boolean";
"string" = "String";
"showHide" = "Show/Hide";
"alwaysNeverUserDecides" = "Always/Never/User Decides";
"userDecides" = "User Decides";

// Privacy and Legal
"privacyPolicy" = "Privacy Policy";

// Mac alert

"macAppSysExtMoveToApplications" = "Move Tailscale into your Applications directory before running.";
"macFailedToApplyStartOnLoginSetting" = "Start on Login could not be set. Enable Tailscale in the System Settings app ('General' -> 'Login Items').";

// ipn.State

"stateNoState" = "Starting…";
"stateInUseOtherUser" = "In Use By Other User";
"stateNeedsLogin" = "Needs Authentication";
"stateNeedsMachineAuth" = "Awaiting Approval";
"stateStopped" = "Not Connected";
"stateStarting" = "Starting…";
"stateRunning" = "Connected";
"alwaysOnMode" = "Always-on mode";

// Error Handling


"errInternal" = "internal error";
"errPermissionDenied" = "permission denied";
"errSecureStorage" = "could not access the keychain to load credentials";
"errVersionMismatch %@ %@" = "Version mismatch (app is %@, extension is %@)";

// Mac menu actions

"macMenuTitle" = "Tailscale";
"macMenuConnected" = "Connected";
"macMenuDisconnected" = "Not Connected";
"macMenuDefaultRouterSubtitle" = "Using Exit Node";
"macMenuDefaultRouterOfflineSubtitle" = "Cannot reach Exit Node, connection blocked";
"macMenuNoState" = "Tailscale is starting…";
"macMenuNeedsLogin" = "Log In…";
"macMenuAccountSettings" = "Account Settings…";
"macMenuAddProfile" = "Add Account…";
"macMenuLogout" = "Log Out";
"macMenuLoggedInNoProfile" = "Logged In";
"macMenuLogIn" = "Log in…";
"macMenuRenewSession" = "Renew Session…";
"macMenuRenew" = "Renew…";
"macMenuNodes" = "Network Devices";
"macMenuVisitAdmin" = "Admin Console";
"macMenuAbout" = "About Tailscale";
"macMenuUpdateAvailable" = "Update Available…";
"macMenuUpdateAvailableUrgent" = "Security Update Available…";
"macMenuQuit" = "Quit";
"macMenuQuitTailscale" = "Quit Tailscale";
"macMenuQuitCompletely2" = "Quit completely";
"macMenuKeepRunningInMenubar" = "Keep running in the menu bar";
"macSettingDockIconBehavior" = "Hide Dock Icon";
"macSettingDockIconBehaviorSubtitle" = "Hide the dock icon when all windows are closed.";
"macMenuQuitActive" = "Quit (Leave VPN Active)";
"macMenuPleaseWait" = "Waiting for Admin Approval…";
"macMenuTKAUnsigned" = "Waiting for Admin Signing…";
"macMenuChooseProfile" = "Accounts\n";
"macMenuPleaseAddVPN" = "Please log in to add VPN tunnel.";
"macMenuPleaseReauthenticate" = "Login Required";
"macMenuPreferencesWindowedTitle" = "Preferences…";
"macMenuSettingsWindowedTitle" = "Settings…";
"macMenuUseDNS" = "Use Tailscale DNS Settings";
"macMenuResetSettingsDebug" = "Reset All Settings";
"macMenuResetSettingsDebugExplainer" = "This action will reset all Tailscale settings and customizations.";
"macMenuNoDefaultRouters" = "No Exit Nodes Available";
"macMenuSelectDefaultRouter" = "Exit Nodes";
"macMenuAutomaticallyInstallUpdates" = "Automatically Check For Updates";
"macMenuDefaultRouterPreferences" = "Preferences";
"macMenuDefaultRouterLocalAccess" = "Allow Local Network Access";
"macMenuDefaultRouterRunExit" = "Run Exit Node";
"macRunExitNodeQuestion" = "Run an exit node?";
"macRunExitNodeExplainerDeviceName (%@)" = "Running an exit node means other devices in your tailnet can send all their traffic through this %@'s IP address.";
"macMenuDebug" = "Debug";
"macMenuReset" = "Reset…";
"macMenuWaitingForNetwork" = "Waiting for Network…";
"macMenuHideTailscale" = "Hide Tailscale";
"macMenuHideOthers" = "Hide Others";
"macMenuCloseWindow" = "Close Window";
"macMenuServices" = "Services";
"macMenuWindow" = "Window";
"miniaturizeAll" = "Minimize All";
"macMenuNavigate" = "Navigate";
"macMenuBack" = "Back";
"macMenuForward" = "Forward";
"macMenuTabs" = "Tabs";
"macFetchingPeers" = "Loading Devices…";
"macMenuFlushDNSCache" = "Flush DNS Cache";
"macMenuFlushDNSCacheExplainer" = "This option will flush your system's DNS Cache to attempt to resolve common domain name resolution issues.";
"macMenuResetAuth" = "Remove All Accounts";
"macMenuResetAuthExplainer" = "This action will log out and remove all Tailscale accounts and tailnets from this device.";
"macMenuResetAuth_Failure" = "Unable to remove all accounts. Please try again.";
"macMenuOpenTailscale" = "Open Tailscale";

"mac_undo" = "Undo";
"mac_redo" = "Redo";
"mac_cut" = "Cut";
"mac_copy" = "Copy";
"mac_paste" = "Paste";
"mac_delete" = "Delete";
"mac_selectAll" = "Select All";

// Mac menu status

"transferStatusSingleLink" = "%@ received | %@ sent | %d link";
"transferStatusPluralLinks" = "%@ received | %@ sent | %d links";
"ipAddr: %@ (%@)" = "This Device: %@ (%@)";
"copiedAddressNotificationTitle (%@)" = "Copied %@ to the Clipboard.";
"copiedIpAddressAlertToPasteboard (%@)" = "Copied %@ to the Clipboard.";
"noRecentNodes" = "No recently seen devices";
"deviceKeyDoesNotExpire" = "No Expiry";
"deviceKeyExpires (%@)" = "Expires %@";
"deviceKeyExpired (%@)" = "Expired %@";

// Onboarding
"onboardingVPNDisallowed" = "You must allow this to use Tailscale";
"onboardingVPNUnknownError" = "There was an issue setting up your VPN connection";
"onboardingSigninButton" = "Sign in to your network";
"onboardingSignupButton" = "Sign up for Tailscale";
"onboardingVPNStarting" = "VPN starting…";
"onboardingCopyLink" = "Using another browser? Copy sign in link";
"onboardingNotificationsWerePreviouslyDisabledTitle" = "Notifications for Tailscale were previously denied.";
"onboardingNotificationsWerePreviouslyDisabledCaption" = "Open the System Settings app, and enable notifications for Tailscale in the Notifications tab.";

// Notifications

"notificationKeyExpiryNowTitle" = "Tailscale Authenticaion Expired";
"notificationKeyExpiryNowBody" = "Your Tailscale session has expired.  Reauthenticate to reestablish the connection to your Tailscale network.";
"notificationKeyExpiryNowBodyWithFormattedDate (%@)" = "Authenticate to reestablish the connection to your Tailscale network.\n\nYour key expired: %@";
"notificationKeyExpirySoonTitle" = "Tailscale authentication expires soon";
"notificationKeyExpirySoonBody" = "Reauthenticate to maintain the connection to your Tailscale network.";
"notificationKeyExpiryLaterTitle" = "Tailscale authentication expires today";
"notificationKeyExpiryLaterBody" = "Reauthenticate to maintain the connection to your Tailscale network.";
"notificationDefaultRouterOfflineTitle" = "Connection Lost";
"notificationDefaultRouterOfflineBody" = "Your exit node is offline. Disable your exit node or contact your network administrator for help.";
"notificationDefaultRouterOfflineBodyWithName (%@)" = "Your exit node '%@' is offline. Disable your exit node or contact your network administrator for help.";
"notificationDefaultRouterExpiredTitle" = "Connection Lost";
"notificationDefaultRouterExpiredBody" = "Your exit node is offline. Disable your exit node or contact your network administrator for help.";
"notificationDefaultRouterExpiredBodyWithName (%@)" = "Your exit node '%@' cannot be used because its key has expired. Disable your exit node or contact your network administrator for help.";
"keyExpiryExplainerDeviceName (%@, %@)" = "This %@'s %@. Reauthenticate to remain connected to Tailscale.";
"actionReauthenticate" = "Reauthenticate";
"authFailed" = "Authentication Failed";
"authInProgress" = "Authentication In Progress";
"authProgressCaption" = "A browser should open to complete the process.  This window will close automatically when you have successfully authenticated.";
"authRetry" = "Retry";

// Redefined because they come from go
"sessionExpirySoonDialogTitle" = "Session is expiring soon";
"sessionExpirySoonDialogText" = "Your session will expire soon. To maintain full network access, sign in again now.";
"sessionExpiryDialogAction" = "Sign In";

"sessionExpiryDialogTitle" = "Session expired";
"sessionExpiryDialogText" = "Your session has expired. To restore full network access, sign in again now.";
"sessionExpiryDialogAction" = "Sign In";

// iOS Device list strings

"connect" = "Connect";
"disconnect" = "Disconnect";
"myDevicesSectionTitle" = "My Devices";
"copyIpAddress" = "Copy IP Address";
"defaultRouterOffline (%@)" = "%@ (offline)";
"defaultRouterExpired (%@)" = "%@ (expired)";
"unknownDefaultRouter" = "unknown device";
"exitNode" = "Exit node";
"offlineRouterStatus" = "Exit node offline";
"expiredRouterStatus" = "Exit node expired";
"expiredRelativeDate (%@)" = "Expired %@";
"ping" = "Ping";
"stopPinging" = "Stop";
"pingFailed" = "Ping Failed";
"relayedConnection" = "DERP-relayed connection";
"directConnection" = "Direct connection";
"peerRelayedConnection" = "Peer-relayed connection";
"openExitNodeSettings" = "Open exit node settings";
"noResultsFound" = "No results found";
"statusToggleAccessibilityLabel (%@)" = "Tailscale VPN status: %@";
"statusToggleAccessibilityHint" = "This switch allows you to turn the Tailscale VPN on or off.";
"tailnetNameAccessibilityHint" = "This is the name of your tailnet.";
"statusAccessibilityHint" = "This is the status of the Tailscale VPN.";
"openSettings" = "Open Settings";
"openSettingsAccessibilityLabel" = "Open Settings";
"openSettingsAccessibilityHint" = "Tap to change your Tailscale settings and manage your account.";
"runningOnThisDeviceName (%@)" = "Running on this %@";
"routingTrafficLabel" = "Routing through this exit node";
"routingRequiredByPolicy" = "Required by your organization";
"exitNodeError" = "Exit Node Error";
"onlineRouterStatus" = "Using exit node";
"expireNever" = "Expires: (never)";
"expireFuture" = "Expires: ";
"search" = "Search";
"copiedIPAddressToClipboard" = "Copied IP Address to Clipboard";

// macOS context menu
"copyMagicDNSAddress" = "Copy MagicDNS hostname";
"copyIpv4Address" = "Copy IPv4";
"copyIpv6Address" = "Copy IPv6";

// Exit nodes
"exitNodes" = "Exit Nodes";
"locationBasedExitNodes" = "Location Based Exit Nodes";
"exitNodesInMyTailnet" = "Exit nodes in my tailnet";
"bestAvailable" = "Best Available";
"useBestAvailable" = "Use best available";
"useThisExitNode" = "Use this exit node";
"stopUsingExitNode" = "Stop using this exit node";
"countries" = "Countries";
"exitNodeCountries (%@)" = "%@ Countries";
"tailnetExitNodes" = "Tailnet Exit Nodes";
"recommendedExitNodeHeader" = "Recommended Exit Node";
"tailnetExitNodesHeader" = "Available Exit Nodes";
"recommendedExitNodeName (%@)" = "Recommended: %@";
"recommendedExitNodePrefix" = "Recommended";
"cities" = "Cities";

// iOS Lockout UI
"connected" = "Connected";
"notConnected" = "Not Connected";
"notConnectedSubtitle" = "Connect again to talk to the other devices in your tailnet.";
"notConnectedSubtitleTailnetName (%@)" = "Connect again to talk to the other devices in the **%@** tailnet.";
"loginToJoinYourTailnetAndConnectYourDevices" = "Log in to join your tailnet and connect your devices.";
"adminApprovalRequired" = "Admin approval required";
"adminApprovalRequiredSubtitle" = "This device must be approved by an administrator before it can connect to the tailnet.";
"adminSigningRequired" = "Admin signing required";
"adminSigningRequiredSubtitle" = "This device must be signed by another signing device in this tailnet. Please contact your network administrator for assistance.";
"somethingWentWrong" = "Something went wrong";
"cannotRunOnSimulator" = "Cannot run on Simulator";
"cannotRunOnSimulatorSubtitle" = "VPN configurations and network extensions are not supported in the simulator. Please run the app on a physical iOS device.";
"vpnConfigurationRequired" = "VPN configuration required";
"vpnConfigurationRequiredSubtitle" = "You must grant permission to add a VPN configuration in order to use Tailscale.";
"logIn" = "Log in";
"doYouReallyWantToLogOut" = "Do you really want to log out?";
"doYouReallyWantToDisconnect" = "Do you really want to disconnect?";
"youWillBeLoggedOutAndNeedToLoginAgain (%@)" = "You'll be logged out of %@ and will have to log in again.";
"youWillBeLoggedOutAndNeedToLoginAgain" = "You'll be logged out of your current account and will have to log in again.";

// Exit Node Picker
"chooseExitNode" = "Choose Exit Node";
"tapToActivateThisExitNode" = "Tap to activate this exit node";
"exitNodeNameAndStatus (%@, %@)" = "%@, status: %@";
"statusActive" = "Active";
"statusNotActive" = "Not Active";
"offline" = "Offline";
"expired" = "Expired";
"none" = "None";
"noExitNodeSelectedTitle" = "None";
"chooseCountry" = "Choose a Country";
"runAsExitNode" = "Run as Exit Node";
"thisDeviceModelIsRunningAsAnExitNode (%@)" = "This %@ is running as an exit node.";
"otherDevicesInYourTailnetCanSendTrafficDeviceName (%@)" = "Other devices in your tailnet can send all their traffic through this %@'s IP address.";
"runningAsExitNode" = "Running as exit node";
"runningAsExitNodeDetail" = "Routing through this device";
"stopRunningAsExitNode" = "Stop running as exit node";
"youAreAboutToRunExitNodeDeviceModel (%@)" = "Run this %@ as an exit node?";
"runAsExitNodeWarningDeviceModel (%@)" = "Other devices in your tailnet will be able to route their traffic through this %@.\nMake sure to approve this exit node in the admin console in order for other devices to see it.";
"exitNodeOfflineExplainerForcedByOrganizationName (%@)" = "The exit node selected by %@ is currently offline. Internet traffic is blocked. Contact a network administrator for help.";
"exitNodeOfflineExplainerForced" = "The exit node selected by your organization is currently offline. Internet traffic is blocked. Contact a network administrator for help.";
"exitNodeOfflineExplainer" = "The selected exit node is currently offline. Internet traffic is blocked until you disable the exit node or choose another.";
"exitNodeExpiredExplainerForcedByOrganizationName (%@)" = "The exit node selected by %@ cannot be used because its key has expired. Internet traffic is blocked. Contact a network administrator for help.";
"exitNodeExpiredExplainerForced" = "The exit node selected by your organization cannot be used because its key has expired. Internet traffic is blocked. Contact a network administrator for help.";
"exitNodeExpiredExplainer" = "The selected exit node cannot be used because its key has expired. Internet traffic is blocked until you disable the exit node or choose another.";
"exitNodeSwitchErrorTitle" = "Unable to Switch Exit Nodes";
"exitNodeNameAndStatus (%@, %@)" = "Exit node: %@, status: %@";
"enableExitNodeToggleLabel" = "Enable Exit Node";

// iOS Connectivity Alerts

// Taildrop
"receiveFileHeaderSingle" = "Receive 1 pending file";
"receiveFileHeaderMulti (%d)" = "Receive %d pending files";
"receiveFileSubSingle" = "You were sent this file via Taildrop";
"receiveFileSubMulti" = "You were sent these files via Taildrop";
"fileReceived" = "Taildrop file received";
"receivedCountFiles (%d)" = "Received %d files";
"tapToOpen" = "Tap to open";
"showInFinder" = "Show in Finder";
"showInFiles" = "Show in Files";
"savedInDownloads" = "Saved in Downloads";
"countMore (%d)" = "%d more";
"taildropZoneHelp" = "Drop the file to send it to";

// Tailnet Lock
"tailnetLock" = "Tailnet Lock";
"tailnetLockEnabled" = "Tailnet Lock is currently enabled.";
"tailnetLockDisabled" = "Tailnet Lock is currently not enabled.";
"tailnetLockPending" = "Tailnet Lock status is unknown.";
"thisNodeHasBeenSigned" = "This node has been signed by another device.";
"thisNodeHasNotBeenSigned" = "This node has not been signed by another device.";
"thisNodeIsTrusted" = "This node is trusted to change the Tailnet Lock configuration.";
"thisNodeIsNotTrusted" = "This node is not trusted to change the Tailnet Lock configuration.";
"nodePublicKey" = "Node Public Key";
"tailnetLockIntro (%@)" = "Tailnet Lock lets devices in your network verify public keys distributed by the coordination server before trusting them for connectivity.";
"tailnetLockIntroMarkdown (%@)" = "Tailnet Lock lets devices in your network verify public keys distributed by the coordination server before trusting them for connectivity. [Learn more…](%@)";
"requestToSignDevice" = "Sign device";
"aCommandToSignWasTriggered" = "A command to sign a device was triggered from outside of Tailscale. If you did not do this, cancel the operation.";
"signDevice" = "Sign device";
"deviceApproved" = "Device signed";
"couldNotSignDevice" = "Could not sign device";
"theDeviceCanNowJoinTailnet" = "The device can now access the tailnet.";
"unknownUser" = "Unknown User";
"hmacAuthenticationFailed" = "The authentication code was invalid.";
"couldNotRetrieveTailnetLockStatus" = "Could not retrieve tailnet lock status.";
"errorOccurred (%@)" = "An error occurred: %@";
"thisDeviceCannotSignBecauseItIsNotASigningDevice" = "This device is not able to sign other devices because it is not a signing device. Please contact your administrator.";
"cantSignFromThisDevice" = "Can't sign from this device";
"deeplinkVerificationSerializationFailure" = "The signing request could not be handled because a serialization error occurred.";
"deeplinkVerificationVerificationFailure" = "The signing request could not be authenticated.";
"deeplinkVerificationVerificationFailure (%@)" = "The signing request could not be authenticated: %@";
"couldNotSignBecauseTailscaleIsNotActive" = "Signing a device requires Tailscale to be running. Please start the Tailscale tunnel and try again.";
"enabled" = "Enabled";
"disabled" = "Not Enabled";
"devicesAwaitingSigning" = "Devices Awaiting Signing";
"revealInDevicesView" = "Reveal in Devices view";
"openDeviceDetailsInTheAdminConsole" = "Open device in admin console";
"nodeKey" = "Node Key";
"usedToSignThisNodeFromAnySigningDeviceInYourTailnet" = "Used to sign this node from another signing device in your tailnet.";
"tailnetLockKey" = "Tailnet Lock Key";
"usedToChangeTailnetLockConfiguration" = "Used to authorize changes to the Tailnet Lock configuration.";

// About View
"aboutTailscale" = "About Tailscale";
"tailscaleForPlatformName (%@)" = "Tailscale for %@";
"aboutAcknowledgement (%@)" = "WireGuard is a registered trademark of Jason A. Donenfeld.\n\n© %@ Tailscale Inc. All rights reserved.\nTailscale is a registered trademark of Tailscale Inc.";
"acknowledgements" = "Acknowledgements";
"unknownVersion" = "Unknown Version";
"debugBuild" = "Debug Build";
"debugDetails" = "Debug Details";
"termsOfService" = "Terms of Service";
"tailscaleForMacOS" = "Tailscale for macOS";
"macAppStoreVariant" = "Mac App Store variant";
"standaloneVariant" = "Standalone variant";
"testFlight" = "TestFlight";
"macVariantsExplainer" = "There are three variants of Tailscale client for macOS. Standalone, Mac App Store, and open source. You can choose the variant that best fits your needs.";
"moreInfo" = "More Info…";

// Settings
"settings" = "Settings";
"youCanManageAccountFromAdminConsole (%@)" = "You can manage your account from the admin console. [View admin console…](%@)";
"versionIsAvailable (%@)" = "Update Available (v%@)";
"manageAccount" = "Manage Account";

// Onboarding
"showOnboarding" = "Show Onboarding";
"showAppIntro" = "Show App Intro";
"welcomeToTailscale" = "Welcome to Tailscale";
"getStarted" = "Get Started";
"newToTailscaleQuestion (%@)" = "New to Tailscale? [Learn more](%@).";
"privacy" = "Privacy";
"tailscaleMakesItEasy" = "Tailscale makes it easy to securely connect all your team’s devices together. It only takes a few minutes to get set up.";
"weUseYourEmail" = "We use your email address and name, as well as device name, OS version, and IP address to connect your devices and manage settings. We also log when you are connected to your network to improve the service.";
"yourDataIsAlways" = "Your data is always end-to-end encrypted and never readable by Tailscale or anyone outside your network.";
"iUnderstand" = "I understand";
"tailscaleNeedsToInstallVPN" = "Tailscale needs to add a VPN configuration to route traffic to other devices in your network.";
"almostThere" = "Add VPN Configuration";
"byContinuingYouAgreeMarkdown (%@, %@)" = "By continuing, you agree to our [Terms of Service](%@) and [Privacy Policy](%@).";
"notificationsExplainer" = "We use notifications to help you troubleshoot broken connections, or notify you before you need to reauthenticate to your network.";
"allowNotifications" = "Allow Notifications";
"noThanks" = "No thanks";

// App Intro
"appintroShowMeAround" = "Show me around";
"appintroSkip" = "Skip";
"appintroPrev" = "Previous";
"appintroNext" = "Next";

"appintroWelcome" = "Welcome to the Tailscale app";
"appintroBrowseTailnet" = "Browse your tailnet";
"appintroTalkToDevices" = "Talk to other devices";
"appintroMiniPlayer" = "Mini player";
"appintroMenubar" = "Always in the menu bar";

"appintroWelcomeDesc" = "Get the most out of your Tailscale network with this app and its menu bar companion.";
"appintroBrowseTailnetDesc" = "Search for devices and exit nodes in your network. Find the ones you want, inspect their details, copy their addresses, and more.";
"appintroTalkToDevicesDesc" = "Drag and drop files across devices you own (Taildrop), and ping other devices to debug connection status.";
"appintroMiniPlayerDesc" = "You can toggle the mini player to use a simplified version of the app. Useful if you mostly use Tailscale to be passively connected to the tailnet and switch exit nodes.";
"appintroMenubarDesc" = "Tailscale always runs a menu bar companion for taking quick actions. If that’s your preferred way to interact with Tailscale, hide the app’s dock icon in Settings. You’ll always be able to open the app window from there.";

// TV Home View
"tailscaleIsReadyPleaseLoginAt" = "Welcome to Tailscale. Scan this QR code to log into your account.";
"name" = "Name";
"exitNode" = "Exit Node";
"myOtherDevices" = "My Other Devices";
"aboutTailscaleForTvOS" = "About Tailscale for tvOS";
"thisDeviceName (%@)" = "This %@";

// Device Details
"details" = "Details";
"taildrop" = "Taildrop";
"os" = "OS";
"tailscaleAddresses" = "Tailscale addresses";
"ipv4" = "IPv4";
"tailscaleIPv4" = "Tailscale IPv4";
"ipv6" = "IPv6";
"tailscaleIPv6" = "Tailscale IPv6";
"magicDNS" = "MagicDNS";
"stableID" = "ID";
"keyExpiry" = "Key expiry";
"never" = "Never";
"connectToGetUpToDateInformation" = "Connect to get up to date information";
"pingDeviceHelpLabel" = "Test connection reliability";
"pingDeviceButtonLabel" = "Ping device";
"retryPingDeviceButtonLabel" = "Retry";

// Change Hostname
"deviceName" = "Device Name";
"hostname" = "Hostname";
"changeHostnameExplainerWithDeviceName (%@)" = "You can change the hostname used to identify this %@ on your tailnet.\n\nTailscale will use the name assigned by the coordination server if left empty.";

// On Demand
"vpnOnDemand" = "VPN On Demand";
"wifi" = "Wi-Fi";
"ethernet" = "Ethernet";
"cellular" = "Cellular";
"tailscaleWillNeverConnectAutomatically" = "Tailscale will never connect automatically.";
"tailscaleWillConnectAutomaticallyWhenYourDeviceNameJoinsAnyWiFiNetwork (%@)" = "Tailscale will connect automatically when this %@ joins a Wi-Fi network.";
"tailscaleWillConnectAutomaticallyWhenYourDeviceNameJoinsAnyOfBelowWiFiNetworks (%@)" = "Tailscale will connect automatically when this %@ joins any of the Wi-Fi networks specified below.";
"tailscaleWillConnectAutomaticallyWhenYourDeviceNameJoinsAnyWiFiNetworkExceptBelow (%@)" = "Tailscale will connect automatically when this %@ joins any Wi-Fi network, except the networks specified below.";
"tailscaleWillConnectAutomaticallyWheneverDeviceNameUsesCellularData (%@)" = "Tailscale will connect automatically when this %@ uses cellular data.";
"itWillAlsoConnectWheneverYourDeviceNameUsesCellularData (%@)" = "It will also connect whenever this %@ uses cellular data.";
"tailscaleWillConnectAutomaticallyWheneverThisMacIsConnectedUsingEthernet" = "Tailscale will connect automatically whenever this Mac is connected over Ethernet.";
"itWillAlsoConnectWheneverEthernetIsUsed" = "It will also connect whenever Ethernet is used.";
"networkName" = "Network Name";
"connectAutomaticallyOn" = "Connect automatically on";
"connectExceptOnTheseWiFiNetworks" = "Connect except on these Wi-Fi networks";
"connectOnlyOnTheseWiFiNetworks" = "Connect only on these Wi-Fi networks";
"vpnOnDemandExplainer (%@, %@)" = "Use VPN On Demand to automatically connect Tailscale on this %@. [Learn more…](%@)";
"always" = "Always";
"onlyOn" = "Only On";
"exceptOn" = "Except On";
"never" = "Never";
"noRule" = "Do Nothing";
"networkName" = "Network Name";
"addNewNetwork" = "Add new network";
"actionAddCurrent (%@)" = "Add current: %@";
"tsDotNetMatching" = "Detect MagicDNS hostnames";
"magicDNSMatchingExplainerEnabled (%@, %@)" = "Tailscale will attempt to reconnect automatically when any app on this %@ attempts to reach a host in the ts.net domain. Available when 'Do Nothing' is selected for a network interface.  Note that this will not work for all apps nor all types of connections and is not immediate.";
"magicDNSMatchingExplainerDisabled (%@)" = "Enable to automatically connect Tailscale when any app on this %@ attempts to reach a host in the ts.net domain. Available when 'Do Nothing' is selected for a network interface.  Note that this will not work for all apps nor all types of connections and is not immediate.";
"disconnectedByVPNOnDemand" = "VPN On Demand Enabled";
"systemNameIsManagingTheTailscaleTunnel (%@)" = "To reconnect, you might need to adjust your VPN On Demand rules.";
"vpnOnDemandEnabled" = "Enabled";
"vpnOnDemandDisabled" = "Not Enabled";
"vpnOnDemandPending" = "VPN On Demand status is unknown.";
"vpnOnDemandDisabledByPolicy" = "VPN On Demand is disabled due to MDM policy.";

// tvOS Onboarding
"welcomeToTailscaleForTvOS" = "Welcome to Tailscale for tvOS";
"polishedForTvOS" = "Designed for tvOS";
"polishedExplainer" = "Tailscale lets you easily and securely connect all your devices to your Apple TV.";
"privacyExplainer" = "We use your email address and name, as well as tvOS version and IP address, to connect and manage settings. We also log when you are connected to your network to improve the service. Your data is always end-to-end encrypted and never readable by Tailscale or anyone outside your network.";
"vpnConfiguration" = "VPN Configuration";
"vpnConfigurationExplainer" = "Tailscale needs to add a VPN configuration to route traffic to other devices in your network. By continuing, you agree to our Terms of Service and Privacy Policy, available on tailscale.com.";
"addVPNConfiguration" = "Add VPN Configuration";

// App Intents
"intentNoBackendError" = "The action could not run because the Tailscale VPN configuration is unavailable. Please run the Tailscale app, log into your account, and try again.";
"intentNoExitNodeName" = "The action could not run because no exit node was provided.";
"intentInvalidExitNodeName" = "The action could not run because an invalid exit node name was provided.";
"intentMissingProfileName" = "The action could not run because no profile name was provided.";
"intentInvalidProfileName" = "The action could not run because an invalid profile name was provided.";
"intentNoIPAddressKnown" = "The action could not run because no IP address is known for the given device.";
"intentNoFileURL" = "The action could not run because Shortcuts failed to provide URLs for the given files.";
"intentNoFileTargets" = "The action could not run because no reachable devices in your tailnet support Taildrop.";
"intentDestinationUnavailable" = "The action could not run because the destination device is unreachable.";
"intentTransferFailed" = "The action could not run because transferring one or more files failed. Please try again.";
"intentDevicesFailed" = "The action could not run because Tailscale is not currently running.";
"intentDisconnectDisallowedError" = "This action could not run because MDM policy disallows disconnection via Shortcuts.";

// MDM
"managedByYourOrganization" = "Managed by your organization";
"managedByOrganizationName (%@)" = "Managed by %@";
"managedByOrganizationNameExplainerDeviceName (%@, %@)" = "%@ is managing Tailscale on this %@. Some features might have been customized or hidden by your system administrator.";
"ok" = "OK";
"tailscaleIsNoLongerManaged" = "Tailscale is no longer managed.";
"support" = "Support";
"cannotDisconnect" = "Unable to Disconnect";
"disconnectionForbiddenAlertOrganizationName (%@)" = "Tailscale cannot be disconnected on this device due to a policy set by %@. For further details, please consult your system administrator.";
"disconnectionForbiddenAlert" = "Tailscale cannot be disconnected on this device due to a policy set by your organization. For further details, please consult your system administrator.";
"organizationNameRequiresExitNode (%@)" = "%@ requires you to use an exit node.";
"organizationRequiresExitNode" = "Your organization requires you to use an exit node.";
"organizationNameRequiresAutomaticExitNode (%@)" = "%@ requires you to use the recommended exit node.";
"organizationRequiresAutomaticExitNode" = "Your organization requires you to use the recommended exit node.";
"exitNodeLocalAccessExplainer" = "Reach local network devices even when an exit node is used.";
"thisSettingHasBeenCustomizedByOrganizationName (%@)" = "This setting has been customized by %@.";
"thisSettingHasBeenCustomizedByYourOrganization" = "This setting has been customized by your organization.";

// Add More Devices banner
"startGrowingYourTailnet" = "Start growing your tailnet";
"startGrowingYourTailnetCaption" = "Install Tailscale on more devices to build your tailnet — that's what we call a Tailscale network.";
"showMeHow" = "Show me how";

// App Icon Picker
"chooseAppIcon" = "Choose App Icon";
"appIconNameDark" = "Default";
"appIconDescriptionDark" = "So classic it hurts.";
"appIconNameLight" = "Light";
"appIconDescriptionLight" = "Blinded by that Retina display.";
"appIconNameDubDub" = "Dub Dub Dee See";
"appIconDescriptionDubDub" = "Are you running the beta?!?";

// Subnet routing
"subnetRouter" = "Subnet Router";
"subnetRoutes" = "Subnet Routing";
"subnetRoutingSettings" = "Subnet Routing Settings";
"usingSubnetsSubtitle"  = "Routing traffic according to your network's rules.";
"notusingSubnetsSubtitle" = "Subnet routing is not enabled.";
"useSubnets" = "Use Tailscale Subnets";
"anErrorOccurredFetchingSubnetRouterSettings" = "An error occurred fetching the subnet routing settings.";
"fetchingSubnetSettings" = "Fetching subnet routing settings…";


"subnetRouterExplainer" = "Configure this Apple TV as a subnet router to add devices to your tailnet without installing Tailscale.";
"afterAddingRouteNote" = "After adding a route, make sure to approve it in the admin console. Subnet routing is active whenever Tailscale is connected.";
"numRoutesActive (%d)" = "%d Advertised Routes";
"advertiseNewRoute" = "Advertise New Route…";
"insertRouteCIDRExplainer" = "Insert route in CIDR format (e.g. 192.168.2.1/32)";
"advertisedRoutes" = "Advertised routes";



// DNS Settings
"dnsSettings" = "DNS Settings";
"resolver" = "Resolver";
"resolvers" = "Resolvers";
"searchDomain" = "Search Domain";
"searchDomains" = "Search Domains";
"routeName (%@)" = "Route: %@";
"dnsSettingsCanBeChangedInTheAdminConsole" = "DNS can be configured in the admin console.";
"anErrorOccurredFetchingDNSSettings" = "An error occurred fetching DNS settings.";
"fetchingDNSSettings" = "Fetching DNS settings…";
"usingTailscaleDNS" = "Using Tailscale DNS";
"notUsingTailscaleDNS" = "Not Using Tailscale DNS";
"notRunning" = "Not Running";
"anErrorOccurred" = "An Error Occurred";
"failedToStart" = "Failed to start";
"deviceNameIsUsingTheDefaultDNSResolver (%@)" = "This %@ is using the default system DNS resolver.";
"deviceNameIsUsingTailscaleToResolveDNSNames (%@)" = "This %@ is using Tailscale to resolve DNS names.";
"tailscaleIsNotRunningDeviceNameIsUsingItsDefaultDNSResolver (%@)" = "Tailscale is not running. This %@ is using the system's DNS resolver.";

// Please Reboot window
"extensionCrashDetected" = "Tailscale Launch Failure";
"oops" = "Oops!";
"pleaseRebootExplainer (%@, %@)" = "The Tailscale network extension failed to start. This could be caused by another VPN or security software, a bug in Tailscale, or an issue in this version of %@.\n\nRestarting your %@ may resolve this problem. If the issue persists, contact our support team.";

// System extension management
"systemExtensionApprovalRequiredMenuItemTitle" = "System Extension Approval Required…";
"systemExtensionInstallationFailedMenuItemTitle" = "System Extension Setup Failed…";
"systemExtensionRebootRequiredMenuItemTitle" = "System Reboot Required…";
"tailscaleRequiresSystemExtensionApprovalTitle" = "System Extension Approval Required";
"tailscaleRequiresSystemExtensionApprovalExplainer" = "To use Tailscale, you need to approve the Tailscale system extension. Tailscale won’t work until you complete this step.\n\nOpen the System Settings app, go to Privacy & Security. Scroll down and press the “Allow” button next to Tailscale.";
"tailscaleRequiresSystemExtensionApprovalExplainerSequoia" = "To use Tailscale, you need to approve the Tailscale system extension. Tailscale won’t work until you complete this step.\n\nOpen the System Settings app, go to General > Login Items & Extensions, and allow the Tailscale Network Extension.";
"systemExtensionInstallationFailedAlertTitle" = "System Extension Setup Failed";
"systemExtensionInstallationFailedAlertExplainer (%@)" = "We are unable to register the Tailscale system extension. This is oftentimes caused by system restrictions, or security software interfering with Tailscale. Rebooting your Mac may often address the issue. If this error persists, contact support for help.\n\nError: %@";
"rebootRequiredAlertTitle" = "System Restart Required";
"rebootRequiredAlertCaption" = "Welcome to Tailscale. Please restart your Mac now to connect to your Tailscale network. Tailscale won’t work until you complete this step.";
"installIssueDetectedPleaseRebootMac" = "Installation issue detected. Make sure only one instance of Tailscale is installed and then restart your Mac.";
"installIssueDetectedPleaseRebootiOS" = "Tailscale can't start due to an internal iOS issue. Restart your device to fix this.";
"installIssueDetectedPleaseReboottvOS" = "Tailscale can't start due to an internal tvOS issue. Turn off and restart your Apple TV to fix this.";
"systemExtensionUninstalledMenuItemTitle" = "System Extension was Removed...";
"systemExtensionUninstalledAlertTitle" = "System Extension was Removed";
"systemExtensionUninstalledAlertCaption" = "The Tailscale system extension was removed by the user. Quit and re-launch the Tailscale app to setup the extension.";

// VPN Configuration Reset
"vpnConfigurationReset" = "Reset VPN Configuration";
"vpnConfigurationResetExplainer" = "This option will remove the Tailscale VPN Configuration and prompt you for it to be re-created.";
"vpnConfigurationResetSucceeded" = "VPN Configuration Reset Succeeded";
"vpnConfigurationResetSucceededPleaseReboot" = "The Tailscale VPN Configuration has been removed and re-created successfully. Try re-connecting to Tailscale again. If any issue persist, you might want to try again after rebooting your Mac. Contact support for further assistance if necessary.";
"failedToResetTheVPNConfiguration" = "VPN Configuration Reset Failed";

// Conflicts Detection
"systemConfigurationInspector" = "System Configuration Inspector";
"macMenuNumConflictsDetectedOne" = "System Configuration Issue Found…";
"macMenuNumConflictsDetected (%d)" = "%d System Configuration Issues Found…";
"titleNumConflictsDetectedOne" = "System Configuration Issue Found";
"titleNumConflictsDetected (%d)" = "%d System Configuration Issues Found";
"captionConflictsDetected" = "A software conflict and/or installation error on your Mac has been detected which may cause unexpected behavior when Tailscale is running.";
"otherAppsExplainer" = "Other VPN apps or security tools can conflict with Tailscale by overwriting our VPN configuration, or tampering with connections initiated by Tailscale.";
"aCopyOfAppNameWasFoundAtThisPath (%@)" = "A copy of “%@” was found at this path:";
"appNameMayConflictWithTailscale (%@)" = "“%@” may conflict with Tailscale.";
"appNameIsKnownToConflictWithTailscale (%@)" = "“%@” is known to conflict with Tailscale. However, note that if you are not experiencing any issues, no action is required.";
"anotherCopyOfTailscaleWasFoundAtThisPath" = "Another copy of Tailscale was found at this path:";
"anotherCopyOfTailscaleWasFoundOnThisMac" = "Another Tailscale copy was found on this Mac.";
"anotherVPNFoundTitle" = "Another VPN app was found.";
"anotherVPNFoundCaption" = "When Tailscale last launched, another VPN was found to be enabled. Tailscale tries to cooperate and run alongside other VPNs on your Mac, but sometimes that's not possible. Other VPN apps may accidentally or by design break Tailscale. If you experience any issues, make sure to disconnect other VPNs before launching Tailscale.";
"localAPIVersionMismatchTitle" = "Tailscale Version Mismatch";
"localAPIVersionMismatchCaption" = "Tailscale has detected a mismatch between the application and VPN extension version. If you have recently upgraded, please reboot to allow the system to properly upgrade all of the required components. If you have installed Tailscale manually, prior to rebooting, ensure that no other copies of Tailscale.app exist on your system.";
"localAPIVersionMismatchCaption_iOS" = "Tailscale has detected a mismatch between the application and VPN extension version. If you have recently upgraded, please reboot to allow the system to properly upgrade all of the required components.";

// LocalAPIError.recoverySuggestion
"localAPIBadResponse" = "The network extension API returned an empty or non-HTTP response. Please try turning off Tailscale and restarting it again. If the issue persists, contact support.";
"localAPIStatusError (%@) (%@)" = "The network extension API returned an error status code: %@. The error body was: '%@'. Please try turning off Tailscale and restarting it again. If the issue persists, contact support.";
"localAPIURLRequestError" = "The request failed because a URL to reach the network extension API could not be generated. Please try turning off Tailscale and restarting it again.";
"localAPIBugReportError" = "The bug report identifier could not be created because the network extension API returned invalid response data.";
"localAPIJSONEncodeError" = "The request failed because the data could not be encoded properly. This is likely due to a bug in Tailscale. Try restarting the client. Contact Tailscale support if the issue persists.";
"localAPIVersionMismatchError (%@) (%@)" = "The Tailscale client UI version (%@) does not match the network extension version (%@). Please try quitting and re-opening Tailscale. If the issue persists, reboot your device.";
"localAPINotConnectedError" = "The request failed because Tailscale is not currently connected. Please try connecting to the internet and restarting Tailscale.";
"localAPINoSessionIDError" = "The request failed because a session identifier was not set. Please try restarting Tailscale.";
"localAPINoCredentialsError" = "The request failed because we are unable to authenticate with the network extension at this time.";

// Drive
"chooseSharedFoldersButton" = "Choose Shared Folders…";
"tailDropDriveExplainerWithLink (%@)" = "Taildrop and Taildrive are the best way to share files and folders between devices and users running Tailscale. [More info…](%@)";
"noSharedFolders" = "No shared folders";
"countSharedFolders (%d)" = "%d shared folders";
"folderSharingIsEnabled" = "Folder sharing is enabled.";
"folderSharingEnabledExplainerWithDeviceName (%@)" = "Taildrive folder sharing is enabled for this %@.";
"folderSharingIsDisabled" = "Folder sharing is disabled.";
"folderSharingDisabledExplainer" = "You can enable Taildrive folder sharing from the Tailscale admin console on the web. Add the attribute \"drive:share\" to this node in your ACL's \"nodeAttrs\" section.";
"toAccessSharedFolderFromOtherDevices" = "To access your shared folders from other devices:";
"driveiPhoneiPadExplainer" = "On iPhone and iPad, make sure that the Tailscale app is connected, then open the Files app, and enable Tailscale to browse available shares.";
"driveOnOtherPlatformsExplainer" = "On other platforms, follow the instructions available here.";
"driveTheFoldersListedHereHeader" = "The folders listed here will be available to other devices in your tailnet using Taildrive.";
"name" = "Name";
"path" = "Path";

// Advanced login options
"advancedLoginOptions" = "Advanced Login Options";
"useACustomCoordinationServer" = "Use a custom coordination server";
"useAnAuthKey" = "Use an auth key";
"authKeysExplainerDeviceName (%@)" = "Pre-authentication keys let you sign into Tailscale on this %@ without needing to authenticate from a web browser.\n\nTo continue, enter a valid auth key generated from the Tailscale admin console.";
"missingAuthKey" = "Missing Auth Key";
"missingAuthKeyExplainer" = "Please provide a valid auth key to continue.";
"mdmPreventsCustomServer" = "Custom coordination servers are not allowed on this device";
"mdmPreventsCustomServerExplainer" = "Your organization has disabled the use of custom coordination servers. Please contact your network administrator for more information.";
"customCoordinationServerExplainer" = "To continue, enter the URL of a custom coordination server, such as a Tailscale Enterprise deployment or a self-hosted Headscale instance.";
"customCoordinationServerURLPlaceholder" = "Server URL (e.g. https://headscale.tailandscales.com)";
"accountChangeFailedBackendNotRunningError" = "Could not complete the requested account change because Tailscale is not running. Please connect to Tailscale and try again.";
"accountDeletionFailedError (%@)" = "Could not delete the account: %@";
"accountDeletionFailedError" = "Could not delete the account because Tailscale is not running. Please connect to Tailscale and try again.";
"accountSwitchFailedError (%@)" = "Could not switch accounts: %@";
"accountSwitchFailedError" = "Could not switch accounts because Tailscale is not running. Please connect to Tailscale and try again.";
"accountAddFailedError (%@)" = "Could not add account: %@";
"accountAddFailedError" = "Could not add a new account because Tailscale is not running. Please connect to Tailscale and try again.";
"accountLogoutFailedError (%@)" = "Could not log out: %@";
"accountLogoutFailedError" = "Could not log out from this account because Tailscale is not running. Please connect to Tailscale and try again.";
"accountReauthenticationFailedError" = "Could not reauthenticate because Tailscale is not running. Please connect to Tailscale and try again.";
"adminConsoleURLUnavailableError" = "Could not open the admin console because the URL is not available.";

"disconnectFailedError (%@)" = "Could not disconnect from Tailscale: %@";
"disconnectFailedError" = "Could not disconnect from Tailscale.";
"connectFailedError (%@)" = "Could not connect to Tailscale: %@";
"connectFailedError" = "Could not connect to Tailscale.";

// CLI installer
"cliIntegration" = "Command Line Integration";
"cliIntegrationExplainer" = "Using Tailscale from the command line in your terminal can be a convenient way to automate recurring tasks and integrate with other tools.";
"cliMDMNote" = "Tailscale is managed by your organization. Please contact your administrator to get started with the Tailscale CLI.";
"addToPathHeader" = "Add “tailscale” Command to PATH";
"addToPathExplainer" = "By adding this command to PATH you’ll be able to type “tailscale” (like “tailscale status”) instead of using the full path to the Tailscale app location.";
"addToPathExplainerAppStore" = "If you would like to simply type “tailscale” in your Terminal instead of the full application path, you can install a launcher in “/usr/local/bin/tailscale”. On the App Store variant of Tailscale, this must be manually configured. Refer to the documentation for instructions.";
"ifYouDontWantToInstallCLI" = "If you don't want to add the command, you can always execute commands (like “up” and “status”) by appending them to your Tailscale app location, like so:";
"cliAddNow" = "Add Now";
"cliCommandAdded" = "/usr/local/bin/tailscale added";
"cliNotAvailable" = "/usr/local/bin/tailscale not available";
"cliRemove" = "Remove";

// Network Security Warning
"netvuln_title" = "Network vulnerability detected";
"netvuln_msg_1" = "DHCP option 121 was detected in use on your current network, indicating a potential security vulnerability known as TunnelVision. While DHCP option 121 is sometimes used for legitimate purposes, this vulnerability can be exploited to send traffic to an attacker on your network when the traffic was intended for your tailnet or a website on the internet. An attacker on this network could:";
"netvuln_msg_2" = "Impersonate websites or services you are using";
"netvuln_msg_3" = "Access private information about the websites and services you use, including any unencrypted data you send or receive.";
"netvuln_msg_4" = "We recommend that you turn Tailscale off until you connect to a different network. If you have questions, please contact your network administrator.";
"netvuln_action_disconnect" = "Turn Off Tailscale";
"netvuln_action_continue" = "Dismiss";
"netvlun_ingore_check" = "Don't ask again";
"netvuln_action_learn" = "Learn More…";

// Connectivity health items
"issuesDetected" = "Issue(s) Detected…";
"tailscaleWarningsViewer" = "Warnings";
"errorCode (%@)" = "Code: %@";
"availableVersion" = "Available Version";
"currentVersion" = "Current Version";
"duration" = "Duration";
"error" = "Error";
"magicsockFunctionName" = "Magicsock Function Name";
"relayServerRegionID" = "DERP Region ID";
"relayServerRegionName" = "DERP Region Name";
"serverName" = "Server Name";
"noIssuesDetected" = "No Issues Detected";
"oneIssue" = "1 Issue";
"issuesCount (%d)" = "%d Issues";
"oneWarning" = "1 Warning";
"warningsCount (%d)" = "%d Warnings";
"oneNotification" = "1 Notification";
"notificationsCount (%d)" = "%d Notifications";
"failedToConnect" = "Failed to connect";
"tailscaleCannotStartBecauseTheNetworkIsDown" = "Tailscale cannot start because the network is down. Make sure you're connected to the Internet.";

// Menu bar icon hidden alert
"alertHiddenNotchTitle" = "Sneaky! The Tailscale icon is hiding behind the notch.";
"alertHiddenNoNotchTitle" = "Sneaky! The Tailscale icon in the menu bar is being hidden.";
"alertHiddenNotchDescription" = "The Tailscale icon is hidden due to limited space in the menu bar. To see the Tailscale menu, please rearrange or remove some of the other icons.";

// Tabs
"reconnect" = "Reconnect";
"allExitNodesEmptySet" = "No available exit nodes.";
"allExitNodesEmptySetAdmin" = "No available exit nodes. [Learn how to configure an exit node.](https://tailscale.com/kb/1103/exit-nodes#configure-an-exit-node)";
"quickAccess" = "Quick Access";
"quickAccessHelp" = "Access your favorite devices and services quickly.";
"allDevices" = "Devices";
"allDevicesHelp" = "Browse all devices connected on your tailnet.";
"allServices" = "Services";
"allServicesHelp" = "Browse all services available on your tailnet.";
"allExitNodes" = "Exit Nodes";
"allExitNodesHelp" = "Browse all exit nodes available on your tailnet.";
"adminConsoleHelp" = "Launch the admin console in your web browser. You can see this item because you're an administrator for the current tailnet.";
"settingsHelp" = "Open the Tailscale settings.";
"connectToTailscaleButtonLabel" = "Connect to Tailscale to access devices on your tailnet.";
"windowSizeHelp" = "Toggle Mini Player";
"searchDevicesResetFilters" = "Reset all filters";


// Search
"searchPlaceholder" = "Search…";
"searchDevicesFilterToggleLabel" = "Sort";
"searchDevicesFiltersSearchPlaceholder (%@)" = "Search %@";

"searchDevicesFilterTags" = "Tags";
"searchDevicesFilterStatus" = "Status";

// Tab Section Headings

// Services

// Help Menu
"help" = "Help";
"tailscaleDocumentationEllipsis" = "Knowledge Base…";
"changelogEllipsis" = "Changelog…";
"contactSupportEllipsis" = "Support…";
"acknowledgementsEllipsis" = "Acknowledgements…";
"privacyPolicyEllipsis" = "Privacy Policy…";
"termsOfServiceEllipsis" = "Terms of Service…";
"legal" = "Legal";

// Taildrop
"taildropDragAreaInstructions" = "Select or drag and drop a file to send it to this device…";
"taildropDragAreaInstructions-iOS" = "Select a file to send it to this device…";
"taildropDragAreaCompleted (%@)" = "Sent %@\n";
"taildropDragAreaProgress (%@) (%@)" = "Sent %@ of %@ files…";
"taildropDragAreaStarting (%@)" = "Sending %@ files…";
"taildropDragAreaLabel (%@) (%@)" = "%@ files (%@)";
"chooseFile" = "Select a File…";

// Taildrop Errors
"TaildropErrorFailedToFetchTargets" = "Could not find taildrop targets";
"TaildropErrorFailedToFindTargetForNode" = "Could not find target for node";
"TaildropErrorFailedToTransferAllFiles %@" = "Failed to transfer one or more files: %@";

// Advanced DNS Settings
"advancedDNSSettings" = "Advanced DNS Settings";
"serverAddress" = "Server Address";
"advancedDNSSettingsTooltip" = "Configure DNS settings applied when Tailscale DNS Settings are not used.";
"advancedDNSSettingsInstructions" = "Choose which DNS servers to use for Tailscale-bound traffic when Tailscale DNS is disabled. For instance, you can send DNS queries to a custom DNS server when using an exit node.";
"none" = "None";
"noneExplainer" = "Choose this option only if needed, to use an DNS configuration profile or DNS proxy provider. Caution: this may prevent using exit nodes if misconfigured.";
"automaticRecommended" = "Automatic (recommended)";
"automaticRecommendedExplainer" = "Use the DNS server provided by the default route interface on this device.";
"custom" = "Custom";
"customExplainer" = "Manually define DNS or DoH servers to use for traffic destined for the Tailscale VPN interface.";
"customDNSServers" = "Custom DNS servers";
"addNewDNSServer" = "Add new DNS server";
"customDNSServersFooterNote" = "When using exit nodes, the exit node itself will be used to contact the DNS servers above. Ensure that any DNS server listed here is reachable by the exit node.";

// Staff group warning

// Privilege escalation
"flushDNSCacheSucceeded" = "DNS cache flushed successfully.";
"flushDNSCacheAdminPrompt" = "To flush the macOS DNS cache, Tailscale requires administrator privileges. Please provide your administrator password to continue.";
"operationCouldNotCompleteInternalError" = "The operation could not be completed due to an internal error.";
"operationCouldNotCompleteRequiresPrivileges" = "The operation could not be completed because it requires administrator privileges.";
"recoverySuggestionInternalError" = "Please try again later, restart Tailscale, or reboot your Mac.";
"recoverySuggestionProvideCredentials" = "Please provide your administrator password to continue.";
"recoverySuggestionAppStoreVariant" = "This operation is not supported on the App Store variant of Tailscale.";

// System extension management via CLI
"askingMacOSToRegisterSysExt" = "Asking macOS to register the Tailscale system extension...";
"sysExtActivationSubmitted" = "System extension activation request submitted. Approve the extension in System Settings to continue. Check the current status with `systemextensionsctl list`.";
"askingMacOSToDeactivateSysExt" = "Asking macOS to deactivate the Tailscale system extension...";
"sysExtDeactivationSubmitted" = "System extension deactivation request submitted. Check the current status with `systemextensionsctl list`. Rebooting your Mac may be required.";
"failedToDeactivateSysExt (%@)" = "Failed to deactivate the system extension: %@";
"sysExtState (%@)" = "System extension state: %@. For more detailed information, run `systemextensionsctl list`.";
"unknown" = "Unknown";
"approvalRequired" = "Approval required";
"setupFailed (%@)" = "System extension setup failed: %@";
"rebootRequired" = "Reboot required";
"systemExtensionRebootRequiredAlertCaption" = "Please reboot to activate the required system extension.";
"ok" = "OK";
"macSysExtErrorUnsupportedVariant" = "Unsupported on this app variant";
"macSysExtErrorUnsupportedVariantRecovery" = "System extension management is not supported on the App Store variant of the app. Please switch to the Standalone variant.";
"couldNotDetermineExtensionIdentifier" = "Could not determine extension identifier";
"couldNotDetermineExtensionIdentifierRecovery" = "macOS could not locate the Tailscale system extension. Please try reinstalling the app using the .pkg installer, and reboot your Mac.";
"macSysExtErrorInvalidCommandNoCmd" = "Please provide a valid system extension operation.";
"macSysExtInvalidCommand (%@)" = "Unrecognized system extension operation sysext-%@.";
"invalidCommandRecovery" = "Please provide a valid operation. Available options incldue sysext-activate, sysext-deactivate, sysext-status.";

// Tunnel management via CLI
"installingTheTailscaleVPNTunnelConfiguration" = "Asking macOS to add the Tailscale VPN configuration… you'll need to approve this from the system dialog.";
"tunnelProviderCreatedSuccessfully" = "VPN configuration created successfully.";
"failedToCreateTunnelProvider (%@)" = "Failed to create NETunnelProviderManager: %@";
"uninstallingTheTailscaleVPNTunnelConfiguration" = "Asking macOS to remove the Tailscale VPN configuration…";
"tunnelProviderUninstalledSuccessfully" = "VPN configuration removed successfully.";
"failedToUninstallTunnelProvider (%@)" = "Failed to remove NETunnelProviderManager: %@";

// Disconnect reason
"pleaseEnterDisconnectReasonTitle" = "Disconnect from Tailscale?";
"pleaseEnterDisconnectReasonSubtitle" = "Your organization requires you to enter a reason for disconnecting. This answer will be logged.";
"pleaseEnterDisconnectReasonSubtitleWithOrganization (%@)" = "%@ requires you to enter a reason for disconnecting. This answer will be logged.";
"reasonPlaceholder" = "Disconnection reason";

// Sentinel management
"requiredLoginItemsAreDisabled" = "Required login items were disabled";
"requiredLoginItemsAreDisabledDescription" = "Your organization has configured Tailscale to run in Always-on mode.\n\nHowever, Tailscale login are disabled in the System Settings app. Please enable Tailscale in the System Settings app > 'Login Items & Extensions'.\n\nIf you are an IT administrator and you're seeing this message, you may want to deploy a ServiceManagement configuration profile using your MDM solution to automate this.";
"sentinelRequiresMacOS13Error" = "The daemon could not be installed because it requires macOS 13.0 or later.";
"sentinelRequiresMacsysError" = "The daemon could not be installed because it requires the Standalone variant of Tailscale for macOS.";
"sentinelRequiresUserApprovalError" = "The operation could not be completed because the user needs to approve the Tailscale daemon in System 'Settings > Login Items & Extensions'.";
"sentinelRegistrationError (%@)" = "The daemon could not be installed because macOS refused to register tssentineld: %@";
"sentinelNotNeededError" = "The daemon was not veed because tssentineld is not required on this Tailscale setup.";

// BackendMessageError
"noConnectionToBackend (%@)" = "Unable to connect to local Tailscale service. %@";
"backendDisconnected (%@)" = "The local Tailscale service is not running. %@";
"backendBadResponse (%@)" = "Invalid response from local Tailscale service. %@";
"backendVerifyConfiguration" = "Verify Tailscale is properly configured and try again.";

// BackendError.errorDescription
"backendErrorTunError (%@)" = "Failed to read the macOS VPN configuration: %@";
"backendErrorSavePrefsFailed" = "Failed to save preferences.";
"backendErrorLoadPrefsFailed" = "Failed to load preferences.";
"backendErrorNotRunning" = "The operation couldn't be completed because the Tailscale backend is not running.";
"backendErrorCLIError (%@)" = "Failed to execute the CLI command: %@";

// Auto Updates
"stable" = "Stable";
"unstable" = "Unstable";
