Symfony I18N

L’esigenza di dover sviluppare siti multilingua oggigiorno  è sempre maggiore, Symfony  permette la gestione del multilingua in modo semplice e veloce, vediamo i passi da effettuare.

  • Modifica file di config
  • Come scrivere il testo multilingua nel template
  • Estrarre i testi

Aggiungere al file di config dell’app che si vuole ottenere il multilingua la seguente riga

all:
  .settings:
    i18n: true     standard_helpers: [Partial, Cache, I18N]

Nel template il testo deve essere scritto tra parentesi tonde precedute da 2 underscore

<?php echo __(‘text text’) ?>

Una volta inserite le stringhe da tradurre, bisogna creare un “catalogo” di stringhe. Tale catalogo è in formato XML. Il catalogo viene creato nella cartella app/i18n/LINGUA

symfony i18n:extract frontend it --auto-save

In questo modo abbiamo creato un catalogo per la lingua italiana. Dopo aver creato il file è possibile modificarlo nella lingua desiderata modificando il TAG nel seguente modo

<source>text text</source>

<target>testo testo</target>

Per settare la lingua standard all’applicazione, modificare il seguente file

all:
  .settings:
default_culture: it_IT

Eliminare la cache e coockie ed il gioco è fatto!

Per maggiori dettagli visitare il link http://www.symfony-project.org/jobeet/1_4/Doctrine/en/19  alla sezione Internationalization.

Una volta inserite le stringhe da tradurre nel formato corretto bisogna creare un catalogo. Tale catalogo è in formato xml. Il catalogo viene creato nella cartella frontend/i18n/LINGUA_SECLTA/
Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...