Installer la traduction automatique Linguise sur ProcessWire CMS

Table des matières

Exigences techniques du CMS ProcessWire

La traduction automatique neuronale à utiliser avec ProcessWire CMS nécessitera l'utilisation du script PHP (téléchargeable ci-dessous). Pour installer le script Linguise , vous aurez besoin des conditions suivantes :

  • Exécutez PHP 7+
  • Serveur Apache, LiteSpeed, NGINX, IIS
  • Assurez-vous que la réécriture d'URL est activée sur votre serveur
  • ProcessWire CMS 2.x ou 3 et supérieur

1. Générez la clé API

Après votre connexion ou votre inscription à votre tableau de bord Linguise , vous devrez d'abord configurer un nouveau domaine et enregistrer ses paramètres pour obtenir la clé API.

Vous pouvez sélectionner la plate-forme "Autre PHP" pour procéder à l'enregistrement du domaine Linguise , comme cette documentation et les langues source et de destination.

Après cela, vous obtiendrez :

  • La clé API qui valide votre adhésion
  • Le lien vers le script Linguise pour le sélecteur de langue

 

La clé API est ce qui est requis pour activer la traduction sur votre site web ProcessWire CMS. Fondamentalement, la clé API vérifiera quelle langue est activée sur votre domaine et permettra la traduction automatique du contenu.

Pour l'instant, vous pouvez copier la clé API et la conserver dans votre presse-papiers.

2. Téléchargez et connectez le script de traduction Linguise

Le script de traduction Linguise doit être téléchargé sur votre serveur sur lequel ProcessWire CMS est installé :

Une fois le script téléchargé, décompressez-le et téléchargez-le dans le dossier racine où le CMS ProcessWire est installé.

  • Assurez-vous qu'il se trouve au niveau racine de votre site Web (là où se trouvent vos fichiers ProcessWire
  • Assurez-vous que le dossier garde son nom par défaut « linguise »
ProcessWire-fichier CMS

La Linguise devra être copiée dans le Configuration.php que vous avez téléchargé sur votre serveur, modifiez le fichier et copiez votre clé API entre les guillemets simples, remplacez le texte REPLACE_BY_TOUR TOKEN.

config-php
NOUS COMPRENONS QUE LA CONFIGURATION DES URL ET LE COMMUTATEUR DE LANGUE SONT UN PEU TECHNIQUES À CONFIGURER ; MAIS BONNE NOUVELLE ! NOUS OFFRONS UNE INSTALLATION GRATUITE

3. Configurez la réécriture des URL du CMS ProcessWire

Par défaut, la réécriture d'URL est active dans ProcessWire CMS. Si ce n'est pas le cas, vous pouvez l'activer auprès de votre hébergeur.

L'URL par langue doit être configurée dans le .htaccess. Copiez simplement le code ci-dessous après le code « RewriteEngine on » disponible dans le CMS ProcessWire .htaccess par défaut.

				
					<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ linguise/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]
</IfModule>
				
			

Enfin, votre ProcessWire CMS .htaccess devrait ressembler à ceci :

				
					# 8. Enable Apache mod_rewrite (required)
# -----------------------------------------------------------------------------------------------

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ linguise/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]
 
  
  # 8A. Optionally (O) set a rewrite base if rewrites are not working properly on your server.
  # -----------------------------------------------------------------------------------------------
				
			

Vous pouvez désormais charger toutes vos pages traduites à l'aide de l'URL, par exemple : www.shop.com /fr/

Chargeons maintenant le sélecteur de langue.

NOUS COMPRENONS QUE LA CONFIGURATION DES URL ET LE COMMUTATEUR DE LANGUE SONT UN PEU TECHNIQUES À CONFIGURER ; MAIS BONNE NOUVELLE ! NOUS OFFRONS UNE INSTALLATION GRATUITE

4. Activez le sélecteur de langue

4.1 Charger le script Linguise JS

Le lien du script Linguise JS doit être chargé sur toutes vos pages ProcessWire CMS pour afficher le sélecteur de langue avec des indicateurs et des URL alternatives dans vos en-têtes HTML (à des fins de référencement).

Pour copier le lien du script, depuis le tableau de bord Linguise , accédez aux paramètres du domaine et copiez le lien du script.

Le moyen le plus simple de charger ce code dans ProcessWire CMS est de l'ajouter dans l'en-tête de votre site Web ou section. ProcessWire CMS est livré avec un fichier spécifique pour charger un script dans l'en-tête.

Il se trouve dans _main.php, vous pouvez le trouver en accédant à site/templates/_main.php . Modifiez le fichier de script pour inclure le lien de script dans la section d'en-tête.

Le sélecteur de langue avec les drapeaux devrait maintenant être chargé automatiquement.

Script-in-ProcessWire-cms

Le sélecteur de langue sera affiché par défaut dans une position flottante en haut à droite sur votre site web. Vous pouvez le personnaliser comme expliqué dans le chapitre suivant.

Remarque importante sur le référencement : le nombre de langues que vous configurez a un impact important sur le référencement. Lorsque vous configurez vos langues de traduction, si vous avez une grande quantité de pages indexées (> 500), le moteur de recherche peut prendre beaucoup de temps pour les traiter. Cela peut avoir un impact sur votre référencement dans votre langue d'origine. C'est pourquoi nous vous conseillons d'ajouter dans un premier temps un maximum de 5 langues, puis lorsque c'est indexé, vous pourrez ajouter des langues par lot de 3 par mois.

Configurer le sélecteur de langue

Le sélecteur de langue peut être personnalisé à partir du tableau de bord Linguise > Paramètres > Affichage des indicateurs de langue. Chaque modification ici sera reflétée sur le site web.

Sur le côté droit de l'écran, vous avez l'aperçu du sélecteur de langue. Voici les éléments que vous pouvez paramétrer :

  • 3 mises en page : côte à côte, déroulante ou popup
  • La position du sélecteur de langue
  • Le contenu du sélecteur de langue
  • Noms de langue en anglais ou en langue maternelle
  • Formes et taille des drapeaux
  • Couleurs et ombre de boîte

Charger le sélecteur de langue dans le contenu ProcessWire

position du drapeau sur place

Pour afficher le sélecteur de langue à un endroit spécifique, dans le ProcessWire , vous devez définir la position sur « En place ».
Une fois que vous avez défini la position dans le Linguise , vous pouvez ajouter le shortcode ci-dessous pour l'inclure. Cliquez sur le code ci-dessous pour le mettre dans votre presse-papier.

[linguise]

Une fois ajouté, sur le frontend, le drapeau et les noms de langue seront affichés dans la zone HTML dans laquelle vous avez ajouté le code.

Activer l'option du système de cache local

En option, vous pouvez activer un système de cache local qui stocke les URL et son contenu multilingue associé pour servir les pages plus rapidement. Le cache local permettra d'économiser une partie du transfert de données entre le serveur Linguise et le serveur de votre site web. Le cache n'est utilisé que lorsqu'une page a déjà été traduite et n'a pas été mise à jour. Le cache retenu en priorité sera le cache des pages multilingues les plus consultées.

Pour compléter cela, vous pouvez définir la quantité de cache stockée en Mo. Dans l'exemple suivant, le cache est activé et la quantité de cache à conserver est de 500 Mo.

				
					    /** Basic configuration **/
    public $cache_enabled = true;
    public $cache_max_size = 500; // In megabyte
				
			

Traduction automatique sur les serveurs Windows IIS

Ajoutez la ligne correspondant à votre constructeur de site Web dans votre fichier Web.config.
Il doit être défini avant toute autre redirection, notamment la redirection vers votre fichier principal PHP :

				
					<rule name="Linguise" stopProcessing="true">
<match url="^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$" ignoreCase="false" />
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
            <action type="Rewrite" url="linguise/linguise.php?linguise_language={R:1}&amp;original_url={R:2}" appendQueryString="true" />
</rule>
				
			

Traduction automatique sur les serveurs NGINX

Ajoutez la ligne correspondant à votre CMS dans votre bloc de configuration de votre serveur NGINX.
Il doit être défini avant toute autre redirection, notamment la redirection dans votre fichier principal PHP.
				
					rewrite ^/(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ /linguise/linguise.php?linguise_language=$1&original_url=$2 last;