passepartout-apple/Packages/App/Sources/UILibrary/Resources/it.lproj/Localizable.strings

307 lines
18 KiB
Plaintext
Raw Normal View History

"alerts.community.dismiss" = "No, grazie";
"alerts.community.message" = "Sai che %@ ha un subreddit? Iscriviti per gli aggiornamenti o per discutere di problemi, funzionalità, nuove piattaforme o qualsiasi altra cosa.\n\nÈ anche un ottimo modo per dimostrare che ti interessa questo progetto.";
"alerts.community.subscribe" = "Iscriviti ora";
"alerts.import.passphrase.message" = "Inserisci la passphrase per '%@'.";
"alerts.import.passphrase.ok" = "Decrittografa";
"alerts.providers.missing_server.message" = "Nessun server provider selezionato. Seleziona un server di destinazione sul tuo dispositivo iOS/macOS.";
"entities.dns.search_domains" = "Domini di ricerca";
"entities.dns.servers" = "Server";
"entities.dns_protocol.cleartext" = "In chiaro";
"entities.dns_protocol.https" = "Su HTTPS";
"entities.dns_protocol.tls" = "Su TLS";
"entities.http_proxy.bypass_domains" = "Domini da bypassare";
"entities.on_demand.policy.any" = "Tutte le reti";
"entities.on_demand.policy.excluding" = "Escludendo";
"entities.on_demand.policy.including" = "Includendo";
"entities.openvpn.compression_algorithm.other" = "Non supportato";
"entities.openvpn.otp_method.append" = "Aggiungi";
"entities.openvpn.otp_method.encode" = "Codifica";
"entities.openvpn.otp_method.none" = "Nessuno";
"entities.tunnel_status.activating" = "Attivazione";
"entities.tunnel_status.active" = "Attivo";
"entities.tunnel_status.deactivating" = "Disattivazione";
"entities.tunnel_status.inactive" = "Inattivo";
"errors.app.default" = "Impossibile completare l'operazione.";
"errors.app.duplicate" = "Impossibile duplicare il profilo '%@'.";
"errors.app.empty_products" = "Impossibile recuperare i prodotti, riprova più tardi.";
"errors.app.empty_profile_name" = "Il nome del profilo è vuoto.";
"errors.app.import" = "Impossibile importare i profili.";
"errors.app.malformed_module" = "Il modulo %@ è malformato. %@";
"errors.app.passepartout.connection_module_required" = "Il modulo di routing può essere abilitato solo insieme a una connessione.";
"errors.app.passepartout.corrupt_provider_module" = "Impossibile connettersi al server del provider (motivo=%@).";
"errors.app.passepartout.default" = "Impossibile completare l'operazione (codice=%@).";
"errors.app.passepartout.incompatible_modules" = "Alcuni moduli attivi sono incompatibili, prova ad attivare solo uno di essi.";
"errors.app.passepartout.invalid_fields" = "Campi non validi.";
"errors.app.passepartout.missing_provider_entity" = "Nessun server selezionato nel provider.";
"errors.app.passepartout.no_active_modules" = "Il profilo non ha moduli attivi.";
"errors.app.passepartout.parsing" = "Impossibile analizzare il file.";
"errors.app.passepartout.provider_required" = "Nessun provider selezionato.";
Allow graceful period to work around slow receipt validation (#1139) #1070 is very tricky. When the device boots, StoreKit operations seem to be severely affected by on-demand VPN profiles. Slowdowns are huge and unpredictable, as per my [report on the Apple forums](https://developer.apple.com/forums/thread/773723). I found no easy way to work around the chicken-and-egg situation where the VPN requires StoreKit validation to start, but StoreKit requires network access. On the other hand, without StoreKit validations, the on-demand tunnel starts on boot just fine, and so does the app. No eternal activity indicators. StoreKit is clearly the culprit here. Therefore, below is the strategy that this PR implements for a decent trade-off: - Configure a graceful period for the VPN to start without limitations. This is initially set to 2 minutes in production, and 10 minutes in TestFlight. Postpone StoreKit validation until then. - After the graceful period, StoreKit validation is more likely to complete fast - At this point, paying users have their receipts validated and the connection will silently keep going - Non-paying users, instead, will see their connection hit the "Purchase required" message On the UI side, adjust the app accordingly: - Drop the "Purchase required" icon from the list/grid of profiles - The paywall informs that the connection will start, but it will disconnect after the graceful period if the receipt is not valid - Add a note that receipt validation may take a while if the device has just started This PR also introduces changes in TestFlight behavior: - Profiles can be saved without limitations - Profiles using free features work as usual - Profiles using paid features work for 10 minutes - Eligibility based on local receipt is ignored (deprecated in iOS 18) Beta users may therefore test all paid features on iOS/macOS/tvOS for 10 minutes. Until now, paid features were only available to paying iOS users and unavailable on macOS/tvOS. The tvOS beta was, in fact, completely useless. The downside is that paying iOS users will see beta builds restricted like anybody else. I'll see if I can find a better solution later.
2025-02-05 12:00:42 +00:00
"errors.app.passepartout.timeout" = "L'operazione ha superato il tempo limite.";
"errors.app.permission_denied" = "Permesso negato";
"errors.app.tunnel" = "Impossibile eseguire l'operazione.";
"errors.tunnel.auth" = "Autenticazione fallita";
"errors.tunnel.compression" = "Compressione non supportata";
"errors.tunnel.dns" = "DNS fallito";
"errors.tunnel.encryption" = "Crittografia fallita";
"errors.tunnel.generic" = "Operazione fallita";
"errors.tunnel.ineligible" = "Acquisto richiesto";
"errors.tunnel.routing" = "Routing mancante";
"errors.tunnel.shutdown" = "Spegnimento del server";
"errors.tunnel.tls" = "TLS fallito";
"features.appletv" = "%@";
"features.dns" = "Impostazioni DNS";
"features.http_proxy" = "Impostazioni Proxy HTTP";
"features.interactiveLogin" = "Login interattivo";
"features.on_demand" = "Regole on-demand";
"features.providers" = "Tutti i provider";
"features.routing" = "Routing Personalizzato";
"features.sharing" = "%@";
"global.actions.add" = "Aggiungi";
"global.actions.cancel" = "Annulla";
"global.actions.connect" = "Connetti";
"global.actions.delete" = "Elimina";
"global.actions.disable" = "Disabilita";
"global.actions.disconnect" = "Disconnetti";
"global.actions.duplicate" = "Duplica";
"global.actions.edit" = "Modifica";
"global.actions.enable" = "Abilita";
"global.actions.hide" = "Nascondi";
"global.actions.purchase" = "Acquista";
"global.actions.reconnect" = "Riavvia";
"global.actions.remove" = "Elimina";
"global.actions.save" = "Salva";
"global.actions.select" = "Seleziona";
"global.actions.show" = "Mostra";
"global.nouns.about" = "Informazioni";
"global.nouns.account" = "Account";
"global.nouns.address" = "Indirizzo";
"global.nouns.addresses" = "Indirizzi";
"global.nouns.any" = "Qualsiasi";
"global.nouns.category" = "Categoria";
"global.nouns.certificate" = "Certificato";
"global.nouns.compression" = "Compressione";
"global.nouns.configuration" = "Configurazione";
"global.nouns.connection" = "Connessione";
"global.nouns.country" = "Paese";
"global.nouns.default" = "Predefinito";
"global.nouns.destination" = "Destinazione";
"global.nouns.disabled" = "Disabilitato";
"global.nouns.do_not_ask_again" = "Non chiedere più";
"global.nouns.domain" = "Dominio";
"global.nouns.done" = "Fatto";
"global.nouns.empty" = "Vuoto";
"global.nouns.enabled" = "Abilitato";
"global.nouns.endpoint" = "Endpoint";
"global.nouns.features" = "Funzionalità";
"global.nouns.filters" = "Filtri";
"global.nouns.folder" = "Cartella";
"global.nouns.gateway" = "Gateway";
"global.nouns.general" = "Generale";
"global.nouns.hostname" = "Nome host";
"global.nouns.interface" = "Interfaccia";
"global.nouns.interval" = "Intervallo";
"global.nouns.keep_alive" = "Keep-alive";
"global.nouns.key" = "Chiave";
"global.nouns.last_update" = "Ultimo aggiornamento";
"global.nouns.loading" = "Caricamento";
"global.nouns.method" = "Metodo";
"global.nouns.modules" = "Moduli";
"global.nouns.n_seconds" = "%d secondi";
"global.nouns.name" = "Nome";
"global.nouns.networks" = "Reti";
"global.nouns.no_content" = "Nessun contenuto";
"global.nouns.no_selection" = "Nessuna selezione";
"global.nouns.none" = "Nessuno";
"global.nouns.ok" = "OK";
"global.nouns.on_demand" = "On-demand";
"global.nouns.other" = "Altro";
"global.nouns.password" = "Password";
"global.nouns.port" = "Porta";
"global.nouns.private_key" = "Chiave privata";
"global.nouns.products" = "Prodotti"; // Italian
"global.nouns.profile" = "Profilo";
"global.nouns.protocol" = "Protocollo";
"global.nouns.provider" = "Provider";
"global.nouns.public_key" = "Chiave pubblica";
"global.nouns.purchases" = "Acquisti";
"global.nouns.region" = "Regione";
"global.nouns.route" = "Rotta";
"global.nouns.routes" = "Rotte";
"global.nouns.routing" = "Routing";
"global.nouns.server" = "Server";
"global.nouns.servers" = "Server";
"global.nouns.settings" = "Impostazioni";
"global.nouns.status" = "Stato";
"global.nouns.subnet" = "Subnet";
"global.nouns.timeout" = "Timeout";
"global.nouns.unknown" = "Sconosciuto";
"global.nouns.username" = "Nome utente";
"global.nouns.version" = "Versione";
"modules.dns.search_domains.add" = "Aggiungi dominio";
"modules.dns.servers.add" = "Aggiungi indirizzo";
"modules.general.rows.appletv" = "%@";
"modules.general.rows.appletv.purchase" = "Rimuovi restrizione TV";
"modules.general.rows.import_from_file" = "Importa da file";
"modules.general.rows.keep_alive_on_sleep" = "Mantieni attivo in sleep";
"modules.general.rows.keep_alive_on_sleep.footer" = "Disabilita per migliorare il consumo della batteria, a discapito di rallentamenti occasionali causati dalle riconnessioni.";
"modules.general.rows.shared" = "Abilitato";
"modules.general.rows.shared.purchase" = "Condividi su iCloud";
"modules.general.sections.behavior.header" = "Comportamento";
"modules.general.sections.storage.footer.purchase.tv_beta" = "I profili TV non funzionano nelle versioni beta.";
"modules.general.sections.storage.footer.purchase.tv_release" = "I profili TV non funzionano senza un acquisto.";
"modules.general.sections.storage.header" = "Sincronizzazione";
"modules.general.sections.storage.sharing.footer" = "I profili sono archiviati su %@ in modo crittografato.";
"modules.general.sections.storage.tv.footer" = "iCloud è necessario per condividere i tuoi profili con Apple TV.";
"modules.general.sections.storage.tv.footer.purchase" = "Acquista per rimuovere la restrizione.";
"modules.http_proxy.bypass_domains.add" = "Aggiungi dominio di bypass";
"modules.ip.routes.add_family" = "Aggiungi %@";
"modules.ip.routes.exclude" = "Escludi rotta";
"modules.ip.routes.excluded" = "Rotte escluse";
"modules.ip.routes.include" = "Includi rotta";
"modules.ip.routes.included" = "Rotte incluse";
"modules.on_demand.ethernet" = "Ethernet";
"modules.on_demand.mobile" = "Mobile";
"modules.on_demand.networks.footer" = "Queste regole si applicheranno solo sui dispositivi in cui il tipo di interfaccia è supportato.";
"modules.on_demand.policy" = "Politica";
"modules.on_demand.policy.footer" = "Attiva la VPN %@.";
"modules.on_demand.policy.footer.any" = "in qualsiasi rete";
"modules.on_demand.policy.footer.excluding" = "eccetto nelle reti qui sotto";
"modules.on_demand.policy.footer.including" = "solo nelle reti qui sotto";
"modules.on_demand.ssid.add" = "Aggiungi SSID";
"modules.openvpn.cipher" = "Cifratura";
"modules.openvpn.communication" = "Comunicazione";
"modules.openvpn.compression" = "Compressione";
"modules.openvpn.compression_algorithm" = "Algoritmo";
"modules.openvpn.compression_framing" = "Framing";
"modules.openvpn.credentials" = "Credenziali";
"modules.openvpn.credentials.guidance.link" = "Vedi le tue credenziali OpenVPN";
"modules.openvpn.credentials.guidance.specific" = "Usa le tue credenziali OpenVPN specifiche, che non sono le stesse che usi per effettuare il login.";
"modules.openvpn.credentials.guidance.web" = "Usa le credenziali di accesso.";
"modules.openvpn.credentials.interactive" = "Interattivo";
"modules.openvpn.credentials.interactive.footer" = "On-demand sarà disabilitato.";
"modules.openvpn.credentials.otp_method.approach.append" = "L'OTP sarà aggiunto alla password.";
"modules.openvpn.credentials.otp_method.approach.encode" = "L'OTP sarà codificato in Base64 con la password.";
"modules.openvpn.digest" = "Digest";
"modules.openvpn.eku" = "Verifica estesa";
"modules.openvpn.pull" = "Ottieni";
"modules.openvpn.randomize_endpoint" = "Randomizza endpoint";
"modules.openvpn.randomize_hostname" = "Randomizza nome host";
"modules.openvpn.redirect_gateway" = "Reindirizza gateway";
"modules.openvpn.remotes" = "Endpoint remoti";
"modules.openvpn.renegotiation" = "Rinegoziazione";
"modules.openvpn.tls_wrap" = "Wrapping";
"modules.wireguard.allowed_ips" = "IP consentiti";
"modules.wireguard.interface" = "Interfaccia";
"modules.wireguard.peer" = "Peer #%d";
"modules.wireguard.preshared_key" = "Chiave precondivisa";
"modules.wireguard.provider_key" = "Chiave privata";
"placeholders.on_demand.ssid" = "Il mio SSID";
"placeholders.profile.name" = "Il mio profilo";
"placeholders.secret" = "segreto";
"placeholders.username" = "nome utente";
"theme.confirmation.cancel" = "Annulla";
"theme.confirmation.message" = "Sei sicuro di voler procedere con questa operazione?";
"theme.confirmation.ok" = "Conferma";
"theme.lock_screen.reason" = "%@ è bloccato";
"views.about.credits.licenses" = "Licenze";
"views.about.credits.notices" = "Avvisi";
"views.about.credits.title" = "Crediti";
"views.about.credits.translations" = "Traduzioni";
"views.about.links.rows.disclaimer" = "Esclusione di responsabilità";
"views.about.links.rows.home_page" = "Pagina principale";
"views.about.links.rows.join_community" = "Unisciti alla comunità";
"views.about.links.rows.privacy_policy" = "Politica sulla privacy";
"views.about.links.rows.write_review" = "Scrivi una recensione";
"views.about.links.sections.support" = "Supporto";
"views.about.links.sections.web" = "Web";
"views.about.links.title" = "Collegamenti";
"views.about.title" = "Informazioni";
"views.app.folders.default" = "I miei profili";
"views.app.folders.no_profiles" = "Nessun profilo";
"views.app.folders.no_profiles.migrate" = "Migra i vecchi profili...";
"views.app.installed_profile.none.name" = "Nessun profilo";
"views.app.installed_profile.none.status" = "Tocca la lista per connetterti";
"views.app.profile.no_modules" = "Nessun modulo attivo";
"views.app.profile_context.connect_to" = "Connetti a";
"views.app.toolbar.import_profile" = "Importa profilo";
"views.app.toolbar.migrate_profiles" = "Migra profili";
"views.app.toolbar.new_profile.empty" = "Profilo vuoto";
"views.app.toolbar.new_profile.provider" = "Provider";
"views.app.tv.header" = "Apri %@ sul tuo dispositivo iOS o macOS e abilita l'interruttore \"%@\" di un profilo per farlo apparire qui. Tutti i dispositivi devono eseguire la versione 3.0.0 o successiva affinché funzioni.";
"views.app_menu.items.quit" = "Esci da %@";
"views.diagnostics.alerts.report_issue.email" = "Il dispositivo non è configurato per inviare e-mail.";
"views.diagnostics.openvpn.rows.server_configuration" = "Configurazione del server";
"views.diagnostics.report_issue.title" = "Segnala problema";
"views.diagnostics.rows.app" = "App";
"views.diagnostics.rows.include_private_data" = "Includi dati privati";
"views.diagnostics.rows.remove_tunnel_logs" = "Elimina tutti i log";
"views.diagnostics.rows.tunnel" = "Tunnel";
"views.diagnostics.sections.live" = "Log in tempo reale";
"views.diagnostics.sections.tunnel" = "Log tunnel";
"views.diagnostics.title" = "Diagnostica";
"views.donate.alerts.thank_you.message" = "Questo significa molto per me e spero davvero che tu continui a usare e promuovere questa app.";
"views.donate.sections.main.footer" = "Se vuoi esprimere gratitudine per il mio lavoro, qui ci sono alcuni importi che puoi donare istantaneamente. Sarai addebitato una sola volta per ogni donazione e puoi donare più volte.";
"views.donate.title" = "Fai una donazione";
"views.migration.alerts.delete.message" = "Vuoi eliminare questi profili? Non sarà possibile recuperarli successivamente.\n\n%@";
"views.migration.items.discard" = "Annulla";
"views.migration.items.migrate" = "Procedi";
"views.migration.no_profiles" = "Niente da migrare";
"views.migration.sections.main.header" = "Seleziona di seguito i profili dalle versioni precedenti di %@ che vuoi importare. Se i tuoi profili sono archiviati su iCloud, potrebbero impiegare un po' a sincronizzarsi. Se non li vedi ora, torna più tardi.";
"views.migration.title" = "Migra";
"views.paywall.alerts.confirmation.edit_profile" = "Modifica profilo";
"views.paywall.alerts.confirmation.message" = "Questo profilo richiede funzionalità a pagamento per funzionare.";
Allow graceful period to work around slow receipt validation (#1139) #1070 is very tricky. When the device boots, StoreKit operations seem to be severely affected by on-demand VPN profiles. Slowdowns are huge and unpredictable, as per my [report on the Apple forums](https://developer.apple.com/forums/thread/773723). I found no easy way to work around the chicken-and-egg situation where the VPN requires StoreKit validation to start, but StoreKit requires network access. On the other hand, without StoreKit validations, the on-demand tunnel starts on boot just fine, and so does the app. No eternal activity indicators. StoreKit is clearly the culprit here. Therefore, below is the strategy that this PR implements for a decent trade-off: - Configure a graceful period for the VPN to start without limitations. This is initially set to 2 minutes in production, and 10 minutes in TestFlight. Postpone StoreKit validation until then. - After the graceful period, StoreKit validation is more likely to complete fast - At this point, paying users have their receipts validated and the connection will silently keep going - Non-paying users, instead, will see their connection hit the "Purchase required" message On the UI side, adjust the app accordingly: - Drop the "Purchase required" icon from the list/grid of profiles - The paywall informs that the connection will start, but it will disconnect after the graceful period if the receipt is not valid - Add a note that receipt validation may take a while if the device has just started This PR also introduces changes in TestFlight behavior: - Profiles can be saved without limitations - Profiles using free features work as usual - Profiles using paid features work for 10 minutes - Eligibility based on local receipt is ignored (deprecated in iOS 18) Beta users may therefore test all paid features on iOS/macOS/tvOS for 10 minutes. Until now, paid features were only available to paying iOS users and unavailable on macOS/tvOS. The tvOS beta was, in fact, completely useless. The downside is that paying iOS users will see beta builds restricted like anybody else. I'll see if I can find a better solution later.
2025-02-05 12:00:42 +00:00
"views.paywall.alerts.confirmation.message.connect" = "Puoi provare la connessione per %d minuti.";
"views.paywall.alerts.confirmation.message.save" = "Tocca le icone del lucchetto per acquistare le funzionalità mancanti.";
"views.paywall.alerts.confirmation.title" = "Acquisto richiesto";
"views.paywall.alerts.pending.message" = "L'acquisto è in attesa di conferma esterna. La funzionalità verrà accreditata dopo l'approvazione.";
"views.paywall.alerts.restricted.message" = "Alcune funzionalità non sono disponibili in questa versione.";
"views.paywall.alerts.restricted.title" = "Ristretto";
Allow graceful period to work around slow receipt validation (#1139) #1070 is very tricky. When the device boots, StoreKit operations seem to be severely affected by on-demand VPN profiles. Slowdowns are huge and unpredictable, as per my [report on the Apple forums](https://developer.apple.com/forums/thread/773723). I found no easy way to work around the chicken-and-egg situation where the VPN requires StoreKit validation to start, but StoreKit requires network access. On the other hand, without StoreKit validations, the on-demand tunnel starts on boot just fine, and so does the app. No eternal activity indicators. StoreKit is clearly the culprit here. Therefore, below is the strategy that this PR implements for a decent trade-off: - Configure a graceful period for the VPN to start without limitations. This is initially set to 2 minutes in production, and 10 minutes in TestFlight. Postpone StoreKit validation until then. - After the graceful period, StoreKit validation is more likely to complete fast - At this point, paying users have their receipts validated and the connection will silently keep going - Non-paying users, instead, will see their connection hit the "Purchase required" message On the UI side, adjust the app accordingly: - Drop the "Purchase required" icon from the list/grid of profiles - The paywall informs that the connection will start, but it will disconnect after the graceful period if the receipt is not valid - Add a note that receipt validation may take a while if the device has just started This PR also introduces changes in TestFlight behavior: - Profiles can be saved without limitations - Profiles using free features work as usual - Profiles using paid features work for 10 minutes - Eligibility based on local receipt is ignored (deprecated in iOS 18) Beta users may therefore test all paid features on iOS/macOS/tvOS for 10 minutes. Until now, paid features were only available to paying iOS users and unavailable on macOS/tvOS. The tvOS beta was, in fact, completely useless. The downside is that paying iOS users will see beta builds restricted like anybody else. I'll see if I can find a better solution later.
2025-02-05 12:00:42 +00:00
"views.paywall.alerts.verification.boot" = "Questo potrebbe richiedere più tempo se il dispositivo è stato appena avviato.";
"views.paywall.alerts.verification.connect.1" = "I tuoi acquisti sono in fase di verifica.";
"views.paywall.alerts.verification.connect.2" = "Se la verifica non può essere completata, la connessione terminerà tra %d minuti.";
"views.paywall.alerts.verification.edit" = "Attendere mentre i tuoi acquisti vengono verificati.";
"views.paywall.product.included_features" = "Funzionalità incluse";
"views.paywall.rows.restore_purchases" = "Ripristina acquisti";
"views.paywall.sections.all_features.header" = "La versione completa include";
"views.paywall.sections.full_products.header" = "Versione completa";
"views.paywall.sections.included_features.header" = "Include anche";
"views.paywall.sections.products.footer" = "Tutti gli acquisti supportano “In famiglia”.";
"views.paywall.sections.products.header" = "Prodotti suggeriti";
"views.paywall.sections.required_features.header" = "Funzionalità richieste";
"views.paywall.sections.restore.footer" = "Se hai acquistato questa app o funzionalità in passato, puoi ripristinare i tuoi acquisti.";
"views.paywall.sections.restore.header" = "Ripristina";
"views.paywall.sections.suggested_product.header" = "Acquisto una tantum";
"views.preferences.erase_icloud" = "Elimina i profili da iCloud";
"views.preferences.erase_icloud.footer" = "Per eliminare in modo sicuro tutti i profili dall'archivio iCloud, fallo su tutti i tuoi dispositivi sincronizzati. Questo non influirà sui profili locali.";
"views.preferences.keeps_in_menu" = "Mantieni nella barra dei menu";
"views.preferences.keeps_in_menu.footer" = "Abilita questa opzione per mantenere l'app nella barra dei menu dopo averla chiusa.";
"views.preferences.launches_on_login" = "Avvia all'accesso";
"views.preferences.launches_on_login.footer" = "Apri l'app in background dopo l'accesso.";
"views.preferences.locks_in_background" = "Blocca in background";
"views.preferences.locks_in_background.footer" = "Blocca l'app con FaceID quando viene inviata in background.";
"views.profile.alerts.purchase.buttons.ok" = "Salva comunque";
"views.profile.module_list.section.footer" = "Tocca i moduli per modificarne le impostazioni. Possono essere trascinati per determinare la priorità.";
"views.profile.rows.add_module" = "Aggiungi modulo";
"views.profile.sections.name.footer" = "Usa questo nome per creare le automazioni VPN nell'app Comandi Rapidi.";
"views.providers.clear_filters" = "Cancella filtri";
"views.providers.last_updated" = "Ultimo aggiornamento il %@";
"views.providers.last_updated.loading" = "Caricamento...";
"views.providers.no_provider" = "Nessuno";
"views.providers.only_favorites" = "Solo preferiti";
"views.providers.refresh_infrastructure" = "Ricarica infrastruttura";
"views.providers.select_entity" = "Seleziona";
"views.providers.select_provider" = "Seleziona un provider";
"views.purchased.no_purchases" = "Nessun acquisto";
"views.purchased.rows.build_number" = "Numero di build";
"views.purchased.rows.download_date" = "Data di download";
"views.purchased.sections.download.header" = "Primo download";
"views.purchased.title" = "Acquistato";
"views.ui.connection_status.on_demand_suffix" = " (on-demand)";
"views.ui.purchase_required.purchase.help" = "Acquisto richiesto";
"views.ui.purchase_required.restricted.help" = "Funzionalità ristretta";
Allow graceful period to work around slow receipt validation (#1139) #1070 is very tricky. When the device boots, StoreKit operations seem to be severely affected by on-demand VPN profiles. Slowdowns are huge and unpredictable, as per my [report on the Apple forums](https://developer.apple.com/forums/thread/773723). I found no easy way to work around the chicken-and-egg situation where the VPN requires StoreKit validation to start, but StoreKit requires network access. On the other hand, without StoreKit validations, the on-demand tunnel starts on boot just fine, and so does the app. No eternal activity indicators. StoreKit is clearly the culprit here. Therefore, below is the strategy that this PR implements for a decent trade-off: - Configure a graceful period for the VPN to start without limitations. This is initially set to 2 minutes in production, and 10 minutes in TestFlight. Postpone StoreKit validation until then. - After the graceful period, StoreKit validation is more likely to complete fast - At this point, paying users have their receipts validated and the connection will silently keep going - Non-paying users, instead, will see their connection hit the "Purchase required" message On the UI side, adjust the app accordingly: - Drop the "Purchase required" icon from the list/grid of profiles - The paywall informs that the connection will start, but it will disconnect after the graceful period if the receipt is not valid - Add a note that receipt validation may take a while if the device has just started This PR also introduces changes in TestFlight behavior: - Profiles can be saved without limitations - Profiles using free features work as usual - Profiles using paid features work for 10 minutes - Eligibility based on local receipt is ignored (deprecated in iOS 18) Beta users may therefore test all paid features on iOS/macOS/tvOS for 10 minutes. Until now, paid features were only available to paying iOS users and unavailable on macOS/tvOS. The tvOS beta was, in fact, completely useless. The downside is that paying iOS users will see beta builds restricted like anybody else. I'll see if I can find a better solution later.
2025-02-05 12:00:42 +00:00
"views.verification.message" = "Verifica";
"views.version.extra" = "%@ è un progetto mantenuto da %@.\n\nIl codice sorgente è pubblicamente disponibile su GitHub sotto la licenza GPLv3, puoi trovare i link nella home page.";
"views.vpn.category.any" = "Tutte le categorie";
"views.vpn.no_servers" = "Nessun server";
"views.vpn.preset" = "Preimpostato";