Se i vostri widget includono stringhe traducibili, con WPML riuscirete a modificare la traduzione, ma la loro visualizzazione sul sito non è garantita.

Metodo 1: utilizzare i filtri di WordPress

WPML utilizza i filtri standard di WordPress e traduce il contenuto che filtrate.

Tutti i widget standard di WordPress applicano i filtri per impostazione predefinita. Quando create i vostri widget, dovete accertarvi di applicare i filtri.

Ad esempio, per applicare i filtri al titolo di un widget, utilizzate quanto segue:

$wtitle = apply_filters('widget_title', $wtitle);

WPML si connette alla chiamata apply_filters e renderà traducibile questa stringa dalla pagina String Translation.

Metodo 2: registrare manualmente le stringhe

In alternativa, potete utilizzare le funzioni manuali di traduzione delle stringhe di WPML. Potete registrare le stringhe da tradurre, quindi osservare le relative traduzioni quando vengono visualizzate.

Per registrare le stringhe utilizzate la chiamata icl_register_string:

icl_register_string($context, $name, $value)
    • $context – il nome del plug-in, in un formato leggibile in chiaro
    • $name – il nome della stringa che aiuta l’utente (o il traduttore) a comprendere cosa sta traducendo.
    • $value – la stringa da tradurre.

Successivamente, quando visualizzate i testi, utilizzate icl_t per visualizzare le traduzioni:

icl_t($context, $name, $value)

Metodo 3: utilizzare GetText per le stringhe hardcoded

I due metodi descritti prima sono ottimi per i testi generati in modo dinamico. Questi testi sono modificabili dagli utenti dal pannello di amministrazione di WordPress.

Se avete dei testi statici hardcoded in PHP, potete utilizzare semplicemente le chiamate GetText, come:

<?php __('Hello world','cool_theme'); ?>

WPML si aggancia alle chiamate GetText e rende traducibili questi testi dall’interfaccia String Translation. Nota: questo metodo funziona esclusivamente con i testi non modificabili e fissi nel tema.