Localisation en ASP.NET V2 -Whidbey
[20 mn de lecture - paru le 9/30/2004 7:31:00 PM - Public : Confirmé]
|
   
|
Auteur
2. Comment ça marche
2.1. Possibilités offertes par ASP.NET V2
Avec ASP.NET V2 la localisation est simplifiée.
Vous avez le choix entre :
- ResourceManager
- La localisation Implicite
- La localisation Explicite
2.2. Générer les fichiers de Ressource .RESX
Toutes les pages que vous souhaitez localiser, doivent avoir leur propre fichier de ressource .RESX. Ces fichiers de ressource peuvent contenir les contrôles de la page ainsi les propriétés et les valeurs possédant l'attribut de localisation.
Whidbey vous permet de créer rapidement les fichiers de ressource .RESX
- Créer une nouvelle page exemple Information.aspx
- Placer plusieurs contrôles Web : Label, TextBox, Button, Image et un GridView
- Ensuite dans la barre de menu >> Cliquez sur Tools >> Generate Local Resource

Regarder dans la Solution Explorer. Vous devez voir un nouveau Dossier appelé LocalResources avec à l'intérieur le fichier de ressource Information.aspx.resx.
Les fichiers de ressources sont définis dans le répertoire LocalResources. par l'extension .RESX.
Il faut suivre une certaine convention :
- /repertoireRessource/nom_de_la_page.extension_de_la_page.resx = pour la page par défault, c'est à dire la page neutre.
- /repertoireRessource/nom_de_la_page.extension_de_la_page.pays[-region].resx = pour les pages des différentes langues.
Exemple :
- /LocalResources/Default1.aspx.resx
- /LocalResources/Default1.aspx.fr.resx
- /LocalResources/Default1.aspx.fr-car.resx
- /LocalResources/MasterPage1.master.resx
- /LocalResources/MasterPage1.master.fr.resx

Ouvrez le fichier Information.aspx.resx
Vous devriez voir :

A vous de mettre les valeurs que vous souhaitez. Je vous laisse tester.
Si vous retournez dans la page Information.aspx
Vous pouvez constatez que vos contrôles web ont subi des modifications :
<asp:Label ID="Label1" Runat="server" Text="Label" meta:resourcekey="LabelResource1"></asp:Label>
<asp:TextBox ID="TextBox1" Runat="server" meta:resourcekey="TextBoxResource1"></asp:TextBox>
<asp:Button ID="Button1" Runat="server" Text="Button" meta:resourcekey="ButtonResource1" />
<asp:Image ID="Image1" Runat="server" meta:resourcekey="ImageResource1"/>
<asp:GridView ID="GridView1" Runat="server" meta:resourcekey="GridViewResource1"
></asp:GridView>

2.3. Localisation Implicite
La localisation implicite doit avoir ses propres fichiers pour chaque page Web de votre application web. L'inconvénient c'est que vous ne pouvez pas réutiliser le fichier de ressource d'une page pour d'autre page de l'application.
<asp:Label ID="Label1" runat="server" meta:resourcekey="resource-key-prefix" />
2.4. Localisation Explicite
Si vous souhaitez le faire vous devez utiliser la localisation Explicite. Attention, l'attribut de localisation n'en sera que plus complexe.
<asp:Button ID="Button1" Runat="server" Text=" <%$ Resources: ClassName, ResoureKey, Default value %> ">
La seule différence entre la localisation implicite et explicite est que la localisation explicite peut avoir un ou plusieurs fichiers de ressource, alors que la localisation implicite demande la création d'un fichier de ressource pour chacune des pages.
Dans la directive Page vous devez ajouter les attributs :
UICulture =auto et Culture =auto.
|