Gestione della lingua in Ghost

Come gestire la la lingua italiana in Ghost CMS per fare un blog?

Gestione della lingua in Ghost

Per un sito web è fondamentale gestire più di una lingua, e allo stesso tempo è necessario che i testi generali siano della stessa lingua del contenuto.

Il primo problema è che in Ghost CMS non è presente un sistema di interfacce grafiche che permette d'intervenire sulle modifiche dei testi generali in base alla lingua.

Il secondo problema è che nell'Admin di Ghost CMS non c'è indicazione di come gestire più lingue contemporaneamente.

Ghost in lingua italiana

L'unica cosa presente all'interno del pannello di configurazione è un pannello dove selezionare la lingua di default.

Per modificare la lingua dei testi generali di Ghost

È necessario crea all'interno del template di Ghost una directory /locales aggiungendo un file json.

locales/it.json

All'interno del file utilizzando la struttura e il contenuto del file inglese è possibile aggiungere i testi tradotti:

{...
    "Back": "Indietro",
    "Newer Posts": "Nuovi Articoli",
    "Older Posts": "Vechi articoli",
    "Page {page} of {pages}": "Pagina {page} di {pages}",
    "Subscribe": "Registrati",
    ...}

Se state usando casper come template sarà necessario modificare i file che contengo i testi sistemando in questa modalità i contenuti
{{t "testo da tradurre"}}

Se avete indicato nel pannello di controllo la lingua italiana, il sistema è pronto a mostrarla. Ricordatevi che è necessario ricompilare l'applicazione per far leggere il file.

In oltre guardando l'attributo HTML lang  dentro <html> creato nella pagina  default.hbs del template, si vede che viene usata la variabile {{@site.locale}} nello specifico <html lang="{{@site.locale}}">. {{@site.locale}} , se si usa un tema fatto bene questa verrà sostituita con il nuovo parametro senza dover fare nulla. In ogni modo controllando il codice è possibile verifica direttamente la sostituzione.

Attributo LANG in Ghost CMS

Per gestire più lingue aggiuntive oltre a quella principale è necessario modificare altri file all'interno del template, per questo aspetto ho creato un ulteriore articolo all'interno di questa guida.