Drupal multilingua, una questione di permessi

Drupal multilingua, una questione di permessi

 

Drupal multilingua

Una delle funzionalità di Drupal è la possibilità di realizzare un sito web multilingua, ciò significa che l'interfaccia ed i contenuti del sito possono essere tradotti in più lingue. La traduzione di Drupal è gestita dai vari gruppi di localizzazione che forniscono le stringhe tradotte nelle varie lingue. Per quanto riguarda la traduzione dei contenuti, invece, è compito di chi gestisce il sito web pubblicare i contenuti con le relative traduzioni.

Drupal translation

Il modulo per Drupal che si occupa della traduzione dei contenuti si chiama translation ed è disponibile assieme agli altri moduli standard. Grazie a questo modulo gli utenti autorizzati hanno a disposizione una interfaccia per scrivere le traduzioni dei contenuti.

Drupal i18n

Il modulo i18n permette di estendere le funzionalità di base per la traduzione di Drupal in modo da ottenere un sito completamente traducibile in molteplici lingue. Ad esempio aggiunge il supporto per la localizzazione dei menu, del modulo taxonomy, delle viste o dei menu.

Ne approfitto per sottolineare che non tutti i moduli sono pienamente compatibili con i18n e spesso c'è la necessità di mettere mano al codice e personalizzare Drupal per far funzionare il sistema secondo le proprie esigenze.

Configurare i permessi di Drupal

Dopo aver abilitato e configurato i moduli per gestire la localizzazione del sito, è necessario configurare i permessi in modo da autorizzare determinati utenti per effettuare le traduzioni. Il funzionamento del modulo translation permette solo di applicare una unica policy "translate content" indipendentemente dai permessi di accesso ai contenuti.

Ciò comporta che un utente con il permesso di tradurre i contenuti è in grado di creare le traduzioni per i contenuti che non sono di sua proprietà.

Attualmente la soluzione è applicare un patch che aggiunge una nuova regola "translate own content. Con questa patch si stabilisce se l'utente può creare traduzioni per tutti i nodi o solo per quelli di cui è proprietario.