Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Quando si importa una vista tramite file YAML, la sua traduzione non viene inclusa in automatico.
Per avere anche la traduzione, serve importare il dato prendendolo dal database.


Nel database, infatti, la traduzione è presente all'interno di due macro tabelle: config e config_snapshot. Per vedere il dato si può andare all'interno del database del sito con un client (ad esempio phpMyAdmin) e portarsi in "config" (e poi "config_snapshot"). Da qui si cerca la vista (ad esempio "views.view.insegnamenti") con il comando:

SELECT * FROM `config` WHERE name = 'views.view.insegnamenti'
(e poi SELECT * FROM `config_snapshot` WHERE name = 'views.view.insegnamenti')

Usciranno due risultati: uno in italiano ed uno in inglese. Il contenuto del BLOB è il dato che ci interessa; il file in italiano è più grande rispetto a quello inglese, perchè quest'ultimo contiene solo le parti che sono state tradotte, mentre il primo l'intera vista.

...

Andiamo all'interno della cartella che vogliamo usare come sorgente per importare i dati, ad esempio la cartella /myconf del modello cdl00 di UNIPV. Eliminiamo tutti i file all'interno di questa cartella e creiamo due nuovi file:

  • il file YAML che contiene la vista ed il cui nome e contenuto lo si ricavano dall'esportazione della vista da backoffice
    admin/config/development/configuration/full/export
    nell'esempio sarà "views.view.insegnamenti.yml"
  • il file SQL contenente la traduzione, che chiamiamo in questo caso "replace.en.insegnamenti.sql", prendendo il nome dal file della traduzione contenuto nel database. Al suo interno scriviamo:

...

Il file compilato potrebbe ad esempio apparire come:

REPLACE INTO config (collection, name, data) VALUES ('language.en', 'views.view.insegnamenti', 'a:1:{s:7:"display";a:1:{s:7:"block_1";a:1:{s:15:"display_options";a:1:{s:6:"header";a:1:{s:4:"area";a:1:{s:7:"content";a:2:{s:5:"valu\n";s:6:"format";s:9:"full_html";}}}}}}}-center mb-3">Study plan - Enrolment year {{ field_full_academic_year }}</div>');
REPLACE INTO config_snapshot (collection, name, data) VALUES ('language.en', 'views.view.insegnamenti', 'a:1:{s:7:"display";a:1:{s:7:"block_1";a:1:{s:15:"display_options";a:1:{s:6:"header";a:1:{s:4:"area";a:1:{s:7:"content";a:2:{s:5:"valu\n";s:6:"format";s:9:"full_html";}}}}}}}center mb-3">Study plan</div>')

...