magento-2-traduzioni

Magento 2 – Traduzioni per sito multilingua (Parte 2)

Stefano MeloniBy Stefano MeloniFebbraio 15, 20206 Minuti

Traduzioni per sito multilingua in Magento 2.

In questa seconda parte, iniziamo con l’analizzare la traducibilità delle pagine del nostro sito in Magento 2.

La traduzione vera e propria delle nostre pagine non sarà possibile, pertanto quello che faremo, sarà creare la stessa pagina più volte, scrivendo i contenuti ogni volta in una lingua diversa.

Nel backend di Magento, apriamo il menu alla pagina Content/Pages, e creiamo la nostra pagina, ad esempio la nostra homepage, e assegniamo “home” come Url key.

Nella sezione “Pages in Websites” possiamo stabilire, in quale Store View, la nostra pagina debba essere visibile.

Successivamente creiamo una seconda pagina, utilizzando sempre “home” come url key, ma questa volta creeremo la nostra homepage in inglese, assegnando Store View differenti alla nostra pagina.

Adesso, a seconda dello Store View da cui accederemo alla home page (“mio-sito-in-magento2.it/home”), vedremo la pagina corrispettiva nella lingua da noi scelta.

TRADURRE STRINGHE IN FILE JAVASCRIPT

La traduzione di stringhe presenti in file Js deve essere effettuata nella seguente modalità.

All’interno del file Js i ncui operiamo, occorrerà inserire la dipendenza “mage/translate“. Di seguito un esempio in cui inseriamo tale dipendenza accanto a quella di JQuery.

define([
        'jquery',       
        'mage/translate'
    ],

Dopo di che, possiamo rendere la nostra stringa traducibile utilizzando la seguente sintassi : “$.mage.__(‘StringaDaTradurre’)“.

Di seguito un esempio concreto.

<a class="store-details" href="/'+config.moduleUrl+'/'+link+'" target="_blank">'+$.mage.__('More info')+'</a>

A questo punto, abbiamo reso la nostra stringa traducibile, pertanto non ci resta che utilizzare il nostro csv per tradurla, proprio come indicato nella prima parte del nostro tutorial che puoi trovare a questo link.

ALTRE TRADUCIBILITA’

Le stringhe di testo nei file phtml, utilizzati per costruire le pagine e/o i blocchi mostrati a frontend, possono essere rese traducibili semplicemente utilizzando il metodo php “__()”, come in esempio:

<a href="/stores"><?php echo __("Stores");?></a>

Nei file XML invece utilizzeremo la seguente sintassi.