From 8365adf4351c380004d2c871a81231083b2373cc Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Sat, 22 Dec 2018 03:41:54 +0100 Subject: Localize remaining strings in network extension Signed-off-by: Jason A. Donenfeld --- WireGuard/WireGuard/Tunnel/TunnelsManager.swift | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'WireGuard/WireGuard/Tunnel') diff --git a/WireGuard/WireGuard/Tunnel/TunnelsManager.swift b/WireGuard/WireGuard/Tunnel/TunnelsManager.swift index 4913fd2..c25d4b6 100644 --- a/WireGuard/WireGuard/Tunnel/TunnelsManager.swift +++ b/WireGuard/WireGuard/Tunnel/TunnelsManager.swift @@ -298,13 +298,22 @@ class TunnelsManager { guard let lastErrorData = try? Data(contentsOf: lastErrorFileURL) else { return nil } guard let lastErrorText = String(data: lastErrorData, encoding: .utf8) else { return nil } let lastErrorStrings = lastErrorText.splitToArray(separator: "\n") - guard lastErrorStrings.count == 3 else { return nil } - let attemptIdInDisk = lastErrorStrings[0] - if let attemptIdForTunnel = tunnel.activationAttemptId, attemptIdInDisk == attemptIdForTunnel { - return (title: lastErrorStrings[1], message: lastErrorStrings[2]) + guard lastErrorStrings.count == 2 && tunnel.activationAttemptId == lastErrorStrings[0] else { return nil } + + switch PacketTunnelProviderError(rawValue: lastErrorStrings[1]) { + case .some(.savedProtocolConfigurationIsInvalid): + return (tr("alertTunnelActivationFailureTitle"), tr("alertTunnelActivationSavedConfigFailureMessage")) + case .some(.dnsResolutionFailure): + return (tr("alertTunnelDNSFailureTitle"), tr("alertTunnelDNSFailureMessage")) + case .some(.couldNotStartBackend): + return (tr("alertTunnelActivationFailureTitle"), tr("alertTunnelActivationBackendFailureMessage")) + case .some(.couldNotDetermineFileDescriptor): + return (tr("alertTunnelActivationFailureTitle"), tr("alertTunnelActivationFileDescriptorFailureMessage")) + case .some(.couldNotSetNetworkSettings): + return (tr("alertTunnelActivationFailureTitle"), tr("alertTunnelActivationSetNetworkSettingsMessage")) + default: + return (tr("alertTunnelActivationFailureTitle"), tr("alertTunnelActivationFailureMessage")) } - - return nil } deinit { -- cgit v1.2.3-59-g8ed1b