Ho un progetto Symfony2
e sto utilizzando il componente Translation
per la traduzione del testo. Ho tutte le traduzioni in yml
file in questo modoPersonalizzazione avanzata delle traduzioni in Symfony2
translation-identifier: Translated text here
testo Traducendo sembra che ciò Twig
'translation-identifier'|trans({}, 'domain')
Il fatto è che, in alcuni casi mi piacerebbe avere due testi diversi per stessa traduzione (non per la pluralizzazione). Ecco come vorrei farlo funzionare:
definire due testi in
yml
di file per le traduzioni che devono avere testi diversi. Ogni avrebbe un proprio suffisso unicotranslation-identifier-suffix1 translation-identifier-suffix2
Definire una regola globaleche definire quale suffisso dovrebbe essere scelto. Psuedocodarlo di seguito:
public function getSuffix() { return rand(0, 10) < 5 ? '-suffix1' : '-suffix2'; }
Twig (e PHP) avrebbe lo stesso aspetto - sarei ancora specificare solo l'identificativo, senza suffisso. Il traduttore aggiungerebbe quindi suffisso all'identificatore e tenterà di trovare una corrispondenza. Se non ci fosse una corrispondenza, cercherebbe di trovare una corrispondenza di nuovo senza suffisso.
Grazie, ho funzionato –
Grazie. Per me funziona. – bharatesh
Questo non funziona più con Symfony 3. Per un'altra soluzione guarda sotto. – Markus