Compartir a través de


Localización de aplicaciones ClickOnce

La localización es el proceso de adaptar una aplicación a una referencia cultural concreta. Este proceso implica traducir el texto de la interfaz de usuario a un idioma específico de la región, usar el formato correcto de fecha y moneda, ajustar el tamaño de los controles en un formulario y reflejar los controles de derecha a izquierda si es necesario.

Al localizar la aplicación, se crean uno o más ensamblados satélite. Cada ensamblado contiene cadenas de interfaz de usuario, imágenes y otros recursos específicos de una referencia cultural dada. (El archivo ejecutable principal de la aplicación contiene las cadenas de la referencia cultural predeterminada de la aplicación).

En este tema se describen tres maneras de implementar una aplicación ClickOnce para otras referencias culturales:

  • Incluir todos los ensamblados satélite en una sola implementación.

  • Generar una implementación para cada referencia cultural que incluya un único ensamblado satélite.

  • Descargar ensamblados satélite a petición.

Incluir todos los ensamblados satélite en una implementación

En lugar de publicar varias implementaciones de ClickOnce, puede publicar una única implementación de ClickOnce que contenga todos los ensamblados satélite.

Este método es el valor predeterminado en Visual Studio. Para usar este método en Visual Studio, no es necesario realizar ningún trabajo adicional.

Para usar este método con MageUI.exe, establezca la referencia cultural de la aplicación en neutro en MageUI.exe. A continuación, incluya manualmente todos los ensamblados satélite en su implementación. En MageUI.exe puede agregar los ensamblados satélite mediante el botón Rellenar situado en la pestaña Archivos del manifiesto de su aplicación.

La ventaja de este enfoque es que crea una sola implementación y simplifica el proceso de implementación localizada. En tiempo de ejecución se usará el ensamblado satélite apropiado para la referencia cultural predeterminada del sistema operativo Windows del usuario. El inconveniente de este enfoque es que se descargan todos los ensamblados satélite cada vez que la aplicación se instala o actualiza en un equipo cliente. Si la aplicación tiene un gran número de cadenas o los clientes tienen una conexión de red lenta, este proceso puede afectar al rendimiento durante la actualización de la aplicación.

Nota

En este enfoque se presupone que la aplicación ajusta automáticamente el alto, el ancho y la posición de los controles para adaptarse a los diferentes tamaños de texto de las distintas referencias culturales. Windows Forms contiene diversos controles y tecnologías que le permiten diseñar el formulario de forma que se facilite la localización, incluidos los controles FlowLayoutPanel y TableLayoutPanel y la propiedad AutoSize. Vea también Cómo: Admitir la localización en Windows Forms mediante AutoSize y el control TableLayoutPanel.

Generar una implementación para cada referencia cultural

En esta estrategia de implementación se generan varias implementaciones. En cada una de ellas se incluye únicamente el ensamblado satélite necesario para una referencia cultural concreta y se marca la implementación como específica de esa referencia cultural.

Para usar este método en Visual Studio, establezca la propiedad Idioma de publicación de la pestaña Publicar de la región deseada. Visual Studio incluirá automáticamente el ensamblado satélite necesario para la región que seleccione y excluirá de la implementación los demás ensamblados satélite.

Nota

En ClickOnce para .NET Core 3.1 y .NET 5 o versiones posteriores, las propiedades de implementación se establecen mediante la herramienta Publicar, en lugar del Asistente para publicación y la página Publicar del Diseñador de proyectos. Para obtener más información, consulte Implementación de una aplicación Windows de .NET con ClickOnce y ClickOnce para .NET.

Puede conseguir lo mismo mediante la herramienta MageUI.exe del kit de desarrollo de software (SDK) de Microsoft Windows. Use el botón Rellenar de la pestaña Archivos del manifiesto de aplicación para excluir todos los demás ensamblados satélite del directorio de la aplicación. Luego, establezca el campo Referencia cultural de la pestaña Nombre para el manifiesto de implementación en MageUI.exe. Estos pasos no solo incluyen el ensamblado satélite adecuado, sino que también establecen el atributo language en el elemento assemblyIdentity del manifiesto de su implementación en la referencia cultural correspondiente.

Después de publicar la aplicación, repita este paso con cada referencia cultural adicional que admita su aplicación. Asegúrese de que cada vez que publica, lo hace en un directorio de servidor web diferente o en un directorio de recurso compartido de archivos distinto, ya que cada manifiesto de aplicación hará referencia a un ensamblado satélite diferente y cada manifiesto de implementación tendrá un valor diferente para el atributo language.

Descargar ensamblados satélite a petición

Si decide incluir todos los ensamblados satélite en una sola implementación, puede mejorar el rendimiento mediante la descarga a petición, que le permite marcar los ensamblados como opcionales. Los ensamblados marcados no se descargarán cuando se instala o actualiza la aplicación. Puede instalar los ensamblados cuando los necesite llamando al método DownloadFileGroup en la clase ApplicationDeployment.

Nota

La clase ApplicationDeployment y las API del espacio de nombres System.Deployment.Application no se admiten en .NET Core y .NET 5 y versiones posteriores. En .NET 7 se admite un nuevo método de acceso a las propiedades de implementación de aplicaciones. Para obtener más información, consulte Acceso a las propiedades de implementación de ClickOnce en .NET. .NET 7 no admite el equivalente de los métodos ApplicationDeployment.

La descarga de ensamblados satélite a petición difiere ligeramente de la descarga de otros tipos de ensamblados a petición. Para obtener más información y ejemplos de código sobre cómo habilitar este escenario mediante las herramientas de Windows SDK para ClickOnce, consulte Tutorial: Descarga de ensamblados satélite a petición con la API de implementación de ClickOnce.

También puede habilitar este escenario en Visual Studio. Para más información, consulte Tutorial: Descargar ensamblados satélite a petición con la API de implementación de ClickOnce mediante el diseñador.

Prueba de aplicaciones ClickOnce localizadas antes de la implementación

Únicamente se usará un ensamblado para una aplicación de Windows Forms si la propiedad CurrentUICulture del subproceso principal de la aplicación está establecida en la referencia cultural del ensamblado satélite. Es probable que los clientes de los mercados locales ya tengan una versión localizada de Windows con su referencia cultural establecida en el valor predeterminado adecuado.

Tiene tres opciones para probar las implementaciones localizadas antes de poner la aplicación a disposición de los clientes:

  • Puede ejecutar su aplicación ClickOnce en las versiones localizadas apropiadas de Windows.

  • Puede establecer la propiedad CurrentUICulture mediante programación en la aplicación. (Esta propiedad debe establecerse antes de llamar al método Run).