]>
Commit | Line | Data |
---|---|---|
0552d75a | 1 | // SPDX-License-Identifier: MIT |
13b72044 | 2 | // Copyright © 2018-2021 WireGuard LLC. All Rights Reserved. |
0552d75a RC |
3 | |
4 | // Generic alert action names | |
5 | ||
6 | "actionOK" = "OK"; | |
7 | "actionCancel" = "Cancel"; | |
8 | "actionSave" = "Save"; | |
9 | ||
10 | // Tunnels list UI | |
11 | ||
12 | "tunnelsListTitle" = "WireGuard"; | |
13 | "tunnelsListSettingsButtonTitle" = "Settings"; | |
14 | "tunnelsListCenteredAddTunnelButtonTitle" = "Add a tunnel"; | |
15 | "tunnelsListSwipeDeleteButtonTitle" = "Delete"; | |
adc5a7ca RC |
16 | "tunnelsListSelectButtonTitle" = "Select"; |
17 | "tunnelsListSelectAllButtonTitle" = "Select All"; | |
18 | "tunnelsListDeleteButtonTitle" = "Delete"; | |
19 | "tunnelsListSelectedTitle (%d)" = "%d selected"; | |
a115dd3b | 20 | "tunnelListCaptionOnDemand" = "On Demand"; |
0552d75a RC |
21 | |
22 | // Tunnels list menu | |
23 | ||
24 | "addTunnelMenuHeader" = "Add a new WireGuard tunnel"; | |
25 | "addTunnelMenuImportFile" = "Create from file or archive"; | |
26 | "addTunnelMenuQRCode" = "Create from QR code"; | |
27 | "addTunnelMenuFromScratch" = "Create from scratch"; | |
28 | ||
29 | // Tunnels list alerts | |
30 | ||
a389bd93 RC |
31 | "alertImportedFromMultipleFilesTitle (%d)" = "Created %d tunnels"; |
32 | "alertImportedFromMultipleFilesMessage (%1$d of %2$d)" = "Created %1$d of %2$d tunnels from imported files"; | |
33 | ||
0552d75a RC |
34 | "alertImportedFromZipTitle (%d)" = "Created %d tunnels"; |
35 | "alertImportedFromZipMessage (%1$d of %2$d)" = "Created %1$d of %2$d tunnels from zip archive"; | |
36 | ||
b01d09df RC |
37 | "alertBadConfigImportTitle" = "Unable to import tunnel"; |
38 | "alertBadConfigImportMessage (%@)" = "The file ‘%@’ does not contain a valid WireGuard configuration"; | |
0552d75a | 39 | |
adc5a7ca | 40 | "deleteTunnelsConfirmationAlertButtonTitle" = "Delete"; |
5f8843e2 RC |
41 | "deleteTunnelConfirmationAlertButtonMessage (%d)" = "Delete %d tunnel?"; |
42 | "deleteTunnelsConfirmationAlertButtonMessage (%d)" = "Delete %d tunnels?"; | |
adc5a7ca | 43 | |
0552d75a RC |
44 | // Tunnel detail and edit UI |
45 | ||
46 | "newTunnelViewTitle" = "New configuration"; | |
47 | "editTunnelViewTitle" = "Edit configuration"; | |
48 | ||
49 | "tunnelSectionTitleStatus" = "Status"; | |
50 | ||
51 | "tunnelStatusInactive" = "Inactive"; | |
52 | "tunnelStatusActivating" = "Activating"; | |
53 | "tunnelStatusActive" = "Active"; | |
54 | "tunnelStatusDeactivating" = "Deactivating"; | |
55 | "tunnelStatusReasserting" = "Reactivating"; | |
56 | "tunnelStatusRestarting" = "Restarting"; | |
57 | "tunnelStatusWaiting" = "Waiting"; | |
58 | ||
e23c221a RC |
59 | "macToggleStatusButtonActivate" = "Activate"; |
60 | "macToggleStatusButtonActivating" = "Activating…"; | |
61 | "macToggleStatusButtonDeactivate" = "Deactivate"; | |
62 | "macToggleStatusButtonDeactivating" = "Deactivating…"; | |
63 | "macToggleStatusButtonReasserting" = "Reactivating…"; | |
64 | "macToggleStatusButtonRestarting" = "Restarting…"; | |
65 | "macToggleStatusButtonWaiting" = "Waiting…"; | |
66 | ||
0552d75a RC |
67 | "tunnelSectionTitleInterface" = "Interface"; |
68 | ||
69 | "tunnelInterfaceName" = "Name"; | |
70 | "tunnelInterfacePrivateKey" = "Private key"; | |
71 | "tunnelInterfacePublicKey" = "Public key"; | |
72 | "tunnelInterfaceGenerateKeypair" = "Generate keypair"; | |
73 | "tunnelInterfaceAddresses" = "Addresses"; | |
74 | "tunnelInterfaceListenPort" = "Listen port"; | |
75 | "tunnelInterfaceMTU" = "MTU"; | |
76 | "tunnelInterfaceDNS" = "DNS servers"; | |
50bc9947 | 77 | "tunnelInterfaceStatus" = "Status"; |
0552d75a RC |
78 | |
79 | "tunnelSectionTitlePeer" = "Peer"; | |
80 | ||
81 | "tunnelPeerPublicKey" = "Public key"; | |
82 | "tunnelPeerPreSharedKey" = "Preshared key"; | |
83 | "tunnelPeerEndpoint" = "Endpoint"; | |
84 | "tunnelPeerPersistentKeepalive" = "Persistent keepalive"; | |
85 | "tunnelPeerAllowedIPs" = "Allowed IPs"; | |
22625e8c JD |
86 | "tunnelPeerRxBytes" = "Data received"; |
87 | "tunnelPeerTxBytes" = "Data sent"; | |
88 | "tunnelPeerLastHandshakeTime" = "Latest handshake"; | |
0552d75a RC |
89 | "tunnelPeerExcludePrivateIPs" = "Exclude private IPs"; |
90 | ||
91 | "tunnelSectionTitleOnDemand" = "On-Demand Activation"; | |
92 | ||
7a450089 RC |
93 | "tunnelOnDemandCellular" = "Cellular"; |
94 | "tunnelOnDemandEthernet" = "Ethernet"; | |
95 | "tunnelOnDemandWiFi" = "Wi-Fi"; | |
01604dd8 | 96 | "tunnelOnDemandSSIDsKey" = "SSIDs"; |
7a450089 RC |
97 | |
98 | "tunnelOnDemandAnySSID" = "Any SSID"; | |
d748382f RC |
99 | "tunnelOnDemandOnlyTheseSSIDs" = "Only these SSIDs"; |
100 | "tunnelOnDemandExceptTheseSSIDs" = "Except these SSIDs"; | |
b7f8f74b RC |
101 | "tunnelOnDemandOnlySSID (%d)" = "Only %d SSID"; |
102 | "tunnelOnDemandOnlySSIDs (%d)" = "Only %d SSIDs"; | |
103 | "tunnelOnDemandExceptSSID (%d)" = "Except %d SSID"; | |
104 | "tunnelOnDemandExceptSSIDs (%d)" = "Except %d SSIDs"; | |
63299a27 | 105 | "tunnelOnDemandSSIDOptionDescriptionMac (%1$@: %2$@)" = "%1$@: %2$@"; |
7a450089 | 106 | |
64925cab RC |
107 | "tunnelOnDemandSSIDViewTitle" = "SSIDs"; |
108 | "tunnelOnDemandSectionTitleSelectedSSIDs" = "SSIDs"; | |
109 | "tunnelOnDemandNoSSIDs" = "No SSIDs"; | |
5941bf18 | 110 | "tunnelOnDemandSectionTitleAddSSIDs" = "Add SSIDs"; |
5f30e021 RC |
111 | "tunnelOnDemandAddMessageAddConnectedSSID (%@)" = "Add connected: %@"; |
112 | "tunnelOnDemandAddMessageAddNewSSID" = "Add new"; | |
53235eb3 | 113 | "tunnelOnDemandSSIDTextFieldPlaceholder" = "SSID"; |
5941bf18 | 114 | |
01604dd8 | 115 | "tunnelOnDemandKey" = "On demand"; |
0552d75a | 116 | "tunnelOnDemandOptionOff" = "Off"; |
0552d75a | 117 | "tunnelOnDemandOptionWiFiOnly" = "Wi-Fi only"; |
09d7a522 | 118 | "tunnelOnDemandOptionWiFiOrCellular" = "Wi-Fi or cellular"; |
0552d75a | 119 | "tunnelOnDemandOptionCellularOnly" = "Cellular only"; |
09d7a522 RC |
120 | "tunnelOnDemandOptionWiFiOrEthernet" = "Wi-Fi or ethernet"; |
121 | "tunnelOnDemandOptionEthernetOnly" = "Ethernet only"; | |
0552d75a RC |
122 | |
123 | "addPeerButtonTitle" = "Add peer"; | |
124 | ||
125 | "deletePeerButtonTitle" = "Delete peer"; | |
126 | "deletePeerConfirmationAlertButtonTitle" = "Delete"; | |
127 | "deletePeerConfirmationAlertMessage" = "Delete this peer?"; | |
128 | ||
129 | "deleteTunnelButtonTitle" = "Delete tunnel"; | |
130 | "deleteTunnelConfirmationAlertButtonTitle" = "Delete"; | |
131 | "deleteTunnelConfirmationAlertMessage" = "Delete this tunnel?"; | |
132 | ||
133 | "tunnelEditPlaceholderTextRequired" = "Required"; | |
134 | "tunnelEditPlaceholderTextOptional" = "Optional"; | |
135 | "tunnelEditPlaceholderTextAutomatic" = "Automatic"; | |
41a4c636 | 136 | "tunnelEditPlaceholderTextStronglyRecommended" = "Strongly recommended"; |
0552d75a RC |
137 | "tunnelEditPlaceholderTextOff" = "Off"; |
138 | ||
1189b3d7 | 139 | "tunnelPeerPersistentKeepaliveValue (%@)" = "every %@ seconds"; |
b0bb2e99 | 140 | "tunnelHandshakeTimestampNow" = "Now"; |
0c5739db | 141 | "tunnelHandshakeTimestampSystemClockBackward" = "(System clock wound backwards)"; |
b0bb2e99 RC |
142 | "tunnelHandshakeTimestampAgo (%@)" = "%@ ago"; |
143 | "tunnelHandshakeTimestampYear (%d)" = "%d year"; | |
144 | "tunnelHandshakeTimestampYears (%d)" = "%d years"; | |
145 | "tunnelHandshakeTimestampDay (%d)" = "%d day"; | |
146 | "tunnelHandshakeTimestampDays (%d)" = "%d days"; | |
147 | "tunnelHandshakeTimestampHour (%d)" = "%d hour"; | |
148 | "tunnelHandshakeTimestampHours (%d)" = "%d hours"; | |
149 | "tunnelHandshakeTimestampMinute (%d)" = "%d minute"; | |
150 | "tunnelHandshakeTimestampMinutes (%d)" = "%d minutes"; | |
151 | "tunnelHandshakeTimestampSecond (%d)" = "%d second"; | |
152 | "tunnelHandshakeTimestampSeconds (%d)" = "%d seconds"; | |
d1f83d16 | 153 | |
1b8b9ed7 RC |
154 | "tunnelHandshakeTimestampHours hh:mm:ss (%@)" = "%@ hours"; |
155 | "tunnelHandshakeTimestampMinutes mm:ss (%@)" = "%@ minutes"; | |
156 | ||
4547e012 RC |
157 | "tunnelPeerPresharedKeyEnabled" = "enabled"; |
158 | ||
0552d75a RC |
159 | // Error alerts while creating / editing a tunnel configuration |
160 | ||
161 | /* Alert title for error in the interface data */ | |
162 | "alertInvalidInterfaceTitle" = "Invalid interface"; | |
163 | ||
164 | /* Any one of the following alert messages can go with the above title */ | |
165 | "alertInvalidInterfaceMessageNameRequired" = "Interface name is required"; | |
244a2df2 RC |
166 | "alertInvalidInterfaceMessagePrivateKeyRequired" = "Interface’s private key is required"; |
167 | "alertInvalidInterfaceMessagePrivateKeyInvalid" = "Interface’s private key must be a 32-byte key in base64 encoding"; | |
0552d75a | 168 | "alertInvalidInterfaceMessageAddressInvalid" = "Interface addresses must be a list of comma-separated IP addresses, optionally in CIDR notation"; |
244a2df2 RC |
169 | "alertInvalidInterfaceMessageListenPortInvalid" = "Interface’s listen port must be between 0 and 65535, or unspecified"; |
170 | "alertInvalidInterfaceMessageMTUInvalid" = "Interface’s MTU must be between 576 and 65535, or unspecified"; | |
171 | "alertInvalidInterfaceMessageDNSInvalid" = "Interface’s DNS servers must be a list of comma-separated IP addresses"; | |
0552d75a RC |
172 | |
173 | /* Alert title for error in the peer data */ | |
174 | "alertInvalidPeerTitle" = "Invalid peer"; | |
175 | ||
176 | /* Any one of the following alert messages can go with the above title */ | |
244a2df2 RC |
177 | "alertInvalidPeerMessagePublicKeyRequired" = "Peer’s public key is required"; |
178 | "alertInvalidPeerMessagePublicKeyInvalid" = "Peer’s public key must be a 32-byte key in base64 encoding"; | |
179 | "alertInvalidPeerMessagePreSharedKeyInvalid" = "Peer’s preshared key must be a 32-byte key in base64 encoding"; | |
180 | "alertInvalidPeerMessageAllowedIPsInvalid" = "Peer’s allowed IPs must be a list of comma-separated IP addresses, optionally in CIDR notation"; | |
181 | "alertInvalidPeerMessageEndpointInvalid" = "Peer’s endpoint must be of the form ‘host:port’ or ‘[host]:port’"; | |
182 | "alertInvalidPeerMessagePersistentKeepaliveInvalid" = "Peer’s persistent keepalive must be between 0 to 65535, or unspecified"; | |
0552d75a RC |
183 | "alertInvalidPeerMessagePublicKeyDuplicated" = "Two or more peers cannot have the same public key"; |
184 | ||
185 | // Scanning QR code UI | |
186 | ||
187 | "scanQRCodeViewTitle" = "Scan QR code"; | |
188 | "scanQRCodeTipText" = "Tip: Generate with `qrencode -t ansiutf8 < tunnel.conf`"; | |
189 | ||
190 | // Scanning QR code alerts | |
191 | ||
192 | "alertScanQRCodeCameraUnsupportedTitle" = "Camera Unsupported"; | |
193 | "alertScanQRCodeCameraUnsupportedMessage" = "This device is not able to scan QR codes"; | |
194 | ||
195 | "alertScanQRCodeInvalidQRCodeTitle" = "Invalid QR Code"; | |
196 | "alertScanQRCodeInvalidQRCodeMessage" = "The scanned QR code is not a valid WireGuard configuration"; | |
197 | ||
198 | "alertScanQRCodeUnreadableQRCodeTitle" = "Invalid Code"; | |
199 | "alertScanQRCodeUnreadableQRCodeMessage" = "The scanned code could not be read"; | |
200 | ||
201 | "alertScanQRCodeNamePromptTitle" = "Please name the scanned tunnel"; | |
202 | ||
203 | // Settings UI | |
204 | ||
205 | "settingsViewTitle" = "Settings"; | |
206 | ||
207 | "settingsSectionTitleAbout" = "About"; | |
208 | "settingsVersionKeyWireGuardForIOS" = "WireGuard for iOS"; | |
209 | "settingsVersionKeyWireGuardGoBackend" = "WireGuard Go Backend"; | |
210 | ||
211 | "settingsSectionTitleExportConfigurations" = "Export configurations"; | |
212 | "settingsExportZipButtonTitle" = "Export zip archive"; | |
213 | ||
6175de04 RC |
214 | "settingsSectionTitleTunnelLog" = "Log"; |
215 | "settingsViewLogButtonTitle" = "View log"; | |
0552d75a | 216 | |
6175de04 RC |
217 | // Log view |
218 | ||
219 | "logViewTitle" = "Log"; | |
220 | ||
221 | // Log alerts | |
0552d75a RC |
222 | |
223 | "alertUnableToRemovePreviousLogTitle" = "Log export failed"; | |
224 | "alertUnableToRemovePreviousLogMessage" = "The pre-existing log could not be cleared"; | |
225 | ||
0552d75a RC |
226 | "alertUnableToWriteLogTitle" = "Log export failed"; |
227 | "alertUnableToWriteLogMessage" = "Unable to write logs to file"; | |
228 | ||
229 | // Zip import / export error alerts | |
230 | ||
231 | "alertCantOpenInputZipFileTitle" = "Unable to read zip archive"; | |
232 | "alertCantOpenInputZipFileMessage" = "The zip archive could not be read."; | |
233 | ||
234 | "alertCantOpenOutputZipFileForWritingTitle" = "Unable to create zip archive"; | |
235 | "alertCantOpenOutputZipFileForWritingMessage" = "Could not open zip file for writing."; | |
236 | ||
237 | "alertBadArchiveTitle" = "Unable to read zip archive"; | |
238 | "alertBadArchiveMessage" = "Bad or corrupt zip archive."; | |
239 | ||
240 | "alertNoTunnelsToExportTitle" = "Nothing to export"; | |
241 | "alertNoTunnelsToExportMessage" = "There are no tunnels to export"; | |
242 | ||
243 | "alertNoTunnelsInImportedZipArchiveTitle" = "No tunnels in zip archive"; | |
244 | "alertNoTunnelsInImportedZipArchiveMessage" = "No .conf tunnel files were found inside the zip archive."; | |
245 | ||
b0eff424 RC |
246 | // Conf import error alerts |
247 | ||
248 | "alertCantOpenInputConfFileTitle" = "Unable to import from file"; | |
249 | "alertCantOpenInputConfFileMessage (%@)" = "The file ‘%@’ could not be read."; | |
250 | ||
0552d75a RC |
251 | // Tunnel management error alerts |
252 | ||
253 | "alertTunnelActivationFailureTitle" = "Activation failure"; | |
254 | "alertTunnelActivationFailureMessage" = "The tunnel could not be activated. Please ensure that you are connected to the Internet."; | |
8365adf4 JD |
255 | "alertTunnelActivationSavedConfigFailureMessage" = "Unable to retrieve tunnel information from the saved configuration."; |
256 | "alertTunnelActivationBackendFailureMessage" = "Unable to turn on Go backend library."; | |
257 | "alertTunnelActivationFileDescriptorFailureMessage" = "Unable to determine TUN device file descriptor."; | |
258 | "alertTunnelActivationSetNetworkSettingsMessage" = "Unable to apply network settings to tunnel object."; | |
259 | ||
ec031b1f | 260 | "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."; |
0552d75a | 261 | |
8365adf4 JD |
262 | "alertTunnelDNSFailureTitle" = "DNS resolution failure"; |
263 | "alertTunnelDNSFailureMessage" = "One or more endpoint domains could not be resolved."; | |
264 | ||
0552d75a RC |
265 | "alertTunnelNameEmptyTitle" = "No name provided"; |
266 | "alertTunnelNameEmptyMessage" = "Cannot create tunnel with an empty name"; | |
267 | ||
268 | "alertTunnelAlreadyExistsWithThatNameTitle" = "Name already exists"; | |
269 | "alertTunnelAlreadyExistsWithThatNameMessage" = "A tunnel with that name already exists"; | |
270 | ||
8365adf4 | 271 | "alertTunnelActivationErrorTunnelIsNotInactiveTitle" = "Activation in progress"; |
0552d75a RC |
272 | "alertTunnelActivationErrorTunnelIsNotInactiveMessage" = "The tunnel is already active or in the process of being activated"; |
273 | ||
274 | // Tunnel management error alerts on system error | |
275 | ||
276 | /* The alert message that goes with the following titles would be | |
277 | one of the alertSystemErrorMessage* listed further down */ | |
278 | "alertSystemErrorOnListingTunnelsTitle" = "Unable to list tunnels"; | |
279 | "alertSystemErrorOnAddTunnelTitle" = "Unable to create tunnel"; | |
280 | "alertSystemErrorOnModifyTunnelTitle" = "Unable to modify tunnel"; | |
281 | "alertSystemErrorOnRemoveTunnelTitle" = "Unable to remove tunnel"; | |
282 | ||
283 | /* The alert message for this alert shall include | |
284 | one of the alertSystemErrorMessage* listed further down */ | |
285 | "alertTunnelActivationSystemErrorTitle" = "Activation failure"; | |
286 | "alertTunnelActivationSystemErrorMessage (%@)" = "The tunnel could not be activated. %@"; | |
287 | ||
288 | /* alertSystemErrorMessage* messages */ | |
289 | "alertSystemErrorMessageTunnelConfigurationInvalid" = "The configuration is invalid."; | |
290 | "alertSystemErrorMessageTunnelConfigurationDisabled" = "The configuration is disabled."; | |
291 | "alertSystemErrorMessageTunnelConnectionFailed" = "The connection failed."; | |
292 | "alertSystemErrorMessageTunnelConfigurationStale" = "The configuration is stale."; | |
293 | "alertSystemErrorMessageTunnelConfigurationReadWriteFailed" = "Reading or writing the configuration failed."; | |
294 | "alertSystemErrorMessageTunnelConfigurationUnknown" = "Unknown system error."; | |
fb1607d4 | 295 | |
6e1f03e4 | 296 | // Mac status bar menu / pulldown menu / main menu |
fb1607d4 | 297 | |
2c81c3a3 | 298 | "macMenuNetworks (%@)" = "Networks: %@"; |
2c81c3a3 RC |
299 | "macMenuNetworksNone" = "Networks: None"; |
300 | ||
557b0932 | 301 | "macMenuTitle" = "WireGuard"; |
e54a5d9a | 302 | "macTunnelsMenuTitle" = "Tunnels"; |
fdbd4f87 RC |
303 | "macMenuManageTunnels" = "Manage Tunnels"; |
304 | "macMenuImportTunnels" = "Import Tunnel(s) from File…"; | |
305 | "macMenuAddEmptyTunnel" = "Add Empty Tunnel…"; | |
306 | "macMenuViewLog" = "View Log"; | |
307 | "macMenuExportTunnels" = "Export Tunnels to Zip…"; | |
26ea3539 | 308 | "macMenuAbout" = "About WireGuard"; |
4a037cc7 | 309 | "macMenuQuit" = "Quit WireGuard"; |
ada7db3d | 310 | |
6e1f03e4 RC |
311 | "macMenuHideApp" = "Hide WireGuard"; |
312 | "macMenuHideOtherApps" = "Hide Others"; | |
313 | "macMenuShowAllApps" = "Show All"; | |
314 | ||
315 | "macMenuFile" = "File"; | |
316 | "macMenuCloseWindow" = "Close Window"; | |
317 | ||
318 | "macMenuEdit" = "Edit"; | |
6e1f03e4 RC |
319 | "macMenuCut" = "Cut"; |
320 | "macMenuCopy" = "Copy"; | |
321 | "macMenuPaste" = "Paste"; | |
322 | "macMenuSelectAll" = "Select All"; | |
323 | ||
324 | "macMenuTunnel" = "Tunnel"; | |
325 | "macMenuToggleStatus" = "Toggle Status"; | |
326 | "macMenuEditTunnel" = "Edit…"; | |
327 | "macMenuDeleteSelected" = "Delete Selected"; | |
328 | ||
329 | "macMenuWindow" = "Window"; | |
330 | "macMenuMinimize" = "Minimize"; | |
331 | "macMenuZoom" = "Zoom"; | |
6e1f03e4 | 332 | |
efb64b19 | 333 | // Mac manage tunnels window |
a221cb56 RC |
334 | |
335 | "macWindowTitleManageTunnels" = "Manage WireGuard Tunnels"; | |
336 | ||
244a2df2 | 337 | "macDeleteTunnelConfirmationAlertMessage (%@)" = "Are you sure you want to delete ‘%@’?"; |
9250780f | 338 | "macDeleteMultipleTunnelsConfirmationAlertMessage (%d)" = "Are you sure you want to delete %d tunnels?"; |
244a2df2 | 339 | "macDeleteTunnelConfirmationAlertInfo" = "You cannot undo this action."; |
efb64b19 RC |
340 | "macDeleteTunnelConfirmationAlertButtonTitleDelete" = "Delete"; |
341 | "macDeleteTunnelConfirmationAlertButtonTitleCancel" = "Cancel"; | |
11063d0f | 342 | "macDeleteTunnelConfirmationAlertButtonTitleDeleting" = "Deleting…"; |
efb64b19 | 343 | |
f3c29042 | 344 | "macButtonImportTunnels" = "Import tunnel(s) from file"; |
f5059ce5 | 345 | "macSheetButtonImport" = "Import"; |
f3c29042 | 346 | |
9f3d8672 | 347 | "macNameFieldExportLog" = "Save log to:"; |
c9ee549a RC |
348 | "macSheetButtonExportLog" = "Save"; |
349 | ||
9f3d8672 | 350 | "macNameFieldExportZip" = "Export tunnels to:"; |
c9ee549a RC |
351 | "macSheetButtonExportZip" = "Save"; |
352 | ||
9250780f RC |
353 | "macButtonDeleteTunnels (%d)" = "Delete %d tunnels"; |
354 | ||
174a6e8e RC |
355 | "macButtonEdit" = "Edit"; |
356 | ||
c2633987 | 357 | // Mac detail/edit view fields |
ada7db3d | 358 | |
c2633987 | 359 | "macFieldKey (%@)" = "%@:"; |
13e8c6b1 | 360 | "macFieldOnDemand" = "On-Demand:"; |
0ae8d251 | 361 | "macFieldOnDemandSSIDs" = "SSIDs:"; |
4a4eeb4a RC |
362 | |
363 | // Mac status display | |
364 | ||
365 | "macStatus (%@)" = "Status: %@"; | |
c2633987 RC |
366 | |
367 | // Mac editing config | |
368 | ||
369 | "macEditDiscard" = "Discard"; | |
370 | "macEditSave" = "Save"; | |
c2a6241b | 371 | |
b0612df9 | 372 | "macAlertNameIsEmpty" = "Name is required"; |
244a2df2 | 373 | "macAlertDuplicateName (%@)" = "Another tunnel already exists with the name ‘%@’."; |
b0612df9 | 374 | |
244a2df2 | 375 | "macAlertInvalidLine (%@)" = "Invalid line: ‘%@’."; |
c2a6241b | 376 | |
244a2df2 RC |
377 | "macAlertNoInterface" = "Configuration must have an ‘Interface’ section."; |
378 | "macAlertMultipleInterfaces" = "Configuration must have only one ‘Interface’ section."; | |
c2a6241b | 379 | "macAlertPrivateKeyInvalid" = "Private key is invalid."; |
244a2df2 RC |
380 | "macAlertListenPortInvalid (%@)" = "Listen port ‘%@’ is invalid."; |
381 | "macAlertAddressInvalid (%@)" = "Address ‘%@’ is invalid."; | |
382 | "macAlertDNSInvalid (%@)" = "DNS ‘%@’ is invalid."; | |
383 | "macAlertMTUInvalid (%@)" = "MTU ‘%@’ is invalid."; | |
c2a6241b | 384 | |
244a2df2 RC |
385 | "macAlertUnrecognizedInterfaceKey (%@)" = "Interface contains unrecognized key ‘%@’"; |
386 | "macAlertInfoUnrecognizedInterfaceKey" = "Valid keys are: ‘PrivateKey’, ‘ListenPort’, ‘Address’, ‘DNS’ and ‘MTU’."; | |
c2a6241b RC |
387 | |
388 | "macAlertPublicKeyInvalid" = "Public key is invalid"; | |
389 | "macAlertPreSharedKeyInvalid" = "Preshared key is invalid"; | |
244a2df2 RC |
390 | "macAlertAllowedIPInvalid (%@)" = "Allowed IP ‘%@’ is invalid"; |
391 | "macAlertEndpointInvalid (%@)" = "Endpoint ‘%@’ is invalid"; | |
392 | "macAlertPersistentKeepliveInvalid (%@)" = "Persistent keepalive value ‘%@’ is invalid"; | |
c2a6241b | 393 | |
244a2df2 RC |
394 | "macAlertUnrecognizedPeerKey (%@)" = "Peer contains unrecognized key ‘%@’"; |
395 | "macAlertInfoUnrecognizedPeerKey" = "Valid keys are: ‘PublicKey’, ‘PresharedKey’, ‘AllowedIPs’, ‘Endpoint’ and ‘PersistentKeepalive’"; | |
fc03c635 | 396 | |
244a2df2 | 397 | "macAlertMultipleEntriesForKey (%@)" = "There should be only one entry per section for key ‘%@’"; |
26ea3539 RC |
398 | |
399 | // Mac about dialog | |
400 | ||
401 | "macAppVersion (%@)" = "App version: %@"; | |
402 | "macGoBackendVersion (%@)" = "Go backend version: %@"; | |
bebcaa01 JD |
403 | |
404 | // Privacy | |
405 | ||
406 | "macExportPrivateData" = "export tunnel private keys"; | |
407 | "macViewPrivateData" = "view tunnel private keys"; | |
408 | "iosExportPrivateData" = "Authenticate to export tunnel private keys."; | |
409 | "iosViewPrivateData" = "Authenticate to view tunnel private keys."; | |
a99a755c RC |
410 | |
411 | // Mac alert | |
412 | ||
4d669254 RC |
413 | "macConfirmAndQuitAlertMessage" = "Do you want to close the tunnels manager or quit WireGuard entirely?"; |
414 | "macConfirmAndQuitAlertInfo" = "If you close the tunnels manager, WireGuard will continue to be available from the menu bar icon."; | |
415 | "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."; | |
416 | "macConfirmAndQuitAlertQuitWireGuard" = "Quit WireGuard"; | |
417 | "macConfirmAndQuitAlertCloseWindow" = "Close Tunnels Manager"; | |
418 | ||
a99a755c RC |
419 | "macAppExitingWithActiveTunnelMessage" = "WireGuard is exiting with an active tunnel"; |
420 | "macAppExitingWithActiveTunnelInfo" = "The tunnel will remain active after exiting. You may disable it by reopening this application or through the Network panel in System Preferences."; | |
9795b060 RC |
421 | |
422 | // Mac tooltip | |
423 | ||
424 | "macToolTipEditTunnel" = "Edit tunnel (⌘E)"; | |
425 | "macToolTipToggleStatus" = "Toggle status (⌘T)"; | |
909f88be RC |
426 | |
427 | // Mac log view | |
428 | ||
429 | "macLogColumnTitleTime" = "Time"; | |
430 | "macLogColumnTitleLogMessage" = "Log message"; | |
431 | "macLogButtonTitleClose" = "Close"; | |
432 | "macLogButtonTitleSave" = "Save…"; | |
9690365d RC |
433 | |
434 | // Mac unusable tunnel view | |
435 | ||
436 | "macUnusableTunnelMessage" = "The configuration for this tunnel cannot be found in the keychain."; | |
437 | "macUnusableTunnelInfo" = "In case this tunnel was created by another user, only that user can view, edit, or activate this tunnel."; | |
438 | "macUnusableTunnelButtonTitleDeleteTunnel" = "Delete tunnel"; | |
178fe86d RC |
439 | |
440 | // Mac App Store updating alert | |
441 | ||
442 | "macAppStoreUpdatingAlertMessage" = "App Store would like to update WireGuard"; | |
443 | "macAppStoreUpdatingAlertInfoWithOnDemand (%@)" = "Please disable on-demand for tunnel ‘%@’, deactivate it, and then continue updating in App Store."; | |
444 | "macAppStoreUpdatingAlertInfoWithoutOnDemand (%@)" = "Please deactivate tunnel ‘%@’ and then continue updating in App Store."; | |
84ca7fcf JD |
445 | |
446 | // Donation | |
447 | ||
448 | "donateLink" = "♥ Donate to the WireGuard Project"; |