This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

This thread is resolved. Here is a description of the problem and solution.

Problem: lo snippet per aggiungere il consenso alla privacy policy non appare in String Translation

Solution: preparare le stringhe alla traduzione con GetText

This topic contains 9 risposte, has 2 voci.

Last updated by Laura 1 anno, 4 mesi fa.

Assigned support staff: Laura.

Autore Post
May 23, 2018 at 5:10 am #2212737

manuelaF

Salve, ho aggiunto lo snippet per il nuovo GDPR nel checkout. Lo snippet è questo:

add_action( 'woocommerce_review_order_before_submit', 'tatadoda_add_checkout_privacy_policy', 9 );

function tatadoda_add_checkout_privacy_policy() {

woocommerce_form_field( 'privacy_policy', array(
'type' => 'checkbox',
'class' => array('form-row privacy'),
'label_class' => array('woocommerce-form__label woocommerce-form__label-for-checkbox checkbox'),
'input_class' => array('woocommerce-form__input woocommerce-form__input-checkbox input-checkbox'),
'required' => true,
'label' => 'Ho letto ed accetto la <a href="hidden link">Privacy Policy</a>',
));

}

Questo snippet aggiunge un checkbox dopo il checkbox già esistente di termini e condizioni.

Il sito è in doppia lingua Inglese e Italiano, come faccio a tradurre la stringa nella lingua inglese?
Al momento in entrambe le lingue mi viene in Italiano.

Ho provato a cercare la stringa in "traduzione stringhe" ma non ho ottenuto nessun risultato.

Il sito è: hidden link

Grazie per il supporto.

May 23, 2018 at 8:47 am #2213334

Laura
Supporter

Languages: Inglese (English ) Italiano (Italiano ) Portoghese, Brasile (Português )

Timezone: Europe/Rome (GMT+02:00)

Salve,

non trovi la stringa perché non è "pronta" per la traduzione. Per essere traducibili, infatti, le stringhe vanno racchiuse in una chiamata Gettext.

Ti metto i link alla nostra documentazione:
https://wpml.org/it/faq/perche-non-appaiono-le-traduzioni-delle-stringhe/
https://wpml.org/it/faq/assicurare-il-buon-funzionamento-della-traduzione-di-stringhe/

Fammi sapere se così risolvi o se hai bisogno di ulteriore aiuto.

May 24, 2018 at 7:41 am #2220099

manuelaF

Scusa ma con cosa dovrei sostituire la stringa:

'label' => <?php _e('Ho letto ed accetto la <a href="hidden link">Privacy Policy</a>'); ?>

perchè immagino che sia qui che devo aggiungere gettext, giusto?

May 25, 2018 at 9:00 am #2227818

Laura
Supporter

Languages: Inglese (English ) Italiano (Italiano ) Portoghese, Brasile (Português )

Timezone: Europe/Rome (GMT+02:00)

Ciao,

in realtà le stringhe in gettext dovrebbero essere sempre in inglese.

Puoi provare a sostituire il tuo snippet con questo, e dovresti trovare la stringa in Traduzione Stringhe

add_action( 'woocommerce_review_order_before_submit', 'tatadoda_add_checkout_privacy_policy', 9 );
function tatadoda_add_checkout_privacy_policy() {

    $link = '<a href="<em><u>hidden link</u></em>">'
            . __( 'Privacy Policy', 'tatadodaboutique' )
            . '</a>';
    woocommerce_form_field( 'privacy_policy', array(
        'type'        => 'checkbox',
        'class'       => array( 'form-row privacy' ),
        'label_class' => array( 'woocommerce-form__label woocommerce-form__label-for-checkbox checkbox' ),
        'input_class' => array( 'woocommerce-form__input woocommerce-form__input-checkbox input-checkbox' ),
        'required'    => true,
        'label'       => sprintf( __( 'I have read the %s', 'tatadodaboutique' ), $link ),
    ) );
}

Fammi sapere se così risolvi o se hai bisogno di ulteriore aiuto.

May 25, 2018 at 11:17 am #2228762

manuelaF

si, il codice che mi hai scritto funziona ed ho aggiunto la traduzione in italiano.
Ora per questo sneppet che non ha link, cosa devo aggiungere?

add_action( 'woocommerce_review_order_before_submit', 'tatadoda_add_checkout_regolamento', 9 );

function tatadoda_add_checkout_regolamento() {

woocommerce_form_field( 'autorizzo', array(
'type' => 'checkbox',
'class' => array('form-row privacy'),
'label_class' => array('woocommerce-form__label woocommerce-form__label-for-checkbox checkbox'),
'input_class' => array('woocommerce-form__input woocommerce-form__input-checkbox input-checkbox'),
'required' => true,
'label' => 'Autorizzo il trattamento dei miei dati personali ai sensi del D.Lgs. n. 196/2003 e del Regolamento UE 679/2016',
));

}

// Show notice if customer does not tick

add_action( 'woocommerce_checkout_process', 'tatadoda_not_approved_regolamento' );

function tatadoda_not_approved_regolamento() {
if ( ! (int) isset( $_POST['autorizzo'] ) ) {
wc_add_notice( __( 'Si prega di autorizzare il trattamento dei dati' ), 'error' );
}
}

Grazie per il supporto.

May 28, 2018 at 8:36 am #2236894

Laura
Supporter

Languages: Inglese (English ) Italiano (Italiano ) Portoghese, Brasile (Português )

Timezone: Europe/Rome (GMT+02:00)

Ciao,
dovrebbe essere così:

add_action( 'woocommerce_review_order_before_submit', 'tatadoda_add_checkout_regolamento', 9 );
function tatadoda_add_checkout_regolamento() {
woocommerce_form_field( 'autorizzo', array(
'type' => 'checkbox',
'class' => array( 'form-row privacy' ),
'label_class' => array( 'woocommerce-form__label woocommerce-form__label-for-checkbox checkbox' ),
'input_class' => array( 'woocommerce-form__input woocommerce-form__input-checkbox input-checkbox' ),
'required' => true,
'label' => __( 'Autorizzo il trattamento dei miei dati personali ai sensi del D.Lgs. n. 196/2003 e del Regolamento UE 679/2016', 'tatadodaboutique' ),
));
}
// Show notice if customer does not tick
add_action( 'woocommerce_checkout_process', 'tatadoda_not_approved_regolamento' );
function tatadoda_not_approved_regolamento() {
if ( ! (int) isset( $POST['autorizzo'] ) ) {
wc_add_notice( _( 'Si prega di autorizzare il trattamento dei dati' ), 'error' );
}}
May 28, 2018 at 7:36 pm #2241459

manuelaF

Scusa, ma per il "Si prega di autorizzare il trattamento dei dati" non mi da la stringa da tradurre, perchè?

add_action( 'woocommerce_checkout_process', 'tatadoda_not_approved_regolamento' );
function tatadoda_not_approved_regolamento() {
if ( ! (int) isset( $POST['autorizzo'] ) ) {
wc_add_notice( _( 'Si prega di autorizzare il trattamento dei dati' ), 'error' );
}}

Grazie per l'aiuto.

May 29, 2018 at 7:16 am #2243166

Laura
Supporter

Languages: Inglese (English ) Italiano (Italiano ) Portoghese, Brasile (Português )

Timezone: Europe/Rome (GMT+02:00)

Scusa, si è perso un trattino:

add_action( 'woocommerce_checkout_process', 'tatadoda_not_approved_regolamento' );
function tatadoda_not_approved_regolamento() {
if ( ! (int) isset( $POST['autorizzo'] ) ) {
wc_add_notice( __( 'Si prega di autorizzare il trattamento dei dati' ), 'error' );
}}
May 29, 2018 at 10:19 am #2244667

manuelaF

Si grazie ora funziona tutto, grazie

May 29, 2018 at 11:57 am #2245358

Laura
Supporter

Languages: Inglese (English ) Italiano (Italiano ) Portoghese, Brasile (Português )

Timezone: Europe/Rome (GMT+02:00)

Bene, sono contenta che si sia risolto tutto.

Se hai ancora bisogno di aiuto siamo qui.