MemberMouse prend en charge la localisation et charge par défaut une traduction en anglais américain à utiliser avec le plugin. Il est possible de traduire la plupart des textes du backend de MemberMouse dans la langue de votre choix à l'aide de la fonction de localisation intégrée de WordPress. En outre, vous pouvez créer du contenu destiné aux membres dans la langue de votre choix, à quelques exceptions près. Celles-ci sont détaillées dans la deuxième partie de cet article.
La manière la plus simple d'ajouter la prise en charge de langues supplémentaires est d'utiliser un plugin de localisation et la fonction Traduire MemberMouse - Basic présente les étapes de cette approche.
Mais si vous souhaitez une personnalisation plus spécifique, le support peut également être ajouté de manière programmatique à l'aide d'une petite quantité de code. Bien que ce code puisse être placé à différents endroits, il est probablement préférable de créer un petit plugin dédié à la traduction, ce qui sera démontré dans cet article et expliqué plus en détail ci-dessous.
Traduire le backend de MemberMouse - Avancé
Pour traduire le backend de l'anglais vers la langue de votre choix, vous devez créer un fichier de traduction ou fichier de "localisation". Le fichier qui contient cette traduction est complété par .po / .mo, où .po est le fichier éditable et .mo la version compilée.
En définissant une configuration adéquate, WordPress utilisera ce fichier pour effectuer le travail en fonction de la langue sélectionnée. La localisation à l'aide de fichiers .po / .mo est un moyen élémentaire de traduire la phrase "x" en phrase "y" dans la nouvelle langue concernée.
Si cela est fait correctement, vous pourriez obtenir quelque chose comme ce qui suit :
Anglais/Espagnol Exemple :
"Comment allez-vous ?" = "Como Estas ?"
Comment cela fonctionne-t-il ? Construction d'un fichier .po
Le fichier .po est en fait un simple fichier qui effectue la traduction mentionnée ci-dessus. Le fichier de langue est généralement nommé de la manière suivante :
[text-domain]-[language-prefix]_[Country]
text-domain : mm (Notre plugin a un domaine de texte de "mm" par défaut).
Préfixe de la langue : Liste des codes de langue
Pays : Liste des codes pays
Ex. Si vous voulez traduire en allemand et que vous êtes situé en Allemagne, le nom du fichier sera : mm-de_DE
Un fichier de base typique peut ressembler à ce qui suit :
Fichier : mm-es_ES.po
msgid ""
msgstr ""
"Projet-Id-Version : Version espagnole 1.0"
"POT-Creation-Date : \n"
"PO-Revision-Date : \n"
"Last-Translator : \n"
"Language-Team : MemberMouse \n"
"MIME-Version : 1.0"
"Content-Type : text/plain ; charset=iso-8859-1\n"
"Content-Transfer-Encoding : 8bit" "Language : es_ES" "Content-Transfer-Encoding : 8bit" "Language : es_ES"
"X-Generator : Poedit 1.8.8"
"Formes du pluriel : nplurals=2 ; plural=(n != 1);\n"
"X-Poedit-SourceCharset : UTF-8" "X-Poedit-SourceCharset : UTF-8"
msgid "Comment allez-vous ?"
msgstr "Como Estas ?"
Comme vous pouvez le constater, la msgid est le texte à traduire et l'élément msgstr est la phrase traduite résultante.
Au-dessus de la traduction, il y a juste quelques métadonnées pour aider à définir la langue et la version.
Informations complémentaires : Vous trouverez ici des informations sur les formes plurielles : Poedit Formes plurielles
Configuration avancée de la traduction
NOTE : Les étapes suivantes sont des étapes avancées dont la réalisation nécessitera du temps, des efforts et de la planification :
- Télécharger MemberMouse - La première étape consiste à obtenir le dernière version de MemberMouse. Vous serez invité à enregistrer un fichier zip nommé membermouse.zip. Placez ce fichier dans un endroit connu auquel vous avez accès en lecture et en écriture.
- Créer un dossier pour le nouveau plugin - L'étape suivante consiste à créer un dossier/répertoire sur le système de fichiers local pour contenir les fichiers que nous allons créer pour notre nouveau plugin. Le dossier peut porter n'importe quel nom. Pour cet exemple, nous utiliserons le nom membermouse-translation.
- Décompressez le plugin MemberMouse - Une fois le dossier "membermouse-translation" créé, localisez le plugin MemberMouse téléchargé à l'étape 1 et décompressez le plugin dans un emplacement connu. Le processus de décompression créera un dossier nommé "membermouse".
- Copier les fichiers de langue dans le dossier du nouveau plugin - Dans le dossier "membermouse" créé ci-dessus, se trouve un autre dossier appelé "languages". Ce dossier doit être copié dans le dossier "membermouse-translation".
- Télécharger l'application Poedit - Poedit est une application gratuite utilisée pour éditer des fichiers de traduction pour les applications qui utilisent gettext (comme WordPress). La dernière version peut être téléchargée ici : POEdit Télécharger
- Créer une nouvelle traduction - Ouvrez l'application Poedit, choisissez "Créer une nouvelle traduction" sur l'écran principal et sélectionnez le fichier membermouse.po dans le dossier membermouse-translation/languages.
- Sélectionner la langue de traduction - Dans la boîte de dialogue suivante, sélectionnez la langue pour laquelle vous souhaitez créer une traduction (Remarque : si vous souhaitez simplement personnaliser certaines étiquettes en anglais, sélectionnez English(US) dans la liste déroulante).
- Traduire les champs de texte souhaités - En sélectionnant la langue de votre choix, une fenêtre s'ouvrira avec tous les textes disponibles pour la traduction dans une zone de défilement. Sélectionnez les éléments que vous souhaitez traduire et, dans la zone de texte "Traduction", tapez le texte traduit.
- Enregistrer la nouvelle traduction - Lorsque vous êtes satisfait de votre traduction, allez dans le menu Fichier, choisissez "Enregistrer sous" et enregistrez le nouveau .po pour votre langue dans le dossier des langues.
Le format de ce fichier est très important, il doit être "membermouse-.po".
Heureusement, Poedit va pré-remplir le champ du nom de fichier avec la locale correcte pour la langue que vous avez sélectionnée, il vous suffit donc d'ajouter "membermouse-" devant. Par exemple, pour l'anglais (US), Poedit remplira le champ du nom de fichier avec "en_US.po", et en ajoutant "membermouse-", vous obtiendrez le nom de fichier "membermouse-en_US.po".
Une fois le nom de fichier correctement saisi, enregistrez le nouveau fichier .po dans le dossier membermouse-translation/languages. Si la langue est l'anglais (US), il vous sera demandé si vous souhaitez écraser le fichier .po existant, répondez par l'affirmative.
Une fois le fichier .po enregistré, allez dans le menu Fichier et sélectionnez "Compiler en .mo". Créez un fichier .mo dans le répertoire membermouse-translation/languages avec le même nom que le fichier .po, l'extension étant changée en .mo.
Par exemple, si vous utilisez l'anglais (US), créez un fichier .mo intitulé "membermouse-en_US.mo".
- Créer le fichier principal du plugin - Créez un fichier dans le dossier membermouse-translation nommé membermouse-translation.php.
Le code qui sera placé dans ce fichier est principalement du code de base de plugin WordPress, avec un bloc spécial ajouté pour remplacer la traduction créée à l'étape précédente lorsque MemberMouse tente de charger ses fichiers de traduction.
Ajoutez le code suivant au fichier :<?php
/*
Plugin Name: MemberMouse Translation
Plugin URI: http://www.membermouse.com/
Description: A translation for MemberMouse
Version: 1.0
*/
function membermouse_translation_override_load_textdomain($mofile, $domain)
{
if ('membermouse' === $domain) {
return plugin_dir_path(__FILE__).'languages/membermouse-
en_US.mo'; }
return $mofile;
}
add_filter( 'load_textdomain_mofile','membermouse_translation_override_load
_textdomain', 10, 2 ); - Modifier le code si nécessaire - Si le fichier .mo de la nouvelle traduction est différent de celui du fichier membermouse-translation.php, modifiez la ligne suivante
return plugin_dir_path(__FILE__).'languages/membermouse-en_US.mo' ;
et modifiez "membermouse-en_US.mo" pour qu'il corresponde au fichier .mo créé à l'étape 7. - Zipper et installer le nouveau plugin - Créez un fichier zip compressé nommé "membermouse-translation.zip" qui contient le dossier "membermouse-translation" et son contenu.
Ce zip est maintenant un plugin WordPress entièrement fonctionnel qui peut être installé pour remplacer la traduction par défaut !
Il vous suffit d'installer ce plugin mis à jour en suivant les mêmes étapes que celles décrites dans l'article Installation de MemberMouse
Traduire le contenu destiné aux membres
La plupart des éléments avec lesquels vos clients interagiront via votre site Web et votre portail de membres peuvent être traduits, car la majorité du contenu destiné aux clients créé par MemberMouse est simplement du texte HTML qui peut être modifié via l'éditeur WordPress.
Dans les anciennes versions de MemberMouse antérieures à la version 3.0.6, il existe quelques cas où les éléments ne peuvent pas être traduits ou nécessitent plus de codage que la modification du code HTML pour être traduits. Dans la mesure du possible, nous avons suggéré d'autres méthodes de traduction de ces éléments.
Version 2.0 à 3.0.5 - Éléments pouvant être traduits avec un codage supplémentaire :
1. Messages d'erreur générés par MemberMouse ou des messages d'erreur reçus de tiers, tels que le prestataire de services de paiement.
Si vous avez des connaissances techniques, vous pouvez personnaliser ce message pour qu'il apparaisse dans une autre langue. Le message Personnaliser les messages d'erreur sur la page de paiement fournit des informations supplémentaires sur la manière de procéder. Vous noterez dans cet article que vous ne pouvez traduire les messages d'erreur des tiers que si vous connaissez le message d'erreur spécifique reçu du tiers que vous souhaitez traduire.
2. La description du prix du produit. Une option consisterait à utiliser la fonction SmartTag Order_Decision pour définir des descriptions alternatives pour des produits spécifiques.
Pour chaque produit dont vous souhaitez inclure une traduction, vous pouvez ajouter une ligne directement sous le SmartTag™ (ou remplacer le SmartTag™ en entier si vous en incluez un pour chaque produit) en utilisant le SmartTag™ pour filtrer la description par ID :
[MM_Order_Decision productId='#']
Votre description du prix du produit traduite ici
[/MM_Order_Decision]
Une autre solution consisterait à créer des pages de paiement personnalisées par produit et à remplacer la balise MM_Form_Data name='productPriceDescription' par un texte dans votre langue décrivant le prix de ce produit. Les SmartTags Créer une page de paiement personnalisée fournit des informations supplémentaires sur la manière de procéder.
3. Le message de traitement des paiements sur la page de paiement qui s'affiche après que le client a soumis sa commande. Vous pouvez personnaliser ce message pour qu'il apparaisse dans une autre langue en suivant les informations fournies dans la section Personnaliser le message de traitement de la page de paiement
Étant donné que les messages provenant de fournisseurs tiers, tels que les prestataires de services de paiement, sont reçus puis affichés directement à l'écran par MemberMouse, si vous ne connaissez pas le message d'erreur spécifique du fournisseur tiers, il ne sera pas possible de le traduire.