Installer Linguise sur des sites web basés sur Laravel

Table des matières

exigences techniques

Pour exécuter le script de traduction Linguise, vous’avez besoin de ce qui suit :

  • Exécuter PHP 7+ et Laravel
  • Serveur Apache, LiteSpeed, NGINX, IIS
  • Activez la réécriture d'URL dans la configuration de votre serveur
  • Le dossier racine de Laravel’ est généralement défini sur “public” dossier, assurez-vous d’installer Linguise dans ce dossier 

1. Générer la clé API

Après votre connexion à votre Linguise dashboard vous’ll aurez besoin de configurer un nouveau domaine d’abord et enregistrer it’s paramètres pour obtenir la clé API.

La clé API est ce qui est nécessaire pour activer la traduction sur votre site web. En gros, la clé API vérifiera quelle langue est activée sur quel domaine et permettra la génération des pages de traduction neuronale.

Copiez la clé API et conservez-la dans votre presse-papiers.

Étape 2 sur 2, terminée. Vous pouvez commencer la traduction !

Ensuite, en cliquant sur l’onglet “Script PHP”, vous’obtiendrez les instructions d’installation que nous suivrons ici en détail.

Une capture d’écran des instructions d’installation d’un plugin WordPress, montrant les étapes pour installer la preuve sociale sur un site web.

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

Le script de traduction Linguise doit être téléchargé sur votre serveur, dans le dossier où Laravel est installé, il peut être téléchargé ici :

Après le téléchargement du script, décompressez‑le et téléversez‑le dans le dossier racine où Laravel est installé.

  • Assurez‑vous qu’il est à le niveau racine de votre installation Laravel (Laravel définit généralement la racine sur “public” dossier où vous pouvez installer Linguise)
  • Assurez-vous que le dossier s'appelle “linguise” (le nom par défaut lorsque le dossier est décompressé)
Liste des répertoires d'un système de fichiers avec dossiers

Comment accéder à l'interface du script Linguise ?

Après avoir terminé l'installation de Linguise, vous pouvez accéder au tableau de bord en visitant votre site Web avec le format d'URL suivant :
https://www.domain.com/linguise

Modifiez l'adresse du 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 accédez à l'interface du script, vous serez présenté avec un écran de configuration où vous pouvez créer un mot de passe et vous connecter à votre base de données préférée.

Vous pouvez :

  • Définissez un mot de passe, qui sera requis pour un accès futur à cette interface.
  • Choisissez votre type de base de données — MySQL ou SQLite, selon votre configuration et vos préférences.

Cette configuration initiale assure un accès sécurisé et vous permet de configurer le script selon votre environnement.

Connexion à la base de données MySQL

Si vous choisissez MySQL, une interface différente apparaîtra demandant les détails de connexion suivants des champs de configuration MySQL ci‑dessous :

Assurez-vous 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 tous deux des 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 quelques différences clés :

FonctionnalitéSQLiteMySQL
ConfigurationTrès facile (installation de SQLite requise)Nécessite une configuration du serveur
StockageFichier uniqueGéré par le serveur MySQL
PerformanceIdéal pour les applications de petite tailleMieux pour les grands systèmes à fort trafic
Cas d'utilisationApplications locales, tests, petits sitesApplications 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, prend désormais en charge PHP et d'autres plateformes. Cette mise à jour permet aux utilisateurs de configurer sans effort les paramètres de langue— tels que les options d'affichage, les styles de drapeau et la personnalisation de l'apparence— directement depuis une interface unifiée, quel que soit leur CMS ou leur framework.

api-interface

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

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

3. Configurer les URL des langues

L'URL par langue doit être configurée dans le fichier .htaccess, si vous avez un “RewriteBase /” dans votre fichier, copiez simplement après cela tout le code suivant :

				
					<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^linguise/linguise.php$ - [L] 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>
				
			
Une capture d'écran d'un dossier d'ordinateur sous Mac OS.
NOUS COMPRENONS QUE LA CONFIGURATION DES URLS 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 sur Laravel

Le sélecteur de langue est la fenêtre contextuelle avec drapeau pour choisir la langue souhaitée. Pour le charger, vous’ll devez copier le code fourni à la fin de la configuration du site (tableau de bord Linguise).

Le script doit être chargé dans l’en-tête de vos pages HTML gérées par Laravel. Le sélecteur de langue à drapeau sera alors chargé automatiquement.

Bannière de consentement aux cookies sur un site web

Le sélecteur de langue sera affiché par défaut dans une position flottante en haut à droite de votre site web. Vous êtes libre de le personnaliser comme vous le souhaitez avec CSS.

Un menu déroulant pour sélectionner les langues sur un site Web. Les options incluent l'anglais, l'espagnol, le français et plus.

Note importante SEO : Le nombre de langues que vous configurez a un impact important sur le SEO. Lorsque vous configurez vos langues de traduction, si vous avez un grand nombre de pages indexées (>500), le moteur de recherche peut prendre beaucoup de temps pour les traiter. Cela peut affecter votre SEO dans votre langue d'origine. C’est pourquoi nous recommandons d’ajouter d’abord un maximum de 5 langues, puis, une fois indexées, vous pouvez ajouter des langues par lot de 3 par mois.

Configurer le sélecteur de langue

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

Capture d&#39;écran montrant un menu déroulant permettant de sélectionner les paramètres de langue avec l&#39;option anglais.

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 mises en page : côte à côte, menu déroulant ou fenêtre contextuelle
  • La position du changeur de langue
  • Le contenu du sélecteur de langue
  • Noms de la langue en anglais ou dans la langue maternelle
  • Formes et dimensions des drapeaux
  • Couleurs et ombre portée

Charger le sélecteur de langue dans le contenu Laravel

drapeau-position-en-place

Pour afficher le sélecteur de langue à l'endroit spécifique, dans le contenu Laravel, vous devez définir la position comme “In place”. 
Une fois que vous avez défini la position dans le tableau de bord Linguise, vous pouvez ajouter le shortcode ci-dessous pour l'inclure. Cliquez sur le code ci-dessous pour le copier dans votre presse‑papier.

				
					<div>[linguise]</div>
				
			

Une fois qu’il est ajouté, sur le frontend vous verrez le drapeau et les noms des langues affichés dans la zone HTML où vous avez ajouté le code.

Système de cache local pour les pages Laravel

En option, vous pouvez activer un système de cache local qui stocke les URL et leur contenu multilingue associé afin de servir les pages plus rapidement. Le cache local permettra d'économiser certains transferts 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 prioritaire sera celui des pages multilingues les plus consultées.

Exemple de code de configuration de traduction Laravel. Configuration pour mettre en place les traductions.

En option, 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 :

				
					    /** Configuration de base **/ public $cache_enabled = true; public $cache_max_size = 500; // En mégaoctets
				
			

Paramètres spécifiques pour la plateforme Laravel

Dans le fichier Configuration.php, nous avons également un paramètre qui permet de transmettre une configuration spécifique pour le CMS ou le non-CMS. Par défaut, c’est automatique, mais l'équipe de support peut vous demander de le personnaliser pour utiliser des paramètres spéciaux.

Voici le code à ajouter pour Laravel, c’est le nom du CMS en minuscules :

				
					    /** Configuration de base **/ /* * Mettez à jour la valeur du CMS selon votre CMS * Les CMS disponibles sont : laravel, prestashop */ public static $cms = 'laravel';
				
			

De SQLite à MySQL

Toujours dans le fichier Configuration.php, il y a un paramètre pour forcer l’utilisation de MySQL au lieu de SQLite, au cas où SQLite ne serait pas installé sur le serveur.

Dans ce cas, vous’ll devez remplir les informations MySQL dans cette partie du fichier Configuration.php :

				
					    /** Configuration avancée de la base de données **/ /* * Dans le cas où vous ne souhaitez pas utiliser Sqlite, vous pouvez utiliser MySQL * Pour ce faire, vous devez remplir les variables suivantes * Linguise créera les tables pour vous */ public static $db_host = ''; public static $db_user = ''; public static $db_password = ''; public static $db_name = ''; public static $db_prefix = '';
				
			

Traduction automatique sur Laravel + serveurs Windows IIS

Ajoutez la ligne correspondant à votre constructeur de site Web dans votre fichier Web.config.
Elle doit être définie avant toute autre redirection, en particulier 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}&original_url={R:2}" appendQueryString="true" /> </rule>
				
			

Traduction automatique sur Laravel + serveurs NGINX

Ajoutez la ligne correspondant à votre CMS dans le bloc de configuration de votre serveur NGINX.
Elle doit être définie avant toute autre redirection, en particulier la redirection dans votre fichier principal PHP.
				
					réécrire ^/(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 dernier;