Discordante fluidità

1 Luglio 2009 by g1anluca

Accedendo al gruppo di discussione ufficiale degli sviluppatori Android, ho notato uno dei classici errori correlati all’uso dei segnaposto. L’immagine seguente riporta la versione originale inglese e la relativa traduzione in italiano.

Google Gruppi - errore dovuto a segnaposto contenente data/ora

A volte lo sviluppatore non reputa opportuno fornire esempi dei valori assunti da un segnaposto, forse perché ritiene che siano deducibili dal nome dello stesso. In queste situazioni capita che l’ovvietà risulti altamente soggettiva.

Nel caso specifico, la parte variabile può essere un orario (se la pagina è stata modificata il giorno corrente) oppure una data (se la modifica è avvenuta nei giorni precedenti).

La discordante fluidità dell’attuale traduzione dimostra come questa informazione non sia stata trasferita ;-)

Android: forme plurali yuck-o

14 Giugno 2009 by g1anluca

Android è una piattaforma software per dispositivi mobili, resa open source lo scorso anno. Sul mercato stanno iniziando a comparire i primi cellulari che la utilizzano e sta crescendo anche il numero delle relative applicazioni, gratuite e a pagamento.

L’internazionalizzazione di Android è ancora in fase di stabilizzazione, ma l’SDK 1.5 rappresenta un buon punto di partenza. Il sistema base è attualmente localizzato in ceco, cinese, coreano, francese, giapponese, inglese, italiano, olandese, polacco, russo, spagnolo e tedesco (per alcune lingue esistono delle varianti nazionali).

La localizzazione delle applicazioni sarà uno dei passi che i produttori dovranno affrontare per poter meglio diffondere il loro software nel mondo. Una prima bozza di documentazione è disponibile qui.

La gestione delle semplici stringhe è abbastanza semplice e lineare, mentre il supporto delle forme plurali è ancora parziale. Nelle risorse di localizzazione (file strings.xml) è possibile definire elementi <plurals> che specificano le varianti per le 5 casistiche base, come mostrato nell’esempio seguente.
Android - Le 5 casistiche per le forme pluraliIl significato delle 5 varianti è simile a quello di Google Chrome, tenuto conto che other corrisponde a default.

A differenza di Chrome, però, le casistiche attualmente applicate in Android sono solo due: one (per il numerale 1) e other (per il numerale diverso da 1). Fa eccezione la lingua ceca, per la quale viene considerata anche la forma few (valida per i numerali 2, 3 e 4).

La schermata seguente mostra una sequenza di esempio per inglese e ceco, in cui le stringhe contengono tra parentesi quadre la casistica applicata al numerale che appare a sinistra.

Android - Forme plurali per inglese (en) e ceco (cs)

In pratica tutte le lingue (tranne il ceco) possono definire solo il valore predefinito e il valore corrispondente al numerale 1. In generale ciò non è un problema, ma i traduttori francese, polacco e russo sono costretti a de-numeralizzare per evitare errori di concordanza.

In proposito è interessante notare il commento inserito dallo sviluppatore nella sezione di codice che implementa la concordanza numerale-casistica:

Yuck-o. This is not the right way to implement this. When the ICU PluralRules object has been integrated to android, we should switch to that. For now, yuck-o.

In pratica il commento indica che fino a quando le librerie del progetto ICU non verranno integrate in Android, le forme plurali resteranno implementate in modo inappropriato.

Il termine yuck-o (”porcheria”) è quasi certamente un riferimento a una famosa frase di Linus Torvalds.

Se solo lo sviluppatore avesse aggiunto le necessarie eccezioni per altre 3 lingue, la sua “porcheria” avrebbe funzionato ;-)