Supprime les balises HTML et PHP d'une chaîne
Apprenez l’internationalisation (i18n) avec ExpressJS dans ce tutoriel simple pour débutants. Ajoutez plusieurs langues facilement
Dans ce tutoriel, nous allons apprendre à ajouter l’internationalisation (i18n) à une application ExpressJS, c’est-à-dire permettre à votre site de parler plusieurs langues (comme le français et l’anglais) selon les préférences des utilisateurs. Ce guide est conçu pour les débutants : nous irons doucement, étape par étape, avec des explications très simples et un exemple que vous pourrez tester. Nous utiliserons le module i18n pour simplifier ce processus.
L’internationalisation, ou "i18n" (parce qu’il y a 18 lettres entre "i" et "n"), c’est rendre votre application accessible dans différentes langues. Par exemple, un utilisateur français verra "Bonjour" tandis qu’un anglais verra "Hello". Avec ExpressJS et i18n
, on peut traduire les textes facilement, comme un traducteur automatique pour votre site.
Avant de coder, préparons tout ce qu’il faut. Si vous avez suivi les tutoriels précédents, vous avez déjà Node.js et ExpressJS. Voici les étapes :
node -v
. Si une version apparaît (ex. : v16.13.0), c’est bon. Sinon, téléchargez Node.js sur nodejs.org.cd chemin/vers/i18n-express
, puis tapez npm init -y
. Cela crée un fichier package.json
.npm install express i18n
. i18n
gère les traductions pour nous.Construisons une application simple qui change de langue selon un paramètre dans l’URL.
Créez un fichier nommé app.js
dans votre dossier "i18n-express" et ajoutez ce code :
var express = require('express'); var i18n = require('i18n'); var path = require('path'); var app = express(); // Configurer i18n i18n.configure({ locales: ['fr', 'en'], // Langues supportées directory: path.join(__dirname, 'locales'), // Dossier pour les fichiers de traduction defaultLocale: 'fr', // Langue par défaut queryParameter: 'lang' // Paramètre URL pour changer la langue }); // Ajouter i18n comme middleware app.use(i18n.init); // Route principale app.get('/', function(req, res) { res.send( '<h1>' + res.__('greeting') + '</h1>' + '<p>' + res.__('welcome') + '</p>' + '<a href="/?lang=fr">Français</a> | <a href="/?lang=en">English</a>' ); }); app.listen(3000, function() { console.log('Serveur démarré sur http://localhost:3000'); });
Créez un dossier nommé locales
dans "i18n-express". Ajoutez ces deux fichiers JSON :
locales/fr.json
{ "greeting": "Bonjour", "welcome": "Bienvenue sur notre site !" }
locales/en.json
{ "greeting": "Hello", "welcome": "Welcome to our site!" }
Voici chaque partie expliquée très simplement pour les débutants :
locales: ['fr', 'en']
: Les langues qu’on supporte.directory: ...
: Où trouver les fichiers de traduction.defaultLocale: 'fr'
: Français par défaut.queryParameter: 'lang'
: On change la langue avec ?lang= dans l’URL.res.__('greeting')
: Récupère la traduction de "greeting" selon la langue.res.__('welcome')
: Idem pour "welcome".?lang=fr
et ?lang=en
: Permettent de changer la langue.Démarrez le serveur avec node app.js
dans le terminal, puis testez :
Cliquez sur les liens pour changer la langue et voir les traductions en action !
Félicitations ! Vous savez maintenant ajouter l’internationalisation (i18n) à une application ExpressJS avec le module i18n
. Votre site peut parler plusieurs langues selon les utilisateurs. Pour aller plus loin, explorez notre prochain tutoriel sur Débit Limitation avec ExpressJS ou consultez la documentation i18n.