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'
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 root dell'Ateneo sul server e creiamo una nuova cartella, che chiamiamo ad esempio "myconf-views-translation". All'interno di questa cartella si creano i file che verranno importati. Si crea per prima cosa il file YAML prendendo il nome ed il contenuto dall'esportazione della vista da backoffice
admin/config/development/configuration/full/export
nell'esempio sarà views.view.insegnamenti.yml.
Quindi si crea il file SQL contenente la traduzione, che chiamiamo in questo caso "replace.en.insegnamenti.sql". All'interno scriviamo:
REPLACE INTO config (collection, name, data) VALUES ('language.en', 'views.view.insegnamenti', '[stringa da inserire]');
REPLACE INTO config_snapshot (collection, name, data) VALUES
('language.en', 'views.view.insegnamenti', '[stringa da inserire]')
Il contenuto da mettere al posto di [stringa da inserire] lo si ricava eseguendo i comandi:
drush10 @unimid9-la41.prod sqlq "select * from config where name like 'views.view.insegnamenti' and collection='language.en'"
drush10 @unimid9-la41.prod sqlq "select * from config_snapshot where name like 'views.view.insegnamenti' and collection='language.en'"
Il risultato sarà una stringa del tipo "a:1:{s:7:\"display\";a:12:{s:7:\"default\";a:1:{s:15:\"display_options\..."
Fatto questo si esegue lo scritp