.net Core Set Cultureinfo

4 min read Jun 03, 2024
.net Core Set Cultureinfo

Définir la culture dans ASP.NET Core

ASP.NET Core utilise la culture pour déterminer la langue et le format de présentation des données pour l'utilisateur. Par défaut, ASP.NET Core utilise la culture du système d'exploitation. Cependant, vous pouvez définir la culture de votre application ASP.NET Core pour répondre aux besoins spécifiques de vos utilisateurs.

Définir la culture globalement

Vous pouvez définir la culture globale pour l'ensemble de votre application en utilisant le fichier Program.cs.

public class Program
{
    public static void Main(string[] args)
    {
        var builder = WebApplication.CreateBuilder(args);

        // Définir la culture pour l'application entière
        builder.Services.AddLocalization(options => options.ResourcesPath = "Resources");
        builder.Services.Configure(options =>
        {
            var supportedCultures = new[] { "fr-FR", "en-US" };
            options.SupportedCultures = supportedCultures;
            options.SupportedUICultures = supportedCultures;
            options.DefaultRequestCulture = new RequestCulture("fr-FR");
        });

        var app = builder.Build();

        // ...

        app.Run();
    }
}

Dans cet exemple, la culture par défaut est définie sur "fr-FR". Vous pouvez également définir les cultures prises en charge par l'application.

Définir la culture par requête

Vous pouvez également définir la culture pour une requête spécifique. Cela vous permet de modifier la culture en fonction de l'utilisateur ou de la demande.

// Obtenir la culture de l'en-tête Accept-Language de la requête
var culture = request.Headers["Accept-Language"].FirstOrDefault();

// Définir la culture de la requête actuelle
Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);

Utiliser la culture dans l'application

Une fois que la culture est définie, vous pouvez l'utiliser pour afficher les données dans le format correct. Par exemple, vous pouvez utiliser la propriété CultureInfo.CurrentCulture pour obtenir la culture actuelle et l'utiliser pour formatter les dates, les nombres et les devises.

// Formatter une date en fonction de la culture actuelle
var date = DateTime.Now;
var formattedDate = date.ToString("d", CultureInfo.CurrentCulture);

Conclusion

Définir la culture dans votre application ASP.NET Core est une étape importante pour fournir une expérience utilisateur optimisée. En utilisant les méthodes décrites ci-dessus, vous pouvez garantir que votre application affiche les données dans le bon format et la langue pour chaque utilisateur. N'oubliez pas que la culture est un élément essentiel pour la localisation et l'internationalisation de votre application.

Related Post


Featured Posts