.net Core Globalization

5 min read Jun 03, 2024
.net Core Globalization

Internationaliser votre application .NET Core : un guide complet

Le développement d'applications .NET Core pour un public mondial exige une globalisation. C'est le processus de conception et de développement d'une application pour prendre en charge différentes langues et cultures. Dans cet article, nous explorerons les concepts et les meilleures pratiques pour globaliser votre application .NET Core.

Qu'est-ce que la globalisation ?

La globalisation est un processus qui prépare votre application à fonctionner dans différents environnements culturels. Cela implique de prendre en compte des facteurs tels que:

  • Langues: L'application doit pouvoir afficher du texte et des messages dans différentes langues.
  • Formatage: Les dates, les heures, les nombres et les devises doivent être affichés selon les normes locales.
  • Culture: L'application doit prendre en compte les conventions culturelles spécifiques à chaque région.

Comment globaliser votre application .NET Core ?

Voici les étapes clés pour globaliser une application .NET Core:

  1. Installer le package de ressources: Ajoutez le package NuGet "Microsoft.Extensions.Localization" à votre projet.
  2. Créer des fichiers de ressources: Créez des fichiers de ressources pour chaque langue prise en charge. Chaque fichier de ressources contiendra les traductions des chaînes de texte utilisées dans l'application.
  3. Utiliser le service de localisation: Injectez le service IStringLocalizer dans vos contrôleurs ou vues pour accéder aux traductions.
  4. Configurer la culture: Configurez la culture de l'application en fonction des préférences de l'utilisateur.

Utilisation de IStringLocalizer

Le service IStringLocalizer est un outil puissant pour globaliser les chaînes de texte dans votre application .NET Core. Voici comment l'utiliser:

public class HomeController : Controller
{
    private readonly IStringLocalizer _localizer;

    public HomeController(IStringLocalizer localizer)
    {
        _localizer = localizer;
    }

    public IActionResult Index()
    {
        // Récupérer la traduction de la chaîne "Welcome"
        string welcomeMessage = _localizer["Welcome"];

        // Afficher la traduction dans la vue
        return View(welcomeMessage);
    }
}

Configuration de la culture

La culture de l'application peut être définie dans le fichier Startup.cs en utilisant l'objet RequestLocalizationOptions.

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // ...

    app.UseRequestLocalization(options =>
    {
        options.SupportedCultures = new[] { "fr-FR", "en-US" };
        options.SupportedUICultures = new[] { "fr-FR", "en-US" };
        options.DefaultRequestCulture = new RequestCulture("fr-FR");
    });

    // ...
}

Formatage des nombres, des dates et des heures

La globalisation implique également de formater les nombres, les dates et les heures selon les conventions locales. Pour cela, vous pouvez utiliser les méthodes de la classe CultureInfo.

// Formater un nombre en utilisant la convention locale
string formattedNumber = string.Format(CultureInfo.CurrentCulture, "{0:N}", 1234567.89);

// Formater une date en utilisant la convention locale
string formattedDate = DateTime.Now.ToString("d", CultureInfo.CurrentCulture);

// Formater une heure en utilisant la convention locale
string formattedTime = DateTime.Now.ToString("t", CultureInfo.CurrentCulture);

Conclusion

La globalisation est une étape importante pour développer des applications .NET Core accessibles à un public mondial. En suivant les étapes décrites dans cet article, vous pouvez globaliser votre application de manière efficace et fournir une expérience utilisateur optimale pour tous les utilisateurs. N'oubliez pas de tester votre application dans différentes cultures pour vous assurer qu'elle fonctionne correctement.