Table des matières
exigences techniques MODX CMS
La traduction automatique à utiliser avec le framework de gestion de contenu MODX nécessite l'installation d'un script PHP (téléchargeable ci-dessous). Pour installer le script Linguise , vous aurez besoin des éléments suivants :
- Exécuter PHP 7+
- Serveur Apache, LiteSpeed, NGINX, IIS
- Assurez-vous que la réécriture d'URL est activée sur votre serveur
- MODX CMS 2.x ou 3 et versions ultérieures
1. Générer 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 plateforme « Autre PHP » pour procéder à l’enregistrement de votre domaine Linguise , comme indiqué dans cette documentation, ainsi que les langues source et de destination.

Vous obtiendrez ensuite :
- La clé API qui valide votre adhésion
- Le lien vers le script Linguise pour le sélecteur de langue

La clé API est indispensable pour activer la traduction sur votre site web MODX CMS. Concrètement, cette clé API vérifie la langue activée sur votre domaine et permet la traduction automatique du contenu.
Pour le moment, 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 où MODX 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 MODX est installé.
- Assurez-vous qu'il se trouve à la racine de votre site web (là où se trouvent vos fichiers MODX
- Veillez à ce que le dossier conserve son nom par défaut « linguise ».

Comment accéder à l'interface de script Linguise ?
Linguise terminée
linguise adresse suivante : https://www.domain.com/linguise
Modifiez l'adresse de domaine en fonction de l'adresse de votre site web*.
Assurez-vous que Linguise dispose des autorisations de lecture et d'écriture appropriées*.
Configurer le mot de passe et la connexion à la base de données
Une fois que vous aurez accédé à l'interface du script, un écran de configuration s'affichera vous permettant de créer un mot de passe et de vous connecter à votre base de données préférée.
Tu peux:
- Définissez un mot de passe, qui sera requis pour accéder ultérieurement à cette interface.
- Choisissez votre type de base de données — MySQL ou SQLite, selon votre configuration et vos préférences.
Cette configuration initiale garantit un accès sécurisé et vous permet de configurer le script en fonction de votre environnement.

Connexion à la base de données MySQL
Si vous choisissez MySQL, une interface différente apparaîtra et vous demandera les informations de connexion suivantes, issues des champs de configuration MySQL ci-dessous :

Veuillez vous assurer que les informations sont correctes pour établir une connexion réussie à votre base de données MySQL.
MySQL vs SQLite : quelle est la différence ?
MySQL et SQLite sont deux systèmes de bases de données populaires utilisés pour stocker et gérer les données des sites web et des applications. Cependant, ils sont conçus pour des cas d’utilisation différents et présentent des différences importantes :
| Fonctionnalité | SQLite | MySQL |
|---|---|---|
| Installation | Très facile (installation de SQLite requise) | Configuration du serveur requise |
| Stockage | Fichier unique | Géré par un serveur MySQL |
| Performance | Idéal pour les applications à petite échelle | Meilleur pour les grands systèmes à fort trafic |
| Cas d'utilisation | Applications locales, tests, petits sites | Applications Web, commerce électronique, systèmes d'entreprise |
Interface de script Linguise : Configuration pour la plateforme PHP
Le tableau de bord de traduction Linguise , auparavant disponible uniquement pour Joomla et WordPress, est désormais compatible avec PHP et d'autres plateformes. Cette mise à jour permet aux utilisateurs de configurer facilement les paramètres linguistiques (options d'affichage, styles de drapeaux et personnalisation de l'apparence) directement depuis une interface unifiée, quel que soit leur CMS ou framework.

Les administrateurs peuvent gérer plus efficacement les paramètres Linguise grâce à des fonctionnalités cohérentes telles que les fenêtres contextuelles de sélection de la langue, les effets d'ombre et les variantes de drapeaux spécifiques à chaque région. Le tableau de bord conserve son interface conviviale tout en offrant une compatibilité étendue avec divers environnements web.


3. Configurer la réécriture des URL du CMS MODX
La réécriture d'URL est activée par défaut dans MODX 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 fichier .htaccess. Copiez simplement le code ci-dessous après la ligne « RewriteEngine on » présente dans le fichier .htaccess par défaut MODX CMS .
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]
Enfin, votre fichier .htaccess MODX CMS devrait ressembler à ceci :
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]
# Prevent rewrite the .well-known directory used by LetsEncrypt by rules below of this rule
RewriteRule "^\.well-known/" - [L]
# Prevent dot directories (hidden directories like .git) to be exposed to the public
# Except for the .well-known directory used by LetsEncrypt a.o
RewriteRule "/\.|^\.(?!well-known/)" - [F]
Vous pouvez désormais charger toutes vos pages traduites en utilisant l'URL, par exemple : www.shop.com/fr/
Chargeons maintenant le sélecteur de langue.
4. Activez le sélecteur de langue
4.1 Charger le script JS Linguise
Le lien du script Linguise JS doit être chargé sur toutes vos pages MODX CMS pour afficher le sélecteur de langue avec les drapeaux et les 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.

La méthode la plus simple pour charger ce code dans MODX CMS consiste à l'ajouter dans l'en-tête de votre site web ou code.
Pour ce faire, ouvrez les pages du gestionnaire MODX Accédez ensuite à Éléments, sélectionnez BaseTemplate , puis faites défiler vers le bas jusqu'à afficher le code du modèle (HTML) . Modifiez ce code pour inclure le lien du script dans l'en-tête.
Le sélecteur de langue est une fenêtre contextuelle permettant de choisir la langue souhaitée. Pour l'afficher, copiez le code fourni à la fin de la configuration du site web dans l'en-tête de votre page HTML. Le sélecteur de langue s'affichera alors automatiquement.

Le sélecteur de langue s'affichera par défaut en haut à droite de votre site web. Vous pouvez le personnaliser comme expliqué dans le chapitre suivant.

Note importante concernant le référencement : Le nombre de langues configurées a un impact considérable sur votre référencement. Si vous avez un grand nombre de pages indexées (> 500), les moteurs de recherche peuvent mettre beaucoup de temps à les traiter, ce qui peut nuire à votre référencement dans votre langue d'origine. C'est pourquoi nous vous recommandons d'ajouter initialement un maximum de 5 langues, puis, une fois votre site indexé, d'en ajouter par lots de 3 par mois.
Configurer le sélecteur de langue
Le sélecteur de langue est personnalisable depuis le tableau de bord Linguise > Paramètres > Affichage des drapeaux de langue. Toute modification effectuée ici sera répercutée sur le site web.

Sur la droite de l'écran, vous trouverez un aperçu du sélecteur de langue. Voici les éléments que vous pouvez configurer :
- 3 dispositions : côte à côte, menu déroulant ou popup
- La position du sélecteur de langue
- Le contenu du sélecteur de langue
- Noms de la langue en anglais ou dans la langue maternelle
- Formes et taille des drapeaux
- Couleurs et ombre portée
Charger le sélecteur de langue dans le contenu MODX CMS

Pour afficher le sélecteur de langue à un emplacement précis dans votre MODX , définissez sa position sur « In situ ».
Une fois la position définie dans le Linguise , ajoutez le shortcode ci-dessous pour l'intégrer. Cliquez sur le code ci-dessous pour le copier dans votre presse-papiers.
[linguise]
Une fois ajouté, le drapeau et le nom de la langue s'afficheront sur l'interface publique dans la zone HTML où vous avez ajouté le code.
Activer l'option du système de cache local
Vous pouvez activer, en option, un système de cache local qui stocke les URL et leur contenu multilingue associé afin d'accélérer le chargement des pages. Ce cache local réduit les transferts de données entre le serveur Linguise et votre serveur web. Il est utilisé uniquement pour les pages déjà traduites et non mises à jour. La priorité est donnée au cache des pages multilingues les plus consultées.
En complément, vous pouvez définir la taille du cache stocké en Mo. Dans l'exemple suivant, le cache est activé et la taille à conserver est de 500 Mo.

/** Basic configuration **/
public $cache_enabled = true;
public $cache_max_size = 500; // In megabyte
Traduction automatique sur les serveurs NGINX
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;