Compartir a través de


Localizar aplicaciones ClickOnce

La localización es el proceso de hacer que la aplicación sea adecuada para una referencia cultural específica. Este proceso implica traducir el texto de la interfaz de usuario (UI) en un idioma específico para la región, usando los formatos correctos de fecha y moneda, ajustando el tamaño de los controles de un formulario y reflejándolos de derecha a izquierda si es necesario.

La localización de la aplicación da como resultado la creación de uno o varios ensamblados satélite. Cada ensamblado contiene cadenas de interfaz de usuario, imágenes y otros recursos específicos de una referencia cultural determinada. (El archivo ejecutable principal de la aplicación contiene las cadenas de la referencia cultural predeterminada para la aplicación).

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

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

  • Genere un despliegue para cada cultura, con un único ensamblado satélite incluido en cada uno.

  • Descargue ensamblajes satélite bajo demanda.

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

En lugar de publicar varias implementaciones de ClickOnce, puede publicar una sola 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, debe establecer la referencia cultural de la aplicación en neutral en MageUI.exe. A continuación, debe incluir manualmente todos los ensamblados de satélite en su implementación. En MageUI.exe, puede agregar los ensamblados satélite mediante el botón Rellenar de la pestaña Archivos del manifiesto de aplicación.

La ventaja de este enfoque es que crea una sola implementación y simplifica el caso de implementación localizada. En tiempo de ejecución, se usará el ensamblado satélite adecuado, en función de la cultura predeterminada del sistema operativo Windows del usuario. Un inconveniente de este enfoque es que descarga todos los ensamblados satélite siempre 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 supone que la aplicación ajusta automáticamente el alto, el ancho y la posición de los controles para dar cabida a diferentes tamaños de cadena de texto en diferentes referencias culturales. Windows Forms contiene una variedad de controles y tecnologías que permiten diseñar el formulario para que sea fácilmente localizable, incluidos los FlowLayoutPanel controles y TableLayoutPanel , así como la AutoSize propiedad . Vea también Cómo: Dar soporte a la localización en formularios de Windows utilizando AutoSize y el control TableLayoutPanel.

Generar una implementación para cada cultura

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

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

Nota:

En ClickOnce para .NET Core 3.1 y versiones posteriores de .NET 5, establezca las propiedades de implementación mediante la herramienta de publicación en lugar del asistente de publicación y la página de publicación 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 lograr 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 y, a continuación, establezca el campo Referencia cultural en la pestaña Nombre del manifiesto de implementación en MageUI.exe. Estos pasos no solo incluyen el ensamblado satélite correcto, sino que también establecen el atributo language en el elemento assemblyIdentity de su manifiesto de implementación en la referencia cultural correspondiente.

Después de publicar la aplicación, debe repetir este paso para cada referencia cultural adicional que admita la aplicación. Debe asegurarse de publicar en un directorio diferente de servidor web o de recurso compartido de archivos cada vez, 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.

Descarga de 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, lo que le permite marcar ensamblados como opcionales. Los ensamblados marcados no se descargarán cuando la aplicación esté instalada o actualizada. Puede instalar los ensamblados cuando los necesite llamando al método DownloadFileGroup de la clase ApplicationDeployment.

Nota:

La ApplicationDeployment clase y las API del System.Deployment.Application espacio de nombres no se admiten en .NET Core y .NET 5 ni en 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 Access ClickOnce deployment properties in .NET (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 clickOnce.

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

Prueba de aplicaciones ClickOnce localizadas antes de la implementación

Un ensamblado satélite se utilizará para una aplicación de Windows Forms solo si la propiedad CurrentUICulture del subproceso principal de la aplicación se establece en la cultura del ensamblado satélite. Es probable que los clientes de los mercados locales ya ejecuten 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 que la aplicación esté disponible para los clientes:

  • Puede ejecutar la aplicación ClickOnce en las versiones localizadas adecuadas de Windows.

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