Définir la culture actuelle par programmation dans une application ASP.NET

Cet article explique comment modifier la culture actuelle et la culture de l’interface utilisateur actuelle dans une application ASP.NET.

              Version d’origine du produit : ASP.NET
Numéro de la base de connaissances d’origine : 306162

Résumé

Dans le .NET Framework, la CultureInfo classe de l’espace System.Globalization de noms fournit des informations spécifiques à la culture, telles que la langue, le pays/région, le calendrier et les conventions culturelles associées. La CurrentCulture propriété représente la culture utilisée par le thread actuel. La CurrentUICulture propriété représente la culture actuelle que Resource Manager utilise pour rechercher des ressources spécifiques à la culture au moment de l’exécution. Il existe trois façons de définir les informations de culture dans une application ASP.NET : le niveau de l’application, le niveau page et le niveau du thread.

Niveau de l’application

Spécifiez les informations de culture au niveau de l’application dans le fichier web.config :

  1. Démarrez le Bloc-notes (ou tout autre éditeur de texte).

  2. Collez le code suivant dans le Bloc-notes :

    <configuration>
        <system.web>
            <globalization
                culture="ja-JP"
                uiCulture="zh-HK"
            />
        </system.web>
    </configuration>
    
  3. Enregistrez le fichier texte en tant que web.config dans le dossier racine de votre serveur web. Par exemple : C:\Inetpub\wwwroot\Web.config.

  4. Démarrez une autre instance du Bloc-notes. Collez le code suivant dans le Bloc-notes :

    <%@Page Language="C#" %>
    <% @Import Namespace="System.Globalization" %>
    <html>
        <head>
        </head>
        <script runat=server>
            public void Page_Load()
            {
                Response.Write ("Current Culture is " + CultureInfo.CurrentCulture.EnglishName);
            }
        </script>
        <body>
        </body>
    </html>
    
  5. Enregistrez ce fichier texte en tant que Application.aspx dans le dossier racine de votre serveur web.

  6. Démarrez Internet Explorer, puis ouvrez Application.aspx.

Niveau de page

Les paramètres d’informations spécifiques à la culture au niveau de la page remplacent les paramètres d’informations propres à la culture au niveau de l’application. Spécifiez les informations de culture au niveau de la page à l’aide de la <@Page> directive :

  1. Suivez les étapes 1, 2 et 3 de la section Niveau de l’application pour créer le fichier web.config .

  2. Démarrez une autre instance du Bloc-notes. Collez le code suivant dans le Bloc-notes :

    <%@Page Culture="fr-FR" Language="C#" %>
    <% @Import Namespace="System.Globalization" %>
    <html>
        <head>
        </head>
            <script runat=server>
            public void Page_Load()
            {
                Response.Write ("Current Culture is " + CultureInfo.CurrentCulture.EnglishName);
            }
            </script>
        <body>
        </body>
    </html>
    
  3. Enregistrez ce fichier texte en tant que Page.aspx dans le dossier racine de votre serveur Web.

  4. Démarrez Internet Explorer, puis ouvrez Page.aspx.

    Remarque

    Le paramètre Culture actuelle est Français, bien que le japonais soit spécifié comme culture actuelle dans le fichier web.config .

Niveau de thread

Les paramètres d’informations spécifiques à la culture au niveau du thread remplacent les paramètres d’informations propres à la culture au niveau de la page. Spécifiez les informations spécifiques à la culture au niveau du thread en définissant la CurrentCulture propriété ou la CurrentUICulture propriété du thread actuel :

  1. Suivez les étapes 1, 2 et 3 de la section Niveau de l’application pour créer le fichier web.config .

  2. Démarrez une autre instance du Bloc-notes. Collez le code suivant dans le Bloc-notes :

    <% @Page Culture="fr-FR" Language="C#" %>
    <% @Import Namespace="System.Globalization" %>
    <% @Import Namespace="System.Threading" %>
    <html>
        <head>
        </head>
            <script runat=server>
            public void Page_Load()
            {    // Display the Current Culture
                Response.Write("Current Culture is " + Thread.CurrentThread.CurrentCulture.EnglishName + "<br>");
    
                // Modify the Current Culture
                Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
                Response.Write("Changing Culture to " + Thread.CurrentThread.CurrentCulture.EnglishName + "<br>");
            }
            </script>
        <body>
        </body>
    </html>
    
  3. Enregistrez ce fichier texte en tant que Thread.aspx dans le dossier racine de votre serveur web.

  4. Démarrez Internet Explorer, puis ouvrez Thread.aspx.

    Remarque

    Le paramètre de culture actuel est allemand, bien que Français soit spécifié au niveau de la page et que le japonais soit spécifié dans le fichier web.config .

References

Pour plus d’informations, consultez Classe CultureInfo.