Learning WordPress - Internationalisation générale de l'API

Ce qu'est l'internationalisation et pourquoi elle est si importante. Vous apprend à appliquer l'internationalisation à votre code WordPress afin que votre site Web franchisse la barrière de la langue et atteigne un public mondial.

Image [1] - Apprendre WordPress - General API International - Photon Flux | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide

Qu'est-ce que l'internationalisation ?

L'internationalisation est le processus qui consiste à développer des applications de manière à ce qu'elles puissent être facilement traduites dans d'autres langues. L'internationalisation est souvent abrégée en i18n (parce qu'il y a 18 lettres entre les lettres i et n).

WordPress est utilisé dans le monde entier par des personnes parlant de nombreuses langues.

Par conséquent, toutes les chaînes de texte dans WordPress doivent être encodées afin de pouvoir être facilement traduites dans d'autres langues.

Le processus consistant à s'assurer qu'une chaîne de texte est traduisible est appelé internationalisation, tandis que le processus consistant à traduire une chaîne et à l'adapter à un lieu particulier est appelé localisation.

Bien que la localisation dépasse le cadre de ce didacticiel, vous pouvez en savoir plus à ce sujet dans la section du manuel général de l'API intituléeLa section Localisation en dit plus à ce sujet.

En tant que développeur, vous n'êtes peut-être pas en mesure de localiser pour tous les utilisateurs ; cependant, en utilisant les fonctions et les outils i18n pour créer des fichiers spécifiques, les traducteurs peuvent localiser votre code avec succès sans modifier le code source lui-même.

L'internationalisation n'est rien

Image [2] - Apprendre WordPress - Internationalisation générale de l'API - Photon Flux | Service professionnel de réparation de WordPress, dans le monde entier, réponse rapide

L'internationalisation est différente de l'assurance que votre contenu est disponible en plusieurs langues sur la page d'accueil de votre site web. Il s'agit souvent de s'assurer que le contenu est multilingue ou traduit. Le contenu étant stocké dans une base de données, il est judicieux de disposer d'une copie entièrement traduite de votre site web pour chaque langue que vous souhaitez prendre en charge. Cela peut se faire à l'aide de l'outilTranslatePressetPolylangpeut-êtreWeGlot et al.pour y parvenir.

Comment internationaliser votre code

Lorsque vous écrivez une chaîne de texte à afficher à l'utilisateur, vous devez utiliser la fonctionFonctions i18n de WordPresspour s'assurer qu'il peut être traduit. Il existe un certain nombre de fonctions i18n, chacune effectuant une tâche différente liée à l'internationalisation.

Examinons les fonctions i18n les plus élémentaires :__() fonctionCette fonction prend une chaîne de texte et renvoie une version traduite de cette chaîne. Cette fonction prend une chaîne de texte et renvoie une version traduite de cette chaîne. Si aucune traduction n'est disponible, la chaîne originale est renvoyée.

Vous remarquerez également que cette fonction et la plupart des autres fonctions i18n prennent un deuxième argument. Ce paramètre est utilisé pour spécifier le champ de texte. Le champ de texte est un identifiant unique pour votre plugin ou votre thème. Il est utilisé pour s'assurer que le bon fichier de traduction est chargé.

Le champ de texte est également utilisé pour créer des fichiers de traduction. Le fichier de traduction final est stocké dans le fichierlanguesde votre plugin ou thème. Le nom du fichier est le nom du dossier avec l'extension.modu champ de texte. Par exemple, si votre champ de texte estmon-domaine-texteLe fichier traduit sera alorsmy-textdomain.mo.

__('Some Text', 'my-textdomain' ).
Image [3] - Apprendre WordPress - Internationalisation générale de l'API - Photon Flux | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide

Pour comprendre comment cela fonctionne, prenons un exemple :

à ce moment-làfunctions.phple fichier JavaScript est mis en file d'attente dans le contexte du tableau de bord de WordPress, et il enregistre également un élément de sous-menu dans le menu Apparence, qui présente la page des paramètres du thème enfant.

<?php
/**
 * Enqueue theme.js file in the dashboard.
 */
add_action( 'admin_enqueue_scripts', 'twentytwentythreechild_enqueue_scripts' );
function twentytwentythreechild_enqueue_scripts() {
    wp_enqueue_script(
        'twentytwentythreechild-theme-js',
        get_stylesheet_directory_uri() . '/assets/theme.js',
        array(),
        '1.0.0',
        true
    );
}

/**
 * Create a submenu item under the "Appearance" menu.
 */
add_action( 'admin_menu', 'twentytwentythreechild_add_submenu_page' );
function twentytwentythreechild_add_submenu_page() {
    add_submenu_page(
        'themes.php', 
        'Twenty Twenty Three Child', 
        'Twenty Twenty Three Child',
        'manage_options', 
        'twentytwentythreechild', 
        'twentytwentythreechild_display_page' 
    );
}

/**
 * Render the page for the submenu item.
 */
function twentytwentythreechild_display_page() {
    ?>
    <div class="wrap">
        <h1>Vingt-trois paramètres de l'enfant</h1>
        <p>Il s'agit d'une page de configuration pour le thème Twenty Twenty Three Child.</p>
        <button id="twentytwentythreechild-settings-button" class="button button-primary">Alerte</button>
    </div>
    <?php
}

La page Paramètres contient un bouton qui, lorsqu'il est cliqué, affiche une alerte.

Cette alerte est gérée dans le fichier JavaScript du thème.

/**
 * Ajouter un écouteur d'événements au bouton
 */
document.querySelector( '#twentytwentythreechild-settings-button' ).addEventListener( 'click', function(){
    alert("Bouton de réglage cliqué") ;
} ) ;

Dans ce code, vous avez un certain nombre de chaînes de texte en anglais qui doivent être traduites.

La première étape consiste à internationaliser les chaînes de texte dans votre code PHP. Pour ce faire, vous pouvez ajouter l'élément__()enveloppe une chaîne de texte et spécifie le champ de texte.

Mettez d'abord à jour la chaîne de texte dans la fonctiontwentytwentythreechild_add_submenu_page().

/**
 * Créer un sous-menu d'administration dans le menu "Apparence".
 */
add_action( 'admin_menu', 'twentytwentythreechild_add_submenu_page' ) ; function twentytwentythreechild_add_submenu_page() { { add_submenu_page()
function twentytwentythreechild_add_submenu_page() {
    add_submenu_page(
        'themes.php', // nom du parent
        __( 'Twenty Twenty Three Child', 'twentytwentythreechild' ), // titre de la page
        __( 'Twenty Twenty Three Child', 'twentytwentythreechild' ), // titre du menu
        'manage_options', // capacité
        'twentytwentythreechild', // nom de domaine
        'twentytwentythreechild_display_page' // callback
    ) ;
}

Vous pouvez faire la même chose avec la chaîne de texte dans la fonctionvingttwentythreechild_display_page().

/**
 * Rendre la page pour l'élément de sous-menu.
 */
function twentytwentythreechild_display_page() {
    ? &gt;
    <div class="wrap">
        <h1><?php echo __( 'Twenty Twenty Three Child Settings', 'twentytwentythreechild' ); ?></h1>
        <p><?php echo __( 'This is a settings page for the Twenty Twenty Three Child theme', '__' ); ?></p>
        <button id="twentytwentythreechild-settings-button" class="button button-primary"><?php echo __( 'Alert', 'twentytwentythreechild' ); ?></button>
    </div>
    <?php
}

WordPress inclut également une fonction de raccourci pour ramener les chaînes de caractères traduisibles. Cette fonction est la fonction_e(). Elle traduit et renvoie la chaîne de caractères. Vous pouvez utiliser cette fonction pour simplifier votre code.

function twentytwentythreechild_display_page() {
    ? &gt;{ ?
    <div class="wrap">
        <h1><?php _e( 'Twenty Twenty Three Child Settings', 'twentytwentythreechild' ); ?></h1>
        <p><?php _e( 'This is a settings page for the Twenty Twenty Three Child theme', '__' ); ?></p>
        <button id="twentytwentythreechild-settings-button" class="button button-primary"><?php _e( 'Alert', 'twentytwentythreechild' ); ?></button>
    </div>
    <?php
}

Ensuite, vous devez internationaliser les chaînes de texte dans vos fichiers JavaScript. Pour ce faire, il existe une méthode d'internationalisation similaire à celle utilisée par PHP__()L'équivalent JavaScript de la fonction est disponible dans l'objet wp.i18n sur le front-end de WordPress. Pour vous assurer que vous pouvez utiliser cette fonction, vous devez mettre à jour votre fichiertwentytwentythreechild_enqueue_scripts()pour demander que lewp-i18ncomme dépendance. Cela permettra de s'assurer que seul le paquetwp-i18nCharger le paquet etwp.i18nLe code JavaScript est chargé lorsque l'objet est disponible.

/**
 * Enqueue theme.js file in the dashboard.
 */
add_action( 'admin_enqueue_scripts', 'twentytwentythreechild_enqueue_scripts' ) ; }
function twentytwentythreechild_enqueue_scripts() {
    wp_enqueue_scripts(
        'twentytwentythreechild-theme-js',
        get_stylesheet_directory_uri() . '/assets/theme.js',
        array( 'wp-i18n' ),
        '1.0.0',
        true
    ) ;
}

Ensuite, vous devez appeler le script à traduire à l'aide de la commandewp_set_script_translationsfonction (math.). Cette fonction prend comme arguments une poignée de script et un champ de texte. Elle chargera la traduction du script.

wp_set_script_translations( 'twentytwentythreechild-theme-js', 'twentytwentythreechild' ) ;

Une fois que cela est fait, vous pouvez utiliser la fonction__()pour traduire les chaînes de texte dans les fichiers JavaScript.

/**
 * Ajouter un écouteur d'événements au bouton
 */
document.querySelector( '#twentytwentythreechild-settings-button' ).addEventListener( 'click', function(){
    alert( __('Settings button clicked', 'twentytwentythreechild') ); ;
} ) ;

Comment tester vos fonctionnalités d'internationalisation

Image [4] - Apprendre WordPress - Internationalisation générale de l'API - Photon Flux | Service professionnel de réparation de WordPress, portée mondiale, réponse rapide

Une fois que vous avez configuré votre code pour qu'il utilise les fonctions i18n, vous pouvez le tester en générant un fichier POT. Il s'agit du fichier que les traducteurs utilisent pour créer des fichiers de traduction. Vous pouvez utiliser le fichierWP CLIGénérer un fichier POT.

wp i18n make-pot path/to/your/plugin/or/theme

Il analyse le code du plugin ou du thème à la recherche de chaînes traduisibles et les insère dans le fichier POT.

Guide de l'internationalisation

Il est important de suivre les meilleures pratiques lors de l'internationalisation de votre code.

Sous Internationalisation dans la section General API des WordPress Developer Resources, il y a une page sur Internationalisation Guidelines, il est donc bon de s'y familiariser.

En outre, si vous envisagez de soumettre un thème au répertoire des thèmes de WordPress, vous devez lire le Theme Reviewer's Handbook (Manuel du réviseur de thème) concernant leLangues et internationalisationLa partie de la

Il analyse le code du plugin ou du thème à la recherche de chaînes traduisibles et les insère dans le fichier POT.

Guide de l'internationalisation

Il est important de suivre les meilleures pratiques lors de l'internationalisation de votre code.

Sous Internationalisation dans la section General API des WordPress Developer Resources, il y a une page sur Internationalisation Guidelines, il est donc bon de s'y familiariser.

En outre, si vous envisagez de soumettre un thème au répertoire des thèmes de WordPress, vous devez lire le Theme Reviewer's Handbook (Manuel du réviseur de thème) concernant leLangues et internationalisationLa partie de la


Contactez nous
Vous n'arrivez pas à lire le tutoriel ? Contactez-nous pour une réponse gratuite ! Aide gratuite pour les sites personnels et les sites de petites entreprises !
Service clientèle WeChat
Service clientèle WeChat
Tel : 020-2206-9892
QQ咨询:1025174874
(iii) Courriel : info@361sale.com
Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.
© Déclaration de reproduction
Cet article a été rédigé par Harry
LA FIN
Si vous l'aimez, soutenez-le.
félicitations0 partager (joies, avantages, privilèges, etc.) avec les autres
commentaires achat de canapé

Veuillez vous connecter pour poster un commentaire

    Pas de commentaires