Node.js: localizzare le route di ExpressJS

Node.js: localizzare le route di ExpressJS

In Node.js è semplice gestire gli URL in modo da localizzare le route di ExpressJS.

Possiamo usare il parametro :lang([a-z]{2})? che prevede un codice alfabetico di due lettere della lingua corrente ed è reso opzionale dal modificatore ? finale.

Un esempio pratico:


'use strict';

const app = require('expresss')();
const locales = require('./lib/i18n');

app.get('/:lang([a-z]{2})?', (req, res) => {
    let lang = req.params.lang;
    if(locales.hasOwnProperty(lang)) {
      let locale = locales[lang];
      // Localizziamo la view
    }  
});

La route di cui sopra seleziona ad esempio sito.tld, sito.tld/en o sito.tld/de. Il file di localizzazione può essere definito come segue:


'use strict';

module.exports = {
    it: {
      title: 'Ciao mondo'
    },
    en: {
       title: 'Hello world'
    },
    de: {
        title: 'Hallo Welt'
    }
};

Torna su