2018-12-18 11:00:16 +00:00
// SPDX-License-Identifier: MIT
2020-12-04 11:15:29 +00:00
// Copyright © 2018-2020 WireGuard LLC. All Rights Reserved.
2018-12-18 11:00:16 +00:00
// Generic alert action names
"actionOK" = "OK";
"actionCancel" = "Cancel";
"actionSave" = "Save";
// Tunnels list UI
"tunnelsListTitle" = "WireGuard";
"tunnelsListSettingsButtonTitle" = "Settings";
"tunnelsListCenteredAddTunnelButtonTitle" = "Add a tunnel";
"tunnelsListSwipeDeleteButtonTitle" = "Delete";
2019-03-18 12:47:34 +00:00
"tunnelsListSelectButtonTitle" = "Select";
"tunnelsListSelectAllButtonTitle" = "Select All";
"tunnelsListDeleteButtonTitle" = "Delete";
"tunnelsListSelectedTitle (%d)" = "%d selected";
2018-12-18 11:00:16 +00:00
// Tunnels list menu
"addTunnelMenuHeader" = "Add a new WireGuard tunnel";
"addTunnelMenuImportFile" = "Create from file or archive";
"addTunnelMenuQRCode" = "Create from QR code";
"addTunnelMenuFromScratch" = "Create from scratch";
// Tunnels list alerts
2019-02-25 10:52:52 +00:00
"alertImportedFromMultipleFilesTitle (%d)" = "Created %d tunnels";
"alertImportedFromMultipleFilesMessage (%1$d of %2$d)" = "Created %1$d of %2$d tunnels from imported files";
2018-12-18 11:00:16 +00:00
"alertImportedFromZipTitle (%d)" = "Created %d tunnels";
"alertImportedFromZipMessage (%1$d of %2$d)" = "Created %1$d of %2$d tunnels from zip archive";
2019-02-22 07:33:03 +00:00
"alertBadConfigImportTitle" = "Unable to import tunnel";
"alertBadConfigImportMessage (%@)" = "The file ‘ %@’ does not contain a valid WireGuard configuration";
2018-12-18 11:00:16 +00:00
2019-03-18 12:47:34 +00:00
"deleteTunnelsConfirmationAlertButtonTitle" = "Delete";
2019-03-19 10:09:06 +00:00
"deleteTunnelConfirmationAlertButtonMessage (%d)" = "Delete %d tunnel?";
"deleteTunnelsConfirmationAlertButtonMessage (%d)" = "Delete %d tunnels?";
2019-03-18 12:47:34 +00:00
2018-12-18 11:00:16 +00:00
// Tunnel detail and edit UI
"newTunnelViewTitle" = "New configuration";
"editTunnelViewTitle" = "Edit configuration";
"tunnelSectionTitleStatus" = "Status";
"tunnelStatusInactive" = "Inactive";
"tunnelStatusActivating" = "Activating";
"tunnelStatusActive" = "Active";
"tunnelStatusDeactivating" = "Deactivating";
"tunnelStatusReasserting" = "Reactivating";
"tunnelStatusRestarting" = "Restarting";
"tunnelStatusWaiting" = "Waiting";
2019-03-16 20:56:56 +00:00
"macToggleStatusButtonActivate" = "Activate";
"macToggleStatusButtonActivating" = "Activating…";
"macToggleStatusButtonDeactivate" = "Deactivate";
"macToggleStatusButtonDeactivating" = "Deactivating…";
"macToggleStatusButtonReasserting" = "Reactivating…";
"macToggleStatusButtonRestarting" = "Restarting…";
"macToggleStatusButtonWaiting" = "Waiting…";
2018-12-18 11:00:16 +00:00
"tunnelSectionTitleInterface" = "Interface";
"tunnelInterfaceName" = "Name";
"tunnelInterfacePrivateKey" = "Private key";
"tunnelInterfacePublicKey" = "Public key";
"tunnelInterfaceGenerateKeypair" = "Generate keypair";
"tunnelInterfaceAddresses" = "Addresses";
"tunnelInterfaceListenPort" = "Listen port";
"tunnelInterfaceMTU" = "MTU";
"tunnelInterfaceDNS" = "DNS servers";
2019-03-16 10:55:17 +00:00
"tunnelInterfaceStatus" = "Status";
2018-12-18 11:00:16 +00:00
"tunnelSectionTitlePeer" = "Peer";
"tunnelPeerPublicKey" = "Public key";
"tunnelPeerPreSharedKey" = "Preshared key";
"tunnelPeerEndpoint" = "Endpoint";
"tunnelPeerPersistentKeepalive" = "Persistent keepalive";
"tunnelPeerAllowedIPs" = "Allowed IPs";
2019-01-23 23:00:46 +00:00
"tunnelPeerRxBytes" = "Data received";
"tunnelPeerTxBytes" = "Data sent";
"tunnelPeerLastHandshakeTime" = "Latest handshake";
2018-12-18 11:00:16 +00:00
"tunnelPeerExcludePrivateIPs" = "Exclude private IPs";
"tunnelSectionTitleOnDemand" = "On-Demand Activation";
2019-02-27 07:55:53 +00:00
"tunnelOnDemandCellular" = "Cellular";
"tunnelOnDemandEthernet" = "Ethernet";
"tunnelOnDemandWiFi" = "Wi-Fi";
2019-03-05 13:55:17 +00:00
"tunnelOnDemandSSIDsKey" = "SSIDs";
2019-02-27 07:55:53 +00:00
"tunnelOnDemandAnySSID" = "Any SSID";
2019-03-09 10:37:48 +00:00
"tunnelOnDemandOnlyTheseSSIDs" = "Only these SSIDs";
"tunnelOnDemandExceptTheseSSIDs" = "Except these SSIDs";
2019-03-09 10:05:49 +00:00
"tunnelOnDemandOnlySSID (%d)" = "Only %d SSID";
"tunnelOnDemandOnlySSIDs (%d)" = "Only %d SSIDs";
"tunnelOnDemandExceptSSID (%d)" = "Except %d SSID";
"tunnelOnDemandExceptSSIDs (%d)" = "Except %d SSIDs";
2019-03-09 10:35:22 +00:00
"tunnelOnDemandSSIDOptionDescriptionMac (%1$@: %2$@)" = "%1$@: %2$@";
2019-02-27 07:55:53 +00:00
2019-03-09 04:17:35 +00:00
"tunnelOnDemandSSIDViewTitle" = "SSIDs";
"tunnelOnDemandSectionTitleSelectedSSIDs" = "SSIDs";
"tunnelOnDemandNoSSIDs" = "No SSIDs";
2019-02-27 08:00:57 +00:00
"tunnelOnDemandSectionTitleAddSSIDs" = "Add SSIDs";
2019-03-09 10:40:55 +00:00
"tunnelOnDemandAddMessageAddConnectedSSID (%@)" = "Add connected: %@";
"tunnelOnDemandAddMessageAddNewSSID" = "Add new";
2019-02-27 08:00:57 +00:00
2019-03-05 13:55:17 +00:00
"tunnelOnDemandKey" = "On demand";
2018-12-18 11:00:16 +00:00
"tunnelOnDemandOptionOff" = "Off";
"tunnelOnDemandOptionWiFiOnly" = "Wi-Fi only";
2018-12-22 13:29:23 +00:00
"tunnelOnDemandOptionWiFiOrCellular" = "Wi-Fi or cellular";
2018-12-18 11:00:16 +00:00
"tunnelOnDemandOptionCellularOnly" = "Cellular only";
2018-12-22 13:29:23 +00:00
"tunnelOnDemandOptionWiFiOrEthernet" = "Wi-Fi or ethernet";
"tunnelOnDemandOptionEthernetOnly" = "Ethernet only";
2018-12-18 11:00:16 +00:00
"addPeerButtonTitle" = "Add peer";
"deletePeerButtonTitle" = "Delete peer";
"deletePeerConfirmationAlertButtonTitle" = "Delete";
"deletePeerConfirmationAlertMessage" = "Delete this peer?";
"deleteTunnelButtonTitle" = "Delete tunnel";
"deleteTunnelConfirmationAlertButtonTitle" = "Delete";
"deleteTunnelConfirmationAlertMessage" = "Delete this tunnel?";
"tunnelEditPlaceholderTextRequired" = "Required";
"tunnelEditPlaceholderTextOptional" = "Optional";
"tunnelEditPlaceholderTextAutomatic" = "Automatic";
2018-12-22 00:55:42 +00:00
"tunnelEditPlaceholderTextStronglyRecommended" = "Strongly recommended";
2018-12-18 11:00:16 +00:00
"tunnelEditPlaceholderTextOff" = "Off";
2019-01-31 12:47:46 +00:00
"tunnelPeerPersistentKeepaliveValue (%@)" = "every %@ seconds";
2019-01-28 10:52:20 +00:00
"tunnelHandshakeTimestampNow" = "Now";
2019-02-01 13:49:38 +00:00
"tunnelHandshakeTimestampSystemClockBackward" = "(System clock wound backwards)";
2019-01-28 10:52:20 +00:00
"tunnelHandshakeTimestampAgo (%@)" = "%@ ago";
"tunnelHandshakeTimestampYear (%d)" = "%d year";
"tunnelHandshakeTimestampYears (%d)" = "%d years";
"tunnelHandshakeTimestampDay (%d)" = "%d day";
"tunnelHandshakeTimestampDays (%d)" = "%d days";
"tunnelHandshakeTimestampHour (%d)" = "%d hour";
"tunnelHandshakeTimestampHours (%d)" = "%d hours";
"tunnelHandshakeTimestampMinute (%d)" = "%d minute";
"tunnelHandshakeTimestampMinutes (%d)" = "%d minutes";
"tunnelHandshakeTimestampSecond (%d)" = "%d second";
"tunnelHandshakeTimestampSeconds (%d)" = "%d seconds";
2019-01-28 07:35:16 +00:00
2019-02-07 22:44:10 +00:00
"tunnelHandshakeTimestampHours hh:mm:ss (%@)" = "%@ hours";
"tunnelHandshakeTimestampMinutes mm:ss (%@)" = "%@ minutes";
2019-02-12 13:55:42 +00:00
"tunnelPeerPresharedKeyEnabled" = "enabled";
2018-12-18 11:00:16 +00:00
// Error alerts while creating / editing a tunnel configuration
/* Alert title for error in the interface data */
"alertInvalidInterfaceTitle" = "Invalid interface";
/* Any one of the following alert messages can go with the above title */
"alertInvalidInterfaceMessageNameRequired" = "Interface name is required";
2019-01-21 23:03:08 +00:00
"alertInvalidInterfaceMessagePrivateKeyRequired" = "Interface’ s private key is required";
"alertInvalidInterfaceMessagePrivateKeyInvalid" = "Interface’ s private key must be a 32-byte key in base64 encoding";
2018-12-18 11:00:16 +00:00
"alertInvalidInterfaceMessageAddressInvalid" = "Interface addresses must be a list of comma-separated IP addresses, optionally in CIDR notation";
2019-01-21 23:03:08 +00:00
"alertInvalidInterfaceMessageListenPortInvalid" = "Interface’ s listen port must be between 0 and 65535, or unspecified";
"alertInvalidInterfaceMessageMTUInvalid" = "Interface’ s MTU must be between 576 and 65535, or unspecified";
"alertInvalidInterfaceMessageDNSInvalid" = "Interface’ s DNS servers must be a list of comma-separated IP addresses";
2018-12-18 11:00:16 +00:00
/* Alert title for error in the peer data */
"alertInvalidPeerTitle" = "Invalid peer";
/* Any one of the following alert messages can go with the above title */
2019-01-21 23:03:08 +00:00
"alertInvalidPeerMessagePublicKeyRequired" = "Peer’ s public key is required";
"alertInvalidPeerMessagePublicKeyInvalid" = "Peer’ s public key must be a 32-byte key in base64 encoding";
"alertInvalidPeerMessagePreSharedKeyInvalid" = "Peer’ s preshared key must be a 32-byte key in base64 encoding";
"alertInvalidPeerMessageAllowedIPsInvalid" = "Peer’ s allowed IPs must be a list of comma-separated IP addresses, optionally in CIDR notation";
"alertInvalidPeerMessageEndpointInvalid" = "Peer’ s endpoint must be of the form ‘ host:port’ or ‘ [host]:port’ ";
"alertInvalidPeerMessagePersistentKeepaliveInvalid" = "Peer’ s persistent keepalive must be between 0 to 65535, or unspecified";
2018-12-18 11:00:16 +00:00
"alertInvalidPeerMessagePublicKeyDuplicated" = "Two or more peers cannot have the same public key";
// Scanning QR code UI
"scanQRCodeViewTitle" = "Scan QR code";
"scanQRCodeTipText" = "Tip: Generate with `qrencode -t ansiutf8 < tunnel.conf`";
// Scanning QR code alerts
"alertScanQRCodeCameraUnsupportedTitle" = "Camera Unsupported";
"alertScanQRCodeCameraUnsupportedMessage" = "This device is not able to scan QR codes";
"alertScanQRCodeInvalidQRCodeTitle" = "Invalid QR Code";
"alertScanQRCodeInvalidQRCodeMessage" = "The scanned QR code is not a valid WireGuard configuration";
"alertScanQRCodeUnreadableQRCodeTitle" = "Invalid Code";
"alertScanQRCodeUnreadableQRCodeMessage" = "The scanned code could not be read";
"alertScanQRCodeNamePromptTitle" = "Please name the scanned tunnel";
// Settings UI
"settingsViewTitle" = "Settings";
"settingsSectionTitleAbout" = "About";
"settingsVersionKeyWireGuardForIOS" = "WireGuard for iOS";
"settingsVersionKeyWireGuardGoBackend" = "WireGuard Go Backend";
"settingsSectionTitleExportConfigurations" = "Export configurations";
"settingsExportZipButtonTitle" = "Export zip archive";
2019-03-28 13:58:27 +00:00
"settingsSectionTitleTunnelLog" = "Log";
"settingsViewLogButtonTitle" = "View log";
2018-12-18 11:00:16 +00:00
2019-03-28 13:58:27 +00:00
// Log view
"logViewTitle" = "Log";
// Log alerts
2018-12-18 11:00:16 +00:00
"alertUnableToRemovePreviousLogTitle" = "Log export failed";
"alertUnableToRemovePreviousLogMessage" = "The pre-existing log could not be cleared";
"alertUnableToWriteLogTitle" = "Log export failed";
"alertUnableToWriteLogMessage" = "Unable to write logs to file";
// Zip import / export error alerts
"alertCantOpenInputZipFileTitle" = "Unable to read zip archive";
"alertCantOpenInputZipFileMessage" = "The zip archive could not be read.";
"alertCantOpenOutputZipFileForWritingTitle" = "Unable to create zip archive";
"alertCantOpenOutputZipFileForWritingMessage" = "Could not open zip file for writing.";
"alertBadArchiveTitle" = "Unable to read zip archive";
"alertBadArchiveMessage" = "Bad or corrupt zip archive.";
"alertNoTunnelsToExportTitle" = "Nothing to export";
"alertNoTunnelsToExportMessage" = "There are no tunnels to export";
"alertNoTunnelsInImportedZipArchiveTitle" = "No tunnels in zip archive";
"alertNoTunnelsInImportedZipArchiveMessage" = "No .conf tunnel files were found inside the zip archive.";
2019-02-20 10:58:33 +00:00
// Conf import error alerts
"alertCantOpenInputConfFileTitle" = "Unable to import from file";
"alertCantOpenInputConfFileMessage (%@)" = "The file ‘ %@’ could not be read.";
2018-12-18 11:00:16 +00:00
// Tunnel management error alerts
"alertTunnelActivationFailureTitle" = "Activation failure";
"alertTunnelActivationFailureMessage" = "The tunnel could not be activated. Please ensure that you are connected to the Internet.";
2018-12-22 02:41:54 +00:00
"alertTunnelActivationSavedConfigFailureMessage" = "Unable to retrieve tunnel information from the saved configuration.";
"alertTunnelActivationBackendFailureMessage" = "Unable to turn on Go backend library.";
"alertTunnelActivationFileDescriptorFailureMessage" = "Unable to determine TUN device file descriptor.";
"alertTunnelActivationSetNetworkSettingsMessage" = "Unable to apply network settings to tunnel object.";
2018-12-21 17:50:32 +00:00
"alertTunnelActivationFailureOnDemandAddendum" = " This tunnel has Activate On Demand enabled, so this tunnel might be re-activated automatically by the OS. You may turn off Activate On Demand in this app by editing the tunnel configuration.";
2018-12-18 11:00:16 +00:00
2018-12-22 02:41:54 +00:00
"alertTunnelDNSFailureTitle" = "DNS resolution failure";
"alertTunnelDNSFailureMessage" = "One or more endpoint domains could not be resolved.";
2018-12-18 11:00:16 +00:00
"alertTunnelNameEmptyTitle" = "No name provided";
"alertTunnelNameEmptyMessage" = "Cannot create tunnel with an empty name";
"alertTunnelAlreadyExistsWithThatNameTitle" = "Name already exists";
"alertTunnelAlreadyExistsWithThatNameMessage" = "A tunnel with that name already exists";
2018-12-22 02:41:54 +00:00
"alertTunnelActivationErrorTunnelIsNotInactiveTitle" = "Activation in progress";
2018-12-18 11:00:16 +00:00
"alertTunnelActivationErrorTunnelIsNotInactiveMessage" = "The tunnel is already active or in the process of being activated";
// Tunnel management error alerts on system error
/* The alert message that goes with the following titles would be
one of the alertSystemErrorMessage* listed further down */
"alertSystemErrorOnListingTunnelsTitle" = "Unable to list tunnels";
"alertSystemErrorOnAddTunnelTitle" = "Unable to create tunnel";
"alertSystemErrorOnModifyTunnelTitle" = "Unable to modify tunnel";
"alertSystemErrorOnRemoveTunnelTitle" = "Unable to remove tunnel";
/* The alert message for this alert shall include
one of the alertSystemErrorMessage* listed further down */
"alertTunnelActivationSystemErrorTitle" = "Activation failure";
"alertTunnelActivationSystemErrorMessage (%@)" = "The tunnel could not be activated. %@";
/* alertSystemErrorMessage* messages */
"alertSystemErrorMessageTunnelConfigurationInvalid" = "The configuration is invalid.";
"alertSystemErrorMessageTunnelConfigurationDisabled" = "The configuration is disabled.";
"alertSystemErrorMessageTunnelConnectionFailed" = "The connection failed.";
"alertSystemErrorMessageTunnelConfigurationStale" = "The configuration is stale.";
"alertSystemErrorMessageTunnelConfigurationReadWriteFailed" = "Reading or writing the configuration failed.";
"alertSystemErrorMessageTunnelConfigurationUnknown" = "Unknown system error.";
2018-12-28 19:12:02 +00:00
2019-05-06 13:38:57 +00:00
// Mac status bar menu / pulldown menu / main menu
2018-12-28 19:12:02 +00:00
2018-12-29 14:09:14 +00:00
"macMenuNetworks (%@)" = "Networks: %@";
"macMenuNetworksNone" = "Networks: None";
2019-01-22 10:25:16 +00:00
"macMenuTitle" = "WireGuard";
2019-05-09 19:18:24 +00:00
"macMenuManageTunnels" = "Manage Tunnels";
"macMenuImportTunnels" = "Import Tunnel(s) from File…";
"macMenuAddEmptyTunnel" = "Add Empty Tunnel…";
"macMenuViewLog" = "View Log";
"macMenuExportTunnels" = "Export Tunnels to Zip…";
2019-01-11 18:50:02 +00:00
"macMenuAbout" = "About WireGuard";
2019-05-09 19:03:57 +00:00
"macMenuQuit" = "Quit WireGuard";
2019-01-02 19:46:27 +00:00
2019-05-06 13:38:57 +00:00
"macMenuHideApp" = "Hide WireGuard";
"macMenuHideOtherApps" = "Hide Others";
"macMenuShowAllApps" = "Show All";
"macMenuFile" = "File";
"macMenuCloseWindow" = "Close Window";
"macMenuEdit" = "Edit";
"macMenuCut" = "Cut";
"macMenuCopy" = "Copy";
"macMenuPaste" = "Paste";
"macMenuSelectAll" = "Select All";
"macMenuTunnel" = "Tunnel";
"macMenuToggleStatus" = "Toggle Status";
"macMenuEditTunnel" = "Edit…";
"macMenuDeleteSelected" = "Delete Selected";
"macMenuWindow" = "Window";
"macMenuMinimize" = "Minimize";
"macMenuZoom" = "Zoom";
2019-01-04 14:39:28 +00:00
// Mac manage tunnels window
2019-01-03 17:37:53 +00:00
"macWindowTitleManageTunnels" = "Manage WireGuard Tunnels";
2019-01-21 23:03:08 +00:00
"macDeleteTunnelConfirmationAlertMessage (%@)" = "Are you sure you want to delete ‘ %@’ ?";
2019-03-10 14:32:19 +00:00
"macDeleteMultipleTunnelsConfirmationAlertMessage (%d)" = "Are you sure you want to delete %d tunnels?";
2019-01-21 23:03:08 +00:00
"macDeleteTunnelConfirmationAlertInfo" = "You cannot undo this action.";
2019-01-04 14:39:28 +00:00
"macDeleteTunnelConfirmationAlertButtonTitleDelete" = "Delete";
"macDeleteTunnelConfirmationAlertButtonTitleCancel" = "Cancel";
2019-04-06 09:52:05 +00:00
"macDeleteTunnelConfirmationAlertButtonTitleDeleting" = "Deleting…";
2019-01-04 14:39:28 +00:00
2019-01-05 12:54:45 +00:00
"macButtonImportTunnels" = "Import tunnel(s) from file";
2019-01-08 20:57:59 +00:00
"macSheetButtonImport" = "Import";
2019-01-05 12:54:45 +00:00
2019-04-06 12:29:42 +00:00
"macNameFieldExportLog" = "Save log to:";
2019-01-08 21:03:22 +00:00
"macSheetButtonExportLog" = "Save";
2019-04-06 12:29:42 +00:00
"macNameFieldExportZip" = "Export tunnels to:";
2019-01-08 21:03:22 +00:00
"macSheetButtonExportZip" = "Save";
2019-03-10 14:32:19 +00:00
"macButtonDeleteTunnels (%d)" = "Delete %d tunnels";
2020-04-11 11:26:54 +00:00
"macButtonEdit" = "Edit";
2019-01-06 13:21:06 +00:00
// Mac detail/edit view fields
2019-01-02 19:46:27 +00:00
2019-01-06 13:21:06 +00:00
"macFieldKey (%@)" = "%@:";
2019-01-08 22:44:08 +00:00
"macFieldOnDemand" = "On-Demand:";
2019-03-08 09:54:56 +00:00
"macFieldOnDemandSSIDs" = "SSIDs:";
2019-01-03 12:19:32 +00:00
// Mac status display
"macStatus (%@)" = "Status: %@";
2019-01-06 13:21:06 +00:00
// Mac editing config
"macEditDiscard" = "Discard";
"macEditSave" = "Save";
2019-01-08 10:14:17 +00:00
2019-01-08 13:28:40 +00:00
"macAlertNameIsEmpty" = "Name is required";
2019-01-21 23:03:08 +00:00
"macAlertDuplicateName (%@)" = "Another tunnel already exists with the name ‘ %@’ .";
2019-01-08 13:28:40 +00:00
2019-01-21 23:03:08 +00:00
"macAlertInvalidLine (%@)" = "Invalid line: ‘ %@’ .";
2019-01-08 10:14:17 +00:00
2019-01-21 23:03:08 +00:00
"macAlertNoInterface" = "Configuration must have an ‘ Interface’ section.";
"macAlertMultipleInterfaces" = "Configuration must have only one ‘ Interface’ section.";
2019-01-08 10:14:17 +00:00
"macAlertPrivateKeyInvalid" = "Private key is invalid.";
2019-01-21 23:03:08 +00:00
"macAlertListenPortInvalid (%@)" = "Listen port ‘ %@’ is invalid.";
"macAlertAddressInvalid (%@)" = "Address ‘ %@’ is invalid.";
"macAlertDNSInvalid (%@)" = "DNS ‘ %@’ is invalid.";
"macAlertMTUInvalid (%@)" = "MTU ‘ %@’ is invalid.";
2019-01-08 10:14:17 +00:00
2019-01-21 23:03:08 +00:00
"macAlertUnrecognizedInterfaceKey (%@)" = "Interface contains unrecognized key ‘ %@’ ";
"macAlertInfoUnrecognizedInterfaceKey" = "Valid keys are: ‘ PrivateKey’ , ‘ ListenPort’ , ‘ Address’ , ‘ DNS’ and ‘ MTU’ .";
2019-01-08 10:14:17 +00:00
"macAlertPublicKeyInvalid" = "Public key is invalid";
"macAlertPreSharedKeyInvalid" = "Preshared key is invalid";
2019-01-21 23:03:08 +00:00
"macAlertAllowedIPInvalid (%@)" = "Allowed IP ‘ %@’ is invalid";
"macAlertEndpointInvalid (%@)" = "Endpoint ‘ %@’ is invalid";
"macAlertPersistentKeepliveInvalid (%@)" = "Persistent keepalive value ‘ %@’ is invalid";
2019-01-08 10:14:17 +00:00
2019-01-21 23:03:08 +00:00
"macAlertUnrecognizedPeerKey (%@)" = "Peer contains unrecognized key ‘ %@’ ";
"macAlertInfoUnrecognizedPeerKey" = "Valid keys are: ‘ PublicKey’ , ‘ PresharedKey’ , ‘ AllowedIPs’ , ‘ Endpoint’ and ‘ PersistentKeepalive’ ";
2019-01-08 13:58:38 +00:00
2019-01-21 23:03:08 +00:00
"macAlertMultipleEntriesForKey (%@)" = "There should be only one entry per section for key ‘ %@’ ";
2019-01-11 18:50:02 +00:00
// Mac about dialog
"macAppVersion (%@)" = "App version: %@";
"macGoBackendVersion (%@)" = "Go backend version: %@";
2019-02-06 02:23:51 +00:00
// Privacy
"macExportPrivateData" = "export tunnel private keys";
"macViewPrivateData" = "view tunnel private keys";
"iosExportPrivateData" = "Authenticate to export tunnel private keys.";
"iosViewPrivateData" = "Authenticate to view tunnel private keys.";
2019-02-07 21:31:17 +00:00
// Mac alert
2019-06-04 20:47:49 +00:00
"macConfirmAndQuitAlertMessage" = "Do you want to close the tunnels manager or quit WireGuard entirely?";
"macConfirmAndQuitAlertInfo" = "If you close the tunnels manager, WireGuard will continue to be available from the menu bar icon.";
"macConfirmAndQuitInfoWithActiveTunnel (%@)" = "If you close the tunnels manager, WireGuard will continue to be available from the menu bar icon.\n\nNote that if you quit WireGuard entirely the currently active tunnel ('%@') will still remain active until you deactivate it from this application or through the Network panel in System Preferences.";
"macConfirmAndQuitAlertQuitWireGuard" = "Quit WireGuard";
"macConfirmAndQuitAlertCloseWindow" = "Close Tunnels Manager";
2019-02-07 21:31:17 +00:00
"macAppExitingWithActiveTunnelMessage" = "WireGuard is exiting with an active tunnel";
"macAppExitingWithActiveTunnelInfo" = "The tunnel will remain active after exiting. You may disable it by reopening this application or through the Network panel in System Preferences.";
2019-03-17 14:49:25 +00:00
// Mac tooltip
"macToolTipEditTunnel" = "Edit tunnel (⌘E)";
"macToolTipToggleStatus" = "Toggle status (⌘T)";
2019-03-27 12:26:38 +00:00
// Mac log view
"macLogColumnTitleTime" = "Time";
"macLogColumnTitleLogMessage" = "Log message";
"macLogButtonTitleClose" = "Close";
"macLogButtonTitleSave" = "Save…";
2019-04-03 11:02:12 +00:00
// Mac unusable tunnel view
"macUnusableTunnelMessage" = "The configuration for this tunnel cannot be found in the keychain.";
"macUnusableTunnelInfo" = "In case this tunnel was created by another user, only that user can view, edit, or activate this tunnel.";
"macUnusableTunnelButtonTitleDeleteTunnel" = "Delete tunnel";
2019-04-17 08:05:43 +00:00
// Mac App Store updating alert
"macAppStoreUpdatingAlertMessage" = "App Store would like to update WireGuard";
"macAppStoreUpdatingAlertInfoWithOnDemand (%@)" = "Please disable on-demand for tunnel ‘ %@’ , deactivate it, and then continue updating in App Store.";
"macAppStoreUpdatingAlertInfoWithoutOnDemand (%@)" = "Please deactivate tunnel ‘ %@’ and then continue updating in App Store.";
2019-10-11 19:31:20 +00:00
// Donation
"donateLink" = "♥ Donate to the WireGuard Project";