diff options
Diffstat (limited to 'Sources/WireGuardApp/Base.lproj/Localizable.strings')
-rw-r--r-- | Sources/WireGuardApp/Base.lproj/Localizable.strings | 454 |
1 files changed, 454 insertions, 0 deletions
diff --git a/Sources/WireGuardApp/Base.lproj/Localizable.strings b/Sources/WireGuardApp/Base.lproj/Localizable.strings new file mode 100644 index 0000000..f181953 --- /dev/null +++ b/Sources/WireGuardApp/Base.lproj/Localizable.strings @@ -0,0 +1,454 @@ +// SPDX-License-Identifier: MIT +// Copyright © 2018-2023 WireGuard LLC. All Rights Reserved. + +// Generic alert action names + +"actionOK" = "OK"; +"actionCancel" = "Cancel"; +"actionSave" = "Save"; + +// Tunnels list UI + +"tunnelsListTitle" = "WireGuard"; +"tunnelsListSettingsButtonTitle" = "Settings"; +"tunnelsListCenteredAddTunnelButtonTitle" = "Add a tunnel"; +"tunnelsListSwipeDeleteButtonTitle" = "Delete"; +"tunnelsListSelectButtonTitle" = "Select"; +"tunnelsListSelectAllButtonTitle" = "Select All"; +"tunnelsListDeleteButtonTitle" = "Delete"; +"tunnelsListSelectedTitle (%d)" = "%d selected"; +"tunnelListCaptionOnDemand" = "On-Demand"; + +// 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 + +"alertImportedFromMultipleFilesTitle (%d)" = "Created %d tunnels"; +"alertImportedFromMultipleFilesMessage (%1$d of %2$d)" = "Created %1$d of %2$d tunnels from imported files"; + +"alertImportedFromZipTitle (%d)" = "Created %d tunnels"; +"alertImportedFromZipMessage (%1$d of %2$d)" = "Created %1$d of %2$d tunnels from zip archive"; + +"alertBadConfigImportTitle" = "Unable to import tunnel"; +"alertBadConfigImportMessage (%@)" = "The file ‘%@’ does not contain a valid WireGuard configuration"; + +"deleteTunnelsConfirmationAlertButtonTitle" = "Delete"; +"deleteTunnelConfirmationAlertButtonMessage (%d)" = "Delete %d tunnel?"; +"deleteTunnelsConfirmationAlertButtonMessage (%d)" = "Delete %d tunnels?"; + +// 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"; + +"tunnelStatusAddendumOnDemand" = " (On-Demand)"; +"tunnelStatusOnDemandDisabled" = "On-Demand Disabled"; +"tunnelStatusAddendumOnDemandEnabled" = ", On-Demand Enabled"; +"tunnelStatusAddendumOnDemandDisabled" = ", On-Demand Disabled"; + +"macToggleStatusButtonActivate" = "Activate"; +"macToggleStatusButtonActivating" = "Activating…"; +"macToggleStatusButtonDeactivate" = "Deactivate"; +"macToggleStatusButtonDeactivating" = "Deactivating…"; +"macToggleStatusButtonReasserting" = "Reactivating…"; +"macToggleStatusButtonRestarting" = "Restarting…"; +"macToggleStatusButtonWaiting" = "Waiting…"; +"macToggleStatusButtonEnableOnDemand" = "Enable On-Demand"; +"macToggleStatusButtonDisableOnDemand" = "Disable On-Demand"; +"macToggleStatusButtonDisableOnDemandDeactivate" = "Disable On-Demand and Deactivate"; + +"tunnelSectionTitleInterface" = "Interface"; + +"tunnelInterfaceName" = "Name"; +"tunnelInterfacePrivateKey" = "Private key"; +"tunnelInterfacePublicKey" = "Public key"; +"tunnelInterfaceGenerateKeypair" = "Generate keypair"; +"tunnelInterfaceAddresses" = "Addresses"; +"tunnelInterfaceListenPort" = "Listen port"; +"tunnelInterfaceMTU" = "MTU"; +"tunnelInterfaceDNS" = "DNS servers"; +"tunnelInterfaceStatus" = "Status"; + +"tunnelSectionTitlePeer" = "Peer"; + +"tunnelPeerPublicKey" = "Public key"; +"tunnelPeerPreSharedKey" = "Preshared key"; +"tunnelPeerEndpoint" = "Endpoint"; +"tunnelPeerPersistentKeepalive" = "Persistent keepalive"; +"tunnelPeerAllowedIPs" = "Allowed IPs"; +"tunnelPeerRxBytes" = "Data received"; +"tunnelPeerTxBytes" = "Data sent"; +"tunnelPeerLastHandshakeTime" = "Latest handshake"; +"tunnelPeerExcludePrivateIPs" = "Exclude private IPs"; + +"tunnelSectionTitleOnDemand" = "On-Demand Activation"; + +"tunnelOnDemandCellular" = "Cellular"; +"tunnelOnDemandEthernet" = "Ethernet"; +"tunnelOnDemandWiFi" = "Wi-Fi"; +"tunnelOnDemandSSIDsKey" = "SSIDs"; + +"tunnelOnDemandAnySSID" = "Any SSID"; +"tunnelOnDemandOnlyTheseSSIDs" = "Only these SSIDs"; +"tunnelOnDemandExceptTheseSSIDs" = "Except these SSIDs"; +"tunnelOnDemandOnlySSID (%d)" = "Only %d SSID"; +"tunnelOnDemandOnlySSIDs (%d)" = "Only %d SSIDs"; +"tunnelOnDemandExceptSSID (%d)" = "Except %d SSID"; +"tunnelOnDemandExceptSSIDs (%d)" = "Except %d SSIDs"; +"tunnelOnDemandSSIDOptionDescriptionMac (%1$@: %2$@)" = "%1$@: %2$@"; + +"tunnelOnDemandSSIDViewTitle" = "SSIDs"; +"tunnelOnDemandSectionTitleSelectedSSIDs" = "SSIDs"; +"tunnelOnDemandNoSSIDs" = "No SSIDs"; +"tunnelOnDemandSectionTitleAddSSIDs" = "Add SSIDs"; +"tunnelOnDemandAddMessageAddConnectedSSID (%@)" = "Add connected: %@"; +"tunnelOnDemandAddMessageAddNewSSID" = "Add new"; +"tunnelOnDemandSSIDTextFieldPlaceholder" = "SSID"; + +"tunnelOnDemandKey" = "On-demand"; +"tunnelOnDemandOptionOff" = "Off"; +"tunnelOnDemandOptionWiFiOnly" = "Wi-Fi only"; +"tunnelOnDemandOptionWiFiOrCellular" = "Wi-Fi or cellular"; +"tunnelOnDemandOptionCellularOnly" = "Cellular only"; +"tunnelOnDemandOptionWiFiOrEthernet" = "Wi-Fi or ethernet"; +"tunnelOnDemandOptionEthernetOnly" = "Ethernet only"; + +"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"; +"tunnelEditPlaceholderTextStronglyRecommended" = "Strongly recommended"; +"tunnelEditPlaceholderTextOff" = "Off"; + +"tunnelPeerPersistentKeepaliveValue (%@)" = "every %@ seconds"; +"tunnelHandshakeTimestampNow" = "Now"; +"tunnelHandshakeTimestampSystemClockBackward" = "(System clock wound backwards)"; +"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"; + +"tunnelHandshakeTimestampHours hh:mm:ss (%@)" = "%@ hours"; +"tunnelHandshakeTimestampMinutes mm:ss (%@)" = "%@ minutes"; + +"tunnelPeerPresharedKeyEnabled" = "enabled"; + +// 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"; +"alertInvalidInterfaceMessagePrivateKeyRequired" = "Interface’s private key is required"; +"alertInvalidInterfaceMessagePrivateKeyInvalid" = "Interface’s private key must be a 32-byte key in base64 encoding"; +"alertInvalidInterfaceMessageAddressInvalid" = "Interface addresses must be a list of comma-separated IP addresses, optionally in CIDR notation"; +"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"; + +/* Alert title for error in the peer data */ +"alertInvalidPeerTitle" = "Invalid peer"; + +/* Any one of the following alert messages can go with the above title */ +"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"; +"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"; + +"settingsSectionTitleTunnelLog" = "Log"; +"settingsViewLogButtonTitle" = "View log"; + +// Log view + +"logViewTitle" = "Log"; + +// Log alerts + +"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."; + +// Conf import error alerts + +"alertCantOpenInputConfFileTitle" = "Unable to import from file"; +"alertCantOpenInputConfFileMessage (%@)" = "The file ‘%@’ could not be read."; + +// Tunnel management error alerts + +"alertTunnelActivationFailureTitle" = "Activation failure"; +"alertTunnelActivationFailureMessage" = "The tunnel could not be activated. Please ensure that you are connected to the Internet."; +"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."; + +"alertTunnelDNSFailureTitle" = "DNS resolution failure"; +"alertTunnelDNSFailureMessage" = "One or more endpoint domains could not be resolved."; + +"alertTunnelNameEmptyTitle" = "No name provided"; +"alertTunnelNameEmptyMessage" = "Cannot create tunnel with an empty name"; + +"alertTunnelAlreadyExistsWithThatNameTitle" = "Name already exists"; +"alertTunnelAlreadyExistsWithThatNameMessage" = "A tunnel with that name already exists"; + +"alertTunnelActivationErrorTunnelIsNotInactiveTitle" = "Activation in progress"; +"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."; + +// Mac status bar menu / pulldown menu / main menu + +"macMenuNetworks (%@)" = "Networks: %@"; +"macMenuNetworksNone" = "Networks: None"; + +"macMenuTitle" = "WireGuard"; +"macTunnelsMenuTitle" = "Tunnels"; +"macMenuManageTunnels" = "Manage Tunnels"; +"macMenuImportTunnels" = "Import Tunnel(s) from File…"; +"macMenuAddEmptyTunnel" = "Add Empty Tunnel…"; +"macMenuViewLog" = "View Log"; +"macMenuExportTunnels" = "Export Tunnels to Zip…"; +"macMenuAbout" = "About WireGuard"; +"macMenuQuit" = "Quit WireGuard"; + +"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"; + +// Mac manage tunnels window + +"macWindowTitleManageTunnels" = "Manage WireGuard Tunnels"; + +"macDeleteTunnelConfirmationAlertMessage (%@)" = "Are you sure you want to delete ‘%@’?"; +"macDeleteMultipleTunnelsConfirmationAlertMessage (%d)" = "Are you sure you want to delete %d tunnels?"; +"macDeleteTunnelConfirmationAlertInfo" = "You cannot undo this action."; +"macDeleteTunnelConfirmationAlertButtonTitleDelete" = "Delete"; +"macDeleteTunnelConfirmationAlertButtonTitleCancel" = "Cancel"; +"macDeleteTunnelConfirmationAlertButtonTitleDeleting" = "Deleting…"; + +"macButtonImportTunnels" = "Import tunnel(s) from file"; +"macSheetButtonImport" = "Import"; + +"macNameFieldExportLog" = "Save log to:"; +"macSheetButtonExportLog" = "Save"; + +"macNameFieldExportZip" = "Export tunnels to:"; +"macSheetButtonExportZip" = "Save"; + +"macButtonDeleteTunnels (%d)" = "Delete %d tunnels"; + +"macButtonEdit" = "Edit"; + +// Mac detail/edit view fields + +"macFieldKey (%@)" = "%@:"; +"macFieldOnDemand" = "On-Demand:"; +"macFieldOnDemandSSIDs" = "SSIDs:"; + +// Mac status display + +"macStatus (%@)" = "Status: %@"; + +// Mac editing config + +"macEditDiscard" = "Discard"; +"macEditSave" = "Save"; + +"macAlertNameIsEmpty" = "Name is required"; +"macAlertDuplicateName (%@)" = "Another tunnel already exists with the name ‘%@’."; + +"macAlertInvalidLine (%@)" = "Invalid line: ‘%@’."; + +"macAlertNoInterface" = "Configuration must have an ‘Interface’ section."; +"macAlertMultipleInterfaces" = "Configuration must have only one ‘Interface’ section."; +"macAlertPrivateKeyInvalid" = "Private key is invalid."; +"macAlertListenPortInvalid (%@)" = "Listen port ‘%@’ is invalid."; +"macAlertAddressInvalid (%@)" = "Address ‘%@’ is invalid."; +"macAlertDNSInvalid (%@)" = "DNS ‘%@’ is invalid."; +"macAlertMTUInvalid (%@)" = "MTU ‘%@’ is invalid."; + +"macAlertUnrecognizedInterfaceKey (%@)" = "Interface contains unrecognized key ‘%@’"; +"macAlertInfoUnrecognizedInterfaceKey" = "Valid keys are: ‘PrivateKey’, ‘ListenPort’, ‘Address’, ‘DNS’ and ‘MTU’."; + +"macAlertPublicKeyInvalid" = "Public key is invalid"; +"macAlertPreSharedKeyInvalid" = "Preshared key is invalid"; +"macAlertAllowedIPInvalid (%@)" = "Allowed IP ‘%@’ is invalid"; +"macAlertEndpointInvalid (%@)" = "Endpoint ‘%@’ is invalid"; +"macAlertPersistentKeepliveInvalid (%@)" = "Persistent keepalive value ‘%@’ is invalid"; + +"macAlertUnrecognizedPeerKey (%@)" = "Peer contains unrecognized key ‘%@’"; +"macAlertInfoUnrecognizedPeerKey" = "Valid keys are: ‘PublicKey’, ‘PresharedKey’, ‘AllowedIPs’, ‘Endpoint’ and ‘PersistentKeepalive’"; + +"macAlertMultipleEntriesForKey (%@)" = "There should be only one entry per section for key ‘%@’"; + +// Mac about dialog + +"macAppVersion (%@)" = "App version: %@"; +"macGoBackendVersion (%@)" = "Go backend version: %@"; + +// 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."; + +// Mac alert + +"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"; + +"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."; + +// Mac tooltip + +"macToolTipEditTunnel" = "Edit tunnel (⌘E)"; +"macToolTipToggleStatus" = "Toggle status (⌘T)"; + +// Mac log view + +"macLogColumnTitleTime" = "Time"; +"macLogColumnTitleLogMessage" = "Log message"; +"macLogButtonTitleClose" = "Close"; +"macLogButtonTitleSave" = "Save…"; + +// 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"; + +// 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."; + +// Donation + +"donateLink" = "♥ Donate to the WireGuard Project"; |