2024-11-25 10:34:31 +00:00
//
// Localizable.strings
// Passepartout
//
// Created by Davide De Rosa on 10/29/24.
// Copyright (c) 2024 Davide De Rosa. All rights reserved.
//
// https://github.com/passepartoutvpn
//
// This file is part of Passepartout.
//
// Passepartout is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Passepartout is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Passepartout. If not, see <http://www.gnu.org/licenses/>.
//
2024-11-23 19:31:22 +00:00
// MARK: Views
2024-09-23 13:02:26 +00:00
2024-09-28 10:47:33 +00:00
"views.about.title" = "About";
"views.about.sections.resources" = "Resources";
"views.about.links.title" = "Links";
"views.about.links.sections.support" = "Support";
"views.about.links.sections.web" = "Web";
"views.about.links.rows.join_community" = "Join community";
"views.about.links.rows.write_review" = "Write a review";
"views.about.links.rows.home_page" = "Home page";
"views.about.links.rows.disclaimer" = "Disclaimer";
"views.about.links.rows.privacy_policy" = "Privacy policy";
"views.about.credits.title" = "Credits";
"views.about.credits.licenses" = "Licenses";
"views.about.credits.notices" = "Notices";
"views.about.credits.translations" = "Translations";
2024-09-23 13:02:26 +00:00
2024-11-23 19:31:22 +00:00
"views.app.rows.not_installed" = "Select a profile";
"views.app.rows.no_modules" = "No active modules";
"views.app.folders.active_profile" = "Installed profile";
"views.app.folders.default" = "My profiles";
"views.app.folders.add_profile" = "Add profile";
"views.app.folders.no_profiles" = "No profiles";
"views.app.folders.no_profiles.migrate" = "Migrate old profiles...";
2024-11-26 18:14:56 +00:00
"views.app.toolbar.new_profile.empty" = "Empty profile";
"views.app.toolbar.new_profile.provider" = "Provider";
2024-11-23 19:31:22 +00:00
"views.app.toolbar.import_profile" = "Import profile";
"views.app.toolbar.migrate_profiles" = "Migrate profiles";
"views.app.tv.header" = "Open %@ on your iOS or macOS device and enable the \"%@\" toggle of a profile to make it appear here.";
"views.app.errors.tunnel" = "Unable to execute tunnel operation.";
"views.app.errors.duplicate" = "Unable to duplicate profile '%@'.";
"views.app.errors.import" = "Unable to import profiles.";
"views.app.profile_context.connect_to" = "Connect to...";
"views.app_menu.items.quit" = "Quit %@";
2024-09-23 13:02:26 +00:00
"views.diagnostics.title" = "Diagnostics";
"views.diagnostics.sections.live" = "Live log";
"views.diagnostics.sections.tunnel" = "Tunnel logs";
"views.diagnostics.rows.app" = "App";
"views.diagnostics.rows.tunnel" = "Tunnel";
"views.diagnostics.rows.include_private_data" = "Include private data";
"views.diagnostics.rows.remove_tunnel_logs" = "Delete all logs";
"views.diagnostics.openvpn.rows.server_configuration" = "Server configuration";
"views.diagnostics.report_issue.title" = "Report issue";
"views.diagnostics.alerts.report_issue.email" = "The device is not configured to send e-mails.";
2024-11-23 19:31:22 +00:00
"views.donate.title" = "Make a donation";
2024-11-23 22:01:11 +00:00
"views.donate.sections.main.footer" = "If you want to display gratitude for my work, here are a couple of amounts you can donate instantly. You will only be charged once per donation, and you can donate multiple times.";
2024-11-23 19:31:22 +00:00
"views.donate.alerts.thank_you.message" = "This means a lot to me and I really hope you keep using and promoting this app.";
"views.migration.title" = "Migrate";
"views.migration.no_profiles" = "Nothing to migrate";
"views.migration.items.discard" = "Discard";
"views.migration.items.migrate" = "Proceed";
"views.migration.sections.main.header" = "Select below the profiles from old versions of %@ that you want to import. In case your profiles are stored on iCloud, they may take a while to synchronize. If you do not see them now, please come back later.";
"views.migration.alerts.delete.message" = "Do you want to discard these profiles? You will not be able to recover them later.\n\n%@";
"views.paywall.sections.recurring.header" = "All features";
"views.paywall.sections.one_time.header" = "One-time purchase";
"views.paywall.sections.features.required.header" = "Required features";
"views.paywall.sections.features.other.header" = "Also included";
"views.paywall.sections.restore.header" = "Restore";
"views.paywall.sections.restore.footer" = "If you bought this app or feature in the past, you can restore your purchases.";
"views.paywall.rows.restore_purchases" = "Restore purchases";
2024-11-24 19:01:30 +00:00
"views.paywall.alerts.confirmation.title" = "Purchase required";
"views.paywall.alerts.confirmation.message" = "This profile requires paid features to work.";
2024-11-23 19:31:22 +00:00
"views.paywall.alerts.restricted.title" = "Restricted";
"views.paywall.alerts.restricted.message" = "Some features are unavailable in this build.";
"views.paywall.alerts.pending.message" = "The purchase is pending external confirmation. The feature will be credited upon approval.";
"views.preferences.launches_on_login" = "Launch on login";
"views.preferences.launches_on_login.footer" = "Open the app in background after login.";
"views.preferences.keeps_in_menu" = "Keep in menu bar";
"views.preferences.keeps_in_menu.footer" = "Enable this to keep the app in the menu bar after closing it.";
"views.preferences.locks_in_background" = "Lock in background";
"views.preferences.locks_in_background.footer" = "Lock the app with FaceID when sent to the background.";
"views.preferences.erase_icloud" = "Erase iCloud store";
"views.preferences.erase_icloud.footer" = "To erase the iCloud store securely, do so on all your synced devices. This will not affect local profiles.";
"views.profile.rows.add_module" = "Add module";
"views.profile.module_list.section.footer" = "Drag modules to rearrange them, as their order determines priority.";
"views.profile.alerts.purchase.buttons.ok" = "Save anyway";
"views.providers.no_provider" = "None";
"views.providers.select_provider" = "Select a provider";
"views.providers.select_entity" = "Select";
"views.providers.only_favorites" = "Only favorites";
"views.providers.clear_filters" = "Clear filters";
"views.providers.refresh_infrastructure" = "Refresh infrastructure";
"views.providers.last_updated" = "Last updated on %@";
"views.providers.last_updated.loading" = "Loading...";
2024-11-25 18:17:18 +00:00
"views.purchased.title" = "Purchased";
"views.purchased.sections.download.header" = "First download";
"views.purchased.sections.products.header" = "Purchases";
"views.purchased.sections.features.header" = "Eligible features";
"views.purchased.rows.build_number" = "Build number";
"views.purchased.rows.download_date" = "Download date";
"views.purchased.no_purchases" = "No purchases";
2024-11-23 19:31:22 +00:00
"views.ui.connection_status.on_demand_suffix" = " (on-demand)";
"views.ui.purchase_required.purchase.help" = "Purchase required";
"views.ui.purchase_required.restricted.help" = "Feature is restricted";
2024-11-26 00:04:58 +00:00
"views.vpn.category.any" = "All categories";
"views.vpn.preset" = "Preset";
"views.vpn.no_servers" = "No servers";
2024-11-23 19:31:22 +00:00
// MARK: Views (Modules)
2024-09-23 13:02:26 +00:00
2024-11-09 14:20:59 +00:00
"modules.general.sections.storage.header" = "%@";
"modules.general.sections.storage.footer" = "Profiles are stored to %@ encrypted.";
2024-11-23 19:31:22 +00:00
"modules.general.sections.storage.footer.purchase.tv_beta" = "TV profiles do not work in beta builds.";
"modules.general.sections.storage.footer.purchase.tv_release" = "TV profiles do not work without a purchase.";
2024-11-09 14:20:59 +00:00
"modules.general.rows.shared" = "Enabled";
2024-11-23 19:31:22 +00:00
"modules.general.rows.shared.purchase" = "Share on iCloud";
"modules.general.rows.appletv" = "%@";
"modules.general.rows.appletv.purchase" = "Drop TV restriction";
2024-10-28 19:07:19 +00:00
"modules.general.rows.import_from_file" = "Import from file...";
2024-10-03 16:41:27 +00:00
2024-09-23 13:02:26 +00:00
"modules.dns.servers.add" = "Add address";
"modules.dns.search_domains.add" = "Add domain";
"modules.http_proxy.bypass_domains.add" = "Add bypass domain";
"modules.ip.routes.include" = "Include route";
"modules.ip.routes.exclude" = "Exclude route";
"modules.ip.routes.included" = "Included routes";
"modules.ip.routes.excluded" = "Excluded routes";
"modules.ip.routes.add_family" = "Add %@";
"modules.on_demand.policy" = "Policy";
"modules.on_demand.policy.footer" = "Activate the VPN %@.";
"modules.on_demand.policy.footer.any" = "in any network";
"modules.on_demand.policy.footer.including" = "only in the networks below";
"modules.on_demand.policy.footer.excluding" = "except in the networks below";
"modules.on_demand.mobile" = "Mobile";
"modules.on_demand.ethernet" = "Ethernet";
"modules.on_demand.ssid.add" = "Add SSID";
"modules.openvpn.pull" = "Pull";
"modules.openvpn.redirect_gateway" = "Redirect gateway";
"modules.openvpn.credentials" = "Credentials";
"modules.openvpn.remotes" = "Remotes";
"modules.openvpn.communication" = "Communication";
"modules.openvpn.cipher" = "Cipher";
"modules.openvpn.digest" = "Digest";
"modules.openvpn.compression" = "Compression";
"modules.openvpn.compression_framing" = "Framing";
"modules.openvpn.compression_algorithm" = "Algorithm";
"modules.openvpn.tls_wrap" = "Wrapping";
"modules.openvpn.eku" = "Extended verification";
"modules.openvpn.renegotiation" = "Renegotiation";
"modules.openvpn.randomize_endpoint" = "Randomize endpoint";
"modules.openvpn.randomize_hostname" = "Randomize hostname";
"modules.openvpn.credentials.interactive" = "Interactive";
"modules.openvpn.credentials.interactive.footer" = "On-demand will be disabled.";
"modules.openvpn.credentials.otp_method.approach.append" = "The OTP will be appended to the password.";
"modules.openvpn.credentials.otp_method.approach.encode" = "The OTP will be encoded in Base64 with the password.";
2024-11-18 16:49:47 +00:00
"modules.wireguard.provider_key" = "Private key";
2024-09-23 13:02:26 +00:00
"modules.wireguard.interface" = "Interface";
"modules.wireguard.peer" = "Peer #%d";
"modules.wireguard.preshared_key" = "Pre-shared key";
"modules.wireguard.allowed_ips" = "Allowed IPs";
2024-11-23 19:31:22 +00:00
// MARK: - Entities
2024-10-25 09:38:27 +00:00
2024-11-23 19:31:22 +00:00
"entities.tunnel_status.inactive" = "Inactive";
"entities.tunnel_status.activating" = "Activating";
"entities.tunnel_status.active" = "Active";
"entities.tunnel_status.deactivating" = "Deactivating";
2024-10-29 10:40:11 +00:00
2024-11-23 19:31:22 +00:00
// MARK: Entities (Modules)
2024-10-29 10:40:11 +00:00
2024-11-23 19:31:22 +00:00
"entities.dns.servers" = "Servers";
"entities.dns.search_domains" = "Search domains";
2024-10-30 14:20:18 +00:00
2024-11-23 19:31:22 +00:00
"entities.dns_protocol.cleartext" = "Cleartext";
"entities.dns_protocol.https" = "Over HTTPS";
"entities.dns_protocol.tls" = "Over TLS";
2024-10-30 14:20:18 +00:00
2024-11-23 19:31:22 +00:00
"entities.http_proxy.bypass_domains" = "Bypass domains";
2024-09-30 17:35:41 +00:00
2024-11-23 19:31:22 +00:00
"entities.on_demand.policy.any" = "All networks";
"entities.on_demand.policy.excluding" = "Excluding";
"entities.on_demand.policy.including" = "Including";
2024-09-30 17:35:41 +00:00
2024-11-23 19:31:22 +00:00
"entities.openvpn.compression_algorithm.other" = "Unsupported";
"entities.openvpn.otp_method.none" = "None";
"entities.openvpn.otp_method.append" = "Append";
"entities.openvpn.otp_method.encode" = "Encode";
2024-10-28 18:55:42 +00:00
2024-11-23 19:31:22 +00:00
// MARK: - Features
2024-11-07 17:27:36 +00:00
2024-11-23 19:31:22 +00:00
"features.appletv" = "%@";
2024-11-18 16:43:01 +00:00
"features.dns" = "%@ Settings";
2024-11-23 19:31:22 +00:00
"features.http_proxy" = "%@ Settings";
2024-11-07 17:27:36 +00:00
"features.interactiveLogin" = "Interactive Login";
2024-11-23 19:31:22 +00:00
"features.on_demand" = "On-Demand Rules";
2024-11-07 17:27:36 +00:00
"features.providers" = "All Providers";
2024-11-18 16:43:01 +00:00
"features.routing" = "Custom %@";
2024-11-09 14:20:59 +00:00
"features.sharing" = "%@";
2024-11-05 17:55:57 +00:00
2024-11-23 19:31:22 +00:00
// MARK: - Global
// MARK: Global (Actions)
"global.actions.cancel" = "Cancel";
"global.actions.connect" = "Connect";
"global.actions.delete" = "Delete";
"global.actions.disable" = "Disable";
"global.actions.disconnect" = "Disconnect";
"global.actions.duplicate" = "Duplicate";
"global.actions.edit" = "Edit";
"global.actions.enable" = "Enable";
"global.actions.hide" = "Hide";
"global.actions.purchase" = "Purchase";
"global.actions.remove" = "Delete";
"global.actions.restart" = "Restart";
"global.actions.save" = "Save";
"global.actions.select" = "Select";
"global.actions.show" = "Show";
// MARK: Global (Nouns)
"global.nouns.about" = "About";
"global.nouns.account" = "Account";
"global.nouns.address" = "Address";
"global.nouns.addresses" = "Addresses";
"global.nouns.any" = "Any";
"global.nouns.category" = "Category";
"global.nouns.certificate" = "Certificate";
"global.nouns.compression" = "Compression";
"global.nouns.connection" = "Connection";
"global.nouns.country" = "Country";
"global.nouns.default" = "Default";
"global.nouns.destination" = "Destination";
"global.nouns.disabled" = "Disabled";
"global.nouns.domain" = "Domain";
"global.nouns.done" = "Done";
"global.nouns.do_not_ask_again" = "Don't ask again";
"global.nouns.empty" = "Empty";
"global.nouns.enabled" = "Enabled";
"global.nouns.endpoint" = "Endpoint";
"global.nouns.filters" = "Filters";
"global.nouns.folder" = "Folder";
"global.nouns.gateway" = "Gateway";
"global.nouns.general" = "General";
"global.nouns.hostname" = "Hostname";
"global.nouns.interface" = "Interface";
"global.nouns.keep_alive" = "Keep-alive";
"global.nouns.key" = "Key";
"global.nouns.last_update" = "Last update";
"global.nouns.loading" = "Loading";
"global.nouns.method" = "Method";
"global.nouns.modules" = "Modules";
"global.nouns.n_seconds" = "%d seconds";
"global.nouns.name" = "Name";
"global.nouns.networks" = "Networks";
"global.nouns.no_content" = "No content";
"global.nouns.no_selection" = "No selection";
"global.nouns.none" = "None";
"global.nouns.ok" = "OK";
"global.nouns.on_demand" = "On-demand";
"global.nouns.other" = "Other";
"global.nouns.password" = "Password";
"global.nouns.port" = "Port";
"global.nouns.private_key" = "Private key";
"global.nouns.profile" = "Profile";
"global.nouns.protocol" = "Protocol";
"global.nouns.provider" = "Provider";
"global.nouns.public_key" = "Public key";
"global.nouns.region" = "Region";
"global.nouns.route" = "Route";
"global.nouns.routes" = "Routes";
"global.nouns.routing" = "Routing";
"global.nouns.server" = "Server";
"global.nouns.servers" = "Servers";
"global.nouns.settings" = "Settings";
"global.nouns.status" = "Status";
"global.nouns.subnet" = "Subnet";
"global.nouns.unknown" = "Unknown";
"global.nouns.username" = "Username";
"global.nouns.version" = "Version";
// MARK: Global (Placeholders)
"placeholders.profile.name" = "My profile";
"placeholders.on_demand.ssid" = "My SSID";
"placeholders.username" = "username";
"placeholders.secret" = "secret";
2024-10-28 18:55:42 +00:00
2024-11-23 19:31:22 +00:00
// MARK: Global (Alerts)
2024-09-23 13:02:26 +00:00
2024-11-25 20:55:31 +00:00
"alerts.community.message" = "Did you know that Passepartout has a subreddit? Subscribe for updates or to discuss issues, features, new platforms or whatever you like.\n\nIt's also a great way to show you care about this project.";
"alerts.community.subscribe" = "Subscribe now";
"alerts.community.dismiss" = "No, thanks";
2024-10-28 19:07:19 +00:00
"alerts.import.passphrase.message" = "Enter passphrase for '%@'.";
"alerts.import.passphrase.ok" = "Decrypt";
2024-11-24 00:01:04 +00:00
"alerts.providers.missing_server.message" = "No provider server selected. Please select a destination server on your iOS/macOS device.";
2024-10-28 19:07:19 +00:00
2024-11-23 19:31:22 +00:00
// MARK: Global (App errors)
2024-09-23 13:02:26 +00:00
2024-11-23 19:31:22 +00:00
"errors.app.default" = "Unable to complete operation.";
2024-11-07 22:02:10 +00:00
"errors.app.empty_products" = "Unable to fetch products, please retry later.";
2024-09-23 13:02:26 +00:00
"errors.app.empty_profile_name" = "Profile name is empty.";
"errors.app.malformed_module" = "Module %@ is malformed. %@";
2024-10-28 19:30:22 +00:00
"errors.app.provider.required" = "No provider selected.";
2024-11-23 19:31:22 +00:00
// MARK: Global (PassepartoutKit errors)
2024-10-16 07:50:26 +00:00
"errors.app.passepartout.connection_module_required" = "Routing module can only be enabled together with a connection.";
"errors.app.passepartout.corrupt_provider_module" = "Unable to connect to provider server (reason=%@).";
"errors.app.passepartout.incompatible_modules" = "Some active modules are incompatible, try to only activate one of them.";
2024-10-28 19:30:22 +00:00
"errors.app.passepartout.invalid_fields" = "Invalid fields.";
"errors.app.passepartout.missing_provider_entity" = "No provider server selected.";
2024-11-01 19:01:18 +00:00
"errors.app.passepartout.no_active_modules" = "The profile has no active modules.";
2024-09-23 13:02:26 +00:00
"errors.app.passepartout.parsing" = "Unable to parse file.";
2024-10-28 19:30:22 +00:00
"errors.app.passepartout.provider_required" = "No provider selected.";
2024-09-23 13:02:26 +00:00
"errors.app.passepartout.default" = "Unable to complete operation (code=%@).";
"errors.tunnel.auth" = "Auth failed";
"errors.tunnel.compression" = "Compression unsupported";
"errors.tunnel.dns" = "DNS failed";
"errors.tunnel.encryption" = "Encryption failed";
2024-11-09 14:20:59 +00:00
"errors.tunnel.ineligible" = "Purchase required";
2024-09-23 13:02:26 +00:00
"errors.tunnel.routing" = "Missing routing";
"errors.tunnel.shutdown" = "Server shutdown";
"errors.tunnel.timeout" = "Timeout";
"errors.tunnel.tls" = "TLS failed";
"errors.tunnel.generic" = "Failed";
2024-11-23 19:31:22 +00:00
// MARK: Global (Theme)
"theme.confirmation.ok" = "Confirm";
"theme.confirmation.cancel" = "Cancel";
"theme.confirmation.message" = "Are you sure you want to proceed with this operation?";
"theme.lock_screen.reason" = "%@ is locked";