Skip to main content

Tutoriel: Traduction d'une application Web ASP.net

Je vais expliquer ici comment traduire une application Web écrite avec ASP.net 2.0. Dans le monde .net, cela se dit aussi localisation.

La traduction d'une application Web est très facile avec ASP.net 2.0. Des mécanismes sont intégrés pour prendre en compte automatiquement la langue du navigateur et permettre de créer facilement des pages traduites.

Prenons l'exemple de cette page index.aspx:

<body>
<h1>Mon titre</h1>
<asp:Button Text="Cliquez ici" runat="server"/>
</body>

Pour la traduire, j'ai besoin d'avoir des contrôles runat="server". Je vais donc remplacer mon texte statique par un contrôle Literal (le plus léger du genre). J'obtiens alors:

<body>
<h1><asp:Literal runat="server" Text="Mon titre" /></h1>
<asp:Button Text="Cliquez ici" runat="server"/>
</body>

Les traductions sont stockées en ASP.net dans des fichiers ressources (je simplifie volontairement) ayant pour extension resx. Je vais donc créer un fichier ressource, qui doit être dans le répertoire "App_LocalResources".

Vue en mode design de la page à traduire Visual Studio 2005 automatise en partie cette création. Il me suffit de passer en mode Design (menu "Affichage/Concepteur") et de cliquer dans le menu "Outils/Générer la ressource locale".

Ressources en français Je me retrouve avec un fichier index.aspx.resx qui contient les éléments à traduire. Ce sont les traductions qui seront utilisées lorsqu'aucune traduction ne sera disponible. Par exemple, s'il existe des traductions en anglais et en espagnol, si quelqu'un demande l'allemand il aura le texte situé dans index.aspx.resx.

Ressources en anglais Pour rajouter une langue, il me suffit de dupliquer ce fichier. Par exemple, si je veux traduire en anglais, je vais créer index.aspx.en.resx ("en" pour anglais), recopier le contenu de index.aspx.resx dedans, et traduire les libellés.

C'est tout! Pour nous, Visual Studio a ajouté dans l'en-tête de la page l'attribut UICulture="auto". Cela indique à ASP.net d'automatiquement détecter la langue préférée des utilisateurs (envoyée dans les en-têtes HTTP) et de fournir automatiquement la version la plus adaptée de ma page.

Testons la page avec un navigateur qui demande de l'anglais. Elle est bien en anglais:

Résultat en anglais

Maintenant, demandons de l'allemand. Elle est bien en français (la ressource par défaut):

Résultat en français

Facile, n'est-ce pas?

Comments

summ3r said…
Bonjour,
Si vous êtes intéressés de traduire logiciels pour Internet, pour PC, pour mobiles ou tout autre type de logiciels, je vous recommandons chaleureusement le nouvel instrument numérique ”l10n” que mon équipe a récemment créé – et qui a toutes les chances de rendre vos activités de bureau bien plus faciles et rapides.
http://poeditor.com/
POEditor est intuitif, basé sur travail en collaboration. Il comprend de nombreuses fonctions qui puissent vous soutenir lors du processus de gestion de traductions, que vous pourriez découvrir sur notre page Internet.Vous pouvez importer depuis multiples types de fichiers de localisation (pot, po, xls, xlsx, strings, xml, resx, properties) ou se servir directement de notre REST API.
N’hésitez pas de l’essayer et/ou le proposer aux développeurs ou, en général, a ceux qui en seraient intéressés.

Popular posts from this blog

Learn Meteor book available

I'm pleased to announce the general release of my Learn Meteor book. It is now available as an ebook or print book from various sources: Learn Meteor print (paperback) on Lulu Learn Meteor ebook on LeanPub Learn Meteor ebook on Barnes & Noble Learn Meteor ebook on iBooks Learn Meteor ebook on Kobo Learn Meteor ebook on Scribd Learn Meteor ebook on Inktera Page Foundry Learn Meteor ebook on 24symbols Learn Meteor ebook on Amazon US Learn Meteor ebook on Amazon UK Learn Meteor ebook on Amazon France Learn Meteor ebook on Amazon Deutschland Learn Meteor ebook on Amazon Canada Learn Meteor ebook on Amazon India Learn Meteor ebook on Amazon Brasil Learn Meteor ebook on Amazon Mexico Learn Meteor ebook on Amazon España Learn Meteor ebook on Amazon Italia Learn Meteor ebook on Amazon Netherlands Learn Meteor ebook on Amazon Japan Learn Meteor ebook on Amazon Australia More sources are coming soon for the print version. Learn Meteor has been a fun experienc