Update metadata and translations (#365)

This commit is contained in:
Davide De Rosa 2023-10-10 23:00:19 +02:00 committed by GitHub
parent 7de000148f
commit 12c08c132c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
60 changed files with 308 additions and 152 deletions

View File

@ -15,7 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Make iCloud an opt-in preference. [#227](https://github.com/passepartoutvpn/passepartout-apple/issues/227)
- OpenVPN: Endpoint UX. [#332](https://github.com/passepartoutvpn/passepartout-apple/pull/332)
- Convert trusted networks to on-demand activation. [#119](https://github.com/passepartoutvpn/passepartout-apple/issues/119)
- Convert trusted networks to on demand activation. [#119](https://github.com/passepartoutvpn/passepartout-apple/issues/119)
## 2.1.2 (2023-07-06)

View File

@ -131,6 +131,7 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = "it"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"

View File

@ -125,10 +125,10 @@ private extension AppContext {
return true
}
// eligibility: reset on-demand rules if no trusted networks
// eligibility: reset on demand rules if no trusted networks
func isEligibleForOnDemandRules() -> Bool {
guard productManager.isEligible(forFeature: .trustedNetworks) else {
pp_log.warning("Ignore on-demand rules, not eligible for trusted networks")
pp_log.warning("Ignore on demand rules, not eligible for trusted networks")
return false
}
return true

View File

@ -100,7 +100,6 @@ extension Profile.WireGuardSettings: StyledOptionalLocalizableEntity {
extension Profile.OnDemand.Policy: LocalizableEntity {
public var localizedDescription: String {
// FIXME: l10n, on-demand
switch self {
case .any:
return L10n.OnDemand.Policy.any

View File

@ -42,7 +42,7 @@ extension WireGuard.ConfigurationBuilder: StyledOptionalLocalizableEntity {
private extension UInt16 {
var keepAliveDescription: String {
// FIXME: l10n, move from OpenVPN to shared
// TODO: l10n, move from OpenVPN to shared
let V = L10n.Endpoint.Advanced.Openvpn.Items.self
if self > 0 {
return V.KeepAlive.Value.seconds(Int(self))

View File

@ -28,5 +28,6 @@ import PassepartoutCore
public protocol UpgradeManagerStrategy {
func migrate(store: KeyValueStore, lastVersion: String?)
func migrateData()
}

View File

@ -92,7 +92,6 @@ private extension EndpointView.OpenVPNView {
Section {
Toggle(L10n.Global.Strings.automatic, isOn: $isAutomatic.themeAnimation())
} footer: {
// FIXME: l10n, endpoint
themeErrorMessage(isManualEndpointRequired ? L10n.Endpoint.Errors.endpointRequired : nil)
}
}

View File

@ -69,7 +69,6 @@ private extension OnDemandView {
Toggle(L10n.Global.Strings.enabled, isOn: $onDemand.isEnabled.themeAnimation())
if onDemand.isEnabled {
themeTextPicker(
// FIXME: l10n, on-demand
L10n.Global.Strings.policy,
selection: $onDemand.policy,
values: [.any, .including, .excluding],
@ -81,7 +80,6 @@ private extension OnDemandView {
}
}
// FIXME: l10n, on-demand
var policyFooterDescription: String {
guard onDemand.isEnabled else {
return "" // better animation than removing footer completely
@ -92,13 +90,11 @@ private extension OnDemandView {
suffix = L10n.OnDemand.Sections.Policy.Footer.any
case .including, .excluding:
let arg: String
if onDemand.policy == .including {
arg = L10n.OnDemand.Sections.Policy.Footer.including
suffix = L10n.OnDemand.Sections.Policy.Footer.including
} else {
arg = L10n.OnDemand.Sections.Policy.Footer.excluding
suffix = L10n.OnDemand.Sections.Policy.Footer.excluding
}
suffix = L10n.OnDemand.Sections.Policy.Footer.matching(arg)
}
return L10n.OnDemand.Sections.Policy.footer(suffix)
}
@ -109,14 +105,12 @@ private extension OnDemandView {
Section {
Toggle(L10n.OnDemand.Items.Mobile.caption, isOn: $onDemand.withMobileNetwork)
} header: {
// FIXME: l10n, on-demand
Text(L10n.Global.Strings.networks)
}
} else if Utils.hasEthernet() {
Section {
Toggle(L10n.OnDemand.Items.Ethernet.caption, isOn: $onDemand.withEthernetNetwork)
} header: {
// FIXME: l10n, on-demand
Text(L10n.Global.Strings.networks)
}
}

View File

@ -4,6 +4,25 @@
//
// Created by Davide De Rosa on 6/13/18.
// Copyright (c) 2023 Davide De Rosa. All rights reserved.
"global.strings.policy" = "Richtlinie";
"global.strings.networks" = "Netzwerke";
"global.strings.edit" = "Bearbeiten";
"global.strings.unknown" = "Unbekannt";
/* MARK: ProfileView -> EndpointView */
"endpoint.errors.endpoint_required" = "Bitte einen Endpunkt";
"on_demand.sections.policy.footer.any" = "in einem beliebigen Netzwerk auswählen";
"on_demand.sections.policy.footer.including" = "innerhalb der unten stehenden Netzwerke auswählen";
"on_demand.sections.policy.footer.excluding" = "außerhalb der unten stehenden Netzwerke auswählen";
"on_demand.policy.any" = "Alle Netzwerke";
"on_demand.policy.including" = "Einschließlich";
"on_demand.policy.excluding" = "Ausschließlich";
"settings.sections.icloud.footer" = "Deaktiviere zum Löschen die Synchronisierung. Tue dies auf allen synchronisierten Geräten, um den iCloud-Store sicher zu löschen. Lokale Profile sind davon nicht betroffen.";
"settings.items.should_enable_cloud_syncing.caption" = "Mit iCloud synchronisieren";
"settings.items.erase_cloud_store.caption" = "iCloud-Store löschen";
/* MARK: Global */
"global.strings.cancel" = "Abbrechen";
@ -202,7 +221,6 @@
"account.sections.guidance.footer.infrastructure.windscribe" = "Deine Zugangsdaten für %@ findest du im OpenVPN Config Generator auf der Webseite.";
/* MARK: ProfileView -> EndpointView */
"endpoint.wireguard.items.peer.caption" = "Peer";
"endpoint.wireguard.items.preshared_key.caption" = "Vorinstallierter Key";
"endpoint.wireguard.items.allowed_ip.caption" = "Zulässige IP";
@ -249,15 +267,14 @@
/* MARK: ProfileView -> OnDemandView */
"on_demand.title" = "Vertrauenswürdige Netzwerke";
"on_demand.sections.policy.footer" = "Wenn ein vertrauenswürdiges Netzwerk verbunden wird, wird normalerweise die VPN-Verbindung beendet und bleibt deaktiviert. Deaktiviere diese Option um dieses Verhalten zu unterbinden.";
"on_demand.title" = "On-demand";
"on_demand.sections.policy.footer" = "VPN %@ aktivieren.";
"on_demand.items.add_ssid.caption" = "WLAN hinzufügen";
"on_demand.items.active.caption" = "Vertrauen";
"on_demand.items.mobile.caption" = "Mobilfunknetz";
"on_demand.items.ethernet.caption" = "Kabelverbindungen vertrauen";
"on_demand.items.ethernet.description" = "Hier ein Häkchen setzen, um jeder Kabelverbindung zu vertrauen.";
"on_demand.items.policy.caption" = "Vertrauen deaktiviert VPN";
"on_demand.items.ethernet.caption" = "Kabelverbindungen";
"on_demand.items.policy.caption" = "Vertrauen deaktiviert VPN";
/* MARK: ProfileView -> DiagnosticsView */
"diagnostics.title" = "Diagnose";

View File

@ -4,6 +4,25 @@
//
// Created by Davide De Rosa on 6/13/18.
// Copyright (c) 2023 Davide De Rosa. All rights reserved.
"global.strings.policy" = "Πολιτική";
"global.strings.networks" = "Δίκτυα";
"global.strings.edit" = "Επεξεργασία";
"global.strings.unknown" = "Άγνωστο";
/* MARK: ProfileView -> EndpointView */
"endpoint.errors.endpoint_required" = "Επιλέξτε ένα καταληκτικό σημείο";
"on_demand.sections.policy.footer.any" = "σε οποιοδήποτε δίκτυο";
"on_demand.sections.policy.footer.including" = "μόνο στα παρακάτω δίκτυα";
"on_demand.sections.policy.footer.excluding" = "εκτός από τα παρακάτω δίκτυα";
"on_demand.policy.any" = "Όλα τα δίκτυα";
"on_demand.policy.including" = "Συμπερίληψη";
"on_demand.policy.excluding" = "Αποκλεισμός";
"settings.sections.icloud.footer" = "Απενεργοποιήστε τον συγχρονισμό για να επιτραπεί η διαγραφή. Για να διαγράψετε το κατάστημα iCloud με ασφάλεια, κάντε το σε όλες τις συγχρονισμένες συσκευές σας. Αυτό δεν θα επηρεάσει τα τοπικά προφίλ.";
"settings.items.should_enable_cloud_syncing.caption" = "Συγχρονισμός με iCloud";
"settings.items.erase_cloud_store.caption" = "Διαγραφή καταστήματος iCloud";
/* MARK: Global */
"global.strings.cancel" = "Ακύρωση";
@ -202,7 +221,6 @@
"account.sections.guidance.footer.infrastructure.windscribe" = "Βρείτε τα διαπιστευτήριά σας %@ στο OpenVPN Config Generator στον ιστότοπο.";
/* MARK: ProfileView -> EndpointView */
"endpoint.wireguard.items.peer.caption" = "Ομότιμο";
"endpoint.wireguard.items.preshared_key.caption" = "Κλειδί προδιαμοιρασμού";
"endpoint.wireguard.items.allowed_ip.caption" = "Επιτρεπόμενη IP";
@ -249,15 +267,14 @@
/* MARK: ProfileView -> OnDemandView */
"on_demand.title" = "Αξιόπιστα δίκτυα";
"on_demand.sections.policy.footer" = "Κατά την είσοδο σε ένα αξιόπιστο δίκτυο, το VPN απενεργοποιείται κανονικά και διατηρείται αποσυνδεδεμένο. Απενεργοποιήστε αυτήν την επιλογή για να μην έχετε μια τέτοια συμπεριφορά.";
"on_demand.title" = "Κατά παραγγελία";
"on_demand.sections.policy.footer" = "Ενεργοποιήστε το VPN %@.";
"on_demand.items.add_ssid.caption" = "Προσθέστε Wi-Fi";
"on_demand.items.active.caption" = "Εμπιστευθείτε";
"on_demand.items.mobile.caption" = "Δίκτυο Κινητής";
"on_demand.items.ethernet.caption" = "Εμπιστευθείτε τις ενσύρματες συνδέσεις";
"on_demand.items.ethernet.description" = "Επιλέξτε για να εμπιστευθείτε οποιαδήποτε ενσύρματη σύνδεση καλωδίου.";
"on_demand.items.policy.caption" = "Τα αξιόπιστα δίκτυα απενεργοποιούν το VPN";
"on_demand.items.ethernet.caption" = "Ενσύρματες συνδέσεις";
"on_demand.items.policy.caption" = "Τα αξιόπιστα δίκτυα απενεργοποιούν το VPN";
/* MARK: ProfileView -> DiagnosticsView */
"diagnostics.title" = "Διαγνωστικά";

View File

@ -4,6 +4,25 @@
//
// Created by Davide De Rosa on 6/13/18.
// Copyright (c) 2023 Davide De Rosa. All rights reserved.
"global.strings.policy" = "Policy";
"global.strings.networks" = "Networks";
"global.strings.edit" = "Edit";
"global.strings.unknown" = "Unknown";
/* MARK: ProfileView -> EndpointView */
"endpoint.errors.endpoint_required" = "Please select an endpoint";
"on_demand.sections.policy.footer.any" = "in any network";
"on_demand.sections.policy.footer.including" = "only in the networks below";
"on_demand.sections.policy.footer.excluding" = "except in the networks below";
"on_demand.policy.any" = "All networks";
"on_demand.policy.including" = "Include";
"on_demand.policy.excluding" = "Exclude";
"settings.sections.icloud.footer" = "Disable sync to allow erase. To erase the iCloud store securely, do so on all your synced devices. This will not affect local profiles.";
"settings.items.should_enable_cloud_syncing.caption" = "Sync with iCloud";
"settings.items.erase_cloud_store.caption" = "Erase iCloud store";
/* MARK: Global */
"global.strings.cancel" = "Cancel";
@ -51,10 +70,6 @@
"global.strings.disconnect" = "Disconnect";
"global.strings.download" = "Download";
"global.strings.authentication" = "Authentication";
"global.strings.policy" = "Policy";
"global.strings.networks" = "Networks";
"global.strings.edit" = "Edit";
"global.strings.unknown" = "Unknown";
"global.messages.unlock_app" = "Passepartout is locked";
"global.messages.email_not_configured" = "No e-mail account is configured.";
"global.messages.share" = "Passepartout is a user-friendly, open source OpenVPN / WireGuard client for iOS and macOS";
@ -206,9 +221,6 @@
"account.sections.guidance.footer.infrastructure.windscribe" = "Find your %@ credentials in the OpenVPN Config Generator on the website.";
/* MARK: ProfileView -> EndpointView */
"endpoint.errors.endpoint_required" = "Please select an endpoint";
"endpoint.wireguard.items.peer.caption" = "Peer";
"endpoint.wireguard.items.preshared_key.caption" = "Preshared key";
"endpoint.wireguard.items.allowed_ip.caption" = "Allowed IP";
@ -255,21 +267,14 @@
/* MARK: ProfileView -> OnDemandView */
"on_demand.title" = "On-demand";
"on_demand.title" = "On demand";
"on_demand.sections.policy.footer" = "Activate the VPN %@.";
"on_demand.sections.policy.footer.any" = "in any network";
"on_demand.sections.policy.footer.matching" = "%@ the networks below";
"on_demand.sections.policy.footer.including" = "only in";
"on_demand.sections.policy.footer.excluding" = "except in";
"on_demand.items.add_ssid.caption" = "Add Wi-Fi";
"on_demand.items.active.caption" = "Trust";
"on_demand.items.mobile.caption" = "Cellular network";
"on_demand.items.ethernet.caption" = "Wired connections";
"on_demand.items.ethernet.description" = "Check to match any wired cable connection.";
"on_demand.policy.any" = "All networks";
"on_demand.policy.including" = "Include";
"on_demand.policy.excluding" = "Exclude";
"on_demand.items.policy.caption" = "Trust disables VPN";
/* MARK: ProfileView -> DiagnosticsView */
"diagnostics.title" = "Diagnostics";
@ -332,10 +337,7 @@
/* MARK: SettingsView */
"settings.title" = "Settings";
"settings.sections.icloud.footer" = "Disable sync to allow erase. To erase the iCloud store securely, do so on all your synced devices. This will not affect local profiles.";
"settings.items.locks_in_background.caption" = "Lock app access";
"settings.items.should_enable_cloud_syncing.caption" = "Sync with iCloud";
"settings.items.erase_cloud_store.caption" = "Erase iCloud store";
"settings.items.donate.caption" = "Make a donation";
/* MARK: AboutView */

View File

@ -4,6 +4,25 @@
//
// Created by Davide De Rosa on 6/13/18.
// Copyright (c) 2023 Davide De Rosa. All rights reserved.
"global.strings.policy" = "Política";
"global.strings.networks" = "Redes";
"global.strings.edit" = "Modificar";
"global.strings.unknown" = "Desconocido";
/* MARK: ProfileView -> EndpointView */
"endpoint.errors.endpoint_required" = "Seleccionar un extremo";
"on_demand.sections.policy.footer.any" = "en cualquier red";
"on_demand.sections.policy.footer.including" = "sólo en las redes abajo";
"on_demand.sections.policy.footer.excluding" = "excepto en las redes abajo";
"on_demand.policy.any" = "Todas las redes";
"on_demand.policy.including" = "Incluir";
"on_demand.policy.excluding" = "Excluir";
"settings.sections.icloud.footer" = "Deshabilitar la sincronización para esta operación. Para borrar el store iCloud, repetir en todos los dispositivos sincronizados. Esto no afectará los perfiles locales.";
"settings.items.should_enable_cloud_syncing.caption" = "Sincronizar con iCloud";
"settings.items.erase_cloud_store.caption" = "Borrar store iCloud";
/* MARK: Global */
"global.strings.cancel" = "Cancelar";
@ -202,7 +221,6 @@
"account.sections.guidance.footer.infrastructure.windscribe" = "Encuentra tus credenciales %@ en el \"OpenVPN Config Generator\" en la web.";
/* MARK: ProfileView -> EndpointView */
"endpoint.wireguard.items.peer.caption" = "Peer";
"endpoint.wireguard.items.preshared_key.caption" = "Clave previamente compartida";
"endpoint.wireguard.items.allowed_ip.caption" = "IP permitida";
@ -249,15 +267,14 @@
/* MARK: ProfileView -> OnDemandView */
"on_demand.title" = "Redes de confianza";
"on_demand.sections.policy.footer" = "Entrando en una red de confianza, normalmente el VPN es cerrado y mantenido desconectado. Deshabilitar esta opción para no forzar este modo.";
"on_demand.title" = "On demand";
"on_demand.sections.policy.footer" = "Activar la VPN %@.";
"on_demand.items.add_ssid.caption" = "Añadir Wi-Fi";
"on_demand.items.active.caption" = "Confianza";
"on_demand.items.mobile.caption" = "Red móvil";
"on_demand.items.ethernet.caption" = "Confiar en conexiones cableadas";
"on_demand.items.ethernet.description" = "Activa esta opción para confiar en cualquier conexión cableada.";
"on_demand.items.policy.caption" = "Red de confianza deshabilita el VPN";
"on_demand.items.ethernet.caption" = "Conexiones cableadas";
"on_demand.items.policy.caption" = "Red de confianza deshabilita el VPN";
/* MARK: ProfileView -> DiagnosticsView */
"diagnostics.title" = "Diagnósticos";

View File

@ -1,7 +1,5 @@
Passepartout ist ein smarter VPN client der perfekt in die Apple-Plattform integriert ist. Passepartout ist die einzige App, die du brauchst um gängige VPN-Anbieter als auch deinen persönlichen VPN-Server zu nutzen.
Mit vertrauenswürdigen Netzwerken, eröffnet Passepartout die besten Möglichkeiten ein VPN zu nutzen.
Passepartout erzeugt keinerlei ungewollte Hintergrundaktivitäten außer dem VPN-Tunnel und ist daher sehr Firewall-freundlich.
Passepartout ist Open Source: https://github.com/passepartoutvpn
@ -28,7 +26,7 @@ EINFACH ZU BENUTZEN
- Unglaublich einfach zu benutzen, natives Aussehen und Integration.
- Verwalte alle Profile an einem Platz.
- Importiere .ovpn / .conf Konfigurationsdateien.
- Verwenden vertrauenswürdige Netzwerke, für fein einstellbare Konnektivität.
- Verwenden On-demand-Regeln, um deine Verbindung zu optimieren.
- Feintune die Verschlüsselung ohne Änderungen an der Konfigurationsdatei.
- Netzwerkeinstellungen schnell übersteuern (Standart-Gateway, DNS, Proxy, MTU).

View File

@ -1,7 +1,5 @@
Το Passepartout είναι ένας έξυπνος πελάτης VPN που είναι απόλυτα ενσωματωμένος στις πλατφόρμες Apple. Το Passepartout είναι η μόνη εφαρμογή που χρειάζεστε για τους δύο γνωστούς παρόχους VPN και τους προσωπικούς σας διακομιστές VPN.
Με τα Αξιόπιστα Δίκτυα, η Passepartout ξεκλειδώνει το καλύτερο από τη χρήση ενός VPN στο iOS.
Το Passepartout δεν εμπλέκεται σε οποιαδήποτε δραστηριότητα στο παρασκήνιο εκτός από τη σύνδεση για το VPN και έτσι είναι πιο φιλική προς τα τείχη προστασίας.
To Passepartout βασίζεται σε ανοιχτό κώδικα: https://github.com/passepartoutvpn
@ -28,7 +26,7 @@ To Passepartout βασίζεται σε ανοιχτό κώδικα: https://git
- Απίστευτη ευκολία χρήσης, με φυσική εμφάνιση και αίσθηση.
- Χειριστείτε τα προφίλ σας σε ένα μόνο μέρος.
- Εισαγωγή αρχείων ρυθμίσεων .ovpn / .conf.
- Χρησιμοποιήστε Αξιόπιστα Δίκτυα για να τελειοποιήσετε τη συνδεσιμότητά σας.
- Χρησιμοποιήστε δίκτυα κατά παραγγελία για τελειοποίηση της συνδεσιμότητάς σας.
- Ρυθμίστε την κρυπτογράφηση χωρίς να τροποποιήσετε οποιοδήποτε αρχείο ρυθμίσεων.
- Παρακάμψετε τις ρυθμίσεις δικτύου με ένα πρόγραμμα (default gateway, DNS, proxy, MTU).

View File

@ -1,7 +1,5 @@
Passepartout is a smart VPN client perfectly integrated with Apple platforms. Passepartout is the only app you need for both well-known VPN providers and your personal VPN servers.
With Trusted Networks, Passepartout unlocks the very best of using a VPN.
Passepartout does not engage any unrequested background activity other than the VPN tunnel, thus being also friendlier to firewalls.
Passepartout is open source: https://github.com/passepartoutvpn
@ -28,7 +26,7 @@ EASY TO USE
- Incredible ease of use, with native look & feel.
- Handle your profiles in one single place.
- Import .ovpn / .conf configuration files.
- Use Trusted Networks to fine-grain your connectivity.
- Use on demand rules to fine-grain your connectivity.
- Fine-tune encryption without tweaking any configuration file.
- Override network settings in a snap (default gateway, DNS, proxy, MTU).

View File

@ -1,7 +1,5 @@
Passepartout es un cliente VPN inteligente perfectamente integrado con las plataformas Apple. Passepartout es la única aplicación que necesitas para conectarte con proveedores VPN conocidos o con tu propio servidor VPN.
Con las Redes de Confianza, Passepartout saca lo mejor a la hora de usar un VPN.
Passepartout no mantiene ninguna actividad en segundo plano que no sea el túnel VPN, siendo así compatible con los cortafuegos.
Passepartout tiene código abierto: https://github.com/passepartoutvpn
@ -28,7 +26,7 @@ FÁCIL DE USAR
- Increíble facilidad de uso, con aspecto nativo.
- Gestiona tus perfiles en una sola pantalla.
- Importa ficheros de configuración .ovpn / .conf.
- Usa las redes de confianza para refinar tu conectividad.
- Usa las reglas on demand para refinar tu conectividad.
- Configura el cifrado sin retocar ningún fichero de configuración.
- Sobrescribe los ajustes de red en un chasquido (puerta de enlace, DNS, proxy, MTU).

View File

@ -1,7 +1,5 @@
Passepartout est un client VPN parfaitement intégré avec les plateformes Apple. Passepartout est le seul app dont vous aurez besoin, autant pour les fournisseurs connu VPN, que pour vos serveurs VPN privés.
Avec les réseaux de confiance, Passepartout ouvre toutes les possibilités d'utiliser un VPN.
Passepartout n'engage pas de requêtes non requises en arrière-plan, autre que le tunnel VPN, ce qui le rend plus accessible avec les coupe-feu.
Passepartout est open source: https://github.com/passepartoutvpn
@ -28,7 +26,7 @@ FACILE D'UTILISATION
- Utilisation très simple, look natif iOS.
- Gérez vos profils en un seul endroit.
- Importez les fichiers de configuration .ovpn / .conf.
- Usez les réseaux de confiance pour peaufiner vos connections.
- Utilisez les règles sur demande pour parfaire votre connexion.
- Affinez l'encryption sans modifier les fichiers de configuration.
- Outrepassez les paramètres réseaux en un clin d'oeil (passerelle par défaut, DNS, proxy, MTU).

View File

@ -1,7 +1,5 @@
Passepartout è un client VPN intelligente perfettamente integrato con le piattaforme Apple. Passepartout è l'unica app di cui hai bisogno sia per provider VPN conosciuti che per i tuoi server VPN personali.
Con le Reti Sicure, Passepartout è il modo migliore di usare una VPN.
Passepartout non avvia in background nessuna attività non richiesta che non sia la VPN, essendo per questo motivo anche più congeniale ai firewall.
Passepartout è open source: https://github.com/passepartoutvpn
@ -28,7 +26,7 @@ FACILE DA USARE
- Incredibilmente semplice, con look nativo.
- Gestisci i tuoi profili in una singola schermata.
- Importa file di configurazione .ovpn / .conf.
- Usa le reti sicure per personalizzare la tua connettività.
- Usa le regole on demand per personalizzare la tua connettività.
- Regola la crittografia senza toccare alcun file di configurazione.
- Sovrascrivi le impostazioni di rete in un attimo (gateway predefinito, DNS, proxy, MTU).

View File

@ -1,7 +1,5 @@
Passepartout is een slimme VPN-client die perfect is geïntegreerd in Apple-platformen. Passepartout is de enige app die je nodig hebt voor zowel bekende VPN-providers als je eigen VPN-servers.
Met Trusted Networks haal je met Passepartout het meest uit het gebruik van een VPN.
Passepartout neemt geen andere ongevraagde achtergrondactiviteit op dan de VPN-tunnel en is hierdoor ook vriendelijker voor firewalls.
Passepartout is open source: https://github.com/passepartoutvpn
@ -28,7 +26,7 @@ GEBRUIKSVRIENDELIJK
- Ongelooflijk gebruiksgemak, met native look & feel.
- Beheer je profielen op één plek.
- Importeer .ovpn / .conf-configuratiebestanden.
- Gebruik Trusted Networks om je connectiviteit nauwkeurig af te stellen.
- Gebruik on-demand regels om uw connectiviteit te verfijnen.
- Verfijn de codering zonder configuratiebestanden te hoeven aanpassen.
- Overschrijf netwerkinstellingen in een flits (standaard poortadres, DNS, proxy, MTU).

View File

@ -1,7 +1,5 @@
Passepartout jest inteligentnym klientem VPN, perfekcyjnie zintegrowanym z platformami systemu iOS. Passepartout to jedyna aplikacja, jakiej potrzebujesz do łączenia przez renomowanych dostawców VPN i swoje prywatne serwery VPN.
Dzięki funkcji Zaufanych Sieci Passepartout zapewnia wszystko, co najlepsze w korzystaniu z VPN w systemie iOS.
Passepartout nie wykonuje żadnych niepożądanych działań w tle poza łączeniem z tunelem VPN, dzięki czemu jest również bardziej przyjazna dla firewalli.
Passepartout jest aplikacją typu open source: https://github.com/passepartoutvpn
@ -25,10 +23,11 @@ Passepartout oferuje gotowe konfiguracje najważniejszych dostawców VPN:
ŁATWOŚĆ OBSŁUGI
- Niesamowita łatwość użytkowania dzięki natywnej szacie graficznej i funkcjonalnościom.
- Obsługa wszystkich profili w jednym miejscu
- Niesamowita łatwość użytkowania dzięki natywnej szacie graficznej i funkcjonalnościom.
- Obsługa wszystkich profili w jednym miejscu.
- Import plików konfiguracyjnych .ovpn / .conf
- Optymalne szyfrowanie bez konieczności modyfikowania pliku konfiguracyjnego
- Użyj reguł na żądanie, aby doprecyzować swoją łączność.
- Optymalne szyfrowanie bez konieczności modyfikowania pliku konfiguracyjnego.
- Błyskawiczne zastępowanie ustawień sieciowych (domyślna bramka), DNS, proxy, MTU.
PRZYJAZNA PRYWATNOŚCI

View File

@ -1,7 +1,5 @@
Passepartout é um cliente inteligente de VPN perfeitamente integrado com Apple. Passepartout é o único aplicativo que possibilita serviços populares de VPN ou de sua própria escolha.
Com "Redes confiáveis", Passepartout possibilita uma melhor experiência VPN.
Passepartout não executa nenhum processo em plano de fundo além do túnel VPN, onde os mesmos são amigáveis com firewall.
Passepartout possui código aberto: https://github.com/passepartoutvpn
@ -28,7 +26,7 @@ FÁCIL DE USAR
- Fácil de usar com seu visual e experiência nativa.
- Controle seus perfis em um único lugar.
- Importe arquivos de configuração .ovpn / .conf.
- Use as "Redes confiáveis" para melhor configurar sua conectividade.
- Utilize as regras personalizadas para melhorar a sua conetividade.
- Habilite criptografia sem melhorar nenhum arquivo de configuração.
- Substitua configurações de rede em um piscar de olhos (gateway padrão, DNS, proxy, MTU).

View File

@ -1,7 +1,5 @@
Passepartout — это умный VPN-клиент, идеально интегрированный с платформами Apple. Passepartout — единственное приложение, которое вам понадобится и для хорошо известных VPN-провайдеров, и для собственных VPN-серверов.
С доверенными сетями Passepartout открывает самое лучшее в использовании VPN.
Passepartout не участвует ни в какой непрошеной фоновой активности, кроме VPN-туннелирования, являясь таким образом более дружелюбным к межсетевым экранам.
У Passepartout открытый исходный код: https://github.com/passepartoutvpn
@ -28,7 +26,7 @@ Passepartout предлагает предустановленные настр
- Невероятная простота использования и естественный интерфейс.
- Управляйте своими профилями в одном месте.
- Импортируйте файлы конфигурации .ovpn / .conf.
- Используйте доверенные сети для мелкозернистого подключения.
- Используйте правила по требованию для более детальной настройки подключения.
- Тонкая настройка шифрования без изменений в файлах конфигурации.
- Переопределение настроек сети в одно мгновение (стандартный порт, DNS, прокси, MTU).|

View File

@ -1,7 +1,5 @@
Passepartout är en smart VPN-klient som är helt integrerad med Apples plattformar. Passepartout är den enda app du behöver för både kända VPN-leverantörer och dina personliga VPN-servrar.
Med betrodda nätverk och Siri-genvägar erbjuder Passepartout allt det bästa med att använda en VPN på iOS.
Passepartout startar inte någon oönskad bakgrundsaktivitet i tillägg till VPN-tunneln, vilket gör att den fungerar bättre med brandväggar.
Passepartout är öppen källkod: https://github.com/passepartoutvpn
@ -28,7 +26,7 @@ LÄTT ATT ANVÄNDA
- Otroligt enkel att använda, med lokaliserat utseende och känsla.
- Hantera dina profiler på ett enda ställe.
- Importera konfigurationsfiler på formatet .ovpn / .conf.
- Använd betrodda nätverk för att skräddarsy dina anslutningar.
- Använd regler på begäran för att finjustera din anslutning.
- Finjustera kryptering utan att ändra någon konfigurationsfil.
- Åsidosätt nätverksinställningar direkt (normal gateway, DNS, proxy, MTU).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 KiB

After

Width:  |  Height:  |  Size: 594 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 KiB

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 345 KiB

After

Width:  |  Height:  |  Size: 360 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 KiB

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 KiB

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 KiB

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 KiB

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 KiB

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 KiB

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 254 KiB

After

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

After

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 KiB

After

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 715 KiB

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 453 KiB

After

Width:  |  Height:  |  Size: 393 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 460 KiB

After

Width:  |  Height:  |  Size: 408 KiB

View File

@ -4,6 +4,25 @@
//
// Created by Davide De Rosa on 6/13/18.
// Copyright (c) 2023 Davide De Rosa. All rights reserved.
"global.strings.policy" = "Politique";
"global.strings.networks" = "Réseaux";
"global.strings.edit" = "Modifier";
"global.strings.unknown" = "Inconnu";
/* MARK: ProfileView -> EndpointView */
"endpoint.errors.endpoint_required" = "Veuillez sélectionner un point terminal";
"on_demand.sections.policy.footer.any" = "sur n'importe quel réseau";
"on_demand.sections.policy.footer.including" = "sur les réseaux ci-dessous uniquement";
"on_demand.sections.policy.footer.excluding" = "sauf sur les réseaux ci-dessous";
"on_demand.policy.any" = "Tous les réseaux";
"on_demand.policy.including" = "Inclure";
"on_demand.policy.excluding" = "Exclure";
"settings.sections.icloud.footer" = "Désactiver la synchronisation pour effacer. Pour effacer la boutique iCloud en toute sécurité, faites de même sur tous vos appareils synchronisés. Ceci n'affectera pas les profils locaux.";
"settings.items.should_enable_cloud_syncing.caption" = "Synchroniser avec iCloud";
"settings.items.erase_cloud_store.caption" = "Effacer la boutique iCloud";
/* MARK: Global */
"global.strings.cancel" = "Annuler";
@ -202,7 +221,6 @@
"account.sections.guidance.footer.infrastructure.windscribe" = "Trouver votre identifiant %@ dans la section web Générateur de configuration OpenVPN.";
/* MARK: ProfileView -> EndpointView */
"endpoint.wireguard.items.peer.caption" = "Peer";
"endpoint.wireguard.items.preshared_key.caption" = "Clé pré-partagée";
"endpoint.wireguard.items.allowed_ip.caption" = "IP autorisée";
@ -249,15 +267,14 @@
/* MARK: ProfileView -> OnDemandView */
"on_demand.title" = "Réseaux de confiance";
"on_demand.sections.policy.footer" = "Lors d'une connection à un réseau de confiance, le VPN est normalement fermé. Désactivez cette option pour ne pas autoriser ce comportement.";
"on_demand.title" = "Sur demande";
"on_demand.sections.policy.footer" = "Activez le VPN %@.";
"on_demand.items.add_ssid.caption" = "Ajouter Wi-Fi";
"on_demand.items.active.caption" = "Fiables";
"on_demand.items.mobile.caption" = "Réseau cellulaire";
"on_demand.items.ethernet.caption" = "Faire confiance aux connexions filaires";
"on_demand.items.ethernet.description" = "Cochez pour faire confiance à toutes les connexions filaires.";
"on_demand.items.policy.caption" = "La confiance désactive le VPN";
"on_demand.items.ethernet.caption" = "Connexions filaires";
"on_demand.items.policy.caption" = "La confiance désactive le VPN";
/* MARK: ProfileView -> DiagnosticsView */
"diagnostics.title" = "Diagnostiques";

View File

@ -4,6 +4,25 @@
//
// Created by Davide De Rosa on 6/13/18.
// Copyright (c) 2023 Davide De Rosa. All rights reserved.
"global.strings.policy" = "Policy";
"global.strings.networks" = "Reti";
"global.strings.edit" = "Modifica";
"global.strings.unknown" = "Sconosciuto";
/* MARK: ProfileView -> EndpointView */
"endpoint.errors.endpoint_required" = "Seleziona un endpoint";
"on_demand.sections.policy.footer.any" = "in qualsiasi rete";
"on_demand.sections.policy.footer.including" = "solo nelle reti in basso";
"on_demand.sections.policy.footer.excluding" = "eccetto nelle reti in basso";
"on_demand.policy.any" = "Tutte le reti";
"on_demand.policy.including" = "Includi";
"on_demand.policy.excluding" = "Escludi";
"settings.sections.icloud.footer" = "Disabilita la sincronizzazione per permettere la cancellazione. Per cancellare in modo sicuro lo store iCloud, ripeti l'operazione su tutti i tuoi device sincronizzati. I profili locali non saranno modificati.";
"settings.items.should_enable_cloud_syncing.caption" = "Sincronizza con iCloud";
"settings.items.erase_cloud_store.caption" = "Cancella store iCloud";
/* MARK: Global */
"global.strings.cancel" = "Annulla";
@ -202,7 +221,6 @@
"account.sections.guidance.footer.infrastructure.windscribe" = "Trova le tue credenziali nell'OpenVPN Config Generator sul sito di %@.";
/* MARK: ProfileView -> EndpointView */
"endpoint.wireguard.items.peer.caption" = "Peer";
"endpoint.wireguard.items.preshared_key.caption" = "Chiave condivisa";
"endpoint.wireguard.items.allowed_ip.caption" = "IP ammesso";
@ -249,15 +267,14 @@
/* MARK: ProfileView -> OnDemandView */
"on_demand.title" = "Reti sicure";
"on_demand.sections.policy.footer" = "Entrando in una rete sicura, normalmente la VPN viene spenta e mantenuta disconnessa. Disabilita quest'opzione per non imporre questo comportamento.";
"on_demand.title" = "On demand";
"on_demand.sections.policy.footer" = "Attiva la VPN %@.";
"on_demand.items.add_ssid.caption" = "Aggiungi Wi-Fi";
"on_demand.items.active.caption" = "Sicura";
"on_demand.items.mobile.caption" = "Rete cellulare";
"on_demand.items.ethernet.caption" = "Connessioni cablate sicure";
"on_demand.items.ethernet.description" = "Seleziona per considerare sicura qualsiasi rete cablata.";
"on_demand.items.policy.caption" = "Spegni VPN in rete sicura";
"on_demand.items.ethernet.caption" = "Connessioni cablate";
"on_demand.items.policy.caption" = "Spegni VPN in rete sicura";
/* MARK: ProfileView -> DiagnosticsView */
"diagnostics.title" = "Diagnostica";

View File

@ -4,6 +4,25 @@
//
// Created by Davide De Rosa on 6/13/18.
// Copyright (c) 2023 Davide De Rosa. All rights reserved.
"global.strings.policy" = "Beleid";
"global.strings.networks" = "Netwerken";
"global.strings.edit" = "Bewerken";
"global.strings.unknown" = "Onbekend";
/* MARK: ProfileView -> EndpointView */
"endpoint.errors.endpoint_required" = "Selecteer een eindpunt";
"on_demand.sections.policy.footer.any" = "in welk netwerk dan ook";
"on_demand.sections.policy.footer.including" = "alleen in de netwerken hieronder";
"on_demand.sections.policy.footer.excluding" = "niet in de netwerken hieronder";
"on_demand.policy.any" = "Alle netwerken";
"on_demand.policy.including" = "Bevat wel";
"on_demand.policy.excluding" = "Bevat niet";
"settings.sections.icloud.footer" = "Synchroniseren uitschakelen om wissen toe te staan. Om de iCloud-opslag veilig te wissen, moet u dit doen op alle gesynchroniseerde apparaten. Dit heeft geen invloed op lokale profielen.";
"settings.items.should_enable_cloud_syncing.caption" = "Met iCloud synchroniseren";
"settings.items.erase_cloud_store.caption" = "iCloud-opslag wissen";
/* MARK: Global */
"global.strings.cancel" = "Afbreken";
@ -202,7 +221,6 @@
"account.sections.guidance.footer.infrastructure.windscribe" = "Vind de inloggegevens van %@ in de OpenVPN Config Generator op de website.";
/* MARK: ProfileView -> EndpointView */
"endpoint.wireguard.items.peer.caption" = "Peer";
"endpoint.wireguard.items.preshared_key.caption" = "Vooraf gedeelde sleutel";
"endpoint.wireguard.items.allowed_ip.caption" = "Toegestane IP";
@ -249,15 +267,14 @@
/* MARK: ProfileView -> OnDemandView */
"on_demand.title" = "Vertrouwde netwerken";
"on_demand.sections.policy.footer" = "Bij het invoeren van een vertrouwd netwerk wordt de VPN uitgeschakeld en niet verbonden gehouden. Schakel deze optie uit om dergelijk gedrag niet af te dwingen.";
"on_demand.title" = "On-demand";
"on_demand.sections.policy.footer" = "Activeer de VPN %@.";
"on_demand.items.add_ssid.caption" = "Wi-Fi toevoegen";
"on_demand.items.active.caption" = "Vertrouwen";
"on_demand.items.mobile.caption" = "Mobiel netwerk";
"on_demand.items.ethernet.caption" = "Bekabelde verbindingen vertrouwen";
"on_demand.items.ethernet.description" = "Vink aan om alle bekabelde verbindingen te vertrouwen.";
"on_demand.items.policy.caption" = "Trust disables VPN";
"on_demand.items.ethernet.caption" = "Bekabelde verbindingen";
"on_demand.items.policy.caption" = "Trust disables VPN";
/* MARK: ProfileView -> DiagnosticsView */
"diagnostics.title" = "Diagnose";

View File

@ -4,6 +4,25 @@
//
// Created by Davide De Rosa on 6/13/18.
// Copyright (c) 2023 Davide De Rosa. All rights reserved.
"global.strings.policy" = "Polityka";
"global.strings.networks" = "Sieci";
"global.strings.edit" = "Edytuj";
"global.strings.unknown" = "Nieznane";
/* MARK: ProfileView -> EndpointView */
"endpoint.errors.endpoint_required" = "Wybierz punkt końcowy";
"on_demand.sections.policy.footer.any" = "w dowolnej sieci";
"on_demand.sections.policy.footer.including" = "tylko w poniższych sieciach";
"on_demand.sections.policy.footer.excluding" = "z wyjątkiem poniższych sieci";
"on_demand.policy.any" = "Wszystkie sieci";
"on_demand.policy.including" = "Uwzględnij";
"on_demand.policy.excluding" = "Wyklucz";
"settings.sections.icloud.footer" = "Wyłącz synchronizację, aby umożliwić wymazywanie. Aby bezpiecznie wymazać magazyn iCloud, należy to zrobić na wszystkich zsynchronizowanych urządzeniach. Nie będzie to miało wpływu na profile lokalne.";
"settings.items.should_enable_cloud_syncing.caption" = "Synchronizacja z iCloud";
"settings.items.erase_cloud_store.caption" = "Wymaż pamięć iCloud";
/* MARK: Global */
"global.strings.cancel" = "Anuluj";
@ -202,7 +221,6 @@
"account.sections.guidance.footer.infrastructure.windscribe" = "Użyj loginu do %@ z generatora konfiguracji OpenVPN dostępnego na stronie.";
/* MARK: ProfileView -> EndpointView */
"endpoint.wireguard.items.peer.caption" = "Peer";
"endpoint.wireguard.items.preshared_key.caption" = "Wcześniej udostępniony klucz";
"endpoint.wireguard.items.allowed_ip.caption" = "IP z zezwoleniem";
@ -249,15 +267,14 @@
/* MARK: ProfileView -> OnDemandView */
"on_demand.title" = "Zaufane sieci";
"on_demand.sections.policy.footer" = "Kiedy urządzenie łączy się z zaufaną siecią, VPN jest wyłączane. Wyłącz tę opcję żeby nie wymuszać takiego zachowania.";
"on_demand.title" = "Na żądanie";
"on_demand.sections.policy.footer" = "Aktywuj VPN %@.";
"on_demand.items.add_ssid.caption" = "Dodaj Wi-Fi";
"on_demand.items.active.caption" = "Ufaj";
"on_demand.items.mobile.caption" = "Sieć komórkowa";
"on_demand.items.ethernet.caption" = "Ufaj połączeniom przewodowym";
"on_demand.items.ethernet.description" = "Zaznacz, aby traktować każde przewodowe połączenie kablowe jako zaufane.";
"on_demand.items.policy.caption" = "Wyłącz VPN dla zaufanych sieci";
"on_demand.items.ethernet.caption" = "Połączenia przewodowe";
"on_demand.items.policy.caption" = "Wyłącz VPN dla zaufanych sieci";
/* MARK: ProfileView -> DiagnosticsView */
"diagnostics.title" = "Diagnostyka";

View File

@ -4,6 +4,25 @@
//
// Created by Davide De Rosa on 6/13/18.
// Copyright (c) 2023 Davide De Rosa. All rights reserved.
"global.strings.policy" = "Política";
"global.strings.networks" = "Redes";
"global.strings.edit" = "Editar";
"global.strings.unknown" = "Desconhecido";
/* MARK: ProfileView -> EndpointView */
"endpoint.errors.endpoint_required" = "Por favor, escolha um ponto final";
"on_demand.sections.policy.footer.any" = "em qualquer rede";
"on_demand.sections.policy.footer.including" = "apenas nas redes abaixo";
"on_demand.sections.policy.footer.excluding" = "exceto nas redes abaixo";
"on_demand.policy.any" = "Todas as redes";
"on_demand.policy.including" = "Incluir";
"on_demand.policy.excluding" = "Excluir";
"settings.sections.icloud.footer" = "Desative a sincronizar para permitir apagar. Para apagar a loja iCloud de forma segura, faça-o em todos os seus dispositivos sincronizados. Isto não irá afetar os perfis locais";
"settings.items.should_enable_cloud_syncing.caption" = "Sincronizar com iCloud";
"settings.items.erase_cloud_store.caption" = "Apagar loja da iCloud";
/* MARK: Global */
"global.strings.cancel" = "Cancelar";
@ -202,7 +221,6 @@
"account.sections.guidance.footer.infrastructure.windscribe" = "Encontre %@ credenciais no gerador de configuração OpenVPN do site.";
/* MARK: ProfileView -> EndpointView */
"endpoint.wireguard.items.peer.caption" = "Ponto";
"endpoint.wireguard.items.preshared_key.caption" = "Chave pré-partilhada";
"endpoint.wireguard.items.allowed_ip.caption" = "IP Permitido";
@ -249,15 +267,14 @@
/* MARK: ProfileView -> OnDemandView */
"on_demand.title" = "Redes seguras";
"on_demand.sections.policy.footer" = "Ao entrar em uma rede segura, a VPN é normalmente é desconectada e mantido inativa. Desative essa opção para não forçar esse comportamento.";
"on_demand.title" = "A pedido";
"on_demand.sections.policy.footer" = "Ativar a VPN %@.";
"on_demand.items.add_ssid.caption" = "Adicionar Wi-Fi";
"on_demand.items.active.caption" = "Confiar";
"on_demand.items.mobile.caption" = "Rede celular";
"on_demand.items.ethernet.caption" = "Confiar em ligações com fios";
"on_demand.items.ethernet.description" = "Assinale para confiar em qualquer ligação com cabo.";
"on_demand.items.policy.caption" = "Trust disables VPN";
"on_demand.items.ethernet.caption" = "Ligações com fios";
"on_demand.items.policy.caption" = "Trust disables VPN";
/* MARK: ProfileView -> DiagnosticsView */
"diagnostics.title" = "Diagnóstico";

View File

@ -4,6 +4,25 @@
//
// Created by Davide De Rosa on 6/13/18.
// Copyright (c) 2023 Davide De Rosa. All rights reserved.
"global.strings.policy" = "Политика";
"global.strings.networks" = "Сети";
"global.strings.edit" = "Редактировать";
"global.strings.unknown" = "Неизвестно";
/* MARK: ProfileView -> EndpointView */
"endpoint.errors.endpoint_required" = "Выберите конечную точку";
"on_demand.sections.policy.footer.any" = "в любой сети";
"on_demand.sections.policy.footer.including" = "только в сетях ниже";
"on_demand.sections.policy.footer.excluding" = "кроме сетей ниже";
"on_demand.policy.any" = "Все сети";
"on_demand.policy.including" = "Включить";
"on_demand.policy.excluding" = "Исключить";
"settings.sections.icloud.footer" = "Отключите синхронизацию, чтобы разрешить удаление. Чтобы безопасно очистить хранилище iCloud, сделайте это на всех синхронизированных устройствах. Это не повлияет на локальные профили.";
"settings.items.should_enable_cloud_syncing.caption" = "Синхронизировать с iCloud";
"settings.items.erase_cloud_store.caption" = "Очистить iCloud";
/* MARK: Global */
"global.strings.cancel" = "Отменить";
@ -202,7 +221,6 @@
"account.sections.guidance.footer.infrastructure.windscribe" = "Найдите Ваши данные для входа %@ в OpenVPN Config Generator на веб-сайте.";
/* MARK: ProfileView -> EndpointView */
"endpoint.wireguard.items.peer.caption" = "Узел";
"endpoint.wireguard.items.preshared_key.caption" = "Общий ключ";
"endpoint.wireguard.items.allowed_ip.caption" = "Допустимый IP";
@ -249,15 +267,14 @@
/* MARK: ProfileView -> OnDemandView */
"on_demand.title" = "Доверенные сети";
"on_demand.sections.policy.footer" = "При подключении к доверенным сетям VPN обычно выключается, и остаётся отключенным. Отключите эту опцию чтобы оставлять VPN подключенным.";
"on_demand.title" = "По требованию";
"on_demand.sections.policy.footer" = "Активировать VPN %@.";
"on_demand.items.add_ssid.caption" = "Добавить Wi-Fi";
"on_demand.items.active.caption" = "Доверенные";
"on_demand.items.mobile.caption" = "Мобильная сеть";
"on_demand.items.ethernet.caption" = "Доверенные проводные подключения";
"on_demand.items.ethernet.description" = "Включите, чтобы добавить в доверенные проводное подключение.";
"on_demand.items.policy.caption" = "Дов. сеть отключает VPN";
"on_demand.items.ethernet.caption" = "Проводные подключения";
"on_demand.items.policy.caption" = "Дов. сеть отключает VPN";
/* MARK: ProfileView -> DiagnosticsView */
"diagnostics.title" = "Диагностика";

View File

@ -4,6 +4,25 @@
//
// Created by Davide De Rosa on 6/13/18.
// Copyright (c) 2023 Davide De Rosa. All rights reserved.
"global.strings.policy" = "Policy";
"global.strings.networks" = "Nätverk";
"global.strings.edit" = "Redigera";
"global.strings.unknown" = "Okänt";
/* MARK: ProfileView -> EndpointView */
"endpoint.errors.endpoint_required" = "Välj en ändpunkt";
"on_demand.sections.policy.footer.any" = "i alla nätverk";
"on_demand.sections.policy.footer.including" = "enbart i nedanstående nätverk";
"on_demand.sections.policy.footer.excluding" = "utom i nedanstående nätverk";
"on_demand.policy.any" = "Alla nätverk";
"on_demand.policy.including" = "Inkludera";
"on_demand.policy.excluding" = "Uteslut";
"settings.sections.icloud.footer" = "Inaktivera synkronisering för att göra det möjligt att radera. För att radera iCloud-lagring på ett säkert sätt behöver du göra det på alla dina synkroniserade enheter. Detta påverkar inte lokala profiler.";
"settings.items.should_enable_cloud_syncing.caption" = "Synkronisera med iCloud";
"settings.items.erase_cloud_store.caption" = "Radera iCloud-lagring";
/* MARK: Global */
"global.strings.cancel" = "Avbryt";
@ -202,7 +221,6 @@
"account.sections.guidance.footer.infrastructure.windscribe" = "Hitta din %@ credentials i OpenVPN Config Generator på webbplatsen.";
/* MARK: ProfileView -> EndpointView */
"endpoint.wireguard.items.peer.caption" = "Peer";
"endpoint.wireguard.items.preshared_key.caption" = "Tidigare delad nyckel";
"endpoint.wireguard.items.allowed_ip.caption" = "Tillåtet IP";
@ -249,15 +267,14 @@
/* MARK: ProfileView -> OnDemandView */
"on_demand.title" = "Tillförlitliga nätverk";
"on_demand.sections.policy.footer" = "När du advänder ett betrott nätverk, VPN:et stängs normalt och hålls bortkopplat. Avaktivera detta alternativet för att inte genomdriva sådant beteende.";
"on_demand.title" = "På begäran";
"on_demand.sections.policy.footer" = "Aktivera VPN %@.";
"on_demand.items.add_ssid.caption" = "Lägg till Wi-Fi";
"on_demand.items.active.caption" = "Betrodda";
"on_demand.items.mobile.caption" = "Mobilt nätverk";
"on_demand.items.ethernet.caption" = "Lita på kabelanslutna uppkopplingar";
"on_demand.items.ethernet.description" = "Markera för att lita på alla kabelanslutna uppkopplingar.";
"on_demand.items.policy.caption" = "Förtroende inaktiverar VPN";
"on_demand.items.ethernet.caption" = "Kabelanslutna uppkopplingar";
"on_demand.items.policy.caption" = "Förtroende inaktiverar VPN";
/* MARK: ProfileView -> DiagnosticsView */
"diagnostics.title" = "Diagnostics";

View File

@ -4,6 +4,25 @@
//
// Created by Davide De Rosa on 6/13/18.
// Copyright (c) 2023 Davide De Rosa. All rights reserved.
"global.strings.policy" = "政策";
"global.strings.networks" = "网络";
"global.strings.edit" = "编辑";
"global.strings.unknown" = "未知";
/* MARK: ProfileView -> EndpointView */
"endpoint.errors.endpoint_required" = "请选择一个终端";
"on_demand.sections.policy.footer.any" = "在任何网络中";
"on_demand.sections.policy.footer.including" = "仅在以下网络中";
"on_demand.sections.policy.footer.excluding" = "以下网络除外";
"on_demand.policy.any" = "全部网络";
"on_demand.policy.including" = "包括";
"on_demand.policy.excluding" = "排除";
"settings.sections.icloud.footer" = "禁用同步以允许移除。若要安全地移除iCloud存储请在所有同步设备上执行此操作。这不会影响本地配置文件。";
"settings.items.should_enable_cloud_syncing.caption" = "与iCloud同步";
"settings.items.erase_cloud_store.caption" = "移除iCloud储存";
/* MARK: Global */
"global.strings.cancel" = "取消";
@ -202,7 +221,6 @@
"account.sections.guidance.footer.infrastructure.windscribe" = "在网站上的OpenVPN配置生成器中找到你的%@认证信息。 ";
/* MARK: ProfileView -> EndpointView */
"endpoint.wireguard.items.peer.caption" = "同级";
"endpoint.wireguard.items.preshared_key.caption" = "预共用密码";
"endpoint.wireguard.items.allowed_ip.caption" = "允许的IP";
@ -249,15 +267,14 @@
/* MARK: ProfileView -> OnDemandView */
"on_demand.title" = "可信网络";
"on_demand.sections.policy.footer" = "当进入可信网络后VPN将会断开并保持断开状态。禁用此选项可关闭此功能。";
"on_demand.title" = "随需";
"on_demand.sections.policy.footer" = "激活VPN %@。";
"on_demand.items.add_ssid.caption" = "新增Wi-Fi";
"on_demand.items.active.caption" = "信任";
"on_demand.items.mobile.caption" = "蜂窝网络";
"on_demand.items.ethernet.caption" = "信任有线连接";
"on_demand.items.ethernet.description" = "选中以信任所有有线连接。";
"on_demand.items.policy.caption" = "信任网络中禁用VPN";
"on_demand.items.ethernet.caption" = "有线连接";
"on_demand.items.policy.caption" = "信任网络中禁用VPN";
/* MARK: ProfileView -> DiagnosticsView */
"diagnostics.title" = "分析数据";

View File

@ -648,7 +648,7 @@ internal enum L10n {
}
internal enum OnDemand {
/// MARK: ProfileView -> OnDemandView
internal static let title = L10n.tr("Localizable", "on_demand.title", fallback: "On-demand")
internal static let title = L10n.tr("Localizable", "on_demand.title", fallback: "On demand")
internal enum Items {
internal enum AddSsid {
/// Add Wi-Fi
@ -657,8 +657,6 @@ internal enum L10n {
internal enum Ethernet {
/// Wired connections
internal static let caption = L10n.tr("Localizable", "on_demand.items.ethernet.caption", fallback: "Wired connections")
/// Check to match any wired cable connection.
internal static let description = L10n.tr("Localizable", "on_demand.items.ethernet.description", fallback: "Check to match any wired cable connection.")
}
internal enum Mobile {
/// Cellular network
@ -682,14 +680,10 @@ internal enum L10n {
internal enum Footer {
/// in any network
internal static let any = L10n.tr("Localizable", "on_demand.sections.policy.footer.any", fallback: "in any network")
/// except in
internal static let excluding = L10n.tr("Localizable", "on_demand.sections.policy.footer.excluding", fallback: "except in")
/// only in
internal static let including = L10n.tr("Localizable", "on_demand.sections.policy.footer.including", fallback: "only in")
/// %@ the networks below
internal static func matching(_ p1: Any) -> String {
return L10n.tr("Localizable", "on_demand.sections.policy.footer.matching", String(describing: p1), fallback: "%@ the networks below")
}
/// except in the networks below
internal static let excluding = L10n.tr("Localizable", "on_demand.sections.policy.footer.excluding", fallback: "except in the networks below")
/// only in the networks below
internal static let including = L10n.tr("Localizable", "on_demand.sections.policy.footer.including", fallback: "only in the networks below")
}
}
}

View File

@ -28,7 +28,7 @@ import Foundation
// https://stackoverflow.com/a/32238344/784615
// https://gist.github.com/lukaskubanek/cbfcab29c0c93e0e9e0a16ab09586996
public final actor SandboxChecker: ObservableObject {
public final actor SandboxChecker {
public init() {
}

View File

@ -238,7 +238,7 @@ extension VPNManager {
if !isHandled {
if newProfile.onDemand != lastProfile.onDemand {
pp_log.info("On-demand settings changed")
pp_log.info("On demand settings changed")
isHandled = true
shouldReconnect = false
}

View File

@ -62,7 +62,7 @@ final class CDProfileRepository: ProfileRepository {
try profiles.forEach {
// FIXME: on-demand, workaround to retain profiles on downgrade (field is required before 2.2.0)
// FIXME: on demand, workaround to retain profiles on downgrade (field is required before 2.2.0)
var copy = $0
copy.onDemand.disconnectsIfNotMatching = true

View File

@ -29,11 +29,11 @@ With its native look & feel, Passepartout focuses on ease of use. It does so by
Not to mention iCloud support, which makes your VPN profiles available on all your devices without any additional effort!
### Trusted networks
### On demand
Trust Wi-Fi, cellular (iOS) or wired (macOS) networks to fine-grain your connectivity. You can then choose to retain a VPN connection when entering a trusted network, or prevent it completely.
Define rules for Wi-Fi, cellular (iOS) or wired (macOS) networks to fine-grain how you automate your VPN connectivity.
[<img src="res/ios/snap-trusted.png" width="300">](res/ios/snap-trusted.png)
[<img src="res/ios/snap-on-demand.png" width="300">](res/ios/snap-on-demand.png)
### Siri shortcuts

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 KiB

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 KiB

After

Width:  |  Height:  |  Size: 208 KiB

BIN
res/ios/snap-on-demand.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB