CultureInfo (Clase)
Ensamblado: mscorlib (en mscorlib.dll)
La clase CultureInfo contiene información específica de la referencia cultural, como el idioma asociado, el idioma secundario, el país o región, el calendario y las convenciones culturales. Esta clase proporciona además acceso a instancias de DateTimeFormatInfo, NumberFormatInfo, CompareInfo y TextInfo específicas de la referencia cultural. Estos objetos contienen la información necesaria para las operaciones específicas de la referencia cultural, como la distinción entre mayúsculas y minúsculas, la aplicación de formato a fechas y números y la comparación de cadenas.
La clase String utiliza de forma indirecta esta clase para obtener información acerca de la referencia cultural predeterminada.
Nombres e identificadores de las referencias culturales
Los nombres de referencias culturales respetan el estándar RFC 1766 en el formato "<códigoidioma2>-<códigopaís/región2>", donde <códigoidioma2> es un código de dos letras en minúsculas proveniente de ISO 639-1 y <códigopaís/región2> es un código de dos letras en mayúsculas proveniente de ISO 3166. Por ejemplo, el formato para el inglés de EE.UU. es "en-US". Cuando no hay disponible un código de dos letras, se utiliza el código de tres letras proveniente de ISO 639-2; por ejemplo, el código de tres letras "div" se utiliza para las referencias culturales que utilizan el idioma dhivehi. Algunos nombres de referencias culturales tienen sufijos que especifican el alfabeto; por ejemplo, "-Cyrl" especifica el alfabeto cirílico y "-Latn" especifica el alfabeto latino.
A continuación, se incluyen los nombres e identificadores de las referencias culturales predefinidas aceptadas y utilizadas por esta y otras clases en el espacio de nombres System.Globalization.
| Nombre de referencia cultural | Identificador de referencia cultural | Idioma-País/región |
|---|---|---|
| "" (cadena vacía) | 0x007F | referencia cultural invariable |
| af | 0x0036 | Afrikaans |
| af-ZA | 0x0436 | Afrikaans-Sudáfrica |
| sq | 0x001C | Albanés |
| sq-AL | 0x041C | Albanés-Albania |
| ar | 0x0001 | Árabe |
| ar-DZ | 0x1401 | Árabe-Argelia |
| ar-BH | 0x3C01 | Árabe-Bahrein |
| ar-EG | 0x0C01 | Árabe-Egipto |
| ar-IQ | 0x0801 | Árabe-Iraq |
| ar-JO | 0x2C01 | Árabe-Jordania |
| ar-KW | 0x3401 | Árabe-Kuwait |
| ar-LB | 0x3001 | Árabe-Líbano |
| ar-LY | 0x1001 | Árabe-Libia |
| ar-MA | 0x1801 | Árabe-Marruecos |
| ar-OM | 0x2001 | Árabe-Omán |
| ar-QA | 0x4001 | Árabe-Qatar |
| ar-SA | 0x0401 | Árabe-Arabia Saudí |
| ar-SY | 0x2801 | Árabe-Siria |
| ar-TN | 0x1C01 | Árabe-Túnez |
| ar-AE | 0x3801 | Árabe-Emiratos Árabes Unidos |
| ar-YE | 0x2401 | Árabe-Yemen |
| hy | 0x002B | Armenio |
| hy-AM | 0x042B | Armenio-Armenia |
| az | 0x002C | Azerí |
| az-AZ-Cyrl | 0x082C | Azerí (cirílico)-Azerbaiyán |
| az-AZ-Latn | 0x042C | Azerí (latino)-Azerbaiyán |
| eu | 0x002D | Vasco |
| eu-ES | 0x042D | Vasco-España |
| be | 0x0023 | Bielorruso |
| be-BY | 0x0423 | Bielorruso-Bielorrusia |
| bg | 0x0002 | Búlgaro |
| bg-BG | 0x0402 | Búlgaro-Bulgaria |
| ca | 0x0003 | Catalán |
| ca-ES | 0x0403 | Catalán-España |
| zh-HK | 0x0C04 | Chino-Zona administrativa especial de Hong Kong |
| zh-MO | 0x1404 | Chino - Zona administrativa especial de Macao |
| zh-CN | 0x0804 | Chino-China |
| zh-CHS | 0x0004 | Chino (simplificado) |
| zh-SG | 0x1004 | Chino-Singapur |
| zh-TW | 0x0404 | Chino-Taiwán |
| zh-CHT | 0x7C04 | Chino (tradicional) |
| hr | 0x001A | Croata |
| hr-HR | 0x041A | Croata-Croacia |
| cs | 0x0005 | Checo |
| cs-CZ | 0x0405 | Checo-República Checa |
| da | 0x0006 | Danés |
| da-DK | 0x0406 | Danés-Dinamarca |
| div | 0x0065 | Dhivehi |
| div-MV | 0x0465 | Dhivehi-Maldivas |
| nl | 0x0013 | Holandés |
| nl-BE | 0x0813 | Holandés-Bélgica |
| nl-NL | 0x0413 | Holandés-Países Bajos |
| en | 0x0009 | Inglés |
| en-AU | 0x0C09 | Inglés-Australia |
| en-BZ | 0x2809 | Inglés-Belice |
| en-CA | 0x1009 | Inglés-Canadá |
| en-CB | 0x2409 | Inglés-Caribe |
| en-IE | 0x1809 | Inglés-Irlanda |
| en-JM | 0x2009 | Inglés-Jamaica |
| en-NZ | 0x1409 | Inglés-Nueva Zelanda |
| en-PH | 0x3409 | Inglés-Filipinas |
| en-ZA | 0x1C09 | Inglés-Sudáfrica |
| en-TT | 0x2C09 | Inglés-Trinidad y Tobago |
| en-GB | 0x0809 | Inglés-Reino Unido |
| en-US | 0x0409 | Inglés-Estados Unidos |
| en-ZW | 0x3009 | Inglés-Zimbabue |
| et | 0x0025 | Estonio |
| et-EE | 0x0425 | Estonio-Estonia |
| fo | 0x0038 | Feroés |
| fo-FO | 0x0438 | Feroés-Islas Feroe |
| fa | 0x0029 | Persa |
| fa-IR | 0x0429 | Persa-Irán |
| fi | 0x000B | Finlandés |
| fi-FI | 0x040B | Finlandés-Finlandia |
| fr | 0x000C | Francés |
| fr-BE | 0x080C | Francés-Bélgica |
| fr-CA | 0x0C0C | Francés-Canadá |
| fr-FR | 0x040C | Francés-Francia |
| fr-LU | 0x140C | Francés-Luxemburgo |
| fr-MC | 0x180C | Francés-Mónaco |
| fr-CH | 0x100C | Francés-Suiza |
| gl | 0x0056 | Gallego |
| gl-ES | 0x0456 | Gallego-España |
| ka | 0x0037 | Georgiano |
| ka-GE | 0x0437 | Georgiano-Georgia |
| de | 0x0007 | Alemán |
| de-AT | 0x0C07 | Alemán-Austria |
| de-DE | 0x0407 | Alemán-Alemania |
| de-LI | 0x1407 | Alemán-Liechtenstein |
| de-LU | 0x1007 | Alemán-Luxemburgo |
| de-CH | 0x0807 | Alemán-Suiza |
| el | 0x0008 | Griego |
| el-GR | 0x0408 | Griego-Grecia |
| gu | 0x0047 | Gujarati |
| gu-IN | 0x0447 | Gujarati-India |
| he | 0x000D | Hebreo |
| he-IL | 0x040D | Hebreo-Israel |
| hi | 0x0039 | Hindi |
| hi-IN | 0x0439 | Hindi-India |
| hu | 0x000E | Húngaro |
| hu-HU | 0x040E | Húngaro-Hungría |
| es | 0x000F | Islandés |
| is-IS | 0x040F | Islandés-Islandia |
| id | 0x0021 | Indonesio |
| id-ID | 0x0421 | Indonesio-Indonesia |
| it | 0x0010 | Italiano |
| it-IT | 0x0410 | Italiano-Italia |
| it-CH | 0x0810 | Italiano-Suiza |
| ja | 0x0011 | Japonés |
| ja-JP | 0x0411 | Japonés-Japón |
| kn | 0x004B | Kannada |
| kn-IN | 0x044B | Kannada-India |
| kk | 0x003F | Kazajo |
| kk-KZ | 0x043F | Kazajo-Kazajistán |
| kok | 0x0057 | Konkani |
| kok-IN | 0x0457 | Konkani-India |
| ko | 0x0012 | Coreano |
| ko-KR | 0x0412 | Coreano-Corea |
| ky | 0x0040 | Kirguís |
| ky-KG | 0x0440 | Kirguizo - Kirguizistán |
| lv | 0x0026 | Letón |
| lv-LV | 0x0426 | Letón-Letonia |
| lt | 0x0027 | Lituano |
| lt-LT | 0x0427 | Lituano-Lituania |
| mk | 0x002F | Macedonio |
| mk-MK | 0x042F | Macedonio - Antigua República Yugoslava de Macedonia |
| ms | 0x003E | Malayo |
| ms-BN | 0x083E | Malayo-Brunéi Darussalam |
| ms-MY | 0x043E | Malayo-Malasia |
| mr | 0x004E | Marathi |
| mr-IN | 0x044E | Marathi-India |
| mn | 0x0050 | Mongol |
| mn-MN | 0x0450 | Mongol-Mongolia |
| no | 0x0014 | Noruego |
| nb-NO | 0x0414 | Noruego (Bokmal) - Noruega |
| nn-NO | 0x0814 | Noruego (Nynorsk)-Noruega |
| pl | 0x0015 | Polaco |
| pl-PL | 0x0415 | Polaco-Polonia |
| pt | 0x0016 | Portugués |
| pt-BR | 0x0416 | Portugués-Brasil |
| pt-PT | 0x0816 | Portugués-Portugal |
| pa | 0x0046 | Punjabi |
| pa-IN | 0x0446 | Punjabí-India |
| ro | 0x0018 | Rumano |
| ro-RO | 0x0418 | Rumano-Rumanía |
| ru | 0x0019 | Ruso |
| ru-RU | 0x0419 | Ruso-Rusia |
| sa | 0x004F | Sánscrito |
| sa-IN | 0x044F | Sánscrito-India |
| sr-SP-Cyrl | 0x0C1A | Serbio (cirílico)-Serbia |
| sr-SP-Latn | 0x081A | Serbio (latino)-Serbia |
| sk | 0x001B | Eslovaco |
| sk-SK | 0x041B | Eslovaco-Eslovaquia |
| sl | 0x0024 | Esloveno |
| sl-SI | 0x0424 | Esloveno-Eslovenia |
| es | 0x000A | Español |
| es-AR | 0x2C0A | Español-Argentina |
| es-BO | 0x400A | Español-Bolivia |
| es-CL | 0x340A | Español-Chile |
| es-CO | 0x240A | Español-Colombia |
| es-CR | 0x140A | Español-Costa Rica |
| es-DO | 0x1C0A | Español-República Dominicana |
| es-EC | 0x300A | Español-Ecuador |
| es-SV | 0x440A | Español-El Salvador |
| es-GT | 0x100A | Español-Guatemala |
| es-HN | 0x480A | Español-Honduras |
| es-MX | 0x080A | Español-México |
| es-NI | 0x4C0A | Español-Nicaragua |
| es-PA | 0x180A | Español-Panamá |
| es-PY | 0x3C0A | Español-Paraguay |
| es-PE | 0x280A | Español-Perú |
| es-PR | 0x500A | Español-Puerto Rico |
| es-ES | 0x0C0A | Español-España |
| es-UY | 0x380A | Español-Uruguay |
| es-VE | 0x200A | Español-Venezuela |
| sw | 0x0041 | Suajili |
| sw-KE | 0x0441 | Suajili-Kenia |
| sv | 0x001D | Sueco |
| sv-FI | 0x081D | Sueco-Finlandia |
| sv-SE | 0x041D | Sueco-Suecia |
| syr | 0x005A | Sirio |
| syr-SY | 0x045A | Sirio-Siria |
| ta | 0x0049 | Tamil |
| ta-IN | 0x0449 | Tamil-India |
| tt | 0x0044 | Tártaro |
| tt-RU | 0x0444 | Tártaro-Rusia |
| te | 0x004A | Telugu |
| te-IN | 0x044A | Telugu-India |
| th | 0x001E | Tailandés |
| th-TH | 0x041E | Tailandés-Tailandia |
| tr | 0x001F | Turco |
| tr-TR | 0x041F | Turco-Turquía |
| uk | 0x0022 | Ucraniano |
| uk-UA | 0x0422 | Ucraniano-Ucrania |
| ur | 0x0020 | Urdú |
| ur-PK | 0x0420 | Urdú-Pakistán |
| uz | 0x0043 | Uzbeko |
| uz-UZ-Cyrl | 0x0843 | Uzbeko (cirílico)-Uzbekistán |
| uz-UZ-Latn | 0x0443 | Uzbeko (latino)-Uzbekistán |
| vi | 0x002A | Vietnamita |
| vi-VN | 0x042A | Vietnamita-Vietnam |
Referencias culturales invariables, neutras y específicas
Se han dividido las diferentes referencias culturales en tres grupos: culturas invariables, culturas neutras y culturas específicas.
La referencia cultural invariable no tiene en cuenta la referencia cultural. Se puede especificar la referencia cultural invariable por el nombre mediante una cadena vacía ("") o por el identificador de referencia cultural 0x007F. InvariantCulture recupera una instancia de la referencia cultural invariable. Se encuentra asociada al idioma inglés pero a ningún país o región. Se puede utilizar en casi todos los métodos del espacio de nombres de globalización que requieran una referencia cultural.
Una referencia cultural neutra es aquélla asociada a un idioma pero no a un país o región. Una referencia cultural específica es la que está asociada a un idioma y a un país o región. Por ejemplo, "fr" es una referencia cultural neutra y "fr-FR" es una referencia cultural específica. Tenga en cuenta que "zh-CHS" (chino simplificado) y "zh-CHT" (chino tradicional) son referencias culturales neutras.
No se recomienda la creación de instancias de una clase CompareInfo para una referencia cultural neutra porque los datos que contiene son arbitrarios. Para mostrar y ordenar los datos, especifique el lenguaje y región. Además, la propiedad Name de un objeto CompareInfo creada para una referencia cultural neutra devuelve sólo el país y no incluye la región.
Las referencias culturales tienen una jerarquía por la que la referencia cultural principal de una referencia cultural específica es una referencia cultural neutra, y la referencia cultural principal de una neutra es la propiedad InvariantCulture. La propiedad Parent devuelve la referencia cultural neutra asociada a una referencia cultural específica.
Si los recursos de la referencia cultural específica no están disponibles en el sistema, se utilizan los recursos de la referencia cultural neutra; si éstos no están disponibles, se utilizan los recursos incrustados en el ensamblado principal. Para obtener más información sobre el proceso de reserva de recursos, vea Empaquetar e implementar recursos.
La lista de referencias culturales de la API de Windows es ligeramente diferente de la lista de referencias culturales de .NET Framework. Por ejemplo, la referencia cultural zh-CHT "Chino (tradicional)" con un identificador de referencia cultural 0x7C04 no está disponible en la API de Windows. Si es necesaria la interoperabilidad con Windows (por ejemplo, mediante el mecanismo p/invoke), utilice una referencia cultural específica que esté definida en el sistema operativo. De esta manera se asegura la coherencia con la configuración regional de Windows equivalente, que se identifica con el mismo LCID.
DateTimeFormatInfo o NumberFormatInfo sólo se pueden crear para la referencia cultural invariable o para referencias culturales específicas, pero no para referencias culturales neutras.
Si DateTimeFormatInfo.Calendar es TaiwanCalendar pero Thread.CurrentCulture no es "zh-TW", DateTimeFormatInfo.NativeCalendarName, DateTimeFormatInfo.GetEraName y DateTimeFormatInfo.GetAbbreviatedEraName devuelven una cadena vacía ("").
Configuraciones regionales de Windows
A partir de la versión 2.0 de .NET Framework, el constructor CultureInfo admite el uso de configuraciones regionales de Windows, que son equivalentes a las referencias culturales, para generar automáticamente referencias culturales que no existan en .NET Framework. Para obtener más información, vea Referencias culturales creadas a partir de configuraciones regionales de Windows.
Reemplazos del Panel de control
El usuario puede reemplazar, si lo desea, algunos de los valores asociados a la referencia cultural actual de Windows en Configuración regional y de idioma del Panel de control. Por ejemplo, el usuario puede mostrar la fecha en un formato diferente o utilizar una moneda diferente a la predeterminada para la referencia cultural.
Si UseUserOverride es true y la referencia cultural especificada coincide con la referencia cultural actual de Windows, CultureInfo utiliza estos nuevos valores, incluida la configuración del usuario para las propiedades de la instancia de DateTimeFormatInfo devuelta por la propiedad DateTimeFormat, y las propiedades de la instancia de NumberFormatInfo devueltas por la propiedad NumberFormat. Si la configuración del usuario no es compatible con la referencia cultural asociada a CultureInfo (por ejemplo, si el calendario seleccionado no es uno de OptionalCalendars), el resultado de los métodos y los valores de las propiedades no se definen.
Para las referencias culturales que utilizan el euro, .NET Framework y Windows XP establecen la moneda predeterminada en euro; esto no ocurre con las antiguas versiones de Windows. Por consiguiente, si el usuario de una versión antigua de Windows no ha cambiado la moneda estableciendo las opciones de Configuración regional del Panel de control, la moneda podría ser incorrecta. Para utilizar la configuración predeterminada de .NET Framework para la moneda, utilice una sobrecarga del constructor CultureInfo que acepte un parámetro useUserOverride y establézcalo en false.
Criterios de ordenación alternativos
El identificador de referencia cultural "0x0c0a" para "Español - España" utiliza la ordenación internacional predeterminada; el identificador de referencia cultural "0x040A", que también es para "Español - España", utiliza la ordenación tradicional. Si la clase CultureInfo se construye utilizando el nombre de referencia cultural "es-ES", la nueva CultureInfo utiliza la ordenación internacional predeterminada. Para construir una CultureInfo que utilice la ordenación tradicional, utilice el identificador de referencia cultural "0x040A" con el constructor. Para obtener más información sobre otras referencias culturales con ordenaciones alternativas, vea Comparar y ordenar datos para una referencia cultural específica.
Interfaces implementadas
Esta clase implementa la interfaz ICloneable para habilitar la duplicación de objetos CultureInfo. También implementa IFormatProvider para proporcionar información de formato a aplicaciones.
Referencias culturales, subprocesos y dominios de aplicación
Hay consideraciones únicas que deben tenerse en cuenta al utilizar un subproceso asociado a un objeto CultureInfo. Para obtener más información sobre las referencias culturales y dominios de aplicación, vea Dominios de aplicación y subprocesos.
En el siguiente ejemplo de código se muestra cómo crear una CultureInfo para "Español - España" con la ordenación internacional y otra CultureInfo con la ordenación tradicional.
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
*/
En el siguiente ejemplo de código se determina la referencia cultural principal de cada referencia cultural específica que utiliza el idioma chino.
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 (Macau 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 (Macau S.A.R.) 0x0004 zh-CHS Chinese
(Simplified)
*/
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.
La clave "es 0x000F Islandés" se encuentra incorrecta "es" debe de cambiar por "is", tal y como aparece en la siguiente clave "is-IS 0x040F Islandés-Islandia".
- 04/10/2010
- Mauricio Velázquez