AB Software Design - Programmation, localisation, test
Timer

Bien que Timer soit une application en Visual C++ plutôt simple qui compte des minutes et donne une alerte sonore, ce programme a constitué un banc d'essai significatif en ce qui concerne des caractéristiques particulières de l'interface utilisateur, de la localisation et de la conception du logiciel, caractéristiques qui sont significatives pour l'internationalisation de programmes plus importants. Il arrive souvent que l'exigence de l'internationalisation empêche d'utiliser de fonctions disponibles toutes prêtes dans l'environnement de développement, ce qui rend nécessaire la conception de fonctions spécifiques : c'est le cas de Timer. On peut télécharger les versions de Crypt en français, anglais et italien. On peut substituer le fichier de l'alerte sonore avec un autre .wav quelconque.

On a écrit du code pour réaliser une interface utilisateur non standard caractérisée par des boutons de type owner-drawn et une barre de progression particulière, sans utiliser les composants standard de Windows disponibles dans l'environnement de développement Visual C++. L'interface utilisateur inclut l'aide en ligne et l'aide contextuelle.

Localisation
Toute les chaînes de texte de la fenêtre de dialogue, y compris les textes statiques, ne sont pas des constantes dans la description d'une ressource, mais sont contenues dans une table de chaînes du fichier .rc. On peut localiser en traduisant la table de chaînes, sans chercher les chaînes dans les instructions de définition des ressources. Toutes les chaînes sont UNICODE et on a utilisé les fonctions de texte API bimodal. Le code des messages d'erreur de la saisie est réalisé avec des fonctions DDV_ e DDX_ spécifiques, de telle façon que les boîtes de dialogue d'erreur soient localisées et maintiennent les couleurs et l'aspect graphique de l'application. Les textes des images bimap sont les seuls à n'être pas inclus dans la table de chaînes.
Toutes les chaînes de l'aide contextuelle sont affichées par l'application avec des appels à des API WinHelp. Les fonctions des boutons Quitter et ? ont été codées de façon que les correspondantes chaînes de l'aide contextuelle ne soient pas fournies par le système d'exploitation. Autrement, par exemple, si une version de Timer en français est exécutée sous un système d'exploitation localisé en anglais, l'aide contextuelle apparaît en anglais.

Conception du logiciel ; liaison des liens des .exe et.dll statique/dynamique
Timer est développé avec liaison des liens statique et le logiciel est internationalisé au niveau des ressources : les versions localisées contiennent toutes les ressources spécifiques dont elles ont besoin. On a préféré la liaison statique pour assurer la portabilité sur des plates-formes Windows différentes et pour simplifier l'installation.
Une version avec liaison dynamique a aussi été développée : elle est constituée d'un exécutable et d'une seule librairie dynamique (dll) qui contient toutes les ressources du programme, aussi bien en anglais qu'en français. Quand on utilise cette version, l'interface utilisateur apparaît en anglais ou en français, selon la langue sélectionnée dans Panneau de configuration Paramètres régionaux.
Une autre version avec liaison dynamique utilise un seul fichier exécutable pour les différentes langues avec une libraire dynamique de taille plus petite qui contient seulement les ressources d'une langue. Par conséquent l'interface utilisateur est toujours dans cette langue. Cette conception prévoit la localisation du programme simplement par l'édition dans la langue du cas des ressources de la librairie dynamique, sans modifier l'exécutable, qui demeure toujours le même, quelconque soit la langue du logiciel.


Exemples Compétences Télécharger Liens Contact Accueil

Exemples
Compétences
Télécharger
Liens
Contact
Accueil