Sauter la navigation

Ce sujet est résolu. Voici une description du problème et de la solution.

Problème :
Vous souhaitez rendre le texte d'un bouton dans un shortcode, défini dans le fichier functions.php, traduisible par WPML.
Solution :
Pour rendre le texte du bouton traduisible, vous devez envelopper le texte par défaut dans la fonction ,,

__()

. Voici comment vous pouvez modifier votre code :

// SHORTCODE REEL INSTAGRAM
function instagram_reel_popup_shortcode($atts) {
    global $post;
 
    // Define default attributes with translatable text
    $atts = shortcode_atts(
        array(
            'button_text' => __('VOIR LA VIDÉO', 'your-text-domain'), // Make button text translatable
        ),
        $atts,
        'instagram_reel_popup'
    );

Remplacez 'your-text-domain' par le domaine de texte de votre thème. Après avoir appliqué ce changement, sauvegardez votre site et allez dans WPML > Theme and Plugin Localization > Scannez le thème pour les nouvelles chaînes. Cela permettra de charger cette nouvelle chaîne sous String Translation.

Si cette solution ne résout pas votre problème ou semble dépassée, nous vous recommandons de consulter les problèmes connus, de vérifier la version du correctif permanent et de confirmer que vous avez installé les dernières versions des thèmes et plugins. Si nécessaire, n'hésitez pas à ouvrir un nouveau ticket de support.

Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.

Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.

Ce sujet contient 1 réponse, a 2 voix.

Dernière mise à jour par Ilyes Il y a 3 semaines et 3 jours.

Assisté par: Ilyes.

Auteur Articles
Novembre 7, 2024 à 3:29 pm #16378679

aurelienP-3

Contexte de la question:
Je souhaite traduire un bouton d'un shortcode fait dans le fichier fonction.php, mais je ne l'ai pas créé moi-même. Voici la capture du code. Je veux savoir ce qu'il faut ajouter pour que ce bouton soit traduisible comme chaîne dans WPML.

Symptômes:
Je ne sais pas comment rendre le bouton d'un shortcode traduisible dans WPML.

Questions:
Que faut-il ajouter au code pour rendre le bouton traduisible dans WPML ?

Novembre 8, 2024 à 1:38 am #16380344

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Rebonjour,

Lorsque vous déclarez l'attribut button_text, vous devez utiliser l'appel gettext comme suit :

To make the text in the button_text attribute translatable, wrap the default text in the __() function. This allows it to be translated by WordPress or WPML. Here’s the updated code:

// SHORTCODE REEL INSTAGRAM
function instagram_reel_popup_shortcode($atts) {
    global $post;

    // Define default attributes with translatable text
    $atts = shortcode_atts(
        array(
            'button_text' => __('VOIR LA VIDÉO', 'your-text-domain'), // Make button text translatable
        ),
        $atts,
        'instagram_reel_popup'
    );

Explication :

__('VOIR LA VIDÉO', 'your-text-domain') : Le texte par défaut pour button_text est maintenant enveloppé dans __(), ce qui le rend traduisible. Remplacez 'votre-domaine-texte' par le domaine-texte de votre thème.

Veuillez faire une sauvegarde de votre site avant d'appliquer ce changement et après l'avoir appliqué, allez dans WPML > Theme and Plugin localisation > Scannez le thème pour les nouvelles chaines ,

Cela devrait charger cette nouvelle chaîne sous String Translation.

Novembre 8, 2024 à 7:52 am #16380852

aurelienP-3

Super Ilyes, cela fonctionne parfaitement, merci !