Out of the box le funzionalità di localizzazione e traduzione di Drupal si limitano a tradurre solamente i titoli di ciascun campo (field) custom creato con il Content Construction Kit (CCK). Purtroppo nessun modulo di traduzione (Localizer, i18n) offre ancora supporto diretto per la traduzione dei field di cck, quindi dobbiamo arrangiarci.
Affinchè una stringa possa essere tradotta da Drupal, questa deve essere inserita in una funzione PHP di tipo t(), cosa che dovremo fare manualmente.
Supponiamo che la lista dei valori consentiti per il campo cck in questione siano i seguenti:
Mele
PereInnanzitutto sarebbe meglio cambiarli in:
mele|Mele
pere|Pereil valore di sinistra corrisponde al valore del campo immagazzinato nel database. Quello di destra è il valore che viene mostrato all'utente. La traduzione non avrebbe molto senso senza una distinzione tra questi due valori.
Il passo successivo è quello di generare una lista personalizzata in PHP nel campo "Allowed value" che sta appena sotto al normale box di inserimento dei valori. Il codice da inserire sarà il seguente:
return array(
'mele' => t('Mele'),
'pere' => t('Pere')
);Ora sarà sufficiente cercare i valori del campo con il modulo Locale e tradurre le stringhe.
Invia nuovo commento