Compartir a través de


Buscar y utilizar recursos para una referencia cultural específica

Actualización: noviembre 2007

Common Language Runtime proporciona compatibilidad para recuperar recursos específicos de referencias culturales que están empaquetados e implementados en ensamblados satélite. Los ensamblados satélite sólo contienen archivos de recursos o recursos separados, como archivos .gif. No contienen código ejecutable.

En el modelo de implementación de ensamblado satélite, se crea una aplicación con un ensamblado predeterminado (el principal) y varios ensamblados satélite. Se deben empaquetar los recursos del ensamblado predeterminado o neutro con el ensamblado principal y crear un ensamblado satélite independiente por cada idioma que admita la aplicación. Debido a que los ensamblados satélite no forman parte del ensamblado principal, los recursos correspondientes a una referencia cultural específica se pueden reemplazar o actualizar fácilmente sin reemplazar el ensamblado principal de la aplicación.

La clase ResourceManager proporciona acceso a los recursos específicos de la referencia cultural en tiempo de ejecución y controla cómo la aplicación los recupera mediante el proceso de retroceso de recursos. Para obtener más información, vea el subtema "Proceso de reserva de recursos" del tema Empaquetar e implementar recursos.

El objeto ResourceManager determina qué recursos se van a recuperar en función de la propiedad CurrentUICulture del subproceso actual. Por ejemplo, si se compila una aplicación con los recursos predeterminados del idioma inglés en el ensamblado principal y dos ensamblados satélite que contienen recursos de los idiomas francés y alemán, y la propiedad CurrentUICulture se establece en "de", ResourceManager recuperará los recursos del idioma alemán.

La propiedad CurrentUICulture se puede establecer de varias formas. Tenga en cuenta que la forma en que se establezca esta propiedad afectará al modo en que ResourceManager recupera los recursos en función de la referencia cultural:

  • La propiedad CurrentUICulture se puede establecer en una referencia cultural específica en el código de la aplicación. Cuando la aplicación establece explícitamente esta propiedad, garantiza que siempre se recuperan los recursos para esa referencia cultural, independientemente del idioma del explorador del usuario o del sistema operativo. Considere una aplicación compilada con los recursos predeterminados del idioma inglés y dos ensamblados satélite que contienen recursos para los idiomas francés y alemán. Si la propiedad CurrentUICulture se establece en "de", el objeto ResourceManager siempre recupera los recursos del idioma alemán, aunque el usuario establezca el francés como idioma del sistema operativo. Asegúrese de que éste es el comportamiento deseado antes de que la aplicación configure esta propiedad explícitamente.

    Nota   En las aplicaciones ASP.NET, es necesario establecer CurrentUICulture de forma explícita porque es improbable que la configuración del servidor coincida con las solicitudes de cliente entrantes.

  • La propiedad CurrentUICulture se establece implícitamente si una aplicación especifica un valor CurrentUICulture. Si la aplicación no establece esta propiedad explícitamente, la establecerá la función GetUserDefaultUILanguage en Windows 2000 y productos MUI (interfaz de usuario multilingüe) de Windows XP para los que el usuario pueda establecer el idioma predeterminado. Si el usuario no establece el idioma de la interfaz de usuario, se establecerá con el idioma instalado en el sistema, correspondiente a los recursos del sistema operativo.

    Nota Si una aplicación está basada en el web, CurrentUICulture se puede establecer de forma explícita como el idioma aceptado por el explorador del usuario.

Para obtener ejemplos de cómo configurar la propiedad CurrentUICulture, vea Utilizar la propiedad CurrentUICulture.

Para obtener más información sobre cómo recuperar recursos para una referencia cultural específica, vea Recuperar recursos de ensamblados satélite y Recursos de aplicaciones de ASP.NET.

Vea también

Conceptos

Recursos en aplicaciones

Otros recursos

Codificación y localización