Plugin Directory

Changeset 3743730


Ignore:
Timestamp:
10/13/2026 11:24:33 AM (8 days ago)
Author:
uptonica
Message:

Uptonica 1.3.0: bookings in pages, dashboard week, landing pages on the domain, emails through Uptonica

Location:
uptonica-ai-assistant-and-marketing-for-woocommerce
Files:
14 added
14 edited
1 copied

Legend:

Unmodified
Added
Removed
  • uptonica-ai-assistant-and-marketing-for-woocommerce/tags/1.3.0/includes/class-uptonica-admin.php

    r3743628 r3743730  
    2222                add_action( 'admin_menu', array( __CLASS__, 'menu' ), 60 );
    2323                add_action( 'admin_post_uptonica_save', array( __CLASS__, 'save' ) );
     24                add_action( 'admin_post_uptonica_landing', array( __CLASS__, 'save_landing' ) );
    2425                add_action( 'admin_notices', array( __CLASS__, 'connect_nudge' ) );
    2526                add_filter( 'plugin_action_links_' . plugin_basename( UPTONICA_FILE ), array( __CLASS__, 'action_links' ) );
    … …  
    105106                                'knowledge_on'     => ! empty( $_POST['knowledge_on'] ),
    106107                                'gsc_verification' => isset( $_POST['gsc_verification'] ) ? Uptonica_Seo::clean_verification( sanitize_text_field( wp_unslash( $_POST['gsc_verification'] ) ) ) : '',
     108                                'mail_on'          => ! empty( $_POST['mail_on'] ),
    107109                        )
    108110                );
    … …  
    114116                wp_safe_redirect( Uptonica_Connection::page_url( array( 'uptonica_notice' => 'saved' ) ) );
    115117                exit;
     118        }
     119
     120        /**
     121         * Add or remove a landing page address.
     122         */
     123        public static function save_landing() {
     124                if ( ! current_user_can( Uptonica_Settings::capability() ) ) {
     125                        wp_die( esc_html__( 'You are not allowed to manage this connection.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), '', array( 'response' => 403 ) );
     126                }
     127
     128                check_admin_referer( 'uptonica_landing' );
     129
     130                $path  = isset( $_POST['landing_path'] ) ? sanitize_text_field( wp_unslash( $_POST['landing_path'] ) ) : '';
     131                $slug  = isset( $_POST['landing_slug'] ) ? sanitize_title( wp_unslash( $_POST['landing_slug'] ) ) : '';
     132                $title = '';
     133
     134                foreach ( self::uptonica_pages() as $page ) {
     135                        if ( $page['slug'] === $slug ) {
     136                                $title = $page['title'];
     137                        }
     138                }
     139
     140                $taken = '' !== $slug && '' !== Uptonica_Landings::clean_path( $path ) && get_page_by_path( Uptonica_Landings::clean_path( $path ) );
     141                $ok    = ! $taken && Uptonica_Landings::set( $path, $slug, $title );
     142
     143                wp_safe_redirect( Uptonica_Connection::page_url( array( 'uptonica_notice' => $ok ? 'saved' : 'landing_invalid' ) ) );
     144                exit;
     145        }
     146
     147        /**
     148         * The workspace's published landing pages.
     149         *
     150         * @return array<int, array{slug: string, title: string}>
     151         */
     152        private static function uptonica_pages() {
     153                $body  = Uptonica_Api::get( 'pages' );
     154                $pages = array();
     155
     156                foreach ( is_array( $body ) && isset( $body['pages'] ) && is_array( $body['pages'] ) ? $body['pages'] : array() as $page ) {
     157                        $pages[] = array(
     158                                'slug'  => isset( $page['slug'] ) ? sanitize_title( $page['slug'] ) : '',
     159                                'title' => isset( $page['title'] ) ? sanitize_text_field( $page['title'] ) : '',
     160                        );
     161                }
     162
     163                return $pages;
    116164        }
    117165
    … …  
    127175                        'disconnected'    => array( 'success', __( 'Your site is disconnected from Uptonica.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),
    128176                        'saved'           => array( 'success', __( 'Settings saved.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),
     177                        'landing_invalid' => array( 'error', __( 'That address cannot be used: use letters, numbers and dashes, and not the address of an existing page.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),
    129178                        'cancelled'       => array( 'warning', __( 'The connection was cancelled. Nothing was changed.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),
    130179                        'expired'         => array( 'error', __( 'This connection attempt expired or was started from another browser. Click Connect again.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),
    … …  
    143192                $site_tag  = Uptonica_Settings::site_tag();
    144193                $woo       = Uptonica_Settings::has_woocommerce();
     194                $summary   = $connected ? Uptonica_Dashboard::summary() : null;
    145195                // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- display only.
    146196                $notice = isset( $_GET['uptonica_notice'] ) ? self::notice( sanitize_key( wp_unslash( $_GET['uptonica_notice'] ) ) ) : null;
    … …  
    294344                                                </td>
    295345                                        </tr>
     346                                        <tr>
     347                                                <th scope="row"><?php esc_html_e( 'Emails', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></th>
     348                                                <td>
     349                                                        <?php $mail = isset( $summary['mail'] ) && is_array( $summary['mail'] ) ? $summary['mail'] : array(); ?>
     350                                                        <label>
     351                                                                <input type="checkbox" name="mail_on" value="1" <?php checked( $settings['mail_on'] ); ?> <?php disabled( empty( $mail['from'] ) && ! $settings['mail_on'] ); ?>>
     352                                                                <?php esc_html_e( 'Send the emails WordPress sends through Uptonica', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>
     353                                                        </label>
     354                                                        <p class="description">
     355                                                                <?php if ( ! empty( $mail['from'] ) ) : ?>
     356                                                                        <?php
     357                                                                        /* translators: %s: sending address, e.g. no-reply@example.com. */
     358                                                                        printf( esc_html__( 'New accounts, password resets, form notifications and order emails leave from %s, signed, so they reach the inbox instead of spam. An email with an attachment, or one Uptonica cannot take, is sent by WordPress as before.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), '<code>' . esc_html( $mail['from'] ) . '</code>' );
     359                                                                        ?>
     360                                                                <?php else : ?>
     361                                                                        <?php esc_html_e( 'Verify your sending domain in Uptonica first: emails then leave from your own domain, signed.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>
     362                                                                        <?php if ( ! empty( $mail['settings_url'] ) ) : ?>
     363                                                                                <a href="<?php echo esc_url( $mail['settings_url'] ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Verify it in Uptonica', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></a>
     364                                                                        <?php endif; ?>
     365                                                                <?php endif; ?>
     366                                                        </p>
     367                                                </td>
     368                                        </tr>
     369                                        <tr>
     370                                                <th scope="row"><?php esc_html_e( 'Bookings', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></th>
     371                                                <td>
     372                                                        <p class="description"><?php esc_html_e( 'To let visitors book an appointment, add the «Uptonica booking» block to a page, or the shortcode [uptonica_booking] (with service="…" for a single service). Services and availability are set up in Uptonica.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p>
     373                                                </td>
     374                                        </tr>
    296375                                        <?php if ( $woo ) : ?>
    297376                                                <tr>
    … …  
    314393                        </form>
    315394
     395                        <h2><?php esc_html_e( 'Landing pages on this site', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></h2>
     396                        <p class="description" style="max-width:42rem"><?php esc_html_e( 'Show a landing page published in Uptonica at an address of this site, such as /offer: the same domain for visitors, ads and search engines. Changes published in Uptonica show up within five minutes.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p>
     397                        <?php $landings = Uptonica_Landings::all(); ?>
     398                        <?php if ( $landings ) : ?>
     399                                <table class="widefat striped" style="max-width:42rem;margin:12px 0">
     400                                        <tbody>
     401                                        <?php foreach ( $landings as $landing_path => $landing ) : ?>
     402                                                <tr>
     403                                                        <td><a href="<?php echo esc_url( home_url( '/' . $landing_path ) ); ?>" target="_blank" rel="noopener"><code>/<?php echo esc_html( $landing_path ); ?></code></a></td>
     404                                                        <td><?php echo esc_html( '' !== $landing['title'] ? $landing['title'] : $landing['slug'] ); ?></td>
     405                                                        <td style="text-align:right">
     406                                                                <form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>">
     407                                                                        <input type="hidden" name="action" value="uptonica_landing">
     408                                                                        <input type="hidden" name="landing_path" value="<?php echo esc_attr( $landing_path ); ?>">
     409                                                                        <input type="hidden" name="landing_slug" value="">
     410                                                                        <?php wp_nonce_field( 'uptonica_landing' ); ?>
     411                                                                        <?php submit_button( __( 'Remove', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), 'link-delete small', 'submit', false ); ?>
     412                                                                </form>
     413                                                        </td>
     414                                                </tr>
     415                                        <?php endforeach; ?>
     416                                        </tbody>
     417                                </table>
     418                        <?php endif; ?>
     419                        <?php $uptonica_pages = self::uptonica_pages(); ?>
     420                        <?php if ( $uptonica_pages ) : ?>
     421                                <form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>">
     422                                        <input type="hidden" name="action" value="uptonica_landing">
     423                                        <?php wp_nonce_field( 'uptonica_landing' ); ?>
     424                                        <code><?php echo esc_html( untrailingslashit( home_url() ) ); ?>/</code><input type="text" name="landing_path" class="regular-text" placeholder="offerta" required>
     425                                        <select name="landing_slug">
     426                                                <?php foreach ( $uptonica_pages as $uptonica_page ) : ?>
     427                                                        <option value="<?php echo esc_attr( $uptonica_page['slug'] ); ?>"><?php echo esc_html( $uptonica_page['title'] ); ?></option>
     428                                                <?php endforeach; ?>
     429                                        </select>
     430                                        <?php submit_button( __( 'Add', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), 'secondary', 'submit', false ); ?>
     431                                </form>
     432                        <?php else : ?>
     433                                <p class="description"><?php esc_html_e( 'This workspace has no published landing pages yet.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p>
     434                        <?php endif; ?>
     435
    316436                        <hr>
    317437                        <h2><?php esc_html_e( 'Disconnect', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></h2>
  • uptonica-ai-assistant-and-marketing-for-woocommerce/tags/1.3.0/includes/class-uptonica-settings.php

    r3743628 r3743730  
    4444                        // The Search Console code belongs to the site, not the workspace.
    4545                        'gsc_verification'    => '',
     46                        // Off until the site owner says so: it changes how every email leaves.
     47                        'mail_on'             => false,
    4648                );
    4749        }
  • uptonica-ai-assistant-and-marketing-for-woocommerce/tags/1.3.0/languages/uptonica-ai-assistant-and-marketing-for-woocommerce-it_IT.po

    r3743628 r3743730  
    2424msgstr "Uptonica"
    2525
    26 #: includes/class-uptonica-admin.php:58
     26#: includes/class-uptonica-admin.php:59
    2727msgid "Settings"
    2828msgstr "Impostazioni"
    2929
    30 #: includes/class-uptonica-admin.php:81
     30#: includes/class-uptonica-admin.php:82
    3131msgid "Uptonica is installed but not connected yet."
    3232msgstr "Uptonica è installato ma non ancora collegato."
    3333
    34 #: includes/class-uptonica-admin.php:92
     34#: includes/class-uptonica-admin.php:93 includes/class-uptonica-admin.php:125
    3535#: includes/class-uptonica-connection.php:253
    3636msgid "You are not allowed to manage this connection."
    3737msgstr "Non hai i permessi per gestire questo collegamento."
    3838
    39 #: includes/class-uptonica-admin.php:128
     39#: includes/class-uptonica-admin.php:176
    4040msgid "Settings saved."
    4141msgstr "Impostazioni salvate."
    4242
    43 #: includes/class-uptonica-admin.php:129
     43#: includes/class-uptonica-admin.php:178
    4444msgid "The connection was cancelled. Nothing was changed."
    4545msgstr "Il collegamento è stato annullato. Non è cambiato nulla."
    4646
    47 #: includes/class-uptonica-admin.php:130
     47#: includes/class-uptonica-admin.php:179
    4848msgid "This connection attempt expired or was started from another browser. Click Connect again."
    4949msgstr "Questo tentativo di collegamento è scaduto o è partito da un altro browser. Clicca di nuovo Collega."
    5050
    51 #: includes/class-uptonica-admin.php:158
     51#: includes/class-uptonica-admin.php:208
    5252msgid "Connect your store to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch."
    5353msgstr "Collega il negozio a Uptonica: catalogo, ordini e clienti restano allineati e puoi aggiungere l'assistente AI al sito con un interruttore."
    5454
    55 #: includes/class-uptonica-admin.php:165
     55#: includes/class-uptonica-admin.php:215
    5656msgid "You will sign in to Uptonica (or create an account), choose the workspace, then approve access on a WooCommerce screen. It takes a minute."
    5757msgstr "Accederai a Uptonica (o creerai un account), sceglierai il workspace e approverai l'accesso in una schermata di WooCommerce. Serve un minuto."
    5858
    59 #: includes/class-uptonica-admin.php:173
     59#: includes/class-uptonica-admin.php:223
    6060msgid "Connect to Uptonica"
    6161msgstr "Collega a Uptonica"
    6262
    63 #: includes/class-uptonica-admin.php:176
     63#: includes/class-uptonica-admin.php:226
    6464msgid "Your site is not served over https. WooCommerce may refuse to approve the connection until it is."
    6565msgstr "Il sito non è servito in https. WooCommerce potrebbe rifiutare il collegamento finché non lo è."
    6666
    67 #: includes/class-uptonica-admin.php:183
     67#: includes/class-uptonica-admin.php:233
    6868msgid "Workspace"
    6969msgstr "Workspace"
    7070
    71 #: includes/class-uptonica-admin.php:187
     71#: includes/class-uptonica-admin.php:237
    7272msgid "Open in Uptonica"
    7373msgstr "Apri in Uptonica"
    7474
    7575#. translators: %s: date the site was connected.
    76 #: includes/class-uptonica-admin.php:192
     76#: includes/class-uptonica-admin.php:242
    7777#, php-format
    7878msgid "Connected on %s."
    7979msgstr "Collegato il %s."
    8080
    81 #: includes/class-uptonica-admin.php:204
     81#: includes/class-uptonica-admin.php:254
    8282msgid "On your site"
    8383msgstr "Sul tuo sito"
    8484
    85 #: includes/class-uptonica-admin.php:212
     85#: includes/class-uptonica-admin.php:262
    8686msgid "It shows the AI assistant and measures visits, following your cookie banner. What it shows is decided in Uptonica."
    8787msgstr "Mostra l'assistente AI e misura le visite, rispettando il banner dei cookie. Cosa mostrare si sceglie in Uptonica."
    8888
    89 #: includes/class-uptonica-admin.php:214
     89#: includes/class-uptonica-admin.php:264
    9090msgid "Choose in Uptonica"
    9191msgstr "Scegli in Uptonica"
    9292
    93 #: includes/class-uptonica-admin.php:218
     93#: includes/class-uptonica-admin.php:268
    9494msgid "This workspace has no assistant set up yet. Set it up in Uptonica, then disconnect and connect again here."
    9595msgstr "Questo workspace non ha ancora un assistente. Configuralo in Uptonica, poi scollega e ricollega qui."
    9696
    97 #: includes/class-uptonica-admin.php:298
     97#: includes/class-uptonica-admin.php:377
    9898msgid "Purchases"
    9999msgstr "Acquisti"
    100100
    101 #: includes/class-uptonica-admin.php:302
     101#: includes/class-uptonica-admin.php:381
    102102msgid "Send purchases to Uptonica from the server"
    103103msgstr "Invia gli acquisti a Uptonica dal server"
    104104
    105 #: includes/class-uptonica-admin.php:305
     105#: includes/class-uptonica-admin.php:384
    106106msgid "A purchase is counted even when the shopper never reaches the thank-you page or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner."
    107107msgstr "L'acquisto viene contato anche se il cliente non arriva alla pagina di ringraziamento o blocca gli script. Viene inviato solo se il cliente ha accettato la misurazione nel banner dei cookie."
    108108
    109 #: includes/class-uptonica-admin.php:317 includes/class-uptonica-admin.php:328
     109#: includes/class-uptonica-admin.php:437 includes/class-uptonica-admin.php:448
    110110msgid "Disconnect"
    111111msgstr "Scollega"
    … …  
    121121msgstr "Collega il tuo sito WordPress o il tuo negozio WooCommerce a Uptonica: i tuoi moduli diventano contatti nel CRM, moduli e popup di Uptonica entrano nelle tue pagine, l'assistente AI arriva sul sito con un interruttore, e aggiornamenti e acquisti del negozio continuano ad arrivare."
    122122
    123 #: includes/class-uptonica-admin.php:83
     123#: includes/class-uptonica-admin.php:84
    124124msgid "Connect your site"
    125125msgstr "Collega il tuo sito"
    126126
    127 #: includes/class-uptonica-admin.php:126
     127#: includes/class-uptonica-admin.php:174
    128128msgid "Your site is connected to Uptonica."
    129129msgstr "Il tuo sito è collegato a Uptonica."
    130130
    131 #: includes/class-uptonica-admin.php:127
     131#: includes/class-uptonica-admin.php:175
    132132msgid "Your site is disconnected from Uptonica."
    133133msgstr "Il tuo sito è scollegato da Uptonica."
    134134
    135 #: includes/class-uptonica-admin.php:131
     135#: includes/class-uptonica-admin.php:180
    136136msgid "The connection was approved, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again."
    137137msgstr "Il collegamento è stato approvato, ma questo sito non è riuscito a raggiungere Uptonica per completarlo. Di solito la causa è un firewall o un plugin di sicurezza che blocca le richieste in uscita. Clicca di nuovo su Collega."
    138138
    139 #: includes/class-uptonica-admin.php:160
     139#: includes/class-uptonica-admin.php:210
    140140msgid "Connect your site to Uptonica: what people send through your forms becomes contacts in your CRM, and you can add the AI assistant and Uptonica forms and popups to your pages."
    141141msgstr "Collega il tuo sito a Uptonica: quello che le persone inviano dai tuoi moduli diventa un contatto nel CRM, e puoi aggiungere alle tue pagine l'assistente AI e i moduli e i popup di Uptonica."
    142142
    143 #: includes/class-uptonica-admin.php:167
     143#: includes/class-uptonica-admin.php:217
    144144msgid "You will sign in to Uptonica (or create an account) and choose the workspace. It takes a minute."
    145145msgstr "Accederai a Uptonica (o creerai un account) e sceglierai il workspace. Ci vuole un minuto."
    146146
    147 #: includes/class-uptonica-admin.php:209
     147#: includes/class-uptonica-admin.php:259
    148148msgid "Add the Uptonica code to every page"
    149149msgstr "Aggiungi il codice Uptonica a tutte le pagine"
    150150
    151 #: includes/class-uptonica-admin.php:223
     151#: includes/class-uptonica-admin.php:273
    152152msgid "Forms"
    153153msgstr "Moduli"
    154154
    155 #: includes/class-uptonica-admin.php:226
     155#: includes/class-uptonica-admin.php:276
    156156msgid "Disconnect and connect again to send your forms to Uptonica: this connection was made by an earlier version of the plugin."
    157157msgstr "Scollega e ricollega il sito per inviare i tuoi moduli a Uptonica: questo collegamento è stato fatto con una versione precedente del plugin."
    158158
    159 #: includes/class-uptonica-admin.php:230
     159#: includes/class-uptonica-admin.php:280
    160160msgid "Send what people submit through your forms to Uptonica"
    161161msgstr "Invia a Uptonica quello che le persone inviano dai tuoi moduli"
    162162
    163163#. translators: %s: names of the form plugins found on the site.
    164 #: includes/class-uptonica-admin.php:237
     164#: includes/class-uptonica-admin.php:287
    165165#, php-format
    166166msgid "Found on this site: %s."
    167167msgstr "Trovati su questo sito: %s."
    168168
    169 #: includes/class-uptonica-admin.php:239
     169#: includes/class-uptonica-admin.php:289
    170170msgid "Works with Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro forms. None is active on this site yet."
    171171msgstr "Funziona con Contact Form 7, WPForms, Gravity Forms, Fluent Forms e i moduli di Elementor Pro. Nessuno è ancora attivo su questo sito."
    172172
    173 #: includes/class-uptonica-admin.php:242
     173#: includes/class-uptonica-admin.php:292
    174174msgid "Each submission with an email becomes a contact in your CRM. It reaches Meta as a lead only when the visitor accepted marketing cookies."
    175175msgstr "Ogni invio con un'email diventa un contatto nel CRM. Arriva a Meta come lead solo se il visitatore ha accettato i cookie di marketing."
    176176
    177 #: includes/class-uptonica-admin.php:244
     177#: includes/class-uptonica-admin.php:294
    178178msgid "See them in Uptonica"
    179179msgstr "Vedili in Uptonica"
    180180
    181 #: includes/class-uptonica-admin.php:248
     181#: includes/class-uptonica-admin.php:298
    182182msgid "To show an Uptonica form or popup in a page, add the «Uptonica form» block, or the shortcode [uptonica_form id=\"…\"]."
    183183msgstr "Per mostrare un modulo o un popup di Uptonica in una pagina, aggiungi il blocco «Modulo Uptonica» oppure lo shortcode [uptonica_form id=\"…\"]."
    184184
    185 #: includes/class-uptonica-admin.php:285
     185#: includes/class-uptonica-admin.php:335
    186186msgid "Registrations"
    187187msgstr "Registrazioni"
    188188
    189 #: includes/class-uptonica-admin.php:289
     189#: includes/class-uptonica-admin.php:339
    190190msgid "Add people who register on this site to your CRM"
    191191msgstr "Aggiungi al CRM chi si registra su questo sito"
    192192
    193 #: includes/class-uptonica-admin.php:292
     193#: includes/class-uptonica-admin.php:342
    194194msgid "They become contacts, without marketing consent: a registration is not a request to receive emails."
    195195msgstr "Diventano contatti, senza consenso al marketing: una registrazione non è una richiesta di ricevere email."
    196196
    197 #: includes/class-uptonica-admin.php:320
     197#: includes/class-uptonica-admin.php:440
    198198msgid "Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages. Forms stop being sent."
    199199msgstr "Rimuove la chiave di accesso e gli avvisi di aggiornamento concessi a Uptonica su questo negozio, e il codice Uptonica dalle tue pagine. I moduli smettono di essere inviati."
    200200
    201 #: includes/class-uptonica-admin.php:322
     201#: includes/class-uptonica-admin.php:442
    202202msgid "Removes the Uptonica code and forms from your pages, and forms stop being sent."
    203203msgstr "Rimuove il codice e i moduli di Uptonica dalle tue pagine, e i moduli smettono di essere inviati."
    204204
    205 #: includes/class-uptonica-admin.php:325
     205#: includes/class-uptonica-admin.php:445
    206206msgid "Disconnect this site from Uptonica?"
    207207msgstr "Scollegare questo sito da Uptonica?"
    … …  
    215215msgstr "Un modulo o un popup creato in Uptonica."
    216216
    217 #: assets/form-block.js:39
     217#: assets/booking-block.js:39 assets/form-block.js:39
    218218msgid "Connect this site to Uptonica first, from the Uptonica page in the admin menu."
    219219msgstr "Prima collega questo sito a Uptonica, dalla pagina Uptonica nel menu di amministrazione."
    … …  
    235235msgstr "Crea o modifica i moduli in Uptonica"
    236236
    237 #: includes/class-uptonica-admin.php:254
     237#: includes/class-uptonica-admin.php:304
    238238msgid "Assistant knowledge"
    239239msgstr "Conoscenza dell'assistente"
    240240
    241 #: includes/class-uptonica-admin.php:258
     241#: includes/class-uptonica-admin.php:308
    242242msgid "Teach the assistant your published pages and posts"
    243243msgstr "Insegna all'assistente le pagine e gli articoli pubblicati"
    244244
    245 #: includes/class-uptonica-admin.php:261
     245#: includes/class-uptonica-admin.php:311
    246246msgid "The assistant answers your visitors from what your site says: shipping, prices, opening hours, services. Pages are sent again when you edit them and taken out when you unpublish them. Only published pages without a password."
    247247msgstr "L'assistente risponde ai visitatori con quello che dice il tuo sito: spedizioni, prezzi, orari, servizi. Le pagine vengono inviate di nuovo quando le modifichi e tolte quando le togli dalla pubblicazione. Solo pagine pubblicate e senza password."
    248248
    249249#. translators: 1: number of pages and posts sent, 2: date.
    250 #: includes/class-uptonica-admin.php:265
     250#: includes/class-uptonica-admin.php:315
    251251#, php-format
    252252msgid "Sent so far: %1$d. Last full sync: %2$s."
    253253msgstr "Inviate finora: %1$d. Ultima sincronizzazione completa: %2$s."
    254254
    255 #: includes/class-uptonica-admin.php:272
     255#: includes/class-uptonica-admin.php:322
    256256msgid "Google Search Console"
    257257msgstr "Google Search Console"
    258258
    259 #: includes/class-uptonica-admin.php:276
     259#: includes/class-uptonica-admin.php:326
    260260msgid "In Search Console, add this site as a URL-prefix property, choose «HTML tag» and paste the tag here: the plugin puts it on your home page, then click Verify in Search Console. After that, connect Search Console in Uptonica to see your search traffic."
    261261msgstr "In Search Console aggiungi questo sito come proprietà «Prefisso URL», scegli «Tag HTML» e incolla qui il tag: il plugin lo mette nella home page, poi clicca Verifica in Search Console. Dopo, collega Search Console in Uptonica per vedere il traffico dalla ricerca."
    262262
    263 #: includes/class-uptonica-admin.php:277
     263#: includes/class-uptonica-admin.php:327
    264264msgid "Open Search Console"
    265265msgstr "Apri Search Console"
    266266
    267 #: includes/class-uptonica-admin.php:279
     267#: includes/class-uptonica-admin.php:329
    268268msgid "Connect it in Uptonica"
    269269msgstr "Collegala in Uptonica"
    270270
    271271#: includes/class-uptonica-articles.php:37
    272 #: includes/class-uptonica-articles.php:108
     272#: includes/class-uptonica-articles.php:107
    273273msgid "From Uptonica"
    274274msgstr "Da Uptonica"
    275275
    276 #: includes/class-uptonica-articles.php:109
     276#: includes/class-uptonica-articles.php:108
    277277msgid "Blog posts written in Uptonica. Importing one creates a draft here: review it, add images and publish it as usual."
    278278msgstr "Gli articoli scritti in Uptonica. Importandone uno si crea qui una bozza: rivedila, aggiungi le immagini e pubblicala come al solito."
    279279
    280 #: includes/class-uptonica-articles.php:112
     280#: includes/class-uptonica-articles.php:111
     281#: includes/class-uptonica-dashboard.php:65
    281282msgid "Uptonica could not be reached. Try again in a minute."
    282283msgstr "Non è stato possibile raggiungere Uptonica. Riprova tra un minuto."
    283284
    284 #: includes/class-uptonica-articles.php:115
     285#: includes/class-uptonica-articles.php:114
    285286msgid "No blog posts in Uptonica yet."
    286287msgstr "Ancora nessun articolo in Uptonica."
    287288
    288 #: includes/class-uptonica-articles.php:117
     289#: includes/class-uptonica-articles.php:116
    289290msgid "Write one in Uptonica"
    290291msgstr "Scrivine uno in Uptonica"
    291292
    292 #: includes/class-uptonica-articles.php:122 includes/class-uptonica-seo.php:110
     293#: includes/class-uptonica-articles.php:121 includes/class-uptonica-seo.php:110
    293294msgid "Title"
    294295msgstr "Titolo"
    295296
    296 #: includes/class-uptonica-articles.php:122
     297#: includes/class-uptonica-articles.php:121
    297298msgid "Written"
    298299msgstr "Scritto il"
    299300
    300 #: includes/class-uptonica-articles.php:134
     301#: includes/class-uptonica-articles.php:133
    301302msgid "Open the draft"
    302303msgstr "Apri la bozza"
    303304
    304 #: includes/class-uptonica-articles.php:140
     305#: includes/class-uptonica-articles.php:139
    305306msgid "Import as draft"
    306307msgstr "Importa come bozza"
    307308
    308 #: includes/class-uptonica-articles.php:158
     309#: includes/class-uptonica-articles.php:157
    309310msgid "You are not allowed to create posts."
    310311msgstr "Non hai i permessi per creare articoli."
    … …  
    359360msgid "Saved. Reload this page before you update it again, or the SEO plugin will put back its previous text."
    360361msgstr "Salvati. Ricarica questa pagina prima di aggiornarla di nuovo, altrimenti il plugin SEO rimette il testo precedente."
     362
     363#: includes/class-uptonica-admin.php:177
     364msgid "That address cannot be used: use letters, numbers and dashes, and not the address of an existing page."
     365msgstr "Questo indirizzo non si può usare: usa lettere, numeri e trattini, e non l'indirizzo di una pagina esistente."
     366
     367#: includes/class-uptonica-admin.php:347
     368msgid "Emails"
     369msgstr "Email"
     370
     371#: includes/class-uptonica-admin.php:352
     372msgid "Send the emails WordPress sends through Uptonica"
     373msgstr "Invia tramite Uptonica le email che manda WordPress"
     374
     375#. translators: %s: sending address, e.g. no-reply@example.com.
     376#: includes/class-uptonica-admin.php:358
     377#, php-format
     378msgid "New accounts, password resets, form notifications and order emails leave from %s, signed, so they reach the inbox instead of spam. An email with an attachment, or one Uptonica cannot take, is sent by WordPress as before."
     379msgstr "Nuovi account, reimpostazioni della password, notifiche dei moduli ed email degli ordini partono da %s, firmate, e arrivano in posta in arrivo invece che nello spam. Un'email con allegato, o che Uptonica non può prendere, la spedisce WordPress come prima."
     380
     381#: includes/class-uptonica-admin.php:361
     382msgid "Verify your sending domain in Uptonica first: emails then leave from your own domain, signed."
     383msgstr "Prima verifica il tuo dominio di invio in Uptonica: le email partiranno dal tuo dominio, firmate."
     384
     385#: includes/class-uptonica-admin.php:363
     386msgid "Verify it in Uptonica"
     387msgstr "Verificalo in Uptonica"
     388
     389#: includes/class-uptonica-admin.php:370
     390#: includes/class-uptonica-dashboard.php:73
     391msgid "Bookings"
     392msgstr "Prenotazioni"
     393
     394#: includes/class-uptonica-admin.php:372
     395msgid "To let visitors book an appointment, add the «Uptonica booking» block to a page, or the shortcode [uptonica_booking] (with service=\"…\" for a single service). Services and availability are set up in Uptonica."
     396msgstr "Per far prenotare un appuntamento ai visitatori, aggiungi a una pagina il blocco «Prenotazione Uptonica» o lo shortcode [uptonica_booking] (con service=\"…\" per un solo servizio). Servizi e disponibilità si impostano in Uptonica."
     397
     398#: includes/class-uptonica-admin.php:395
     399msgid "Landing pages on this site"
     400msgstr "Landing page su questo sito"
     401
     402#: includes/class-uptonica-admin.php:396
     403msgid "Show a landing page published in Uptonica at an address of this site, such as /offer: the same domain for visitors, ads and search engines. Changes published in Uptonica show up within five minutes."
     404msgstr "Mostra una landing pubblicata in Uptonica a un indirizzo di questo sito, come /offerta: lo stesso dominio per visitatori, annunci e motori di ricerca. Le modifiche pubblicate in Uptonica compaiono entro cinque minuti."
     405
     406#: includes/class-uptonica-admin.php:411
     407msgid "Remove"
     408msgstr "Rimuovi"
     409
     410#: includes/class-uptonica-admin.php:430
     411msgid "Add"
     412msgstr "Aggiungi"
     413
     414#: includes/class-uptonica-admin.php:433
     415msgid "This workspace has no published landing pages yet."
     416msgstr "Questo workspace non ha ancora landing pubblicate."
     417
     418#: includes/class-uptonica-booking.php:98
     419msgid "Book an appointment"
     420msgstr "Prenota un appuntamento"
     421
     422#: includes/class-uptonica-dashboard.php:33
     423msgid "Uptonica: the last 7 days"
     424msgstr "Uptonica: gli ultimi 7 giorni"
     425
     426#: includes/class-uptonica-dashboard.php:70
     427msgid "New contacts"
     428msgstr "Nuovi contatti"
     429
     430#: includes/class-uptonica-dashboard.php:71
     431msgid "From this site's forms"
     432msgstr "Dai moduli di questo sito"
     433
     434#: includes/class-uptonica-dashboard.php:72
     435msgid "Assistant conversations"
     436msgstr "Conversazioni dell'assistente"
     437
     438#: assets/booking-block.js:13 assets/booking-block.js:68
     439msgid "Uptonica booking"
     440msgstr "Prenotazione Uptonica"
     441
     442#: assets/booking-block.js:14
     443msgid "Let visitors book an appointment, with the services set up in Uptonica."
     444msgstr "Fa prenotare un appuntamento ai visitatori, con i servizi impostati in Uptonica."
     445
     446#: assets/booking-block.js:42
     447msgid "Every service"
     448msgstr "Tutti i servizi"
     449
     450#: assets/booking-block.js:51
     451msgid "Service"
     452msgstr "Servizio"
     453
     454#: assets/booking-block.js:61
     455msgid "This workspace has no public services to book yet."
     456msgstr "Questo workspace non ha ancora servizi pubblici da prenotare."
     457
     458#: assets/booking-block.js:65
     459msgid "Set up services in Uptonica"
     460msgstr "Imposta i servizi in Uptonica"
  • uptonica-ai-assistant-and-marketing-for-woocommerce/tags/1.3.0/languages/uptonica-ai-assistant-and-marketing-for-woocommerce.pot

    r3743628 r3743730  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Uptonica – AI assistant, forms and marketing 1.2.0\n"
     5"Project-Id-Version: Uptonica – AI assistant, forms and marketing 1.3.0\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/uptonica-ai-assistant-and-marketing-for-woocommerce\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    … …  
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-10-13T09:52:24+00:00\n"
     12"POT-Creation-Date: 2026-10-13T10:46:30+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
    … …  
    3535msgstr ""
    3636
    37 #: includes/class-uptonica-admin.php:58
     37#: includes/class-uptonica-admin.php:59
    3838msgid "Settings"
    3939msgstr ""
    4040
    41 #: includes/class-uptonica-admin.php:81
     41#: includes/class-uptonica-admin.php:82
    4242msgid "Uptonica is installed but not connected yet."
    4343msgstr ""
    4444
    45 #: includes/class-uptonica-admin.php:83
     45#: includes/class-uptonica-admin.php:84
    4646msgid "Connect your site"
    4747msgstr ""
    4848
    49 #: includes/class-uptonica-admin.php:92
     49#: includes/class-uptonica-admin.php:93
     50#: includes/class-uptonica-admin.php:125
    5051#: includes/class-uptonica-connection.php:253
    5152msgid "You are not allowed to manage this connection."
    5253msgstr ""
    5354
    54 #: includes/class-uptonica-admin.php:126
     55#: includes/class-uptonica-admin.php:174
    5556msgid "Your site is connected to Uptonica."
    5657msgstr ""
    5758
    58 #: includes/class-uptonica-admin.php:127
     59#: includes/class-uptonica-admin.php:175
    5960msgid "Your site is disconnected from Uptonica."
    6061msgstr ""
    6162
    62 #: includes/class-uptonica-admin.php:128
     63#: includes/class-uptonica-admin.php:176
    6364msgid "Settings saved."
    6465msgstr ""
    6566
    66 #: includes/class-uptonica-admin.php:129
     67#: includes/class-uptonica-admin.php:177
     68msgid "That address cannot be used: use letters, numbers and dashes, and not the address of an existing page."
     69msgstr ""
     70
     71#: includes/class-uptonica-admin.php:178
    6772msgid "The connection was cancelled. Nothing was changed."
    6873msgstr ""
    6974
    70 #: includes/class-uptonica-admin.php:130
     75#: includes/class-uptonica-admin.php:179
    7176msgid "This connection attempt expired or was started from another browser. Click Connect again."
    7277msgstr ""
    7378
    74 #: includes/class-uptonica-admin.php:131
     79#: includes/class-uptonica-admin.php:180
    7580msgid "The connection was approved, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again."
    7681msgstr ""
    7782
    78 #: includes/class-uptonica-admin.php:158
     83#: includes/class-uptonica-admin.php:208
    7984msgid "Connect your store to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch."
    8085msgstr ""
    8186
    82 #: includes/class-uptonica-admin.php:160
     87#: includes/class-uptonica-admin.php:210
    8388msgid "Connect your site to Uptonica: what people send through your forms becomes contacts in your CRM, and you can add the AI assistant and Uptonica forms and popups to your pages."
    8489msgstr ""
    8590
    86 #: includes/class-uptonica-admin.php:165
     91#: includes/class-uptonica-admin.php:215
    8792msgid "You will sign in to Uptonica (or create an account), choose the workspace, then approve access on a WooCommerce screen. It takes a minute."
    8893msgstr ""
    8994
    90 #: includes/class-uptonica-admin.php:167
     95#: includes/class-uptonica-admin.php:217
    9196msgid "You will sign in to Uptonica (or create an account) and choose the workspace. It takes a minute."
    9297msgstr ""
    9398
    94 #: includes/class-uptonica-admin.php:173
     99#: includes/class-uptonica-admin.php:223
    95100msgid "Connect to Uptonica"
    96101msgstr ""
    97102
    98 #: includes/class-uptonica-admin.php:176
     103#: includes/class-uptonica-admin.php:226
    99104msgid "Your site is not served over https. WooCommerce may refuse to approve the connection until it is."
    100105msgstr ""
    101106
    102 #: includes/class-uptonica-admin.php:183
     107#: includes/class-uptonica-admin.php:233
    103108msgid "Workspace"
    104109msgstr ""
    105110
    106 #: includes/class-uptonica-admin.php:187
     111#: includes/class-uptonica-admin.php:237
    107112msgid "Open in Uptonica"
    108113msgstr ""
    109114
    110115#. translators: %s: date the site was connected.
    111 #: includes/class-uptonica-admin.php:192
     116#: includes/class-uptonica-admin.php:242
    112117#, php-format
    113118msgid "Connected on %s."
    114119msgstr ""
    115120
    116 #: includes/class-uptonica-admin.php:204
     121#: includes/class-uptonica-admin.php:254
    117122msgid "On your site"
    118123msgstr ""
    119124
    120 #: includes/class-uptonica-admin.php:209
     125#: includes/class-uptonica-admin.php:259
    121126msgid "Add the Uptonica code to every page"
    122127msgstr ""
    123128
    124 #: includes/class-uptonica-admin.php:212
     129#: includes/class-uptonica-admin.php:262
    125130msgid "It shows the AI assistant and measures visits, following your cookie banner. What it shows is decided in Uptonica."
    126131msgstr ""
    127132
    128 #: includes/class-uptonica-admin.php:214
     133#: includes/class-uptonica-admin.php:264
    129134msgid "Choose in Uptonica"
    130135msgstr ""
    131136
    132 #: includes/class-uptonica-admin.php:218
     137#: includes/class-uptonica-admin.php:268
    133138msgid "This workspace has no assistant set up yet. Set it up in Uptonica, then disconnect and connect again here."
    134139msgstr ""
    135140
    136 #: includes/class-uptonica-admin.php:223
     141#: includes/class-uptonica-admin.php:273
    137142msgid "Forms"
    138143msgstr ""
    139144
    140 #: includes/class-uptonica-admin.php:226
     145#: includes/class-uptonica-admin.php:276
    141146msgid "Disconnect and connect again to send your forms to Uptonica: this connection was made by an earlier version of the plugin."
    142147msgstr ""
    143148
    144 #: includes/class-uptonica-admin.php:230
     149#: includes/class-uptonica-admin.php:280
    145150msgid "Send what people submit through your forms to Uptonica"
    146151msgstr ""
    147152
    148153#. translators: %s: names of the form plugins found on the site.
    149 #: includes/class-uptonica-admin.php:237
     154#: includes/class-uptonica-admin.php:287
    150155#, php-format
    151156msgid "Found on this site: %s."
    152157msgstr ""
    153158
    154 #: includes/class-uptonica-admin.php:239
     159#: includes/class-uptonica-admin.php:289
    155160msgid "Works with Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro forms. None is active on this site yet."
    156161msgstr ""
    157162
    158 #: includes/class-uptonica-admin.php:242
     163#: includes/class-uptonica-admin.php:292
    159164msgid "Each submission with an email becomes a contact in your CRM. It reaches Meta as a lead only when the visitor accepted marketing cookies."
    160165msgstr ""
    161166
    162 #: includes/class-uptonica-admin.php:244
     167#: includes/class-uptonica-admin.php:294
    163168msgid "See them in Uptonica"
    164169msgstr ""
    165170
    166 #: includes/class-uptonica-admin.php:248
     171#: includes/class-uptonica-admin.php:298
    167172msgid "To show an Uptonica form or popup in a page, add the «Uptonica form» block, or the shortcode [uptonica_form id=\"…\"]."
    168173msgstr ""
    169174
    170 #: includes/class-uptonica-admin.php:254
     175#: includes/class-uptonica-admin.php:304
    171176msgid "Assistant knowledge"
    172177msgstr ""
    173178
    174 #: includes/class-uptonica-admin.php:258
     179#: includes/class-uptonica-admin.php:308
    175180msgid "Teach the assistant your published pages and posts"
    176181msgstr ""
    177182
    178 #: includes/class-uptonica-admin.php:261
     183#: includes/class-uptonica-admin.php:311
    179184msgid "The assistant answers your visitors from what your site says: shipping, prices, opening hours, services. Pages are sent again when you edit them and taken out when you unpublish them. Only published pages without a password."
    180185msgstr ""
    181186
    182187#. translators: 1: number of pages and posts sent, 2: date.
    183 #: includes/class-uptonica-admin.php:265
     188#: includes/class-uptonica-admin.php:315
    184189#, php-format
    185190msgid "Sent so far: %1$d. Last full sync: %2$s."
    186191msgstr ""
    187192
    188 #: includes/class-uptonica-admin.php:272
     193#: includes/class-uptonica-admin.php:322
    189194msgid "Google Search Console"
    190195msgstr ""
    191196
    192 #: includes/class-uptonica-admin.php:276
     197#: includes/class-uptonica-admin.php:326
    193198msgid "In Search Console, add this site as a URL-prefix property, choose «HTML tag» and paste the tag here: the plugin puts it on your home page, then click Verify in Search Console. After that, connect Search Console in Uptonica to see your search traffic."
    194199msgstr ""
    195200
    196 #: includes/class-uptonica-admin.php:277
     201#: includes/class-uptonica-admin.php:327
    197202msgid "Open Search Console"
    198203msgstr ""
    199204
    200 #: includes/class-uptonica-admin.php:279
     205#: includes/class-uptonica-admin.php:329
    201206msgid "Connect it in Uptonica"
    202207msgstr ""
    203208
    204 #: includes/class-uptonica-admin.php:285
     209#: includes/class-uptonica-admin.php:335
    205210msgid "Registrations"
    206211msgstr ""
    207212
    208 #: includes/class-uptonica-admin.php:289
     213#: includes/class-uptonica-admin.php:339
    209214msgid "Add people who register on this site to your CRM"
    210215msgstr ""
    211216
    212 #: includes/class-uptonica-admin.php:292
     217#: includes/class-uptonica-admin.php:342
    213218msgid "They become contacts, without marketing consent: a registration is not a request to receive emails."
    214219msgstr ""
    215220
    216 #: includes/class-uptonica-admin.php:298
     221#: includes/class-uptonica-admin.php:347
     222msgid "Emails"
     223msgstr ""
     224
     225#: includes/class-uptonica-admin.php:352
     226msgid "Send the emails WordPress sends through Uptonica"
     227msgstr ""
     228
     229#. translators: %s: sending address, e.g. no-reply@example.com.
     230#: includes/class-uptonica-admin.php:358
     231#, php-format
     232msgid "New accounts, password resets, form notifications and order emails leave from %s, signed, so they reach the inbox instead of spam. An email with an attachment, or one Uptonica cannot take, is sent by WordPress as before."
     233msgstr ""
     234
     235#: includes/class-uptonica-admin.php:361
     236msgid "Verify your sending domain in Uptonica first: emails then leave from your own domain, signed."
     237msgstr ""
     238
     239#: includes/class-uptonica-admin.php:363
     240msgid "Verify it in Uptonica"
     241msgstr ""
     242
     243#: includes/class-uptonica-admin.php:370
     244#: includes/class-uptonica-dashboard.php:73
     245msgid "Bookings"
     246msgstr ""
     247
     248#: includes/class-uptonica-admin.php:372
     249msgid "To let visitors book an appointment, add the «Uptonica booking» block to a page, or the shortcode [uptonica_booking] (with service=\"…\" for a single service). Services and availability are set up in Uptonica."
     250msgstr ""
     251
     252#: includes/class-uptonica-admin.php:377
    217253msgid "Purchases"
    218254msgstr ""
    219255
    220 #: includes/class-uptonica-admin.php:302
     256#: includes/class-uptonica-admin.php:381
    221257msgid "Send purchases to Uptonica from the server"
    222258msgstr ""
    223259
    224 #: includes/class-uptonica-admin.php:305
     260#: includes/class-uptonica-admin.php:384
    225261msgid "A purchase is counted even when the shopper never reaches the thank-you page or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner."
    226262msgstr ""
    227263
    228 #: includes/class-uptonica-admin.php:317
    229 #: includes/class-uptonica-admin.php:328
     264#: includes/class-uptonica-admin.php:395
     265msgid "Landing pages on this site"
     266msgstr ""
     267
     268#: includes/class-uptonica-admin.php:396
     269msgid "Show a landing page published in Uptonica at an address of this site, such as /offer: the same domain for visitors, ads and search engines. Changes published in Uptonica show up within five minutes."
     270msgstr ""
     271
     272#: includes/class-uptonica-admin.php:411
     273msgid "Remove"
     274msgstr ""
     275
     276#: includes/class-uptonica-admin.php:430
     277msgid "Add"
     278msgstr ""
     279
     280#: includes/class-uptonica-admin.php:433
     281msgid "This workspace has no published landing pages yet."
     282msgstr ""
     283
     284#: includes/class-uptonica-admin.php:437
     285#: includes/class-uptonica-admin.php:448
    230286msgid "Disconnect"
    231287msgstr ""
    232288
    233 #: includes/class-uptonica-admin.php:320
     289#: includes/class-uptonica-admin.php:440
    234290msgid "Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages. Forms stop being sent."
    235291msgstr ""
    236292
    237 #: includes/class-uptonica-admin.php:322
     293#: includes/class-uptonica-admin.php:442
    238294msgid "Removes the Uptonica code and forms from your pages, and forms stop being sent."
    239295msgstr ""
    240296
    241 #: includes/class-uptonica-admin.php:325
     297#: includes/class-uptonica-admin.php:445
    242298msgid "Disconnect this site from Uptonica?"
    243299msgstr ""
    244300
    245301#: includes/class-uptonica-articles.php:37
     302#: includes/class-uptonica-articles.php:107
     303msgid "From Uptonica"
     304msgstr ""
     305
    246306#: includes/class-uptonica-articles.php:108
    247 msgid "From Uptonica"
    248 msgstr ""
    249 
    250 #: includes/class-uptonica-articles.php:109
    251307msgid "Blog posts written in Uptonica. Importing one creates a draft here: review it, add images and publish it as usual."
    252308msgstr ""
    253309
    254 #: includes/class-uptonica-articles.php:112
     310#: includes/class-uptonica-articles.php:111
     311#: includes/class-uptonica-dashboard.php:65
    255312msgid "Uptonica could not be reached. Try again in a minute."
    256313msgstr ""
    257314
    258 #: includes/class-uptonica-articles.php:115
     315#: includes/class-uptonica-articles.php:114
    259316msgid "No blog posts in Uptonica yet."
    260317msgstr ""
    261318
    262 #: includes/class-uptonica-articles.php:117
     319#: includes/class-uptonica-articles.php:116
    263320msgid "Write one in Uptonica"
    264321msgstr ""
    265322
    266 #: includes/class-uptonica-articles.php:122
     323#: includes/class-uptonica-articles.php:121
    267324#: includes/class-uptonica-seo.php:110
    268325msgid "Title"
    269326msgstr ""
    270327
    271 #: includes/class-uptonica-articles.php:122
     328#: includes/class-uptonica-articles.php:121
    272329msgid "Written"
    273330msgstr ""
    274331
    275 #: includes/class-uptonica-articles.php:134
     332#: includes/class-uptonica-articles.php:133
    276333msgid "Open the draft"
    277334msgstr ""
    278335
    279 #: includes/class-uptonica-articles.php:140
     336#: includes/class-uptonica-articles.php:139
    280337msgid "Import as draft"
    281338msgstr ""
    282339
    283 #: includes/class-uptonica-articles.php:158
     340#: includes/class-uptonica-articles.php:157
    284341msgid "You are not allowed to create posts."
     342msgstr ""
     343
     344#: includes/class-uptonica-booking.php:98
     345msgid "Book an appointment"
     346msgstr ""
     347
     348#: includes/class-uptonica-dashboard.php:33
     349msgid "Uptonica: the last 7 days"
     350msgstr ""
     351
     352#: includes/class-uptonica-dashboard.php:70
     353msgid "New contacts"
     354msgstr ""
     355
     356#: includes/class-uptonica-dashboard.php:71
     357msgid "From this site's forms"
     358msgstr ""
     359
     360#: includes/class-uptonica-dashboard.php:72
     361msgid "Assistant conversations"
    285362msgstr ""
    286363
    … …  
    335412msgstr ""
    336413
     414#: assets/booking-block.js:13
     415#: assets/booking-block.js:68
     416msgid "Uptonica booking"
     417msgstr ""
     418
     419#: assets/booking-block.js:14
     420msgid "Let visitors book an appointment, with the services set up in Uptonica."
     421msgstr ""
     422
     423#: assets/booking-block.js:39
     424#: assets/form-block.js:39
     425msgid "Connect this site to Uptonica first, from the Uptonica page in the admin menu."
     426msgstr ""
     427
     428#: assets/booking-block.js:42
     429msgid "Every service"
     430msgstr ""
     431
     432#: assets/booking-block.js:51
     433msgid "Service"
     434msgstr ""
     435
     436#: assets/booking-block.js:61
     437msgid "This workspace has no public services to book yet."
     438msgstr ""
     439
     440#: assets/booking-block.js:65
     441msgid "Set up services in Uptonica"
     442msgstr ""
     443
    337444#: assets/form-block.js:13
    338445#: assets/form-block.js:51
    … …  
    345452msgstr ""
    346453
    347 #: assets/form-block.js:39
    348 msgid "Connect this site to Uptonica first, from the Uptonica page in the admin menu."
    349 msgstr ""
    350 
    351454#: assets/form-block.js:42
    352455msgid "Choose a form"
  • uptonica-ai-assistant-and-marketing-for-woocommerce/tags/1.3.0/readme.txt

    r3743628 r3743730  
    55Tested up to: 7.1
    66Requires PHP: 7.4
    7 Stable tag: 1.2.0
     7Stable tag: 1.3.0
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    2929* **Blog posts from Uptonica.** Posts → From Uptonica lists the blog posts written in Uptonica; import one as a draft, review it and publish.
    3030* **Google Search Console without touching the theme.** Paste the verification tag and the plugin puts it on your home page.
     31* **Bookings in your pages.** The «Uptonica booking» block, or `[uptonica_booking]`, shows your Uptonica booking page (every service, or one) inside your site.
     32* **The week on your dashboard.** New contacts, submissions from your forms, assistant conversations and bookings of the last 7 days, each linked to Uptonica.
     33* **Landing pages on your own domain.** Serve a landing page published in Uptonica at an address of your site, such as /offer, without touching DNS.
     34* **Emails that reach the inbox.** Optionally, the emails WordPress sends (new accounts, password resets, notifications, orders) leave through Uptonica from your verified domain, signed. Anything Uptonica cannot take is sent by WordPress as before.
    3135
    3236= On a WooCommerce store, also =
    … …  
    5256* **Posts → From Uptonica** reads your workspace's blog posts from `https://app.uptonica.com/api/wordpress/v1/articles`.
    5357* **The Search Console tag** you paste is printed on your home page; it is sent nowhere.
     58* **The booking block and shortcode** show `https://app.uptonica.com/book/…` in a frame; visitors who book talk to app.uptonica.com.
     59* **The dashboard widget** reads the last 7 days from `https://app.uptonica.com/api/wordpress/v1/summary`.
     60* **Landing pages on the site**: the plugin fetches the page from `https://app.uptonica.com/p/…` (kept for five minutes) and serves it at the address you chose; its forms post to app.uptonica.com.
     61* **When «Send the emails WordPress sends through Uptonica» is on**, each email WordPress sends (recipients, subject, body, reply-to and sender name) goes from your server to `https://app.uptonica.com/api/wordpress/v1/mail`, and Uptonica sends it.
    5462* **In the block editor**, the «Uptonica form» block reads the list of your workspace's forms from `https://app.uptonica.com/api/wordpress/v1/forms`. A page with the block or shortcode loads the form from `https://app.uptonica.com/f/…`, and the visitor's browser then talks to app.uptonica.com.
    5563* **When «Add the Uptonica code to every page» is on**, every page loads `https://app.uptonica.com/widget/uptonica.js`. It shows the AI assistant and, following your cookie banner, measures visits.
    … …  
    8896== Changelog ==
    8997
     98= 1.3.0 =
     99* «Uptonica booking» block and `[uptonica_booking]` shortcode.
     100* Dashboard widget with the last 7 days in Uptonica.
     101* Landing pages published in Uptonica, served at an address of your site.
     102* Optional: WordPress emails sent through Uptonica from your verified domain.
     103
    90104= 1.2.0 =
    91105* The assistant learns your published pages and posts, and keeps up with your edits.
  • uptonica-ai-assistant-and-marketing-for-woocommerce/tags/1.3.0/uptonica.php

    r3743628 r3743730  
    33 * Plugin Name:       Uptonica – AI assistant, forms and marketing
    44 * Description:       Connect your WordPress site or WooCommerce store to Uptonica: your forms become contacts in your CRM, Uptonica forms and popups go in your pages, the AI assistant goes on your site with a switch, and a store's updates and purchases keep arriving.
    5  * Version:           1.2.0
     5 * Version:           1.3.0
    66 * Requires at least: 6.3
    77 * Requires PHP:      7.4
    … …  
    2020defined( 'ABSPATH' ) || exit;
    2121
    22 define( 'UPTONICA_VERSION', '1.2.0' );
     22define( 'UPTONICA_VERSION', '1.3.0' );
    2323define( 'UPTONICA_FILE', __FILE__ );
    2424define( 'UPTONICA_DIR', plugin_dir_path( __FILE__ ) );
    … …  
    4343require_once UPTONICA_DIR . 'includes/class-uptonica-seo.php';
    4444require_once UPTONICA_DIR . 'includes/class-uptonica-articles.php';
     45require_once UPTONICA_DIR . 'includes/class-uptonica-api.php';
     46require_once UPTONICA_DIR . 'includes/class-uptonica-booking.php';
     47require_once UPTONICA_DIR . 'includes/class-uptonica-dashboard.php';
     48require_once UPTONICA_DIR . 'includes/class-uptonica-landings.php';
     49require_once UPTONICA_DIR . 'includes/class-uptonica-mail.php';
    4550
    4651// HPOS and the block checkout: everything here reads orders through the
    … …  
    7277                Uptonica_Seo::init();
    7378                Uptonica_Articles::init();
     79                Uptonica_Booking::init();
     80                Uptonica_Dashboard::init();
     81                Uptonica_Landings::init();
     82                Uptonica_Mail::init();
    7483
    7584                // What only a store has: its webhooks to keep alive and its purchases.
  • uptonica-ai-assistant-and-marketing-for-woocommerce/trunk/includes/class-uptonica-admin.php

    r3743628 r3743730  
    2222                add_action( 'admin_menu', array( __CLASS__, 'menu' ), 60 );
    2323                add_action( 'admin_post_uptonica_save', array( __CLASS__, 'save' ) );
     24                add_action( 'admin_post_uptonica_landing', array( __CLASS__, 'save_landing' ) );
    2425                add_action( 'admin_notices', array( __CLASS__, 'connect_nudge' ) );
    2526                add_filter( 'plugin_action_links_' . plugin_basename( UPTONICA_FILE ), array( __CLASS__, 'action_links' ) );
    … …  
    105106                                'knowledge_on'     => ! empty( $_POST['knowledge_on'] ),
    106107                                'gsc_verification' => isset( $_POST['gsc_verification'] ) ? Uptonica_Seo::clean_verification( sanitize_text_field( wp_unslash( $_POST['gsc_verification'] ) ) ) : '',
     108                                'mail_on'          => ! empty( $_POST['mail_on'] ),
    107109                        )
    108110                );
    … …  
    114116                wp_safe_redirect( Uptonica_Connection::page_url( array( 'uptonica_notice' => 'saved' ) ) );
    115117                exit;
     118        }
     119
     120        /**
     121         * Add or remove a landing page address.
     122         */
     123        public static function save_landing() {
     124                if ( ! current_user_can( Uptonica_Settings::capability() ) ) {
     125                        wp_die( esc_html__( 'You are not allowed to manage this connection.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), '', array( 'response' => 403 ) );
     126                }
     127
     128                check_admin_referer( 'uptonica_landing' );
     129
     130                $path  = isset( $_POST['landing_path'] ) ? sanitize_text_field( wp_unslash( $_POST['landing_path'] ) ) : '';
     131                $slug  = isset( $_POST['landing_slug'] ) ? sanitize_title( wp_unslash( $_POST['landing_slug'] ) ) : '';
     132                $title = '';
     133
     134                foreach ( self::uptonica_pages() as $page ) {
     135                        if ( $page['slug'] === $slug ) {
     136                                $title = $page['title'];
     137                        }
     138                }
     139
     140                $taken = '' !== $slug && '' !== Uptonica_Landings::clean_path( $path ) && get_page_by_path( Uptonica_Landings::clean_path( $path ) );
     141                $ok    = ! $taken && Uptonica_Landings::set( $path, $slug, $title );
     142
     143                wp_safe_redirect( Uptonica_Connection::page_url( array( 'uptonica_notice' => $ok ? 'saved' : 'landing_invalid' ) ) );
     144                exit;
     145        }
     146
     147        /**
     148         * The workspace's published landing pages.
     149         *
     150         * @return array<int, array{slug: string, title: string}>
     151         */
     152        private static function uptonica_pages() {
     153                $body  = Uptonica_Api::get( 'pages' );
     154                $pages = array();
     155
     156                foreach ( is_array( $body ) && isset( $body['pages'] ) && is_array( $body['pages'] ) ? $body['pages'] : array() as $page ) {
     157                        $pages[] = array(
     158                                'slug'  => isset( $page['slug'] ) ? sanitize_title( $page['slug'] ) : '',
     159                                'title' => isset( $page['title'] ) ? sanitize_text_field( $page['title'] ) : '',
     160                        );
     161                }
     162
     163                return $pages;
    116164        }
    117165
    … …  
    127175                        'disconnected'    => array( 'success', __( 'Your site is disconnected from Uptonica.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),
    128176                        'saved'           => array( 'success', __( 'Settings saved.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),
     177                        'landing_invalid' => array( 'error', __( 'That address cannot be used: use letters, numbers and dashes, and not the address of an existing page.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),
    129178                        'cancelled'       => array( 'warning', __( 'The connection was cancelled. Nothing was changed.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),
    130179                        'expired'         => array( 'error', __( 'This connection attempt expired or was started from another browser. Click Connect again.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),
    … …  
    143192                $site_tag  = Uptonica_Settings::site_tag();
    144193                $woo       = Uptonica_Settings::has_woocommerce();
     194                $summary   = $connected ? Uptonica_Dashboard::summary() : null;
    145195                // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- display only.
    146196                $notice = isset( $_GET['uptonica_notice'] ) ? self::notice( sanitize_key( wp_unslash( $_GET['uptonica_notice'] ) ) ) : null;
    … …  
    294344                                                </td>
    295345                                        </tr>
     346                                        <tr>
     347                                                <th scope="row"><?php esc_html_e( 'Emails', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></th>
     348                                                <td>
     349                                                        <?php $mail = isset( $summary['mail'] ) && is_array( $summary['mail'] ) ? $summary['mail'] : array(); ?>
     350                                                        <label>
     351                                                                <input type="checkbox" name="mail_on" value="1" <?php checked( $settings['mail_on'] ); ?> <?php disabled( empty( $mail['from'] ) && ! $settings['mail_on'] ); ?>>
     352                                                                <?php esc_html_e( 'Send the emails WordPress sends through Uptonica', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>
     353                                                        </label>
     354                                                        <p class="description">
     355                                                                <?php if ( ! empty( $mail['from'] ) ) : ?>
     356                                                                        <?php
     357                                                                        /* translators: %s: sending address, e.g. no-reply@example.com. */
     358                                                                        printf( esc_html__( 'New accounts, password resets, form notifications and order emails leave from %s, signed, so they reach the inbox instead of spam. An email with an attachment, or one Uptonica cannot take, is sent by WordPress as before.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), '<code>' . esc_html( $mail['from'] ) . '</code>' );
     359                                                                        ?>
     360                                                                <?php else : ?>
     361                                                                        <?php esc_html_e( 'Verify your sending domain in Uptonica first: emails then leave from your own domain, signed.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>
     362                                                                        <?php if ( ! empty( $mail['settings_url'] ) ) : ?>
     363                                                                                <a href="<?php echo esc_url( $mail['settings_url'] ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Verify it in Uptonica', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></a>
     364                                                                        <?php endif; ?>
     365                                                                <?php endif; ?>
     366                                                        </p>
     367                                                </td>
     368                                        </tr>
     369                                        <tr>
     370                                                <th scope="row"><?php esc_html_e( 'Bookings', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></th>
     371                                                <td>
     372                                                        <p class="description"><?php esc_html_e( 'To let visitors book an appointment, add the «Uptonica booking» block to a page, or the shortcode [uptonica_booking] (with service="…" for a single service). Services and availability are set up in Uptonica.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p>
     373                                                </td>
     374                                        </tr>
    296375                                        <?php if ( $woo ) : ?>
    297376                                                <tr>
    … …  
    314393                        </form>
    315394
     395                        <h2><?php esc_html_e( 'Landing pages on this site', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></h2>
     396                        <p class="description" style="max-width:42rem"><?php esc_html_e( 'Show a landing page published in Uptonica at an address of this site, such as /offer: the same domain for visitors, ads and search engines. Changes published in Uptonica show up within five minutes.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p>
     397                        <?php $landings = Uptonica_Landings::all(); ?>
     398                        <?php if ( $landings ) : ?>
     399                                <table class="widefat striped" style="max-width:42rem;margin:12px 0">
     400                                        <tbody>
     401                                        <?php foreach ( $landings as $landing_path => $landing ) : ?>
     402                                                <tr>
     403                                                        <td><a href="<?php echo esc_url( home_url( '/' . $landing_path ) ); ?>" target="_blank" rel="noopener"><code>/<?php echo esc_html( $landing_path ); ?></code></a></td>
     404                                                        <td><?php echo esc_html( '' !== $landing['title'] ? $landing['title'] : $landing['slug'] ); ?></td>
     405                                                        <td style="text-align:right">
     406                                                                <form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>">
     407                                                                        <input type="hidden" name="action" value="uptonica_landing">
     408                                                                        <input type="hidden" name="landing_path" value="<?php echo esc_attr( $landing_path ); ?>">
     409                                                                        <input type="hidden" name="landing_slug" value="">
     410                                                                        <?php wp_nonce_field( 'uptonica_landing' ); ?>
     411                                                                        <?php submit_button( __( 'Remove', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), 'link-delete small', 'submit', false ); ?>
     412                                                                </form>
     413                                                        </td>
     414                                                </tr>
     415                                        <?php endforeach; ?>
     416                                        </tbody>
     417                                </table>
     418                        <?php endif; ?>
     419                        <?php $uptonica_pages = self::uptonica_pages(); ?>
     420                        <?php if ( $uptonica_pages ) : ?>
     421                                <form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>">
     422                                        <input type="hidden" name="action" value="uptonica_landing">
     423                                        <?php wp_nonce_field( 'uptonica_landing' ); ?>
     424                                        <code><?php echo esc_html( untrailingslashit( home_url() ) ); ?>/</code><input type="text" name="landing_path" class="regular-text" placeholder="offerta" required>
     425                                        <select name="landing_slug">
     426                                                <?php foreach ( $uptonica_pages as $uptonica_page ) : ?>
     427                                                        <option value="<?php echo esc_attr( $uptonica_page['slug'] ); ?>"><?php echo esc_html( $uptonica_page['title'] ); ?></option>
     428                                                <?php endforeach; ?>
     429                                        </select>
     430                                        <?php submit_button( __( 'Add', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), 'secondary', 'submit', false ); ?>
     431                                </form>
     432                        <?php else : ?>
     433                                <p class="description"><?php esc_html_e( 'This workspace has no published landing pages yet.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p>
     434                        <?php endif; ?>
     435
    316436                        <hr>
    317437                        <h2><?php esc_html_e( 'Disconnect', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></h2>
  • uptonica-ai-assistant-and-marketing-for-woocommerce/trunk/includes/class-uptonica-settings.php

    r3743628 r3743730  
    4444                        // The Search Console code belongs to the site, not the workspace.
    4545                        'gsc_verification'    => '',
     46                        // Off until the site owner says so: it changes how every email leaves.
     47                        'mail_on'             => false,
    4648                );
    4749        }
  • uptonica-ai-assistant-and-marketing-for-woocommerce/trunk/languages/uptonica-ai-assistant-and-marketing-for-woocommerce-it_IT.po

    r3743628 r3743730  
    2424msgstr "Uptonica"
    2525
    26 #: includes/class-uptonica-admin.php:58
     26#: includes/class-uptonica-admin.php:59
    2727msgid "Settings"
    2828msgstr "Impostazioni"
    2929
    30 #: includes/class-uptonica-admin.php:81
     30#: includes/class-uptonica-admin.php:82
    3131msgid "Uptonica is installed but not connected yet."
    3232msgstr "Uptonica è installato ma non ancora collegato."
    3333
    34 #: includes/class-uptonica-admin.php:92
     34#: includes/class-uptonica-admin.php:93 includes/class-uptonica-admin.php:125
    3535#: includes/class-uptonica-connection.php:253
    3636msgid "You are not allowed to manage this connection."
    3737msgstr "Non hai i permessi per gestire questo collegamento."
    3838
    39 #: includes/class-uptonica-admin.php:128
     39#: includes/class-uptonica-admin.php:176
    4040msgid "Settings saved."
    4141msgstr "Impostazioni salvate."
    4242
    43 #: includes/class-uptonica-admin.php:129
     43#: includes/class-uptonica-admin.php:178
    4444msgid "The connection was cancelled. Nothing was changed."
    4545msgstr "Il collegamento è stato annullato. Non è cambiato nulla."
    4646
    47 #: includes/class-uptonica-admin.php:130
     47#: includes/class-uptonica-admin.php:179
    4848msgid "This connection attempt expired or was started from another browser. Click Connect again."
    4949msgstr "Questo tentativo di collegamento è scaduto o è partito da un altro browser. Clicca di nuovo Collega."
    5050
    51 #: includes/class-uptonica-admin.php:158
     51#: includes/class-uptonica-admin.php:208
    5252msgid "Connect your store to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch."
    5353msgstr "Collega il negozio a Uptonica: catalogo, ordini e clienti restano allineati e puoi aggiungere l'assistente AI al sito con un interruttore."
    5454
    55 #: includes/class-uptonica-admin.php:165
     55#: includes/class-uptonica-admin.php:215
    5656msgid "You will sign in to Uptonica (or create an account), choose the workspace, then approve access on a WooCommerce screen. It takes a minute."
    5757msgstr "Accederai a Uptonica (o creerai un account), sceglierai il workspace e approverai l'accesso in una schermata di WooCommerce. Serve un minuto."
    5858
    59 #: includes/class-uptonica-admin.php:173
     59#: includes/class-uptonica-admin.php:223
    6060msgid "Connect to Uptonica"
    6161msgstr "Collega a Uptonica"
    6262
    63 #: includes/class-uptonica-admin.php:176
     63#: includes/class-uptonica-admin.php:226
    6464msgid "Your site is not served over https. WooCommerce may refuse to approve the connection until it is."
    6565msgstr "Il sito non è servito in https. WooCommerce potrebbe rifiutare il collegamento finché non lo è."
    6666
    67 #: includes/class-uptonica-admin.php:183
     67#: includes/class-uptonica-admin.php:233
    6868msgid "Workspace"
    6969msgstr "Workspace"
    7070
    71 #: includes/class-uptonica-admin.php:187
     71#: includes/class-uptonica-admin.php:237
    7272msgid "Open in Uptonica"
    7373msgstr "Apri in Uptonica"
    7474
    7575#. translators: %s: date the site was connected.
    76 #: includes/class-uptonica-admin.php:192
     76#: includes/class-uptonica-admin.php:242
    7777#, php-format
    7878msgid "Connected on %s."
    7979msgstr "Collegato il %s."
    8080
    81 #: includes/class-uptonica-admin.php:204
     81#: includes/class-uptonica-admin.php:254
    8282msgid "On your site"
    8383msgstr "Sul tuo sito"
    8484
    85 #: includes/class-uptonica-admin.php:212
     85#: includes/class-uptonica-admin.php:262
    8686msgid "It shows the AI assistant and measures visits, following your cookie banner. What it shows is decided in Uptonica."
    8787msgstr "Mostra l'assistente AI e misura le visite, rispettando il banner dei cookie. Cosa mostrare si sceglie in Uptonica."
    8888
    89 #: includes/class-uptonica-admin.php:214
     89#: includes/class-uptonica-admin.php:264
    9090msgid "Choose in Uptonica"
    9191msgstr "Scegli in Uptonica"
    9292
    93 #: includes/class-uptonica-admin.php:218
     93#: includes/class-uptonica-admin.php:268
    9494msgid "This workspace has no assistant set up yet. Set it up in Uptonica, then disconnect and connect again here."
    9595msgstr "Questo workspace non ha ancora un assistente. Configuralo in Uptonica, poi scollega e ricollega qui."
    9696
    97 #: includes/class-uptonica-admin.php:298
     97#: includes/class-uptonica-admin.php:377
    9898msgid "Purchases"
    9999msgstr "Acquisti"
    100100
    101 #: includes/class-uptonica-admin.php:302
     101#: includes/class-uptonica-admin.php:381
    102102msgid "Send purchases to Uptonica from the server"
    103103msgstr "Invia gli acquisti a Uptonica dal server"
    104104
    105 #: includes/class-uptonica-admin.php:305
     105#: includes/class-uptonica-admin.php:384
    106106msgid "A purchase is counted even when the shopper never reaches the thank-you page or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner."
    107107msgstr "L'acquisto viene contato anche se il cliente non arriva alla pagina di ringraziamento o blocca gli script. Viene inviato solo se il cliente ha accettato la misurazione nel banner dei cookie."
    108108
    109 #: includes/class-uptonica-admin.php:317 includes/class-uptonica-admin.php:328
     109#: includes/class-uptonica-admin.php:437 includes/class-uptonica-admin.php:448
    110110msgid "Disconnect"
    111111msgstr "Scollega"
    … …  
    121121msgstr "Collega il tuo sito WordPress o il tuo negozio WooCommerce a Uptonica: i tuoi moduli diventano contatti nel CRM, moduli e popup di Uptonica entrano nelle tue pagine, l'assistente AI arriva sul sito con un interruttore, e aggiornamenti e acquisti del negozio continuano ad arrivare."
    122122
    123 #: includes/class-uptonica-admin.php:83
     123#: includes/class-uptonica-admin.php:84
    124124msgid "Connect your site"
    125125msgstr "Collega il tuo sito"
    126126
    127 #: includes/class-uptonica-admin.php:126
     127#: includes/class-uptonica-admin.php:174
    128128msgid "Your site is connected to Uptonica."
    129129msgstr "Il tuo sito è collegato a Uptonica."
    130130
    131 #: includes/class-uptonica-admin.php:127
     131#: includes/class-uptonica-admin.php:175
    132132msgid "Your site is disconnected from Uptonica."
    133133msgstr "Il tuo sito è scollegato da Uptonica."
    134134
    135 #: includes/class-uptonica-admin.php:131
     135#: includes/class-uptonica-admin.php:180
    136136msgid "The connection was approved, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again."
    137137msgstr "Il collegamento è stato approvato, ma questo sito non è riuscito a raggiungere Uptonica per completarlo. Di solito la causa è un firewall o un plugin di sicurezza che blocca le richieste in uscita. Clicca di nuovo su Collega."
    138138
    139 #: includes/class-uptonica-admin.php:160
     139#: includes/class-uptonica-admin.php:210
    140140msgid "Connect your site to Uptonica: what people send through your forms becomes contacts in your CRM, and you can add the AI assistant and Uptonica forms and popups to your pages."
    141141msgstr "Collega il tuo sito a Uptonica: quello che le persone inviano dai tuoi moduli diventa un contatto nel CRM, e puoi aggiungere alle tue pagine l'assistente AI e i moduli e i popup di Uptonica."
    142142
    143 #: includes/class-uptonica-admin.php:167
     143#: includes/class-uptonica-admin.php:217
    144144msgid "You will sign in to Uptonica (or create an account) and choose the workspace. It takes a minute."
    145145msgstr "Accederai a Uptonica (o creerai un account) e sceglierai il workspace. Ci vuole un minuto."
    146146
    147 #: includes/class-uptonica-admin.php:209
     147#: includes/class-uptonica-admin.php:259
    148148msgid "Add the Uptonica code to every page"
    149149msgstr "Aggiungi il codice Uptonica a tutte le pagine"
    150150
    151 #: includes/class-uptonica-admin.php:223
     151#: includes/class-uptonica-admin.php:273
    152152msgid "Forms"
    153153msgstr "Moduli"
    154154
    155 #: includes/class-uptonica-admin.php:226
     155#: includes/class-uptonica-admin.php:276
    156156msgid "Disconnect and connect again to send your forms to Uptonica: this connection was made by an earlier version of the plugin."
    157157msgstr "Scollega e ricollega il sito per inviare i tuoi moduli a Uptonica: questo collegamento è stato fatto con una versione precedente del plugin."
    158158
    159 #: includes/class-uptonica-admin.php:230
     159#: includes/class-uptonica-admin.php:280
    160160msgid "Send what people submit through your forms to Uptonica"
    161161msgstr "Invia a Uptonica quello che le persone inviano dai tuoi moduli"
    162162
    163163#. translators: %s: names of the form plugins found on the site.
    164 #: includes/class-uptonica-admin.php:237
     164#: includes/class-uptonica-admin.php:287
    165165#, php-format
    166166msgid "Found on this site: %s."
    167167msgstr "Trovati su questo sito: %s."
    168168
    169 #: includes/class-uptonica-admin.php:239
     169#: includes/class-uptonica-admin.php:289
    170170msgid "Works with Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro forms. None is active on this site yet."
    171171msgstr "Funziona con Contact Form 7, WPForms, Gravity Forms, Fluent Forms e i moduli di Elementor Pro. Nessuno è ancora attivo su questo sito."
    172172
    173 #: includes/class-uptonica-admin.php:242
     173#: includes/class-uptonica-admin.php:292
    174174msgid "Each submission with an email becomes a contact in your CRM. It reaches Meta as a lead only when the visitor accepted marketing cookies."
    175175msgstr "Ogni invio con un'email diventa un contatto nel CRM. Arriva a Meta come lead solo se il visitatore ha accettato i cookie di marketing."
    176176
    177 #: includes/class-uptonica-admin.php:244
     177#: includes/class-uptonica-admin.php:294
    178178msgid "See them in Uptonica"
    179179msgstr "Vedili in Uptonica"
    180180
    181 #: includes/class-uptonica-admin.php:248
     181#: includes/class-uptonica-admin.php:298
    182182msgid "To show an Uptonica form or popup in a page, add the «Uptonica form» block, or the shortcode [uptonica_form id=\"…\"]."
    183183msgstr "Per mostrare un modulo o un popup di Uptonica in una pagina, aggiungi il blocco «Modulo Uptonica» oppure lo shortcode [uptonica_form id=\"…\"]."
    184184
    185 #: includes/class-uptonica-admin.php:285
     185#: includes/class-uptonica-admin.php:335
    186186msgid "Registrations"
    187187msgstr "Registrazioni"
    188188
    189 #: includes/class-uptonica-admin.php:289
     189#: includes/class-uptonica-admin.php:339
    190190msgid "Add people who register on this site to your CRM"
    191191msgstr "Aggiungi al CRM chi si registra su questo sito"
    192192
    193 #: includes/class-uptonica-admin.php:292
     193#: includes/class-uptonica-admin.php:342
    194194msgid "They become contacts, without marketing consent: a registration is not a request to receive emails."
    195195msgstr "Diventano contatti, senza consenso al marketing: una registrazione non è una richiesta di ricevere email."
    196196
    197 #: includes/class-uptonica-admin.php:320
     197#: includes/class-uptonica-admin.php:440
    198198msgid "Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages. Forms stop being sent."
    199199msgstr "Rimuove la chiave di accesso e gli avvisi di aggiornamento concessi a Uptonica su questo negozio, e il codice Uptonica dalle tue pagine. I moduli smettono di essere inviati."
    200200
    201 #: includes/class-uptonica-admin.php:322
     201#: includes/class-uptonica-admin.php:442
    202202msgid "Removes the Uptonica code and forms from your pages, and forms stop being sent."
    203203msgstr "Rimuove il codice e i moduli di Uptonica dalle tue pagine, e i moduli smettono di essere inviati."
    204204
    205 #: includes/class-uptonica-admin.php:325
     205#: includes/class-uptonica-admin.php:445
    206206msgid "Disconnect this site from Uptonica?"
    207207msgstr "Scollegare questo sito da Uptonica?"
    … …  
    215215msgstr "Un modulo o un popup creato in Uptonica."
    216216
    217 #: assets/form-block.js:39
     217#: assets/booking-block.js:39 assets/form-block.js:39
    218218msgid "Connect this site to Uptonica first, from the Uptonica page in the admin menu."
    219219msgstr "Prima collega questo sito a Uptonica, dalla pagina Uptonica nel menu di amministrazione."
    … …  
    235235msgstr "Crea o modifica i moduli in Uptonica"
    236236
    237 #: includes/class-uptonica-admin.php:254
     237#: includes/class-uptonica-admin.php:304
    238238msgid "Assistant knowledge"
    239239msgstr "Conoscenza dell'assistente"
    240240
    241 #: includes/class-uptonica-admin.php:258
     241#: includes/class-uptonica-admin.php:308
    242242msgid "Teach the assistant your published pages and posts"
    243243msgstr "Insegna all'assistente le pagine e gli articoli pubblicati"
    244244
    245 #: includes/class-uptonica-admin.php:261
     245#: includes/class-uptonica-admin.php:311
    246246msgid "The assistant answers your visitors from what your site says: shipping, prices, opening hours, services. Pages are sent again when you edit them and taken out when you unpublish them. Only published pages without a password."
    247247msgstr "L'assistente risponde ai visitatori con quello che dice il tuo sito: spedizioni, prezzi, orari, servizi. Le pagine vengono inviate di nuovo quando le modifichi e tolte quando le togli dalla pubblicazione. Solo pagine pubblicate e senza password."
    248248
    249249#. translators: 1: number of pages and posts sent, 2: date.
    250 #: includes/class-uptonica-admin.php:265
     250#: includes/class-uptonica-admin.php:315
    251251#, php-format
    252252msgid "Sent so far: %1$d. Last full sync: %2$s."
    253253msgstr "Inviate finora: %1$d. Ultima sincronizzazione completa: %2$s."
    254254
    255 #: includes/class-uptonica-admin.php:272
     255#: includes/class-uptonica-admin.php:322
    256256msgid "Google Search Console"
    257257msgstr "Google Search Console"
    258258
    259 #: includes/class-uptonica-admin.php:276
     259#: includes/class-uptonica-admin.php:326
    260260msgid "In Search Console, add this site as a URL-prefix property, choose «HTML tag» and paste the tag here: the plugin puts it on your home page, then click Verify in Search Console. After that, connect Search Console in Uptonica to see your search traffic."
    261261msgstr "In Search Console aggiungi questo sito come proprietà «Prefisso URL», scegli «Tag HTML» e incolla qui il tag: il plugin lo mette nella home page, poi clicca Verifica in Search Console. Dopo, collega Search Console in Uptonica per vedere il traffico dalla ricerca."
    262262
    263 #: includes/class-uptonica-admin.php:277
     263#: includes/class-uptonica-admin.php:327
    264264msgid "Open Search Console"
    265265msgstr "Apri Search Console"
    266266
    267 #: includes/class-uptonica-admin.php:279
     267#: includes/class-uptonica-admin.php:329
    268268msgid "Connect it in Uptonica"
    269269msgstr "Collegala in Uptonica"
    270270
    271271#: includes/class-uptonica-articles.php:37
    272 #: includes/class-uptonica-articles.php:108
     272#: includes/class-uptonica-articles.php:107
    273273msgid "From Uptonica"
    274274msgstr "Da Uptonica"
    275275
    276 #: includes/class-uptonica-articles.php:109
     276#: includes/class-uptonica-articles.php:108
    277277msgid "Blog posts written in Uptonica. Importing one creates a draft here: review it, add images and publish it as usual."
    278278msgstr "Gli articoli scritti in Uptonica. Importandone uno si crea qui una bozza: rivedila, aggiungi le immagini e pubblicala come al solito."
    279279
    280 #: includes/class-uptonica-articles.php:112
     280#: includes/class-uptonica-articles.php:111
     281#: includes/class-uptonica-dashboard.php:65
    281282msgid "Uptonica could not be reached. Try again in a minute."
    282283msgstr "Non è stato possibile raggiungere Uptonica. Riprova tra un minuto."
    283284
    284 #: includes/class-uptonica-articles.php:115
     285#: includes/class-uptonica-articles.php:114
    285286msgid "No blog posts in Uptonica yet."
    286287msgstr "Ancora nessun articolo in Uptonica."
    287288
    288 #: includes/class-uptonica-articles.php:117
     289#: includes/class-uptonica-articles.php:116
    289290msgid "Write one in Uptonica"
    290291msgstr "Scrivine uno in Uptonica"
    291292
    292 #: includes/class-uptonica-articles.php:122 includes/class-uptonica-seo.php:110
     293#: includes/class-uptonica-articles.php:121 includes/class-uptonica-seo.php:110
    293294msgid "Title"
    294295msgstr "Titolo"
    295296
    296 #: includes/class-uptonica-articles.php:122
     297#: includes/class-uptonica-articles.php:121
    297298msgid "Written"
    298299msgstr "Scritto il"
    299300
    300 #: includes/class-uptonica-articles.php:134
     301#: includes/class-uptonica-articles.php:133
    301302msgid "Open the draft"
    302303msgstr "Apri la bozza"
    303304
    304 #: includes/class-uptonica-articles.php:140
     305#: includes/class-uptonica-articles.php:139
    305306msgid "Import as draft"
    306307msgstr "Importa come bozza"
    307308
    308 #: includes/class-uptonica-articles.php:158
     309#: includes/class-uptonica-articles.php:157
    309310msgid "You are not allowed to create posts."
    310311msgstr "Non hai i permessi per creare articoli."
    … …  
    359360msgid "Saved. Reload this page before you update it again, or the SEO plugin will put back its previous text."
    360361msgstr "Salvati. Ricarica questa pagina prima di aggiornarla di nuovo, altrimenti il plugin SEO rimette il testo precedente."
     362
     363#: includes/class-uptonica-admin.php:177
     364msgid "That address cannot be used: use letters, numbers and dashes, and not the address of an existing page."
     365msgstr "Questo indirizzo non si può usare: usa lettere, numeri e trattini, e non l'indirizzo di una pagina esistente."
     366
     367#: includes/class-uptonica-admin.php:347
     368msgid "Emails"
     369msgstr "Email"
     370
     371#: includes/class-uptonica-admin.php:352
     372msgid "Send the emails WordPress sends through Uptonica"
     373msgstr "Invia tramite Uptonica le email che manda WordPress"
     374
     375#. translators: %s: sending address, e.g. no-reply@example.com.
     376#: includes/class-uptonica-admin.php:358
     377#, php-format
     378msgid "New accounts, password resets, form notifications and order emails leave from %s, signed, so they reach the inbox instead of spam. An email with an attachment, or one Uptonica cannot take, is sent by WordPress as before."
     379msgstr "Nuovi account, reimpostazioni della password, notifiche dei moduli ed email degli ordini partono da %s, firmate, e arrivano in posta in arrivo invece che nello spam. Un'email con allegato, o che Uptonica non può prendere, la spedisce WordPress come prima."
     380
     381#: includes/class-uptonica-admin.php:361
     382msgid "Verify your sending domain in Uptonica first: emails then leave from your own domain, signed."
     383msgstr "Prima verifica il tuo dominio di invio in Uptonica: le email partiranno dal tuo dominio, firmate."
     384
     385#: includes/class-uptonica-admin.php:363
     386msgid "Verify it in Uptonica"
     387msgstr "Verificalo in Uptonica"
     388
     389#: includes/class-uptonica-admin.php:370
     390#: includes/class-uptonica-dashboard.php:73
     391msgid "Bookings"
     392msgstr "Prenotazioni"
     393
     394#: includes/class-uptonica-admin.php:372
     395msgid "To let visitors book an appointment, add the «Uptonica booking» block to a page, or the shortcode [uptonica_booking] (with service=\"…\" for a single service). Services and availability are set up in Uptonica."
     396msgstr "Per far prenotare un appuntamento ai visitatori, aggiungi a una pagina il blocco «Prenotazione Uptonica» o lo shortcode [uptonica_booking] (con service=\"…\" per un solo servizio). Servizi e disponibilità si impostano in Uptonica."
     397
     398#: includes/class-uptonica-admin.php:395
     399msgid "Landing pages on this site"
     400msgstr "Landing page su questo sito"
     401
     402#: includes/class-uptonica-admin.php:396
     403msgid "Show a landing page published in Uptonica at an address of this site, such as /offer: the same domain for visitors, ads and search engines. Changes published in Uptonica show up within five minutes."
     404msgstr "Mostra una landing pubblicata in Uptonica a un indirizzo di questo sito, come /offerta: lo stesso dominio per visitatori, annunci e motori di ricerca. Le modifiche pubblicate in Uptonica compaiono entro cinque minuti."
     405
     406#: includes/class-uptonica-admin.php:411
     407msgid "Remove"
     408msgstr "Rimuovi"
     409
     410#: includes/class-uptonica-admin.php:430
     411msgid "Add"
     412msgstr "Aggiungi"
     413
     414#: includes/class-uptonica-admin.php:433
     415msgid "This workspace has no published landing pages yet."
     416msgstr "Questo workspace non ha ancora landing pubblicate."
     417
     418#: includes/class-uptonica-booking.php:98
     419msgid "Book an appointment"
     420msgstr "Prenota un appuntamento"
     421
     422#: includes/class-uptonica-dashboard.php:33
     423msgid "Uptonica: the last 7 days"
     424msgstr "Uptonica: gli ultimi 7 giorni"
     425
     426#: includes/class-uptonica-dashboard.php:70
     427msgid "New contacts"
     428msgstr "Nuovi contatti"
     429
     430#: includes/class-uptonica-dashboard.php:71
     431msgid "From this site's forms"
     432msgstr "Dai moduli di questo sito"
     433
     434#: includes/class-uptonica-dashboard.php:72
     435msgid "Assistant conversations"
     436msgstr "Conversazioni dell'assistente"
     437
     438#: assets/booking-block.js:13 assets/booking-block.js:68
     439msgid "Uptonica booking"
     440msgstr "Prenotazione Uptonica"
     441
     442#: assets/booking-block.js:14
     443msgid "Let visitors book an appointment, with the services set up in Uptonica."
     444msgstr "Fa prenotare un appuntamento ai visitatori, con i servizi impostati in Uptonica."
     445
     446#: assets/booking-block.js:42
     447msgid "Every service"
     448msgstr "Tutti i servizi"
     449
     450#: assets/booking-block.js:51
     451msgid "Service"
     452msgstr "Servizio"
     453
     454#: assets/booking-block.js:61
     455msgid "This workspace has no public services to book yet."
     456msgstr "Questo workspace non ha ancora servizi pubblici da prenotare."
     457
     458#: assets/booking-block.js:65
     459msgid "Set up services in Uptonica"
     460msgstr "Imposta i servizi in Uptonica"
  • uptonica-ai-assistant-and-marketing-for-woocommerce/trunk/languages/uptonica-ai-assistant-and-marketing-for-woocommerce.pot

    r3743628 r3743730  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Uptonica – AI assistant, forms and marketing 1.2.0\n"
     5"Project-Id-Version: Uptonica – AI assistant, forms and marketing 1.3.0\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/uptonica-ai-assistant-and-marketing-for-woocommerce\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    … …  
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-10-13T09:52:24+00:00\n"
     12"POT-Creation-Date: 2026-10-13T10:46:30+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
    … …  
    3535msgstr ""
    3636
    37 #: includes/class-uptonica-admin.php:58
     37#: includes/class-uptonica-admin.php:59
    3838msgid "Settings"
    3939msgstr ""
    4040
    41 #: includes/class-uptonica-admin.php:81
     41#: includes/class-uptonica-admin.php:82
    4242msgid "Uptonica is installed but not connected yet."
    4343msgstr ""
    4444
    45 #: includes/class-uptonica-admin.php:83
     45#: includes/class-uptonica-admin.php:84
    4646msgid "Connect your site"
    4747msgstr ""
    4848
    49 #: includes/class-uptonica-admin.php:92
     49#: includes/class-uptonica-admin.php:93
     50#: includes/class-uptonica-admin.php:125
    5051#: includes/class-uptonica-connection.php:253
    5152msgid "You are not allowed to manage this connection."
    5253msgstr ""
    5354
    54 #: includes/class-uptonica-admin.php:126
     55#: includes/class-uptonica-admin.php:174
    5556msgid "Your site is connected to Uptonica."
    5657msgstr ""
    5758
    58 #: includes/class-uptonica-admin.php:127
     59#: includes/class-uptonica-admin.php:175
    5960msgid "Your site is disconnected from Uptonica."
    6061msgstr ""
    6162
    62 #: includes/class-uptonica-admin.php:128
     63#: includes/class-uptonica-admin.php:176
    6364msgid "Settings saved."
    6465msgstr ""
    6566
    66 #: includes/class-uptonica-admin.php:129
     67#: includes/class-uptonica-admin.php:177
     68msgid "That address cannot be used: use letters, numbers and dashes, and not the address of an existing page."
     69msgstr ""
     70
     71#: includes/class-uptonica-admin.php:178
    6772msgid "The connection was cancelled. Nothing was changed."
    6873msgstr ""
    6974
    70 #: includes/class-uptonica-admin.php:130
     75#: includes/class-uptonica-admin.php:179
    7176msgid "This connection attempt expired or was started from another browser. Click Connect again."
    7277msgstr ""
    7378
    74 #: includes/class-uptonica-admin.php:131
     79#: includes/class-uptonica-admin.php:180
    7580msgid "The connection was approved, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again."
    7681msgstr ""
    7782
    78 #: includes/class-uptonica-admin.php:158
     83#: includes/class-uptonica-admin.php:208
    7984msgid "Connect your store to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch."
    8085msgstr ""
    8186
    82 #: includes/class-uptonica-admin.php:160
     87#: includes/class-uptonica-admin.php:210
    8388msgid "Connect your site to Uptonica: what people send through your forms becomes contacts in your CRM, and you can add the AI assistant and Uptonica forms and popups to your pages."
    8489msgstr ""
    8590
    86 #: includes/class-uptonica-admin.php:165
     91#: includes/class-uptonica-admin.php:215
    8792msgid "You will sign in to Uptonica (or create an account), choose the workspace, then approve access on a WooCommerce screen. It takes a minute."
    8893msgstr ""
    8994
    90 #: includes/class-uptonica-admin.php:167
     95#: includes/class-uptonica-admin.php:217
    9196msgid "You will sign in to Uptonica (or create an account) and choose the workspace. It takes a minute."
    9297msgstr ""
    9398
    94 #: includes/class-uptonica-admin.php:173
     99#: includes/class-uptonica-admin.php:223
    95100msgid "Connect to Uptonica"
    96101msgstr ""
    97102
    98 #: includes/class-uptonica-admin.php:176
     103#: includes/class-uptonica-admin.php:226
    99104msgid "Your site is not served over https. WooCommerce may refuse to approve the connection until it is."
    100105msgstr ""
    101106
    102 #: includes/class-uptonica-admin.php:183
     107#: includes/class-uptonica-admin.php:233
    103108msgid "Workspace"
    104109msgstr ""
    105110
    106 #: includes/class-uptonica-admin.php:187
     111#: includes/class-uptonica-admin.php:237
    107112msgid "Open in Uptonica"
    108113msgstr ""
    109114
    110115#. translators: %s: date the site was connected.
    111 #: includes/class-uptonica-admin.php:192
     116#: includes/class-uptonica-admin.php:242
    112117#, php-format
    113118msgid "Connected on %s."
    114119msgstr ""
    115120
    116 #: includes/class-uptonica-admin.php:204
     121#: includes/class-uptonica-admin.php:254
    117122msgid "On your site"
    118123msgstr ""
    119124
    120 #: includes/class-uptonica-admin.php:209
     125#: includes/class-uptonica-admin.php:259
    121126msgid "Add the Uptonica code to every page"
    122127msgstr ""
    123128
    124 #: includes/class-uptonica-admin.php:212
     129#: includes/class-uptonica-admin.php:262
    125130msgid "It shows the AI assistant and measures visits, following your cookie banner. What it shows is decided in Uptonica."
    126131msgstr ""
    127132
    128 #: includes/class-uptonica-admin.php:214
     133#: includes/class-uptonica-admin.php:264
    129134msgid "Choose in Uptonica"
    130135msgstr ""
    131136
    132 #: includes/class-uptonica-admin.php:218
     137#: includes/class-uptonica-admin.php:268
    133138msgid "This workspace has no assistant set up yet. Set it up in Uptonica, then disconnect and connect again here."
    134139msgstr ""
    135140
    136 #: includes/class-uptonica-admin.php:223
     141#: includes/class-uptonica-admin.php:273
    137142msgid "Forms"
    138143msgstr ""
    139144
    140 #: includes/class-uptonica-admin.php:226
     145#: includes/class-uptonica-admin.php:276
    141146msgid "Disconnect and connect again to send your forms to Uptonica: this connection was made by an earlier version of the plugin."
    142147msgstr ""
    143148
    144 #: includes/class-uptonica-admin.php:230
     149#: includes/class-uptonica-admin.php:280
    145150msgid "Send what people submit through your forms to Uptonica"
    146151msgstr ""
    147152
    148153#. translators: %s: names of the form plugins found on the site.
    149 #: includes/class-uptonica-admin.php:237
     154#: includes/class-uptonica-admin.php:287
    150155#, php-format
    151156msgid "Found on this site: %s."
    152157msgstr ""
    153158
    154 #: includes/class-uptonica-admin.php:239
     159#: includes/class-uptonica-admin.php:289
    155160msgid "Works with Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro forms. None is active on this site yet."
    156161msgstr ""
    157162
    158 #: includes/class-uptonica-admin.php:242
     163#: includes/class-uptonica-admin.php:292
    159164msgid "Each submission with an email becomes a contact in your CRM. It reaches Meta as a lead only when the visitor accepted marketing cookies."
    160165msgstr ""
    161166
    162 #: includes/class-uptonica-admin.php:244
     167#: includes/class-uptonica-admin.php:294
    163168msgid "See them in Uptonica"
    164169msgstr ""
    165170
    166 #: includes/class-uptonica-admin.php:248
     171#: includes/class-uptonica-admin.php:298
    167172msgid "To show an Uptonica form or popup in a page, add the «Uptonica form» block, or the shortcode [uptonica_form id=\"…\"]."
    168173msgstr ""
    169174
    170 #: includes/class-uptonica-admin.php:254
     175#: includes/class-uptonica-admin.php:304
    171176msgid "Assistant knowledge"
    172177msgstr ""
    173178
    174 #: includes/class-uptonica-admin.php:258
     179#: includes/class-uptonica-admin.php:308
    175180msgid "Teach the assistant your published pages and posts"
    176181msgstr ""
    177182
    178 #: includes/class-uptonica-admin.php:261
     183#: includes/class-uptonica-admin.php:311
    179184msgid "The assistant answers your visitors from what your site says: shipping, prices, opening hours, services. Pages are sent again when you edit them and taken out when you unpublish them. Only published pages without a password."
    180185msgstr ""
    181186
    182187#. translators: 1: number of pages and posts sent, 2: date.
    183 #: includes/class-uptonica-admin.php:265
     188#: includes/class-uptonica-admin.php:315
    184189#, php-format
    185190msgid "Sent so far: %1$d. Last full sync: %2$s."
    186191msgstr ""
    187192
    188 #: includes/class-uptonica-admin.php:272
     193#: includes/class-uptonica-admin.php:322
    189194msgid "Google Search Console"
    190195msgstr ""
    191196
    192 #: includes/class-uptonica-admin.php:276
     197#: includes/class-uptonica-admin.php:326
    193198msgid "In Search Console, add this site as a URL-prefix property, choose «HTML tag» and paste the tag here: the plugin puts it on your home page, then click Verify in Search Console. After that, connect Search Console in Uptonica to see your search traffic."
    194199msgstr ""
    195200
    196 #: includes/class-uptonica-admin.php:277
     201#: includes/class-uptonica-admin.php:327
    197202msgid "Open Search Console"
    198203msgstr ""
    199204
    200 #: includes/class-uptonica-admin.php:279
     205#: includes/class-uptonica-admin.php:329
    201206msgid "Connect it in Uptonica"
    202207msgstr ""
    203208
    204 #: includes/class-uptonica-admin.php:285
     209#: includes/class-uptonica-admin.php:335
    205210msgid "Registrations"
    206211msgstr ""
    207212
    208 #: includes/class-uptonica-admin.php:289
     213#: includes/class-uptonica-admin.php:339
    209214msgid "Add people who register on this site to your CRM"
    210215msgstr ""
    211216
    212 #: includes/class-uptonica-admin.php:292
     217#: includes/class-uptonica-admin.php:342
    213218msgid "They become contacts, without marketing consent: a registration is not a request to receive emails."
    214219msgstr ""
    215220
    216 #: includes/class-uptonica-admin.php:298
     221#: includes/class-uptonica-admin.php:347
     222msgid "Emails"
     223msgstr ""
     224
     225#: includes/class-uptonica-admin.php:352
     226msgid "Send the emails WordPress sends through Uptonica"
     227msgstr ""
     228
     229#. translators: %s: sending address, e.g. no-reply@example.com.
     230#: includes/class-uptonica-admin.php:358
     231#, php-format
     232msgid "New accounts, password resets, form notifications and order emails leave from %s, signed, so they reach the inbox instead of spam. An email with an attachment, or one Uptonica cannot take, is sent by WordPress as before."
     233msgstr ""
     234
     235#: includes/class-uptonica-admin.php:361
     236msgid "Verify your sending domain in Uptonica first: emails then leave from your own domain, signed."
     237msgstr ""
     238
     239#: includes/class-uptonica-admin.php:363
     240msgid "Verify it in Uptonica"
     241msgstr ""
     242
     243#: includes/class-uptonica-admin.php:370
     244#: includes/class-uptonica-dashboard.php:73
     245msgid "Bookings"
     246msgstr ""
     247
     248#: includes/class-uptonica-admin.php:372
     249msgid "To let visitors book an appointment, add the «Uptonica booking» block to a page, or the shortcode [uptonica_booking] (with service=\"…\" for a single service). Services and availability are set up in Uptonica."
     250msgstr ""
     251
     252#: includes/class-uptonica-admin.php:377
    217253msgid "Purchases"
    218254msgstr ""
    219255
    220 #: includes/class-uptonica-admin.php:302
     256#: includes/class-uptonica-admin.php:381
    221257msgid "Send purchases to Uptonica from the server"
    222258msgstr ""
    223259
    224 #: includes/class-uptonica-admin.php:305
     260#: includes/class-uptonica-admin.php:384
    225261msgid "A purchase is counted even when the shopper never reaches the thank-you page or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner."
    226262msgstr ""
    227263
    228 #: includes/class-uptonica-admin.php:317
    229 #: includes/class-uptonica-admin.php:328
     264#: includes/class-uptonica-admin.php:395
     265msgid "Landing pages on this site"
     266msgstr ""
     267
     268#: includes/class-uptonica-admin.php:396
     269msgid "Show a landing page published in Uptonica at an address of this site, such as /offer: the same domain for visitors, ads and search engines. Changes published in Uptonica show up within five minutes."
     270msgstr ""
     271
     272#: includes/class-uptonica-admin.php:411
     273msgid "Remove"
     274msgstr ""
     275
     276#: includes/class-uptonica-admin.php:430
     277msgid "Add"
     278msgstr ""
     279
     280#: includes/class-uptonica-admin.php:433
     281msgid "This workspace has no published landing pages yet."
     282msgstr ""
     283
     284#: includes/class-uptonica-admin.php:437
     285#: includes/class-uptonica-admin.php:448
    230286msgid "Disconnect"
    231287msgstr ""
    232288
    233 #: includes/class-uptonica-admin.php:320
     289#: includes/class-uptonica-admin.php:440
    234290msgid "Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages. Forms stop being sent."
    235291msgstr ""
    236292
    237 #: includes/class-uptonica-admin.php:322
     293#: includes/class-uptonica-admin.php:442
    238294msgid "Removes the Uptonica code and forms from your pages, and forms stop being sent."
    239295msgstr ""
    240296
    241 #: includes/class-uptonica-admin.php:325
     297#: includes/class-uptonica-admin.php:445
    242298msgid "Disconnect this site from Uptonica?"
    243299msgstr ""
    244300
    245301#: includes/class-uptonica-articles.php:37
     302#: includes/class-uptonica-articles.php:107
     303msgid "From Uptonica"
     304msgstr ""
     305
    246306#: includes/class-uptonica-articles.php:108
    247 msgid "From Uptonica"
    248 msgstr ""
    249 
    250 #: includes/class-uptonica-articles.php:109
    251307msgid "Blog posts written in Uptonica. Importing one creates a draft here: review it, add images and publish it as usual."
    252308msgstr ""
    253309
    254 #: includes/class-uptonica-articles.php:112
     310#: includes/class-uptonica-articles.php:111
     311#: includes/class-uptonica-dashboard.php:65
    255312msgid "Uptonica could not be reached. Try again in a minute."
    256313msgstr ""
    257314
    258 #: includes/class-uptonica-articles.php:115
     315#: includes/class-uptonica-articles.php:114
    259316msgid "No blog posts in Uptonica yet."
    260317msgstr ""
    261318
    262 #: includes/class-uptonica-articles.php:117
     319#: includes/class-uptonica-articles.php:116
    263320msgid "Write one in Uptonica"
    264321msgstr ""
    265322
    266 #: includes/class-uptonica-articles.php:122
     323#: includes/class-uptonica-articles.php:121
    267324#: includes/class-uptonica-seo.php:110
    268325msgid "Title"
    269326msgstr ""
    270327
    271 #: includes/class-uptonica-articles.php:122
     328#: includes/class-uptonica-articles.php:121
    272329msgid "Written"
    273330msgstr ""
    274331
    275 #: includes/class-uptonica-articles.php:134
     332#: includes/class-uptonica-articles.php:133
    276333msgid "Open the draft"
    277334msgstr ""
    278335
    279 #: includes/class-uptonica-articles.php:140
     336#: includes/class-uptonica-articles.php:139
    280337msgid "Import as draft"
    281338msgstr ""
    282339
    283 #: includes/class-uptonica-articles.php:158
     340#: includes/class-uptonica-articles.php:157
    284341msgid "You are not allowed to create posts."
     342msgstr ""
     343
     344#: includes/class-uptonica-booking.php:98
     345msgid "Book an appointment"
     346msgstr ""
     347
     348#: includes/class-uptonica-dashboard.php:33
     349msgid "Uptonica: the last 7 days"
     350msgstr ""
     351
     352#: includes/class-uptonica-dashboard.php:70
     353msgid "New contacts"
     354msgstr ""
     355
     356#: includes/class-uptonica-dashboard.php:71
     357msgid "From this site's forms"
     358msgstr ""
     359
     360#: includes/class-uptonica-dashboard.php:72
     361msgid "Assistant conversations"
    285362msgstr ""
    286363
    … …  
    335412msgstr ""
    336413
     414#: assets/booking-block.js:13
     415#: assets/booking-block.js:68
     416msgid "Uptonica booking"
     417msgstr ""
     418
     419#: assets/booking-block.js:14
     420msgid "Let visitors book an appointment, with the services set up in Uptonica."
     421msgstr ""
     422
     423#: assets/booking-block.js:39
     424#: assets/form-block.js:39
     425msgid "Connect this site to Uptonica first, from the Uptonica page in the admin menu."
     426msgstr ""
     427
     428#: assets/booking-block.js:42
     429msgid "Every service"
     430msgstr ""
     431
     432#: assets/booking-block.js:51
     433msgid "Service"
     434msgstr ""
     435
     436#: assets/booking-block.js:61
     437msgid "This workspace has no public services to book yet."
     438msgstr ""
     439
     440#: assets/booking-block.js:65
     441msgid "Set up services in Uptonica"
     442msgstr ""
     443
    337444#: assets/form-block.js:13
    338445#: assets/form-block.js:51
    … …  
    345452msgstr ""
    346453
    347 #: assets/form-block.js:39
    348 msgid "Connect this site to Uptonica first, from the Uptonica page in the admin menu."
    349 msgstr ""
    350 
    351454#: assets/form-block.js:42
    352455msgid "Choose a form"
  • uptonica-ai-assistant-and-marketing-for-woocommerce/trunk/readme.txt

    r3743628 r3743730  
    55Tested up to: 7.1
    66Requires PHP: 7.4
    7 Stable tag: 1.2.0
     7Stable tag: 1.3.0
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    2929* **Blog posts from Uptonica.** Posts → From Uptonica lists the blog posts written in Uptonica; import one as a draft, review it and publish.
    3030* **Google Search Console without touching the theme.** Paste the verification tag and the plugin puts it on your home page.
     31* **Bookings in your pages.** The «Uptonica booking» block, or `[uptonica_booking]`, shows your Uptonica booking page (every service, or one) inside your site.
     32* **The week on your dashboard.** New contacts, submissions from your forms, assistant conversations and bookings of the last 7 days, each linked to Uptonica.
     33* **Landing pages on your own domain.** Serve a landing page published in Uptonica at an address of your site, such as /offer, without touching DNS.
     34* **Emails that reach the inbox.** Optionally, the emails WordPress sends (new accounts, password resets, notifications, orders) leave through Uptonica from your verified domain, signed. Anything Uptonica cannot take is sent by WordPress as before.
    3135
    3236= On a WooCommerce store, also =
    … …  
    5256* **Posts → From Uptonica** reads your workspace's blog posts from `https://app.uptonica.com/api/wordpress/v1/articles`.
    5357* **The Search Console tag** you paste is printed on your home page; it is sent nowhere.
     58* **The booking block and shortcode** show `https://app.uptonica.com/book/…` in a frame; visitors who book talk to app.uptonica.com.
     59* **The dashboard widget** reads the last 7 days from `https://app.uptonica.com/api/wordpress/v1/summary`.
     60* **Landing pages on the site**: the plugin fetches the page from `https://app.uptonica.com/p/…` (kept for five minutes) and serves it at the address you chose; its forms post to app.uptonica.com.
     61* **When «Send the emails WordPress sends through Uptonica» is on**, each email WordPress sends (recipients, subject, body, reply-to and sender name) goes from your server to `https://app.uptonica.com/api/wordpress/v1/mail`, and Uptonica sends it.
    5462* **In the block editor**, the «Uptonica form» block reads the list of your workspace's forms from `https://app.uptonica.com/api/wordpress/v1/forms`. A page with the block or shortcode loads the form from `https://app.uptonica.com/f/…`, and the visitor's browser then talks to app.uptonica.com.
    5563* **When «Add the Uptonica code to every page» is on**, every page loads `https://app.uptonica.com/widget/uptonica.js`. It shows the AI assistant and, following your cookie banner, measures visits.
    … …  
    8896== Changelog ==
    8997
     98= 1.3.0 =
     99* «Uptonica booking» block and `[uptonica_booking]` shortcode.
     100* Dashboard widget with the last 7 days in Uptonica.
     101* Landing pages published in Uptonica, served at an address of your site.
     102* Optional: WordPress emails sent through Uptonica from your verified domain.
     103
    90104= 1.2.0 =
    91105* The assistant learns your published pages and posts, and keeps up with your edits.
  • uptonica-ai-assistant-and-marketing-for-woocommerce/trunk/uptonica.php

    r3743628 r3743730  
    33 * Plugin Name:       Uptonica – AI assistant, forms and marketing
    44 * Description:       Connect your WordPress site or WooCommerce store to Uptonica: your forms become contacts in your CRM, Uptonica forms and popups go in your pages, the AI assistant goes on your site with a switch, and a store's updates and purchases keep arriving.
    5  * Version:           1.2.0
     5 * Version:           1.3.0
    66 * Requires at least: 6.3
    77 * Requires PHP:      7.4
    … …  
    2020defined( 'ABSPATH' ) || exit;
    2121
    22 define( 'UPTONICA_VERSION', '1.2.0' );
     22define( 'UPTONICA_VERSION', '1.3.0' );
    2323define( 'UPTONICA_FILE', __FILE__ );
    2424define( 'UPTONICA_DIR', plugin_dir_path( __FILE__ ) );
    … …  
    4343require_once UPTONICA_DIR . 'includes/class-uptonica-seo.php';
    4444require_once UPTONICA_DIR . 'includes/class-uptonica-articles.php';
     45require_once UPTONICA_DIR . 'includes/class-uptonica-api.php';
     46require_once UPTONICA_DIR . 'includes/class-uptonica-booking.php';
     47require_once UPTONICA_DIR . 'includes/class-uptonica-dashboard.php';
     48require_once UPTONICA_DIR . 'includes/class-uptonica-landings.php';
     49require_once UPTONICA_DIR . 'includes/class-uptonica-mail.php';
    4550
    4651// HPOS and the block checkout: everything here reads orders through the
    … …  
    7277                Uptonica_Seo::init();
    7378                Uptonica_Articles::init();
     79                Uptonica_Booking::init();
     80                Uptonica_Dashboard::init();
     81                Uptonica_Landings::init();
     82                Uptonica_Mail::init();
    7483
    7584                // What only a store has: its webhooks to keep alive and its purchases.
Note: See TracChangeset for help on using the changeset viewer.