SwiftGen+Strings.swift 31.6 KB
Newer Older
Jose Blaya's avatar
Jose Blaya committed
1
// swiftlint:disable all
Davide De Rosa's avatar
Davide De Rosa committed
2 3 4 5 6 7 8
// Generated using SwiftGen, by O.Halligon — https://github.com/SwiftGen/SwiftGen

import Foundation

// swiftlint:disable superfluous_disable_command
// swiftlint:disable file_length

Jose Blaya's avatar
Jose Blaya committed
9 10 11 12
// MARK: - Strings

// swiftlint:disable explicit_type_interface function_parameter_count identifier_name line_length
// swiftlint:disable nesting type_body_length type_name
Davide De Rosa's avatar
Davide De Rosa committed
13
internal enum L10n {
Davide De Rosa's avatar
Davide De Rosa committed
14

Davide De Rosa's avatar
Davide De Rosa committed
15
  internal enum About {
Davide De Rosa's avatar
Davide De Rosa committed
16
    /// VPN by Private Internet Access
Davide De Rosa's avatar
Davide De Rosa committed
17
    internal static let app = L10n.tr("Localizable", "about.app")
Davide De Rosa's avatar
Davide De Rosa committed
18
    /// This program uses the following components:
Davide De Rosa's avatar
Davide De Rosa committed
19 20 21
    internal static let intro = L10n.tr("Localizable", "about.intro")
    internal enum Accessibility {
      internal enum Component {
Davide De Rosa's avatar
Davide De Rosa committed
22
        /// Tap to read full license
Davide De Rosa's avatar
Davide De Rosa committed
23
        internal static let expand = L10n.tr("Localizable", "about.accessibility.component.expand")
Davide De Rosa's avatar
Davide De Rosa committed
24 25 26 27
      }
    }
  }

Davide De Rosa's avatar
Davide De Rosa committed
28 29
  internal enum Account {
    internal enum Email {
Davide De Rosa's avatar
Davide De Rosa committed
30
      /// Email
Davide De Rosa's avatar
Davide De Rosa committed
31
      internal static let caption = L10n.tr("Localizable", "account.email.caption")
Davide De Rosa's avatar
Davide De Rosa committed
32
      /// Email address
Davide De Rosa's avatar
Davide De Rosa committed
33
      internal static let placeholder = L10n.tr("Localizable", "account.email.placeholder")
Davide De Rosa's avatar
Davide De Rosa committed
34
    }
Jose Blaya's avatar
Jose Blaya committed
35 36 37 38
    internal enum Error {
      /// Your username or password is incorrect.
      internal static let unauthorized = L10n.tr("Localizable", "account.error.unauthorized")
    }
39 40 41 42 43 44 45 46
    internal enum ExpiryDate {
      /// Your plan has expired.
      internal static let expired = L10n.tr("Localizable", "account.expiry_date.expired")
      /// Your plan will expire on %@.
      internal static func information(_ p1: String) -> String {
        return L10n.tr("Localizable", "account.expiry_date.information", p1)
      }
    }
Davide De Rosa's avatar
Davide De Rosa committed
47
    internal enum Other {
Davide De Rosa's avatar
Davide De Rosa committed
48
      /// Get the Private Internet Access app for your other devices and use the above username and password to login and secure your connection.
Davide De Rosa's avatar
Davide De Rosa committed
49
      internal static let footer = L10n.tr("Localizable", "account.other.footer")
Davide De Rosa's avatar
Davide De Rosa committed
50
    }
Davide De Rosa's avatar
Davide De Rosa committed
51
    internal enum Restore {
Davide De Rosa's avatar
Davide De Rosa committed
52
      /// RESTORE PURCHASE
Davide De Rosa's avatar
Davide De Rosa committed
53
      internal static let button = L10n.tr("Localizable", "account.restore.button")
Davide De Rosa's avatar
Davide De Rosa committed
54
      /// If you renewed your plan but your account still says it's about to expire, you can restart the renewal from here. You will not be charged during this process.
Davide De Rosa's avatar
Davide De Rosa committed
55
      internal static let description = L10n.tr("Localizable", "account.restore.description")
Davide De Rosa's avatar
Davide De Rosa committed
56
      /// Restore uncredited purchase
Davide De Rosa's avatar
Davide De Rosa committed
57 58
      internal static let title = L10n.tr("Localizable", "account.restore.title")
      internal enum Failure {
Davide De Rosa's avatar
Davide De Rosa committed
59
        /// No redeemable purchase was found for renewal.
Davide De Rosa's avatar
Davide De Rosa committed
60
        internal static let message = L10n.tr("Localizable", "account.restore.failure.message")
Davide De Rosa's avatar
Davide De Rosa committed
61
        /// Restore purchase
Davide De Rosa's avatar
Davide De Rosa committed
62
        internal static let title = L10n.tr("Localizable", "account.restore.failure.title")
Davide De Rosa's avatar
Davide De Rosa committed
63 64
      }
    }
Davide De Rosa's avatar
Davide De Rosa committed
65
    internal enum Reveal {
Davide De Rosa's avatar
Davide De Rosa committed
66
      /// Authenticate to reveal
Davide De Rosa's avatar
Davide De Rosa committed
67
      internal static let prompt = L10n.tr("Localizable", "account.reveal.prompt")
Davide De Rosa's avatar
Davide De Rosa committed
68
    }
Davide De Rosa's avatar
Davide De Rosa committed
69
    internal enum Save {
Jose Blaya's avatar
Jose Blaya committed
70
      /// Update email
Davide De Rosa's avatar
Davide De Rosa committed
71
      internal static let item = L10n.tr("Localizable", "account.save.item")
Davide De Rosa's avatar
Davide De Rosa committed
72
      /// Authenticate to save changes
Davide De Rosa's avatar
Davide De Rosa committed
73
      internal static let prompt = L10n.tr("Localizable", "account.save.prompt")
Davide De Rosa's avatar
Davide De Rosa committed
74
      /// Your email address has been saved.
Davide De Rosa's avatar
Davide De Rosa committed
75
      internal static let success = L10n.tr("Localizable", "account.save.success")
Davide De Rosa's avatar
Davide De Rosa committed
76
    }
Jose Blaya's avatar
Jose Blaya committed
77 78
    internal enum Update {
      internal enum Email {
Jose Blaya's avatar
Jose Blaya committed
79 80 81 82 83 84 85 86 87
        internal enum Require {
          internal enum Password {
            /// Submit
            internal static let button = L10n.tr("Localizable", "account.update.email.require.password.button")
            /// For security reasons we require your PIA password to perform a change in your account. Please input your PIA password to proceed.
            internal static let message = L10n.tr("Localizable", "account.update.email.require.password.message")
            /// PIA Password Required
            internal static let title = L10n.tr("Localizable", "account.update.email.require.password.title")
          }
Jose Blaya's avatar
Jose Blaya committed
88 89 90
        }
      }
    }
Davide De Rosa's avatar
Davide De Rosa committed
91
    internal enum Username {
Davide De Rosa's avatar
Davide De Rosa committed
92
      /// Username
Davide De Rosa's avatar
Davide De Rosa committed
93
      internal static let caption = L10n.tr("Localizable", "account.username.caption")
Davide De Rosa's avatar
Davide De Rosa committed
94 95 96
    }
  }

Davide De Rosa's avatar
Davide De Rosa committed
97
  internal enum ContentBlocker {
Davide De Rosa's avatar
Davide De Rosa committed
98
    /// Content Blocker
Davide De Rosa's avatar
Davide De Rosa committed
99 100
    internal static let title = L10n.tr("Localizable", "content_blocker.title")
    internal enum Body {
Davide De Rosa's avatar
Davide De Rosa committed
101
      /// Please note: You do not need to be connected to the VPN for this Content Blocker to work, but it will only work while browsing with Safari.
Davide De Rosa's avatar
Davide De Rosa committed
102
      internal static let footer = L10n.tr("Localizable", "content_blocker.body.footer")
Davide De Rosa's avatar
Davide De Rosa committed
103
      /// To enable our Content Blocker for use with Safari please go to Settings > Safari, and under General touch Content Blockers toggle on PIA VPN.
Davide De Rosa's avatar
Davide De Rosa committed
104
      internal static let subtitle = L10n.tr("Localizable", "content_blocker.body.subtitle")
Davide De Rosa's avatar
Davide De Rosa committed
105 106 107
    }
  }

Davide De Rosa's avatar
Davide De Rosa committed
108 109 110
  internal enum Dashboard {
    internal enum Connection {
      internal enum Ip {
Davide De Rosa's avatar
Davide De Rosa committed
111
        /// Internet unreachable
Davide De Rosa's avatar
Davide De Rosa committed
112
        internal static let unreachable = L10n.tr("Localizable", "dashboard.connection.ip.unreachable")
Davide De Rosa's avatar
Davide De Rosa committed
113 114
      }
    }
Davide De Rosa's avatar
Davide De Rosa committed
115 116
    internal enum ContentBlocker {
      internal enum Intro {
Davide De Rosa's avatar
Davide De Rosa committed
117
        /// This version replaces MACE with our Safari Content Blocker.\n\nCheck it out in the 'Settings' section.
Davide De Rosa's avatar
Davide De Rosa committed
118
        internal static let message = L10n.tr("Localizable", "dashboard.content_blocker.intro.message")
Davide De Rosa's avatar
Davide De Rosa committed
119 120
      }
    }
Davide De Rosa's avatar
Davide De Rosa committed
121
    internal enum Vpn {
Davide De Rosa's avatar
Davide De Rosa committed
122
      /// Changing region...
Davide De Rosa's avatar
Davide De Rosa committed
123
      internal static let changingRegion = L10n.tr("Localizable", "dashboard.vpn.changing_region")
Davide De Rosa's avatar
Davide De Rosa committed
124
      /// Connected to VPN
Davide De Rosa's avatar
Davide De Rosa committed
125
      internal static let connected = L10n.tr("Localizable", "dashboard.vpn.connected")
Davide De Rosa's avatar
Davide De Rosa committed
126
      /// Connecting...
Davide De Rosa's avatar
Davide De Rosa committed
127
      internal static let connecting = L10n.tr("Localizable", "dashboard.vpn.connecting")
Davide De Rosa's avatar
Davide De Rosa committed
128
      /// Disconnected
Davide De Rosa's avatar
Davide De Rosa committed
129
      internal static let disconnected = L10n.tr("Localizable", "dashboard.vpn.disconnected")
Davide De Rosa's avatar
Davide De Rosa committed
130
      /// Disconnecting...
Davide De Rosa's avatar
Davide De Rosa committed
131
      internal static let disconnecting = L10n.tr("Localizable", "dashboard.vpn.disconnecting")
132 133
      /// VPN: ON
      internal static let on = L10n.tr("Localizable", "dashboard.vpn.on")
134 135 136 137
      internal enum Disconnect {
        /// This network is untrusted. Do you really want to disconnect the VPN?
        internal static let untrusted = L10n.tr("Localizable", "dashboard.vpn.disconnect.untrusted")
      }
Davide De Rosa's avatar
Davide De Rosa committed
138 139 140
    }
  }

Davide De Rosa's avatar
Davide De Rosa committed
141
  internal enum Expiration {
Davide De Rosa's avatar
Davide De Rosa committed
142
    /// Your subscription expires soon. Renew to stay protected.
Davide De Rosa's avatar
Davide De Rosa committed
143
    internal static let message = L10n.tr("Localizable", "expiration.message")
Davide De Rosa's avatar
Davide De Rosa committed
144
    /// Renewal
Davide De Rosa's avatar
Davide De Rosa committed
145
    internal static let title = L10n.tr("Localizable", "expiration.title")
Davide De Rosa's avatar
Davide De Rosa committed
146 147
  }

Davide De Rosa's avatar
Davide De Rosa committed
148
  internal enum Global {
Davide De Rosa's avatar
Davide De Rosa committed
149
    /// Automatic
Davide De Rosa's avatar
Davide De Rosa committed
150
    internal static let automatic = L10n.tr("Localizable", "global.automatic")
Davide De Rosa's avatar
Davide De Rosa committed
151
    /// Cancel
Davide De Rosa's avatar
Davide De Rosa committed
152
    internal static let cancel = L10n.tr("Localizable", "global.cancel")
153 154
    /// Clear
    internal static let clear = L10n.tr("Localizable", "global.clear")
Davide De Rosa's avatar
Davide De Rosa committed
155
    /// Close
Davide De Rosa's avatar
Davide De Rosa committed
156
    internal static let close = L10n.tr("Localizable", "global.close")
157 158
    /// Disabled
    internal static let disabled = L10n.tr("Localizable", "global.disabled")
159 160
    /// Edit
    internal static let edit = L10n.tr("Localizable", "global.edit")
161 162
    /// Enabled
    internal static let enabled = L10n.tr("Localizable", "global.enabled")
Davide De Rosa's avatar
Davide De Rosa committed
163
    /// Error
Davide De Rosa's avatar
Davide De Rosa committed
164
    internal static let error = L10n.tr("Localizable", "global.error")
Davide De Rosa's avatar
Davide De Rosa committed
165
    /// OK
Davide De Rosa's avatar
Davide De Rosa committed
166
    internal static let ok = L10n.tr("Localizable", "global.ok")
167 168 169 170
    /// Optional
    internal static let `optional` = L10n.tr("Localizable", "global.optional")
    /// Required
    internal static let `required` = L10n.tr("Localizable", "global.required")
171 172
    /// No internet connection found. Please confirm that you have an internet connection.
    internal static let unreachable = L10n.tr("Localizable", "global.unreachable")
173 174
    /// Update
    internal static let update = L10n.tr("Localizable", "global.update")
Davide De Rosa's avatar
Davide De Rosa committed
175 176
  }

177 178 179 180 181 182 183 184 185 186 187
  internal enum Hotspothelper {
    internal enum Display {
      /// 🔒 Activate VPN WiFi Protection in PIA Settings to secure this connection.
      internal static let name = L10n.tr("Localizable", "hotspothelper.display.name")
      internal enum Protected {
        /// 🔒 PIA VPN WiFi Protection Enabled - We got your back.
        internal static let name = L10n.tr("Localizable", "hotspothelper.display.protected.name")
      }
    }
  }

Davide De Rosa's avatar
Davide De Rosa committed
188 189
  internal enum Menu {
    internal enum Accessibility {
Davide De Rosa's avatar
Davide De Rosa committed
190
      /// Menu
Davide De Rosa's avatar
Davide De Rosa committed
191
      internal static let item = L10n.tr("Localizable", "menu.accessibility.item")
Davide De Rosa's avatar
Davide De Rosa committed
192
      /// Logged in as %@
Davide De Rosa's avatar
Davide De Rosa committed
193
      internal static func loggedAs(_ p1: String) -> String {
Davide De Rosa's avatar
Davide De Rosa committed
194 195
        return L10n.tr("Localizable", "menu.accessibility.logged_as", p1)
      }
Jose Blaya's avatar
Jose Blaya committed
196 197 198 199
      internal enum Edit {
        /// Edit
        internal static let tile = L10n.tr("Localizable", "menu.accessibility.edit.tile")
      }
Davide De Rosa's avatar
Davide De Rosa committed
200
    }
Davide De Rosa's avatar
Davide De Rosa committed
201
    internal enum Expiration {
Davide De Rosa's avatar
Davide De Rosa committed
202
      /// %d days
Davide De Rosa's avatar
Davide De Rosa committed
203
      internal static func days(_ p1: Int) -> String {
Davide De Rosa's avatar
Davide De Rosa committed
204 205 206
        return L10n.tr("Localizable", "menu.expiration.days", p1)
      }
      /// Subscription expires in
Davide De Rosa's avatar
Davide De Rosa committed
207
      internal static let expiresIn = L10n.tr("Localizable", "menu.expiration.expires_in")
Davide De Rosa's avatar
Davide De Rosa committed
208
      /// %d hours
Davide De Rosa's avatar
Davide De Rosa committed
209
      internal static func hours(_ p1: Int) -> String {
Davide De Rosa's avatar
Davide De Rosa committed
210 211 212
        return L10n.tr("Localizable", "menu.expiration.hours", p1)
      }
      /// one hour
Davide De Rosa's avatar
Davide De Rosa committed
213
      internal static let oneHour = L10n.tr("Localizable", "menu.expiration.one_hour")
Davide De Rosa's avatar
Davide De Rosa committed
214
      /// UPGRADE ACCOUNT
Davide De Rosa's avatar
Davide De Rosa committed
215
      internal static let upgrade = L10n.tr("Localizable", "menu.expiration.upgrade")
Davide De Rosa's avatar
Davide De Rosa committed
216
    }
Davide De Rosa's avatar
Davide De Rosa committed
217
    internal enum Item {
Davide De Rosa's avatar
Davide De Rosa committed
218
      /// About
Davide De Rosa's avatar
Davide De Rosa committed
219
      internal static let about = L10n.tr("Localizable", "menu.item.about")
Davide De Rosa's avatar
Davide De Rosa committed
220
      /// Account
Davide De Rosa's avatar
Davide De Rosa committed
221
      internal static let account = L10n.tr("Localizable", "menu.item.account")
Davide De Rosa's avatar
Davide De Rosa committed
222
      /// Log out
Davide De Rosa's avatar
Davide De Rosa committed
223
      internal static let logout = L10n.tr("Localizable", "menu.item.logout")
Davide De Rosa's avatar
Davide De Rosa committed
224
      /// Region selection
Davide De Rosa's avatar
Davide De Rosa committed
225
      internal static let region = L10n.tr("Localizable", "menu.item.region")
Davide De Rosa's avatar
Davide De Rosa committed
226
      /// Settings
Davide De Rosa's avatar
Davide De Rosa committed
227 228
      internal static let settings = L10n.tr("Localizable", "menu.item.settings")
      internal enum Web {
Davide De Rosa's avatar
Davide De Rosa committed
229
        /// Home page
Davide De Rosa's avatar
Davide De Rosa committed
230
        internal static let home = L10n.tr("Localizable", "menu.item.web.home")
Davide De Rosa's avatar
Davide De Rosa committed
231
        /// Privacy policy
Davide De Rosa's avatar
Davide De Rosa committed
232
        internal static let privacy = L10n.tr("Localizable", "menu.item.web.privacy")
Davide De Rosa's avatar
Davide De Rosa committed
233
        /// Support
Davide De Rosa's avatar
Davide De Rosa committed
234
        internal static let support = L10n.tr("Localizable", "menu.item.web.support")
Davide De Rosa's avatar
Davide De Rosa committed
235 236
      }
    }
Davide De Rosa's avatar
Davide De Rosa committed
237
    internal enum Logout {
Davide De Rosa's avatar
Davide De Rosa committed
238
      /// Log out
Davide De Rosa's avatar
Davide De Rosa committed
239
      internal static let confirm = L10n.tr("Localizable", "menu.logout.confirm")
Davide De Rosa's avatar
Davide De Rosa committed
240
      /// Logging out will disable the VPN and leave you unprotected.
Davide De Rosa's avatar
Davide De Rosa committed
241
      internal static let message = L10n.tr("Localizable", "menu.logout.message")
Davide De Rosa's avatar
Davide De Rosa committed
242
      /// Log out
Davide De Rosa's avatar
Davide De Rosa committed
243
      internal static let title = L10n.tr("Localizable", "menu.logout.title")
Davide De Rosa's avatar
Davide De Rosa committed
244
    }
Davide De Rosa's avatar
Davide De Rosa committed
245
    internal enum Renewal {
Davide De Rosa's avatar
Davide De Rosa committed
246
      /// Purchase
Davide De Rosa's avatar
Davide De Rosa committed
247
      internal static let purchase = L10n.tr("Localizable", "menu.renewal.purchase")
Davide De Rosa's avatar
Davide De Rosa committed
248
      /// Renew
Davide De Rosa's avatar
Davide De Rosa committed
249
      internal static let renew = L10n.tr("Localizable", "menu.renewal.renew")
Davide De Rosa's avatar
Davide De Rosa committed
250
      /// Renewal
Davide De Rosa's avatar
Davide De Rosa committed
251 252
      internal static let title = L10n.tr("Localizable", "menu.renewal.title")
      internal enum Message {
Davide De Rosa's avatar
Davide De Rosa committed
253
        /// Trial accounts are not eligible for renewal. Please purchase a new account upon expiry to continue service.
Davide De Rosa's avatar
Davide De Rosa committed
254
        internal static let trial = L10n.tr("Localizable", "menu.renewal.message.trial")
Davide De Rosa's avatar
Davide De Rosa committed
255
        /// Apple servers currently unavailable. Please try again later.
Davide De Rosa's avatar
Davide De Rosa committed
256
        internal static let unavailable = L10n.tr("Localizable", "menu.renewal.message.unavailable")
Davide De Rosa's avatar
Davide De Rosa committed
257
        /// Please use our website to renew your subscription.
Davide De Rosa's avatar
Davide De Rosa committed
258
        internal static let website = L10n.tr("Localizable", "menu.renewal.message.website")
Davide De Rosa's avatar
Davide De Rosa committed
259 260 261 262
      }
    }
  }

Davide De Rosa's avatar
Davide De Rosa committed
263 264
  internal enum Notifications {
    internal enum Disabled {
Davide De Rosa's avatar
Davide De Rosa committed
265
      /// Enable notifications to get a reminder to renew your subscription before it expires.
Davide De Rosa's avatar
Davide De Rosa committed
266
      internal static let message = L10n.tr("Localizable", "notifications.disabled.message")
Davide De Rosa's avatar
Davide De Rosa committed
267
      /// Settings
Davide De Rosa's avatar
Davide De Rosa committed
268
      internal static let settings = L10n.tr("Localizable", "notifications.disabled.settings")
Davide De Rosa's avatar
Davide De Rosa committed
269
      /// Notifications disabled
Davide De Rosa's avatar
Davide De Rosa committed
270
      internal static let title = L10n.tr("Localizable", "notifications.disabled.title")
Davide De Rosa's avatar
Davide De Rosa committed
271 272 273
    }
  }

274
  internal enum Region {
275 276 277 278 279 280 281 282 283 284 285 286 287 288
    internal enum Accessibility {
      /// Filter
      internal static let filter = L10n.tr("Localizable", "region.accessibility.filter")
    }
    internal enum Filter {
      /// Favorites
      internal static let favorites = L10n.tr("Localizable", "region.filter.favorites")
      /// Latency
      internal static let latency = L10n.tr("Localizable", "region.filter.latency")
      /// Name
      internal static let name = L10n.tr("Localizable", "region.filter.name")
      /// Sort regions by
      internal static let sortby = L10n.tr("Localizable", "region.filter.sortby")
    }
289 290 291 292 293 294
    internal enum Search {
      /// Search for a region
      internal static let placeholder = L10n.tr("Localizable", "region.search.placeholder")
    }
  }

Davide De Rosa's avatar
Davide De Rosa committed
295 296
  internal enum Renewal {
    internal enum Failure {
Davide De Rosa's avatar
Davide De Rosa committed
297
      /// Your purchase receipt couldn't be submitted, please retry at a later time.
Davide De Rosa's avatar
Davide De Rosa committed
298
      internal static let message = L10n.tr("Localizable", "renewal.failure.message")
Davide De Rosa's avatar
Davide De Rosa committed
299
    }
Davide De Rosa's avatar
Davide De Rosa committed
300
    internal enum Success {
Davide De Rosa's avatar
Davide De Rosa committed
301
      /// Your account was successfully renewed.
Davide De Rosa's avatar
Davide De Rosa committed
302
      internal static let message = L10n.tr("Localizable", "renewal.success.message")
Davide De Rosa's avatar
Davide De Rosa committed
303
      /// Thank you
Davide De Rosa's avatar
Davide De Rosa committed
304
      internal static let title = L10n.tr("Localizable", "renewal.success.title")
Davide De Rosa's avatar
Davide De Rosa committed
305 306 307
    }
  }

Davide De Rosa's avatar
Davide De Rosa committed
308 309
  internal enum Settings {
    internal enum ApplicationInformation {
Davide De Rosa's avatar
Davide De Rosa committed
310
      /// APPLICATION INFORMATION
Davide De Rosa's avatar
Davide De Rosa committed
311 312
      internal static let title = L10n.tr("Localizable", "settings.application_information.title")
      internal enum Debug {
Davide De Rosa's avatar
Davide De Rosa committed
313
        /// Send debug to support
Davide De Rosa's avatar
Davide De Rosa committed
314 315
        internal static let title = L10n.tr("Localizable", "settings.application_information.debug.title")
        internal enum Empty {
Davide De Rosa's avatar
Davide De Rosa committed
316
          /// Debug information is empty, please attempt a connection before retrying submission.
Davide De Rosa's avatar
Davide De Rosa committed
317
          internal static let message = L10n.tr("Localizable", "settings.application_information.debug.empty.message")
Davide De Rosa's avatar
Davide De Rosa committed
318
          /// Empty debug information
Davide De Rosa's avatar
Davide De Rosa committed
319
          internal static let title = L10n.tr("Localizable", "settings.application_information.debug.empty.title")
Davide De Rosa's avatar
Davide De Rosa committed
320
        }
Davide De Rosa's avatar
Davide De Rosa committed
321
        internal enum Failure {
Davide De Rosa's avatar
Davide De Rosa committed
322
          /// Debug information could not be submitted. Please disconnect from the VPN and retry.
Davide De Rosa's avatar
Davide De Rosa committed
323
          internal static let message = L10n.tr("Localizable", "settings.application_information.debug.failure.message")
Davide De Rosa's avatar
Davide De Rosa committed
324
          /// Error during submission
Davide De Rosa's avatar
Davide De Rosa committed
325
          internal static let title = L10n.tr("Localizable", "settings.application_information.debug.failure.title")
Davide De Rosa's avatar
Davide De Rosa committed
326
        }
Davide De Rosa's avatar
Davide De Rosa committed
327
        internal enum Success {
Davide De Rosa's avatar
Davide De Rosa committed
328
          /// Debug information successfully submitted.\nID: %@\nPlease note this ID, as our support team will require this to locate your submission.
Davide De Rosa's avatar
Davide De Rosa committed
329
          internal static func message(_ p1: String) -> String {
Davide De Rosa's avatar
Davide De Rosa committed
330 331 332
            return L10n.tr("Localizable", "settings.application_information.debug.success.message", p1)
          }
          /// Debug information submitted
Davide De Rosa's avatar
Davide De Rosa committed
333
          internal static let title = L10n.tr("Localizable", "settings.application_information.debug.success.title")
Davide De Rosa's avatar
Davide De Rosa committed
334 335 336
        }
      }
    }
Davide De Rosa's avatar
Davide De Rosa committed
337
    internal enum ApplicationSettings {
Davide De Rosa's avatar
Davide De Rosa committed
338
      /// APPLICATION SETTINGS
Davide De Rosa's avatar
Davide De Rosa committed
339
      internal static let title = L10n.tr("Localizable", "settings.application_settings.title")
Jose Blaya's avatar
Jose Blaya committed
340 341 342 343
      internal enum ActiveTheme {
        /// Active theme
        internal static let title = L10n.tr("Localizable", "settings.application_settings.active_theme.title")
      }
Davide De Rosa's avatar
Davide De Rosa committed
344
      internal enum DarkTheme {
Davide De Rosa's avatar
Davide De Rosa committed
345
        /// Dark theme
Davide De Rosa's avatar
Davide De Rosa committed
346
        internal static let title = L10n.tr("Localizable", "settings.application_settings.dark_theme.title")
Davide De Rosa's avatar
Davide De Rosa committed
347
      }
Davide De Rosa's avatar
Davide De Rosa committed
348
      internal enum KillSwitch {
349
        /// The VPN kill switch prevents access to the Internet if the VPN connection is reconnecting. This excludes disconnecting manually.
Davide De Rosa's avatar
Davide De Rosa committed
350
        internal static let footer = L10n.tr("Localizable", "settings.application_settings.kill_switch.footer")
351
        /// VPN kill switch
Davide De Rosa's avatar
Davide De Rosa committed
352
        internal static let title = L10n.tr("Localizable", "settings.application_settings.kill_switch.title")
353
      }
Davide De Rosa's avatar
Davide De Rosa committed
354
      internal enum Mace {
Davide De Rosa's avatar
Davide De Rosa committed
355
        /// PIA MACE™ blocks ads, trackers, and malware while you're connected to the VPN.
Davide De Rosa's avatar
Davide De Rosa committed
356
        internal static let footer = L10n.tr("Localizable", "settings.application_settings.mace.footer")
Davide De Rosa's avatar
Davide De Rosa committed
357
        /// PIA MACE™
Davide De Rosa's avatar
Davide De Rosa committed
358
        internal static let title = L10n.tr("Localizable", "settings.application_settings.mace.title")
Davide De Rosa's avatar
Davide De Rosa committed
359 360
      }
    }
Davide De Rosa's avatar
Davide De Rosa committed
361 362
    internal enum Commit {
      internal enum Buttons {
Davide De Rosa's avatar
Davide De Rosa committed
363
        /// Later
Davide De Rosa's avatar
Davide De Rosa committed
364
        internal static let later = L10n.tr("Localizable", "settings.commit.buttons.later")
Davide De Rosa's avatar
Davide De Rosa committed
365
        /// Reconnect
Davide De Rosa's avatar
Davide De Rosa committed
366
        internal static let reconnect = L10n.tr("Localizable", "settings.commit.buttons.reconnect")
Davide De Rosa's avatar
Davide De Rosa committed
367
      }
Davide De Rosa's avatar
Davide De Rosa committed
368
      internal enum Messages {
Davide De Rosa's avatar
Davide De Rosa committed
369
        /// The VPN must reconnect for some changes to take effect.
Davide De Rosa's avatar
Davide De Rosa committed
370
        internal static let mustDisconnect = L10n.tr("Localizable", "settings.commit.messages.must_disconnect")
Davide De Rosa's avatar
Davide De Rosa committed
371
        /// Reconnect the VPN to apply changes.
Davide De Rosa's avatar
Davide De Rosa committed
372
        internal static let shouldReconnect = L10n.tr("Localizable", "settings.commit.messages.should_reconnect")
Davide De Rosa's avatar
Davide De Rosa committed
373 374
      }
    }
Davide De Rosa's avatar
Davide De Rosa committed
375
    internal enum Connection {
Davide De Rosa's avatar
Davide De Rosa committed
376
      /// CONNECTION
Davide De Rosa's avatar
Davide De Rosa committed
377 378
      internal static let title = L10n.tr("Localizable", "settings.connection.title")
      internal enum RemotePort {
Davide De Rosa's avatar
Davide De Rosa committed
379
        /// Remote port
Davide De Rosa's avatar
Davide De Rosa committed
380
        internal static let title = L10n.tr("Localizable", "settings.connection.remote_port.title")
Davide De Rosa's avatar
Davide De Rosa committed
381
      }
Davide De Rosa's avatar
Davide De Rosa committed
382
      internal enum SocketProtocol {
Davide De Rosa's avatar
Davide De Rosa committed
383
        /// Socket
Davide De Rosa's avatar
Davide De Rosa committed
384
        internal static let title = L10n.tr("Localizable", "settings.connection.socket_protocol.title")
Davide De Rosa's avatar
Davide De Rosa committed
385
      }
Davide De Rosa's avatar
Davide De Rosa committed
386
      internal enum VpnProtocol {
Davide De Rosa's avatar
Davide De Rosa committed
387
        /// Protocol
Davide De Rosa's avatar
Davide De Rosa committed
388
        internal static let title = L10n.tr("Localizable", "settings.connection.vpn_protocol.title")
Davide De Rosa's avatar
Davide De Rosa committed
389 390
      }
    }
Davide De Rosa's avatar
Davide De Rosa committed
391
    internal enum ContentBlocker {
Davide De Rosa's avatar
Davide De Rosa committed
392
      /// To enable or disable Content Blocker go to Settings > Safari > Content Blockers and toggle PIA VPN.
Davide De Rosa's avatar
Davide De Rosa committed
393
      internal static let footer = L10n.tr("Localizable", "settings.content_blocker.footer")
Davide De Rosa's avatar
Davide De Rosa committed
394
      /// Safari Content Blocker
Davide De Rosa's avatar
Davide De Rosa committed
395 396
      internal static let title = L10n.tr("Localizable", "settings.content_blocker.title")
      internal enum Refresh {
Davide De Rosa's avatar
Davide De Rosa committed
397
        /// Refresh block list
Davide De Rosa's avatar
Davide De Rosa committed
398
        internal static let title = L10n.tr("Localizable", "settings.content_blocker.refresh.title")
Davide De Rosa's avatar
Davide De Rosa committed
399
      }
Davide De Rosa's avatar
Davide De Rosa committed
400
      internal enum State {
Davide De Rosa's avatar
Davide De Rosa committed
401
        /// Current state
Davide De Rosa's avatar
Davide De Rosa committed
402
        internal static let title = L10n.tr("Localizable", "settings.content_blocker.state.title")
Davide De Rosa's avatar
Davide De Rosa committed
403 404
      }
    }
405 406 407 408 409 410 411 412 413 414 415 416 417 418 419
    internal enum Dns {
      /// Custom
      internal static let custom = L10n.tr("Localizable", "settings.dns.custom")
      /// Primary DNS
      internal static let primaryDNS = L10n.tr("Localizable", "settings.dns.primaryDNS")
      /// Secondary DNS
      internal static let secondaryDNS = L10n.tr("Localizable", "settings.dns.secondaryDNS")
      internal enum Alert {
        internal enum Clear {
          /// This will clear your custom DNS and default to PIA DNS.
          internal static let message = L10n.tr("Localizable", "settings.dns.alert.clear.message")
          /// Clear DNS
          internal static let title = L10n.tr("Localizable", "settings.dns.alert.clear.title")
        }
        internal enum Create {
420
          /// Using non PIA DNS could expose your DNS traffic to third parties and compromise your privacy.
421 422 423 424 425 426 427 428 429
          internal static let message = L10n.tr("Localizable", "settings.dns.alert.create.message")
        }
      }
      internal enum Custom {
        /// Custom DNS
        internal static let dns = L10n.tr("Localizable", "settings.dns.custom.dns")
      }
      internal enum Validation {
        internal enum Primary {
430
          /// Primary DNS is not valid.
431
          internal static let invalid = L10n.tr("Localizable", "settings.dns.validation.primary.invalid")
432
          /// Primary DNS is mandatory.
433 434 435
          internal static let mandatory = L10n.tr("Localizable", "settings.dns.validation.primary.mandatory")
        }
        internal enum Secondary {
436
          /// Secondary DNS is not valid.
437 438 439 440
          internal static let invalid = L10n.tr("Localizable", "settings.dns.validation.secondary.invalid")
        }
      }
    }
Davide De Rosa's avatar
Davide De Rosa committed
441
    internal enum Encryption {
Davide De Rosa's avatar
Davide De Rosa committed
442
      /// ENCRYPTION
Davide De Rosa's avatar
Davide De Rosa committed
443 444
      internal static let title = L10n.tr("Localizable", "settings.encryption.title")
      internal enum Cipher {
Davide De Rosa's avatar
Davide De Rosa committed
445
        /// Data encryption
Davide De Rosa's avatar
Davide De Rosa committed
446
        internal static let title = L10n.tr("Localizable", "settings.encryption.cipher.title")
Davide De Rosa's avatar
Davide De Rosa committed
447
      }
Davide De Rosa's avatar
Davide De Rosa committed
448
      internal enum Digest {
Davide De Rosa's avatar
Davide De Rosa committed
449
        /// Data authentication
Davide De Rosa's avatar
Davide De Rosa committed
450
        internal static let title = L10n.tr("Localizable", "settings.encryption.digest.title")
Davide De Rosa's avatar
Davide De Rosa committed
451
      }
Davide De Rosa's avatar
Davide De Rosa committed
452
      internal enum Handshake {
Davide De Rosa's avatar
Davide De Rosa committed
453
        /// Handshake
Davide De Rosa's avatar
Davide De Rosa committed
454
        internal static let title = L10n.tr("Localizable", "settings.encryption.handshake.title")
Davide De Rosa's avatar
Davide De Rosa committed
455 456
      }
    }
457
    internal enum Hotspothelper {
458
      /// Configure how PIA will behave on connection to WiFi or cellular networks.
459
      internal static let description = L10n.tr("Localizable", "settings.hotspothelper.description")
460
      /// Network management tool
461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478
      internal static let title = L10n.tr("Localizable", "settings.hotspothelper.title")
      internal enum All {
        /// VPN WiFi Protection will activate on all networks, including trusted networks.
        internal static let description = L10n.tr("Localizable", "settings.hotspothelper.all.description")
        /// Protect all networks
        internal static let title = L10n.tr("Localizable", "settings.hotspothelper.all.title")
      }
      internal enum Available {
        /// To populate this list go to iOS Settings > WiFi.
        internal static let help = L10n.tr("Localizable", "settings.hotspothelper.available.help")
        internal enum Add {
          /// Tap + to add to Trusted networks.
          internal static let help = L10n.tr("Localizable", "settings.hotspothelper.available.add.help")
        }
      }
      internal enum Cellular {
        /// PIA automatically enables the VPN when connecting to cellular networks if this option is disabled.
        internal static let description = L10n.tr("Localizable", "settings.hotspothelper.cellular.description")
479 480
        /// Cellular networks
        internal static let networks = L10n.tr("Localizable", "settings.hotspothelper.cellular.networks")
481 482 483 484
        /// Trust cellular networks
        internal static let title = L10n.tr("Localizable", "settings.hotspothelper.cellular.title")
      }
      internal enum Enable {
Jose Blaya's avatar
Jose Blaya committed
485
        /// PIA automatically enables the VPN when connecting to untrusted WiFi networks if this option is enabled.
486 487
        internal static let description = L10n.tr("Localizable", "settings.hotspothelper.enable.description")
      }
488 489 490 491
      internal enum Rules {
        /// Rules
        internal static let title = L10n.tr("Localizable", "settings.hotspothelper.rules.title")
      }
492 493 494 495 496 497 498 499
      internal enum Wifi {
        /// WiFi networks
        internal static let networks = L10n.tr("Localizable", "settings.hotspothelper.wifi.networks")
        internal enum Trust {
          /// VPN WiFi Protection
          internal static let title = L10n.tr("Localizable", "settings.hotspothelper.wifi.trust.title")
        }
      }
500
    }
Davide De Rosa's avatar
Davide De Rosa committed
501
    internal enum Reset {
Davide De Rosa's avatar
Davide De Rosa committed
502
      /// This will reset all of the above settings to default.
Davide De Rosa's avatar
Davide De Rosa committed
503
      internal static let footer = L10n.tr("Localizable", "settings.reset.footer")
Davide De Rosa's avatar
Davide De Rosa committed
504
      /// RESET
Davide De Rosa's avatar
Davide De Rosa committed
505 506
      internal static let title = L10n.tr("Localizable", "settings.reset.title")
      internal enum Defaults {
Davide De Rosa's avatar
Davide De Rosa committed
507
        /// Reset to default settings
Davide De Rosa's avatar
Davide De Rosa committed
508 509
        internal static let title = L10n.tr("Localizable", "settings.reset.defaults.title")
        internal enum Confirm {
Davide De Rosa's avatar
Davide De Rosa committed
510
          /// Reset
Davide De Rosa's avatar
Davide De Rosa committed
511
          internal static let button = L10n.tr("Localizable", "settings.reset.defaults.confirm.button")
Davide De Rosa's avatar
Davide De Rosa committed
512
          /// This will bring the app back to default. You will lose all changes you have made.
Davide De Rosa's avatar
Davide De Rosa committed
513
          internal static let message = L10n.tr("Localizable", "settings.reset.defaults.confirm.message")
Davide De Rosa's avatar
Davide De Rosa committed
514
          /// Reset settings
Davide De Rosa's avatar
Davide De Rosa committed
515
          internal static let title = L10n.tr("Localizable", "settings.reset.defaults.confirm.title")
Davide De Rosa's avatar
Davide De Rosa committed
516 517 518
        }
      }
    }
519 520 521 522
    internal enum Trusted {
      internal enum Networks {
        /// PIA won't automatically connect on these networks.
        internal static let message = L10n.tr("Localizable", "settings.trusted.networks.message")
523 524 525 526
        internal enum Connect {
          /// Protect this network by connecting to VPN?
          internal static let message = L10n.tr("Localizable", "settings.trusted.networks.connect.message")
        }
527 528 529 530 531 532 533
        internal enum Sections {
          /// Available networks
          internal static let available = L10n.tr("Localizable", "settings.trusted.networks.sections.available")
          /// Current network
          internal static let current = L10n.tr("Localizable", "settings.trusted.networks.sections.current")
          /// Trusted networks
          internal static let trusted = L10n.tr("Localizable", "settings.trusted.networks.sections.trusted")
534 535 536 537 538 539 540 541 542 543
          /// Untrusted networks
          internal static let untrusted = L10n.tr("Localizable", "settings.trusted.networks.sections.untrusted")
          internal enum Trusted {
            internal enum Rule {
              /// Disconnect from PIA VPN
              internal static let action = L10n.tr("Localizable", "settings.trusted.networks.sections.trusted.rule.action")
              /// Perform actions when joining trusted networks.
              internal static let description = L10n.tr("Localizable", "settings.trusted.networks.sections.trusted.rule.description")
            }
          }
544 545 546
        }
      }
    }
Davide De Rosa's avatar
Davide De Rosa committed
547 548
  }

Davide De Rosa's avatar
Davide De Rosa committed
549
  internal enum Shortcuts {
Davide De Rosa's avatar
Davide De Rosa committed
550
    /// Connect
Davide De Rosa's avatar
Davide De Rosa committed
551
    internal static let connect = L10n.tr("Localizable", "shortcuts.connect")
Davide De Rosa's avatar
Davide De Rosa committed
552
    /// Disconnect
Davide De Rosa's avatar
Davide De Rosa committed
553
    internal static let disconnect = L10n.tr("Localizable", "shortcuts.disconnect")
Davide De Rosa's avatar
Davide De Rosa committed
554
    /// Select a region
Davide De Rosa's avatar
Davide De Rosa committed
555
    internal static let selectRegion = L10n.tr("Localizable", "shortcuts.select_region")
Davide De Rosa's avatar
Davide De Rosa committed
556
  }
557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581

  internal enum Siri {
    internal enum Shortcuts {
      internal enum Add {
        /// There was an error adding the Siri shortcut. Please, try it again.
        internal static let error = L10n.tr("Localizable", "siri.shortcuts.add.error")
      }
      internal enum Connect {
        /// Connect PIA VPN
        internal static let title = L10n.tr("Localizable", "siri.shortcuts.connect.title")
        internal enum Row {
          /// 'Connect' Siri Shortcut
          internal static let title = L10n.tr("Localizable", "siri.shortcuts.connect.row.title")
        }
      }
      internal enum Disconnect {
        /// Disconnect PIA VPN
        internal static let title = L10n.tr("Localizable", "siri.shortcuts.disconnect.title")
        internal enum Row {
          /// 'Disconnect' Siri Shortcut
          internal static let title = L10n.tr("Localizable", "siri.shortcuts.disconnect.row.title")
        }
      }
    }
  }
Davide De Rosa's avatar
Davide De Rosa committed
582

Jose Blaya's avatar
Jose Blaya committed
583
  internal enum Tiles {
Jose Blaya's avatar
Jose Blaya committed
584 585 586 587 588 589 590 591 592 593
    internal enum Nmt {
      /// Cellular
      internal static let cellular = L10n.tr("Localizable", "tiles.nmt.cellular")
      internal enum Accessibility {
        /// Trusted network
        internal static let trusted = L10n.tr("Localizable", "tiles.nmt.accessibility.trusted")
        /// Untrusted network
        internal static let untrusted = L10n.tr("Localizable", "tiles.nmt.accessibility.untrusted")
      }
    }
Jose Blaya's avatar
Jose Blaya committed
594 595 596 597 598 599
    internal enum Quick {
      internal enum Connect {
        /// Quick connect
        internal static let title = L10n.tr("Localizable", "tiles.quick.connect.title")
      }
    }
Jose Blaya's avatar
Jose Blaya committed
600 601 602 603
    internal enum Quicksettings {
      /// Quick settings
      internal static let title = L10n.tr("Localizable", "tiles.quicksettings.title")
    }
Jose Blaya's avatar
Jose Blaya committed
604 605 606 607
    internal enum Region {
      /// VPN Server
      internal static let title = L10n.tr("Localizable", "tiles.region.title")
    }
Jose Blaya's avatar
wip  
Jose Blaya committed
608
    internal enum Subscription {
Jose Blaya's avatar
Jose Blaya committed
609 610
      /// Monthly
      internal static let monthly = L10n.tr("Localizable", "tiles.subscription.monthly")
Jose Blaya's avatar
wip  
Jose Blaya committed
611 612
      /// Subscription
      internal static let title = L10n.tr("Localizable", "tiles.subscription.title")
Jose Blaya's avatar
Jose Blaya committed
613 614 615 616 617 618 619 620 621 622
      /// Trial
      internal static let trial = L10n.tr("Localizable", "tiles.subscription.trial")
      /// Yearly
      internal static let yearly = L10n.tr("Localizable", "tiles.subscription.yearly")
      internal enum Days {
        /// (%d days left)
        internal static func `left`(_ p1: Int) -> String {
          return L10n.tr("Localizable", "tiles.subscription.days.left", p1)
        }
      }
Jose Blaya's avatar
wip  
Jose Blaya committed
623
    }
Jose Blaya's avatar
Jose Blaya committed
624 625 626 627 628 629 630
    internal enum Usage {
      /// Download
      internal static let download = L10n.tr("Localizable", "tiles.usage.download")
      /// Usage
      internal static let title = L10n.tr("Localizable", "tiles.usage.title")
      /// Upload
      internal static let upload = L10n.tr("Localizable", "tiles.usage.upload")
631 632 633 634
      internal enum Ipsec {
        /// USAGE (Disabled unless using OpenVPN)
        internal static let title = L10n.tr("Localizable", "tiles.usage.ipsec.title")
      }
Jose Blaya's avatar
Jose Blaya committed
635
    }
Jose Blaya's avatar
Jose Blaya committed
636 637
  }

Jose Blaya's avatar
Jose Blaya committed
638 639 640 641 642 643 644
  internal enum Today {
    internal enum Widget {
      /// Login
      internal static let login = L10n.tr("Localizable", "today.widget.login")
    }
  }

Davide De Rosa's avatar
Davide De Rosa committed
645
  internal enum VpnPermission {
Davide De Rosa's avatar
Davide De Rosa committed
646
    /// PIA
Davide De Rosa's avatar
Davide De Rosa committed
647 648
    internal static let title = L10n.tr("Localizable", "vpn_permission.title")
    internal enum Body {
Davide De Rosa's avatar
Davide De Rosa committed
649
      /// We don’t monitor, filter or log any network activity.
Davide De Rosa's avatar
Davide De Rosa committed
650
      internal static let footer = L10n.tr("Localizable", "vpn_permission.body.footer")
Jose Blaya's avatar
Jose Blaya committed
651
      /// You’ll see a prompt for PIA VPN and need to allow access to VPN configurations.\nTo proceed tap on “%@”.
Davide De Rosa's avatar
Davide De Rosa committed
652
      internal static func subtitle(_ p1: String) -> String {
Davide De Rosa's avatar
Davide De Rosa committed
653 654 655
        return L10n.tr("Localizable", "vpn_permission.body.subtitle", p1)
      }
      /// PIA needs access to your VPN profiles to secure your traffic
Davide De Rosa's avatar
Davide De Rosa committed
656
      internal static let title = L10n.tr("Localizable", "vpn_permission.body.title")
Davide De Rosa's avatar
Davide De Rosa committed
657
    }
Davide De Rosa's avatar
Davide De Rosa committed
658
    internal enum Disallow {
Davide De Rosa's avatar
Davide De Rosa committed
659
      /// Contact
Davide De Rosa's avatar
Davide De Rosa committed
660 661
      internal static let contact = L10n.tr("Localizable", "vpn_permission.disallow.contact")
      internal enum Message {
Davide De Rosa's avatar
Davide De Rosa committed
662
        /// We need this permission for the application to function.
Davide De Rosa's avatar
Davide De Rosa committed
663
        internal static let basic = L10n.tr("Localizable", "vpn_permission.disallow.message.basic")
Davide De Rosa's avatar
Davide De Rosa committed
664
        /// You can also get in touch with customer support if you need assistance.
Davide De Rosa's avatar
Davide De Rosa committed
665
        internal static let support = L10n.tr("Localizable", "vpn_permission.disallow.message.support")
Davide De Rosa's avatar
Davide De Rosa committed
666 667 668 669
      }
    }
  }

Davide De Rosa's avatar
Davide De Rosa committed
670 671
  internal enum Walkthrough {
    internal enum Action {
Davide De Rosa's avatar
Davide De Rosa committed
672
      /// DONE
Davide De Rosa's avatar
Davide De Rosa committed
673
      internal static let done = L10n.tr("Localizable", "walkthrough.action.done")
Davide De Rosa's avatar
Davide De Rosa committed
674
      /// NEXT
Davide De Rosa's avatar
Davide De Rosa committed
675
      internal static let next = L10n.tr("Localizable", "walkthrough.action.next")
Davide De Rosa's avatar
Davide De Rosa committed
676
      /// SKIP
Davide De Rosa's avatar
Davide De Rosa committed
677
      internal static let skip = L10n.tr("Localizable", "walkthrough.action.skip")
Davide De Rosa's avatar
Davide De Rosa committed
678
    }
Davide De Rosa's avatar
Davide De Rosa committed
679 680
    internal enum Page {
      internal enum _1 {
Jose Blaya's avatar
Jose Blaya committed
681
        /// Protect yourself on up to 10 devices at a time.
Davide De Rosa's avatar
Davide De Rosa committed
682
        internal static let description = L10n.tr("Localizable", "walkthrough.page.1.description")
Jose Blaya's avatar
Jose Blaya committed
683
        /// Support 10 devices at once
Davide De Rosa's avatar
Davide De Rosa committed
684
        internal static let title = L10n.tr("Localizable", "walkthrough.page.1.title")
Davide De Rosa's avatar
Davide De Rosa committed
685
      }
Davide De Rosa's avatar
Davide De Rosa committed
686
      internal enum _2 {
Davide De Rosa's avatar
Davide De Rosa committed
687
        /// With servers around the globe, you are always under protection.
Davide De Rosa's avatar
Davide De Rosa committed
688
        internal static let description = L10n.tr("Localizable", "walkthrough.page.2.description")
Davide De Rosa's avatar
Davide De Rosa committed
689
        /// Connect to any region easily
Davide De Rosa's avatar
Davide De Rosa committed
690
        internal static let title = L10n.tr("Localizable", "walkthrough.page.2.title")
Davide De Rosa's avatar
Davide De Rosa committed
691
      }
Davide De Rosa's avatar
Davide De Rosa committed
692
      internal enum _3 {
Davide De Rosa's avatar
Davide De Rosa committed
693
        /// Enabling our Content Blocker prevents ads from showing in Safari.
Davide De Rosa's avatar
Davide De Rosa committed
694
        internal static let description = L10n.tr("Localizable", "walkthrough.page.3.description")
Davide De Rosa's avatar
Davide De Rosa committed
695
        /// Protect yourself from ads
Davide De Rosa's avatar
Davide De Rosa committed
696
        internal static let title = L10n.tr("Localizable", "walkthrough.page.3.title")
Davide De Rosa's avatar
Davide De Rosa committed
697 698 699 700
      }
    }
  }
}
Jose Blaya's avatar
Jose Blaya committed
701 702 703 704
// swiftlint:enable explicit_type_interface function_parameter_count identifier_name line_length
// swiftlint:enable nesting type_body_length type_name

// MARK: - Implementation Details
Davide De Rosa's avatar
Davide De Rosa committed
705 706 707 708 709 710 711 712 713

extension L10n {
  private static func tr(_ table: String, _ key: String, _ args: CVarArg...) -> String {
    let format = NSLocalizedString(key, tableName: table, bundle: Bundle(for: BundleToken.self), comment: "")
    return String(format: format, locale: Locale.current, arguments: args)
  }
}

private final class BundleToken {}