L’objectif de ce tutoriel (programmation avancée) est d’affecter des paramètres de configuration à une application web et notamment les paramètres de localisation (« globalization »). A travers l’utilisation de la balise « location » ou d’un sous-répertoire avec le fichier « web.config », vous allez trouver comment le même message est affiché en plusieurs langues dans des portions différentes de l’application.
Etape 1 : Préparation
L’objectif de cette étape est de créer une arborescence de dossiers de notre application web. Il s’agit aussi de créer un texte traduit en plusieurs langues (français, anglais et arabe) qui va être affiché dans plusieurs zones selon la configuration en cours.
- Ouvrez VS2012
- Créez une application ASP.NET vide appelée « TestConfiguration »
- Ajoutez une forme web appelée « Default.aspx »
- Ajoutez deux répertoires, l’un appelé « Rep1 » et l’autre appelé « Rep2 »
- Ajoutez une forme web dans le répertoire « Rep1 » et appelez-la « Page1 »
- Ajoutez une forme web dans le répertoire « Rep2 » et appelez-la « Page2 »
- L’arborescence de la solution devrait ressembler à ceci :
- Ouvrez la page « Default.aspx » et ajoutez-y deux liens hypertexte, l’un pour « Page1 » et l’autre pour « Page2 »
- Ajoutez un nouvel élément au projet « TestConfiguration »
- A gauche, sélectionnez « Général »
- Dans le modèle, choisissez fichiez de ressources. Appelez-le, « MyStrings.resx »
- Dans la colonne « Nom » entrez « Bienvenue »
- Dans la colonne « Valeur », entrez « Bienvenue au tutoriel de Mr Mostefai Mohammed Amine »
- Maintenant, il s’agit d’ajouter le texte traduit en anglais et en arabe
- Ajoutez un autre fichier de ressources appelé « MyStrings.en.resx »
- Dans le nouveau fichier de ressources, tapez « Bienvenue » dans la colonne « Nom »
- Tapez « Welcome to Mostefai Mohammed Amine's tutorial » dans la colonne « valeur »
- Ajoutez un fichier de ressources appelé « MyStrings.ar.resx »
- Dans la zone « Nom » entrez « Bienvenue »
- Dans la zone « Valeur » entre « مرحبا بكم في البرنامج التعليمي لمصطفاي محمد الأمين »
- Ouvrez la page « Default.aspx » en mode « code behind »
- Entrez le code suivant dans l’évènement « Page_Load » de la page
Response.Write(MyStrings.Bienvenue);
- Tapez le même code dans l’évènement « Page_Load » de « Page1.aspx » et « Page2.aspx »
Etape 2 : Configuration
L’objectif de cette étape est de changer la configuration de façon à ce que la langue par défaut soit le français pour l’application, l’anglais pour « Rep1 » et l’arabe pour « Rep2 ». L’objectif est de découvrir les deux moyens d’appliquer une configuration à un répertoire : la balise « location » et les fichier de configuration additionnels.
- Dans l’explorateur de solutions, ouvrez « web.config »
- Examinez la structure de ce fichier
configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>
- Dans la section « system.web », ajoutez l’élément suivant :
<globalization culture="fr-FR" uiCulture="fr-FR"/>
- Après la section « system.web » et avant l’élément fermant de configuration, ajoutez une balise location comme suit :
<location path="Rep1">
<system.web>
<globalization culture="en-US" uiCulture="en-US"/>
</system.web>
</location>
- La balise location définit une localisation (langue) différente qui est l’anglais pour toutes les pages se trouvant dans le répertoire « Rep1 ».
- Sur le répertoire « Rep2 » cliquez sur le bouton droit de la souris
- Cliquez sur « Ajouter un nouvel élément »
- Dans le modèle, choisissez « Fichier de configuration web » et laissez le nom à « Web.config »
- Ouvrez le nouveau fichier de configuration
- Dans la section « system.web », ajoutez l’élément « globalization » comme suit :
<globalization culture="ar-DZ" uiCulture="ar-DZ"/>
- Appuyez sur « F5 » pour exécuter
- Remarquez le changement de la langue du texte en parcourant les différentes pages
Pour télécharger le code source, cliquez ici