Exporter (0) Imprimer
Développer tout

CultureInfo, classe

Mise à jour : novembre 2007

Fournit des informations sur une culture spécifique (appelée « paramètres régionaux » pour le développement de code non managé). Ces informations incluent les noms de la culture, le système d'écriture, le calendrier utilisé, ainsi que la mise en forme des dates et des chaînes de tri.

Espace de noms :  System.Globalization
Assembly :  mscorlib (dans mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class CultureInfo : ICloneable, 
	IFormatProvider
/** @attribute SerializableAttribute */ 
/** @attribute ComVisibleAttribute(true) */
public class CultureInfo implements ICloneable, 
	IFormatProvider
public class CultureInfo implements ICloneable, IFormatProvider

La classe CultureInfo rend des informations spécifiques à une culture, par exemple la langue, la sous-langue, le pays et/ou la région ou le calendrier associés à la culture, ainsi que les conventions applicables à cette dernière. Cette classe donne également accès à des instances de DateTimeFormatInfo, de NumberFormatInfo, de CompareInfo et de TextInfo spécifiques à la culture. Ces objets contiennent les informations requises durant des opérations spécifiques à la culture : casse, mise en forme des dates et des nombres et comparaison des chaînes.

La classe String utilise cette classe indirectement pour obtenir des informations sur la culture par défaut.

Noms et identificateurs de cultures

La classe CultureInfo spécifie un nom unique pour chaque culture, basé sur la norme RFC 4646 (Windows Vista et les versions ultérieures). Le nom est une combinaison d'un code de culture à deux lettres minuscules ISO 639 associé à une langue et d'un code de sous-culture à deux lettres majuscules ISO 3166 associé à un pays ou une région.

Le format du nom de culture est "<languagecode2>-<country/regioncode2>", où <languagecode2> est le code de langue et <country/regioncode2> est le code de sous-culture. Il peut s'agir, par exemple, de "ja-JP" pour le japonais (Japon) et "en-US" pour l'anglais (États-Unis). Dans les cas où un code de langue à deux lettres n'est pas disponible, un code à trois lettres dérivé de la norme ISO 639-2 est utilisé.

Notez que certains noms de cultures spécifient également un script ISO 15924. Par exemple, "-Cyrl" spécifie le script cyrillique et "-Latn" spécifie le script latin. Sur Windows Vista et les versions ultérieures, un nom de culture comprenant un script peut être rendu à l'aide du modèle <languagecode2>-<scripttag>-<country/regioncode2>. uz-Cyrl-UZ pour l'ouszbek (Ouzbékistan, Cyrillique) constitue un exemple de ce type de nom de culture. Sur les systèmes d'exploitation antérieurs à Windows Vista, un nom de culture comprenant un script est rendu à l'aide du modèle <languagecode2>-<country/regioncode2>-<scripttag>, par exemple, uz-UZ-Cyrl pour l'ouzbek (Ouzbékistan, Cyrillique).

Une culture neutre est spécifiée par uniquement le code de langue à deux lettres minuscules. Par exemple, "fr" spécifie la culture neutre pour le français, et "de" spécifie la culture neutre pour l'allemand.

Remarque :

Il y a deux noms de cultures qui contredisent cette règle. Les cultures "zh-Hans" (Chinois simplifié) et "zh-Hant" (Chinois traditionnel) sont des cultures neutres. Les noms de cultures représentent la norme actuelle et doivent être utilisés à moins que vous n'ayez une raison pour utiliser les noms plus anciens "zh-CHS" et "zh-CHT".

Les noms et indicateurs de cultures prédéfinis suivants sont pris en charge et utilisés par cette classe et d'autres classes de l'espace de noms System.Globalization. Souvenez-vous que les noms de culture indiqués ci-dessous représentent uniquement un sous-ensemble des cultures qui se trouvent sur un ordinateur particulier. Les versions de Windows ou des Service Packs peuvent modifier les cultures disponibles. Les applications ajoutent des cultures personnalisées à l'aide de la classe CultureAndRegionInfoBuilder. Les utilisateurs ajoutent leurs propres cultures personnalisées à l'aide de l'outil Générateur de paramètres régionaux de Microsoft. Le Générateur de paramètres régionaux de Microsoft est écrit en code managé à l'aide de la classe CultureAndRegionInfoBuilder.

Nom de culture/de langage

Identificateur de culture

Culture

"" (chaîne vide)

0x007F

Culture indifférente

af

0x0036

Afrikaans

af-ZA

0x0436

Afrikaans (Afrique du Sud)

sq

0x001C

Albanais

sq-AL

0x041C

Albanais (Albanie)

ar

0x0001

Arabe

ar-DZ

0x1401

Arabe (Algérie)

ar-BH

0x3C01

Arabe (Bahreïn)

ar-EG

0x0C01

Arabe (Égypte)

ar-IQ

0x0801

Arabe (Irak)

ar-JO

0x2C01

Arabe (Jordanie)

ar-KW

0x3401

Arabe (Koweït)

ar-LB

0x3001

Arabe (Liban)

ar-LY

0x1001

Arabe (Libye)

ar-MA

0x1801

Arabe (Maroc)

ar-OM

0x2001

Arabe (Oman)

ar-QA

0x4001

Arabe (Qatar)

ar-SA

0x0401

Arabe (Arabie saoudite)

ar-SY

0x2801

Arabe (Syrie)

ar-TN

0x1C01

Arabe (Tunisie)

ar-AE

0x3801

Arabe (E.A.U.)

ar-YE

0x2401

Arabe (Yémen)

hy

0x002B

Arménien

hy-AM

0x042B

Arménien (Arménie)

az

0x002C

Azéri

az-Cyrl-AZ

0x082C

Azéri (Azerbaïdjan, Cyrillique)

az-Latn-AZ

0x042C

Azéri (Azerbaïdjan, Latin)

eu

0x002D

Basque

eu-ES

0x042D

Basque (Basque)

be

0x0023

Bélarussien

be-BY

0x0423

Bélarussien (Bélarus)

bg

0x0002

Bulgare

bg-BG

0x0402

Bulgare (Bulgarie)

ca

0x0003

Catalan

ca-ES

0x0403

Catalan (Catalan)

zh-HK

0x0C04

Chinois (Région administrative spéciale de Hong Kong, RPC)

zh-MO

0x1404

Chinois (Région administrative spéciale de Macao)

zh-CN

0x0804

Chinois (RPC)

zh-Hans

0x0004

Chinois (Simplifié)

zh-SG

0x1004

Chinois (Singapour)

zh-TW

0x0404

Chinois (Taïwan)

zh-Hant

0x7C04

Chinois (Traditionnel)

hr

0x001A

Croate

hr-HR

0x041A

Croate (Croatie)

cs

0x0005

Tchèque

cs-CZ

0x0405

Tchèque (République tchèque)

da

0x0006

Danois

da-DK

0x0406

Danois (Danemark)

dv

0x0065

Divehi

dv-MV

0x0465

Divehi (Maldives)

nl

0x0013

Néerlandais

nl-BE

0x0813

Néerlandais (Belgique)

nl-NL

0x0413

Néerlandais (Pays-Bas)

en

0x0009

Anglais

en-AU

0x0C09

Anglais (Australie)

en-BZ

0x2809

Anglais (Belize)

en-CA

0x1009

Anglais (Canada)

en-029

0x2409

Anglais (Caraïbes)

en-IE

0x1809

Anglais (Irlande)

en-JM

0x2009

Anglais (Jamaïque)

en-NZ

0x1409

Anglais (Nouvelle Zélande)

en-PH

0x3409

Anglais (Philippines)

en-ZA

0x1C09

Anglais (Afrique du Sud)

en-TT

0x2C09

Anglais (Îles de Trinité et de Tobago)

en-GB

0x0809

Anglais (Royaume Uni)

en-US

0x0409

Anglais (États-Unis)

en-ZW

0x3009

Anglais (Zimbabwe)

et

0x0025

Estonien

et-EE

0x0425

Estonien (Estonie)

fo

0x0038

Féroïen

fo-FO

0x0438

Féroïen (Îles Féroé)

fa

0x0029

Farsi

fa-IR

0x0429

Farsi (Iran)

fi

0x000B

Finnois

fi-FI

0x040B

Finnois (Finlande)

fr

0x000C

Français

fr-BE

0x080C

Français (Belgique)

fr-CA

0x0C0C

Français (Canada)

fr-FR

0x040C

Français (France)

fr-LU

0x140C

Français (Luxembourg)

fr-MC

0x180C

Français (Monaco)

fr-CH

0x100C

Français (Suisse)

gl

0x0056

Galicien

gl-ES

0x0456

Galicien (Espagne)

ka

0x0037

Géorgien

ka-GE

0x0437

Géorgien (Géorgie)

de

0x0007

Allemand

de-AT

0x0C07

Allemand (Autriche)

de-DE

0x0407

Allemand (Allemagne)

de-LI

0x1407

Allemand (Liechtenstein)

de-LU

0x1007

Allemand (Luxembourg)

de-CH

0x0807

Allemand (Suisse)

el

0x0008

Grec

el-GR

0x0408

Grec (Grèce)

gu

0x0047

Gujarati

gu-IN

0x0447

Gujarati (Inde)

he

0x000D

Hébreu

he-IL

0x040D

Hébreu (Israël)

hi

0x0039

Hindi

hi-IN

0x0439

Hindi (Inde)

hu

0x000E

Hongrois

hu-HU

0x040E

Hongrois (Hongrie)

is

0x000F

Islandais

is-IS

0x040F

Islandais (Islande)

id

0x0021

Indonésien

id-ID

0x0421

Indonésien (Indonésie)

it

0x0010

Italien

it-IT

0x0410

Italien (Italie)

it-CH

0x0810

Italien (Suisse)

ja

0x0011

Japonais

ja-JP

0x0411

Japonais (Japon)

kn

0x004B

Kannada

kn-IN

0x044B

Kannada (Inde)

kk

0x003F

Kazakh

kk-KZ

0x043F

Kazakh (Kazakhstan)

kok

0x0057

Konkani

kok-IN

0x0457

Konkani (Inde)

ko

0x0012

Coréen

ko-KR

0x0412

Coréen (Corée)

ky

0x0040

Kirghiz

ky-KG

0x0440

Kirghiz (Kirghizistan)

lv

0x0026

Letton

lv-LV

0x0426

Letton (Lettonie)

lt

0x0027

Lituanien

lt-LT

0x0427

Lituanien (Lituanie)

mk

0x002F

Macédonien

mk-MK

0x042F

Macédonien (Macédoine, Ex-Rép. yougoslave de Macédoine)

ms

0x003E

Malais

ms-BN

0x083E

Malais (Brunei Darussalam)

ms-MY

0x043E

Malais (Malaisie)

mr

0x004E

Marathi

mr-IN

0x044E

Marathi (Inde)

mn

0x0050

Mongol

mn-MN

0x0450

Mongol (Mongolie)

no

0x0014

Norvégien

nb-NO

0x0414

Norvégien (Bokmål, Norvège)

nn-NO

0x0814

Norvégien (Nynorsk, Norvège)

pl

0x0015

Polonais

pl-PL

0x0415

Polonais (Pologne)

pt

0x0016

Portugais

pt-BR

0x0416

Portugais (Brésil)

pt-PT

0x0816

Portugais (Portugal)

pa

0x0046

Pendjabi

pa-IN

0x0446

Pendjabi (Inde)

ro

0x0018

Roumain

ro-RO

0x0418

Roumain (Roumanie)

ru

0x0019

Russe

ru-RU

0x0419

Russe (Russie)

sa

0x004F

Sanscrit

sa-IN

0x044F

Sanscrit (Inde)

sr-Cyrl-CS

0x0C1A

Serbe (Serbie, Cyrillique)

sr-Latn-CS

0x081A

Serbe (Serbie, Latin)

sk

0x001B

Slovaque

sk-SK

0x041B

Slovaque (Slovaquie)

sl

0x0024

Slovène

sl-SI

0x0424

Slovène (Slovénie)

es

0x000A

Espagnol

es-AR

0x2C0A

Espagnol (Argentine)

es-BO

0x400A

Espagnol (Bolivie)

es-CL

0x340A

Espagnol (Chili)

es-CO

0x240A

Espagnol (Colombie)

es-CR

0x140A

Espagnol (Costa Rica)

es-DO

0x1C0A

Espagnol (République dominicaine)

es-EC

0x300A

Espagnol (Équateur)

es-SV

0x440A

Espagnol (Salvador)

es-GT

0x100A

Espagnol (Guatemala)

es-HN

0x480A

Espagnol (Honduras)

es-MX

0x080A

Espagnol (Mexique)

es-NI

0x4C0A

Espagnol (Nicaragua)

es-PA

0x180A

Espagnol (Panama)

es-PY

0x3C0A

Espagnol (Paraguay)

es-PE

0x280A

Espagnol (Pérou)

es-PR

0x500A

Espagnol (Porto Rico)

es-ES

0x0C0A

Espagnol (Espagne)

es-ES_tradnl

0x040A

Espagnol (Espagne, ordre de tri traditionnel)

es-UY

0x380A

Espagne (Uruguay)

es-VE

0x200A

Espagnol (Venezuela)

sw

0x0041

Swahili

sw-KE

0x0441

Swahili (Kenya)

sv

0x001D

Suédois

sv-FI

0x081D

Suédois (Finlande)

sv-SE

0x041D

Suédois (Suède)

syr

0x005A

Syriaque

syr-SY

0x045A

Syriaque (Syrie)

ta

0x0049

Tamoul

ta-IN

0x0449

Tamoul (Inde)

tt

0x0044

Tatar

tt-RU

0x0444

Tatare (Russie)

te

0x004A

Télougou

te-IN

0x044A

Télougou (Inde)

th

0x001E

Thaï

th-TH

0x041E

Thaï (Thaïlande)

tr

0x001F

Turc

tr-TR

0x041F

Turc (Turquie)

uk

0x0022

Ukrainien

uk-UA

0x0422

Ukrainien (Ukraine)

ur

0x0020

Ourdou

ur-PK

0x0420

Ourdou (Pakistan)

uz

0x0043

Ouzbek

uz-Cyrl-UZ

0x0843

Ouzbek (Ouzbékistan, Cyrillique)

uz-Latn-UZ

0x0443

Ouzbek (Ouzbékistan, Latin)

vi

0x002A

Vietnamien

vi-VN

0x042A

Vietnamien (Vietnam)

Plusieurs noms distincts sont étroitement associés à une culture, notamment les noms associés aux membres de classe suivants :

Pour obtenir une description de la relation entre ces noms, consultez Noms associés à un objet CultureInfo.

Cultures dites indifférentes, neutres et spécifiques

Les cultures sont généralement regroupées en trois jeux : les cultures dites indifférentes, les cultures neutres et les cultures spécifiques.

Une culture dite indifférente ne tient pas compte de la culture. Votre application spécifie la culture dite indifférente par son nom à l'aide d'une chaîne vide ("") ou par son identificateur. InvariantCulture définit une instance de la culture dite indifférente. Elle est associée à la langue anglaise, mais n'est associée à aucun pays/à aucune région. Elle est utilisée dans quasiment n'importe quelle méthode de l'espace de noms Globalization requérant une culture.

Une culture neutre est associée à une langue, mais elle n'est associée à aucun pays/à aucune région. En revanche, une culture spécifique est associée à la fois à une langue et à un pays ou une région. Par exemple, "fr" est une culture neutre et "fr-FR" est une culture spécifique. Notez que "zh-Hans" (Chinois simplifié) et "zh-Hant" (Chinois traditionnel) sont des cultures neutres.

Notez qu'il est déconseillé de créer une instance d'une classe CompareInfo pour une culture neutre car les données qu'elle contient sont arbitraires. Pour afficher et trier des données, spécifiez la langue et la région. Par ailleurs, la propriété Name d'un objet CompareInfo créée pour une culture neutre retourne uniquement le pays et n'inclut pas la région.

Les cultures définies ont une hiérarchie dans laquelle le parent d'une culture spécifique est une culture neutre et le parent d'une culture neutre est la culture dite indifférente. La propriété Parent contient la culture neutre associée à une culture spécifique. Les cultures personnalisées doivent définir la propriété Parent en conformité avec ce modèle.

Si les ressources de la culture spécifique ne sont pas disponibles dans le système, les ressources de la culture neutre sont utilisées. Si les ressources de la culture neutre ne sont pas disponibles, les ressources incorporées dans l'assembly principal sont alors utilisées. Pour plus d'informations sur le processus de secours pour les ressources, consultez Empaquetage et déploiement de ressources.

La liste des paramètres régionaux dans l'API Windows est légèrement différente de la liste des cultures dans le .NET Framework. Si l'interopérabilité avec Windows est nécessaire, par exemple, via le mécanisme p/invoke, l'application doit utiliser une culture spécifique définie pour le système d'exploitation. L'utilisation de la culture spécifique garantit la cohérence avec les paramètres régionaux Windows équivalents, identifiés par un identificateur de paramètres régionaux identique à LCID.

DateTimeFormatInfo ou NumberFormatInfo ne peut être créé que pour la culture dite indifférente ou pour des cultures spécifiques, et non pour des cultures neutres.

Si DateTimeFormatInfo.Calendar est TaiwanCalendar mais que Thread.CurrentCulture n'est pas "zh-TW", alors DateTimeFormatInfo.NativeCalendarName, DateTimeFormatInfo.GetEraName et DateTimeFormatInfo.GetAbbreviatedEraName retournent une chaîne vide ("").

Cultures personnalisées

Lorsque vous préparez le logiciel pour gérer des cultures personnalisées, considérez les éléments suivants :

  • Les cultures personnalisées peuvent avoir des valeurs qui dépassent les plages des cultures livrées par Microsoft. Par exemple, certaines cultures ont des noms de mois exceptionnellement longs, des formats de date ou d'heure inattendus ou d'autres données exceptionnelles.

  • Respectez les valeurs de données de culture de l'utilisateur ; par exemple, l'utilisateur peut souhaiter une horloge au format de 24 heures ou un format de date aaaaMMjj.

  • Souvenez-vous que les cultures personnalisées substituent les valeurs par défaut. Par conséquent, vous ne pouvez pas considérer les données de culture comme des données stables. Les noms de pays, formats de date, orthographes, etc., risquent d'être modifiés dans le futur. Si votre application doit sérialiser en utilisant ces données, comme pour les fonctions de DateTime mise en forme et d'analyse, elle doit utiliser la culture dite indifférente ou un format spécifique.

Données de culture dynamiques

Excepté pour la culture dite indifférente, les données de culture sont dynamiques. Cela est vrai même pour les cultures prédéfinies. Par exemple, lorsque des pays ou des régions adoptent de nouvelles devises, modifient l'orthographe de leurs mots ou modifient leur calendrier par défaut, les définitions de culture changent pour refléter ces modifications. Les cultures personnalisées peuvent faire l'objet de modifications sans préavis, et toute culture spécifique peut être substituée par une culture personnalisée de remplacement. En outre, comme indiqué ci-dessous, un utilisateur individuel peut substituer des préférences culturelles. Les applications doivent toujours obtenir les données de culture au moment de l'exécution.

Attention :

Lors de l'enregistrement des données, votre application doit utiliser la culture indifférente, un format binaire ou un format spécifique indépendant de la culture. Les données enregistrées en fonction des valeurs actuelles associées à une culture particulière (autre que la culture dite indifférente) peuvent devenir illisibles ou changer de signification si cette culture change.

Sérialisation d'un objet CultureInfo

Lorsqu'un objet CultureInfo est sérialisé, tout ce qui est réellement stocké est Name et UseUserOverride. Il est désérialisé avec succès uniquement dans un environnement où Name a la même signification. Les trois exemples suivants illustrent pourquoi ce n'est pas toujours le cas :

  • Si CultureTypes indique CultureTypes.WindowsOnlyCultures et si cette culture a été introduite initialement dans Windows Vista, il n'est pas possible de le désérialiser sur Windows XP. De même, si la culture a été introduite initialement dans le Service Pack 2 Windows XP, il n'est pas possible de le désérialiser dans un système Windows XP sur lequel la culture n'a pas été installée.

  • Si CultureTypes indique CultureTypes.UserCustomCulture et si cette culture personnalisée par l'utilisateur n'est pas installée sur l'ordinateur où il est désérialisé, il n'est pas possible de le désérialiser.

  • Si CultureTypes indique CultureTypes.ReplacementCultures et si cette culture de remplacement ne se trouve pas sur l'ordinateur où il est désérialisé, il est désérialisé sous le même nom, mais pas avec toutes les mêmes caractéristiques. Par exemple, si "en-US" est une culture de remplacement sur l'ordinateur A, mais pas sur l'ordinateur B, et si un objet CultureInfo qui fait référence à cette culture, est sérialisé sur l'ordinateur A et désérialisé sur l'ordinateur B, aucune des caractéristiques personnalisées de la culture n'est alors transmise. La culture est désérialisée avec succès, mais avec une signification différente.

Paramètres régionaux Windows

À partir de la version 2.0 du .NET Framework, le constructeur CultureInfo prend en charge l'utilisation des paramètres régionaux Windows, qui sont équivalents aux cultures, pour générer automatiquement des cultures qui n'existent pas dans le .NET Framework. Pour plus d'informations, consultez Cultures générées à partir de paramètres régionaux Windows.

Substitutions du Panneau de configuration

L'utilisateur peut choisir de substituer certaines des valeurs associées à la culture Windows en cours par le biais des options régionales et linguistiques du Panneau de configuration. Ainsi, il peut modifier le format d'affichage des dates ou utiliser une devise autre que la devise par défaut de la culture. Vos applications doivent généralement honorer ces substitutions par l'utilisateur.

Si UseUserOverride a la valeur true et si la culture spécifiée correspond à la culture actuelle de Windows, CultureInfo utilise ces substitutions, notamment les paramètres utilisateur pour les propriétés de l'instance de DateTimeFormatInfo retournée par la propriété DateTimeFormat et les propriétés de l'instance de NumberFormatInfo retournée par la propriété NumberFormat. Si les paramètres utilisateur ne sont pas compatibles avec la culture associée à CultureInfo par exemple, si le calendrier sélectionné n'est pas l'un des OptionalCalendars, les résultats des méthodes et les valeurs des propriétés ne sont pas définis.

Pour les cultures qui utilisent l'euro, le .NET Framework et Windows XP définissent l'euro comme devise par défaut. Toutefois, les versions antérieures de Windows ne le font pas. Par conséquent, la devise risque d'être incorrecte si l'utilisateur d'une version antérieure de Windows ne modifie pas la devise par le biais des options régionales et linguistiques du Panneau de configuration. Pour utiliser la devise par défaut du .NET Framework, l'application doit utiliser une surcharge du constructeur CultureInfo acceptant un paramètre useUserOverride et avec la valeur false.

Autres commandes de tri

La culture espagnole (Espagne) utilise deux identificateurs de culture, 0x0C0A qui utilise l'ordre de tri international par défaut, et 0x040A qui utilise l'ordre de tri traditionnel. Si CultureInfo est construit à l'aide du nom de culture "es-ES", le nouveau CultureInfo utilise l'ordre de tri international par défaut. Pour l'ordre de tri traditionnel, l'objet est construit en utilisant le nom "es-ES_tradnl". Pour plus d'informations sur les autres cultures qui utilisent des tris de substitution, consultez Comparaison et tri des données pour une culture spécifique.

Interfaces implémentées

Cette classe implémente l'interface ICloneable pour activer la duplication d'objets CultureInfo. Elle implémente aussi IFormatProvider pour fournir les informations de mise en forme aux applications.

Cultures, threads et domaines d'application

Vous devez tenir compte de considérations uniques lorsque vous utilisez un thread associé à un objet CultureInfo. Pour plus d'informations sur les cultures et les domaines d'application, consultez Domaines d'application et threads.

TopicLocation
Comment : créer des fichiers de ressources pour des sites Web ASP.NET (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Comment : définir la culture et la culture de l'interface utilisateur pour la globalisation des pages Web ASP.NETGénération d'applications Web ASP.NET dans Visual Studio
Comment : récupérer des valeurs de ressources par programmeGénération d'applications Web ASP.NET dans Visual Studio
Comment : créer des fichiers de ressources pour des sites Web ASP.NET (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Comment : afficher du texte de droite à gauche en utilisant des balises HTML pour la globalisationGénération d'applications Web ASP.NET dans Visual Studio
Comment : définir la culture et la culture de l'interface utilisateur pour la globalisation des pages Web ASP.NETGénération d'applications Web ASP.NET dans Visual Studio
Comment : récupérer des valeurs de ressources par programmeGénération d'applications Web ASP.NET dans Visual Studio
Comment : créer des fichiers de ressources pour des sites Web ASP.NET (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Comment : afficher du texte de droite à gauche en utilisant des balises HTML pour la globalisationGénération d'applications Web ASP.NET dans Visual Studio
Comment : définir la culture et la culture de l'interface utilisateur pour la globalisation des pages Web ASP.NETGénération d'applications Web ASP.NET
Comment : récupérer des valeurs de ressources par programmeGénération d'applications Web ASP.NET
Comment : créer des fichiers de ressources pour des sites Web ASP.NETGénération d'applications Web ASP.NET
Comment : afficher du texte de droite à gauche en utilisant des balises HTML pour la globalisationGénération d'applications Web ASP.NET

L'exemple de code suivant illustre la création d'un objet CultureInfo pour l'espagnol (Espagne) avec le tri international et un autre objet CultureInfo avec le tri traditionnel.

using System;
using System.Collections;
using System.Globalization;


public class SamplesCultureInfo  {

   public static void Main()  {

      // Creates and initializes the CultureInfo which uses the international sort.
      CultureInfo myCIintl = new CultureInfo( "es-ES", false );

      // Creates and initializes the CultureInfo which uses the traditional sort.
      CultureInfo myCItrad = new CultureInfo( 0x040A, false );

      // Displays the properties of each culture.
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL" );
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "CompareInfo", myCIintl.CompareInfo, myCItrad.CompareInfo );
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "DisplayName", myCIintl.DisplayName, myCItrad.DisplayName );
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "EnglishName", myCIintl.EnglishName, myCItrad.EnglishName );
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "IsNeutralCulture", myCIintl.IsNeutralCulture, myCItrad.IsNeutralCulture );
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "IsReadOnly", myCIintl.IsReadOnly, myCItrad.IsReadOnly );
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "LCID", myCIintl.LCID, myCItrad.LCID );
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "Name", myCIintl.Name, myCItrad.Name );
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "NativeName", myCIintl.NativeName, myCItrad.NativeName );
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "Parent", myCIintl.Parent, myCItrad.Parent );
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "TextInfo", myCIintl.TextInfo, myCItrad.TextInfo );
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterISOLanguageName", myCIintl.ThreeLetterISOLanguageName, myCItrad.ThreeLetterISOLanguageName );
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl.ThreeLetterWindowsLanguageName, myCItrad.ThreeLetterWindowsLanguageName );
      Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "TwoLetterISOLanguageName", myCIintl.TwoLetterISOLanguageName, myCItrad.TwoLetterISOLanguageName );
      Console.WriteLine();

      // Compare two strings using myCIintl.
      Console.WriteLine( "Comparing \"llegar\" and \"lugar\"" );
      Console.WriteLine( "   With myCIintl.CompareInfo.Compare: {0}", myCIintl.CompareInfo.Compare( "llegar", "lugar" ) );
      Console.WriteLine( "   With myCItrad.CompareInfo.Compare: {0}", myCItrad.CompareInfo.Compare( "llegar", "lugar" ) );

   }

}

/*
This code produces the following output.

PROPERTY                         INTERNATIONAL            TRADITIONAL
CompareInfo                      CompareInfo - 3082       CompareInfo - 1034
DisplayName                      Spanish (Spain)          Spanish (Spain)
EnglishName                      Spanish (Spain)          Spanish (Spain)
IsNeutralCulture                 False                    False
IsReadOnly                       False                    False
LCID                             3082                     1034
Name                             es-ES                    es-ES
NativeName                       español (España)         español (España)
Parent                           es                       es
TextInfo                         TextInfo - 3082          TextInfo - 1034
ThreeLetterISOLanguageName       spa                      spa
ThreeLetterWindowsLanguageName   ESN                      ESN
TwoLetterISOLanguageName         es                       es

Comparing "llegar" and "lugar"
   With myCIintl.CompareInfo.Compare: -1
   With myCItrad.CompareInfo.Compare: 1

*/


import System.* ;
import System.Collections.* ;
import System.Globalization.* ;

public class SamplesCultureInfo
{  
     public static void main(String[] args)
    {
        // Creates and initializes the CultureInfo which uses the 
        // international sort.
        CultureInfo myCIintl =  new CultureInfo("es-ES", false);

        // Creates and initializes the CultureInfo which uses the 
        // traditional sort.
        CultureInfo myCItrad =  new CultureInfo(0x40A, false);

        // Displays the properties of each culture.
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "PROPERTY", 
            "INTERNATIONAL", "TRADITIONAL");
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "CompareInfo", 
            myCIintl.get_CompareInfo(), myCItrad.get_CompareInfo());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "DisplayName", 
            myCIintl.get_DisplayName(), myCItrad.get_DisplayName());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "EnglishName", 
            myCIintl.get_EnglishName(), myCItrad.get_EnglishName());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsNeutralCulture", 
            System.Convert.ToString(myCIintl.get_IsNeutralCulture()), 
            System.Convert.ToString(myCItrad.get_IsNeutralCulture()));
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsReadOnly", 
            System.Convert.ToString(myCIintl.get_IsReadOnly()), 
            System.Convert.ToString(myCItrad.get_IsReadOnly()));
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "LCID", 
            System.Convert.ToString(myCIintl.get_LCID()), 
            System.Convert.ToString(myCItrad.get_LCID()));
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Name", 
            myCIintl.get_Name(), myCItrad.get_Name());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "NativeName", 
            myCIintl.get_NativeName(), myCItrad.get_NativeName());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Parent", 
            myCIintl.get_Parent(), myCItrad.get_Parent());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TextInfo",
            myCIintl.get_TextInfo(), myCItrad.get_TextInfo());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", 
            "ThreeLetterISOLanguageName", 
            myCIintl.get_ThreeLetterISOLanguageName(), 
            myCItrad.get_ThreeLetterISOLanguageName());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", 
            "ThreeLetterWindowsLanguageName", 
            myCIintl.get_ThreeLetterWindowsLanguageName(),
            myCItrad.get_ThreeLetterWindowsLanguageName());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TwoLetterISOLanguageName",
            myCIintl.get_TwoLetterISOLanguageName(), 
            myCItrad.get_TwoLetterISOLanguageName());
        Console.WriteLine();

        // Compare two strings using myCIintl.
        Console.WriteLine("Comparing \"llegar\" and \"lugar\"");
        Console.WriteLine("   With myCIintl.CompareInfo.Compare: {0}",
            System.Convert.ToString ( myCIintl.get_CompareInfo().Compare(
            "llegar", "lugar")));
        Console.WriteLine("   With myCItrad.CompareInfo.Compare: {0}", 
            System.Convert.ToString ( myCItrad.get_CompareInfo().Compare(
            "llegar", "lugar")));
    } //main 
} //SamplesCultureInfo

/*
This code produces the following output.

PROPERTY                         INTERNATIONAL            TRADITIONAL
CompareInfo                      CompareInfo - 3082       CompareInfo - 1034
DisplayName                      Spanish (Spain)          Spanish (Spain)
EnglishName                      Spanish (Spain)          Spanish (Spain)
IsNeutralCulture                 False                    False
IsReadOnly                       False                    False
LCID                             3082                     1034
Name                             es-ES                    es-ES
NativeName                       espaol (Espaa)         espaol (Espaa)
Parent                           es                       es
TextInfo                         TextInfo - 3082          TextInfo - 1034
ThreeLetterISOLanguageName       spa                      spa
ThreeLetterWindowsLanguageName   ESN                      ESN
TwoLetterISOLanguageName         es                       es

Comparing "llegar" and "lugar"
   With myCIintl.CompareInfo.Compare: -1
   With myCItrad.CompareInfo.Compare: 1
*/


L'exemple de code suivant détermine la culture parente de chaque culture spécifique utilisant la langue chinoise.

Remarque :

L'exemple affiche les cultures zh-CHS et zh-CHT avec les identificateurs de culture respectivement 0x0004 et 0x7C04. Toutefois, vos applications Windows Vista doivent utiliser le nom "zh-Hans" au lieu de "zh-CHS" et le nom "zh-Hant" au lieu de "zh-CHT." Les noms "zh-Hans" et "zh-Hant" représentent la norme actuelle et doivent être utilisés à moins que vous n'ayez une raison pour utiliser les noms plus anciens.

using System;
using System.Globalization;

public class SamplesCultureInfo  {

   public static void Main()  {

      // Prints the header.
      Console.WriteLine( "SPECIFIC CULTURE                                  PARENT CULTURE" );

      // Determines the specific cultures that use the Chinese language, and displays the parent culture.
      foreach ( CultureInfo ci in CultureInfo.GetCultures( CultureTypes.SpecificCultures ) )  {
         if ( ci.TwoLetterISOLanguageName == "zh" )  {
            Console.Write( "0x{0} {1} {2,-37}", ci.LCID.ToString("X4"), ci.Name, ci.EnglishName );
            Console.WriteLine( "0x{0} {1} {2}", ci.Parent.LCID.ToString("X4"), ci.Parent.Name, ci.Parent.EnglishName );
         }
      }

   }

}

/*
This code produces the following output.

SPECIFIC CULTURE                                  PARENT CULTURE
0x0404 zh-TW Chinese (Taiwan)                     0x7C04 zh-CHT Chinese (Traditional)
0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese (Simplified)
0x0C04 zh-HK Chinese (Hong Kong S.A.R.)           0x7C04 zh-CHT Chinese (Traditional)
0x1004 zh-SG Chinese (Singapore)                  0x0004 zh-CHS Chinese (Simplified)
0x1404 zh-MO Chinese (Macao S.A.R.)               0x7C04 zh-CHT Chinese (Traditional)

*/


import System.* ;
import System.Globalization.* ;

public class SamplesCultureInfo
{
    public static void main(String[] args)
    {
        // Prints the header.
        Console.WriteLine("SPECIFIC CULTURE                                " 
            + "  PARENT CULTURE");

        // Determines the specific cultures that use the Chinese language, 
        // and displays the parent culture.
        for(int iCtr=0;
            iCtr < (CultureInfo.GetCultures(CultureTypes.SpecificCultures).
                length); iCtr++) {
            CultureInfo ci = 
                CultureInfo.GetCultures(CultureTypes.SpecificCultures)[iCtr];
            if (ci.get_TwoLetterISOLanguageName().equalsIgnoreCase("zh")) {
                Console.Write("0x{0} {1} {2,-37}", 
                    ((System.Int32 ) ci.get_LCID()).ToString("X4") , 
                    ci.get_Name(), ci.get_EnglishName());
                Console.WriteLine("0x{0} {1} {2}", 
                    ((System.Int32 )ci.get_Parent().get_LCID()).ToString("X4"),
                    ci.get_Parent().get_Name(), 
                    ci.get_Parent().get_EnglishName());
            }
        }
    } //main
} //SamplesCultureInfo

/*
This code produces the following output.

SPECIFIC CULTURE                                  PARENT CULTURE
0x0404 zh-TW Chinese (Taiwan)                     0x7C04 zh-CHT Chinese (Traditional)
0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese (Simplified)
0x0C04 zh-HK Chinese (Hong Kong S.A.R.)           0x7C04 zh-CHT Chinese (Traditional)
0x1004 zh-SG Chinese (Singapore)                  0x0004 zh-CHS Chinese (Simplified)
0x1404 zh-MO Chinese (Macao S.A.R.)               0x7C04 zh-CHT Chinese (Traditional)

*/


System.Object
  System.Globalization.CultureInfo

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0, 1.0

XNA Framework

Pris en charge dans : 2.0, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft