AB Software Design - Programmazione, localizzazione, test
Timer

Nonostante Timer sia un'applicazione Visual C++ concettualmente molto semplice per il conteggio di un tempo, questo software è stato un significativo banco di prova di alcune caratteristiche specifiche di interfaccia utente, localizzazione e architettura che sono particolarmente importanti per l'internazionalizzazione di programmi più complessi. Spesso il requisito dell'internazionalizzazione impedisce di usare funzioni disponibili già pronte nell'ambiente di sviluppo e rende necessario progettarle specificatamente.
Le versioni in italiano, francese e inglese di Timer possono essere scaricate. L'utilizzatore puņ sostituire al file audio .wav il proprio jingle preferito.

È stato scritto del codice apposito per sviluppare un'interfaccia utente non standard che comprende tasti appositi invece che di tipo predefinito e una barra di avanzamento specifica, senza utilizzare i componenti standard di Windows disponibili nell'ambiente di sviluppo Visual C++. L'interfaccia utente comprende anche la guida in linea e la guida sensibile al contesto.

Localizzazione del software
Tutte le stringhe di testo della finestra di dialogo, comprese quelle statiche, non sono state scritte nel codice della descrizione della risorsa, ma in un'unica tabella di stringhe nel file .rc. La traduzione può essere direttamente effettuata sulle stringhe della tabella, senza doverle cercare nelle istruzioni di definizione della specifica risorsa. Tutte le stringhe sono UNICODE e sono state usate le routine di testo API bimodali. Il codice che genera i messaggi di errore relativi ai dati immessi è stato appositamente modificato riscrivendo le funzioni DDV_ e DDX_ in modo che le finestre di dialogo d'errore, oltre ad essere localizzate, siano conformi ai colori e l'aspetto grafico dell'applicazione. Le uniche stringhe non presenti nella tabella sono i testi bitmap dei pulsanti colorati, dei quali esiste un bitmap per ciascuna lingua.
Tutte le stringhe della guida contestuale della finestra principale di Timer sono generate dall'applicazione stessa usando chiamate all'API WinHelp. Le funzioni dei tasti Esci e ? sono state appositamente scritte in modo che le relative stringhe di guida siano fornite dal sistema operativo. Ciò è stato fatto per evitare, ad esempio, che appaia una stringa di guida contestuale in inglese quando viene eseguita su un sistema operativo inglese una versione di Timer localizzata in un'altra lingua.

Struttura del programma - .exe/.dll con linking statico/dinamico
Il linking di Timer è statico, conseguentemente le versioni localizzate comprendono tutte le risorse richieste dal programma. Il linking statico è stato preferito per una portabilità interpiattaforma più sicura.

Esiste anche una versione dell'applicazione realizzata con linking dinamico, che consiste di un eseguibile e di una dynamic link library (.dll) che contiene le risorse sia inglesi sia italiane. Eseguendo questa configurazione l'interfaccia utente viene presentata in inglese o in italiano in funzione della lingua impostata in Impostazioni internazionali di Pannello di controllo.

Un'altra versione con linking dinamico consiste sempre dello stesso eseguibile e di un'altra dynamic link library di dimensione minore che contiene solo le risorse in una sola lingua specifica. L'interfaccia utente conseguentemente presentata è sempre in italiano. Con questo sistema è possibile localizzare in altre lingue semplicemente fornendo nuove dynamic link library contenenti le risorse specifiche alla lingua di interesse, senza dover apportare modifiche all'eseguibile.


Campioni Capacità Download Link Contatto Home
Campioni
Capacità
Download
Link
Contatto
Home