Share via


Recherche et utilisation de ressources pour une culture spécifique

Mise à jour : novembre 2007

Le Common Language Runtime assure une prise en charge de la récupération des ressources spécifiques à une culture qui sont empaquetées et déployées dans des assemblys satellites. Les assemblys satellites ne contiennent que des fichiers de ressources ou des fichiers de ressources libres, tels que des fichiers .gif. Ils ne contiennent pas de code exécutable.

Dans le modèle de déploiement de l'assembly satellite, vous créez une application avec un assembly par défaut (l'assembly principal) et plusieurs assemblys satellites. Vous devez empaqueter les ressources pour l'assembly par défaut ou neutre avec l'assembly principal et créer un assembly satellite séparé pour chaque langue que votre application prend en charge. Dans la mesure où les assemblys satellites ne font pas partie de l'assembly principal, vous pouvez facilement remplacer ou mettre à jour les ressources correspondant à une culture spécifique sans remplacer l'assembly principal de l'application.

La classe ResourceManager fournit un accès aux ressources spécifiques à une culture au moment de l'exécution et contrôle la façon dont l'application récupère les ressources à l'aide du processus de secours pour les ressources. Pour plus d'informations, consultez la sous-rubrique « Processus de secours pour les ressources » de la rubrique Empaquetage et déploiement de ressources.

L'objet ResourceManager détermine les ressources à récupérer en se basant sur la propriété CurrentUICulture du thread actuel. Par exemple, si une application est compilée avec les ressources de langue anglaise par défaut et deux assemblys satellites contenant des ressources pour les ressources de langue française et allemande, et que la propriété CurrentUICulture a la valeur "de", l'objet ResourceManager récupère les ressources allemandes.

La propriété CurrentUICulture peut être définies de plusieurs manières. La façon de définir cette propriété a une influence sur la manière dont ResourceManager récupère des ressources en fonction de la culture.

  • La propriété CurrentUICulture peut être définie sur une culture spécifique dans le code de l'application. Lorsque l'application définit explicitement cette propriété elle garantit que les ressources pour cette culture sont toujours récupérées, indépendamment de la langue du navigateur de l'utilisateur ou de son système d'exploitation. Considérons par exemple une application qui est compilée avec des ressources de langue anglaise par défaut et deux assemblys satellites contenant des ressources pour les ressources de langue française et allemande. Si la propriété CurrentUICulture a la valeur "de", l'objet ResourceManager récupère toujours les ressources allemandes, même si l'utilisateur définit le langage du système de système d'exploitation sur le français. Vérifiez qu'il s'agit du comportement souhaité avant de définir cette propriété explicitement dans le code.

    Remarque Dans les applications ASP.NET, il est nécessaire de définir CurrentUICulture explicitement parce qu'il est improbable que le paramètre du serveur corresponde aux demandes des clients.

  • La propriété CurrentUICulture est définie implicitement si une application spécifie un paramètre CurrentUICulture. Si l'application ne définit pas cette propriété explicitement, elle est définie par la fonction GetUserDefaultUILanguage sur les produits à interface utilisateur multilingue (MUI, Multilingual User Interface) de Windows 2000 et Windows XP, pour lesquels l'utilisateur peut définir la langue par défaut. Si l'utilisateur ne définit pas la langue de l'interface utilisateur, elle est déterminée par la langue installée dans le système, qui est la langue des ressources du système d'exploitation.

    Remarque Dans le cas d'une application Web, la propriété CurrentUICulture peut être définie explicitement par l'application en fonction de la langue acceptée par le navigateur de l'utilisateur.

Pour obtenir des exemples de définition de la propriété CurrentUICulture, consultez Utilisation de la propriété CurrentUICulture.

Pour plus d'informations sur la récupération de ressources pour une culture spécifique, consultez Récupération de ressources d'assemblys satellites et Ressources dans les applications ASP.NET.

Voir aussi

Concepts

Ressources dans les applications

Autres ressources

Codage et localisation