Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Lokalisatie is het proces om uw toepassing geschikt te maken voor een specifieke cultuur. Dit proces omvat het vertalen van gebruikersinterfacetekst (UI) naar een regiospecifieke taal, met behulp van de juiste datum- en valutaopmaak, het aanpassen van de grootte van besturingselementen op een formulier en het spiegelen van besturingselementen van rechts naar links, indien nodig.
Het lokaliseren van uw toepassing resulteert in het maken van een of meer satellietassembly's. Elke assembly bevat UI-tekenreeksen, afbeeldingen en andere resources die specifiek zijn voor een bepaalde cultuur. (Het belangrijkste uitvoerbare bestand van uw toepassing bevat de tekenreeksen voor de standaardcultuur voor uw toepassing.)
In dit onderwerp worden drie manieren beschreven om een ClickOnce-toepassing voor andere culturen te implementeren:
Alle satellietsamenstellingen opnemen in één uitrol.
Genereer één implementatie voor elke cultuur, met één satellietassembly die in elke cultuur is opgenomen.
Download satellietsamenstellingen op verzoek.
Het includeren van alle satellietassembly's in een deployment
In plaats van meerdere ClickOnce-implementaties te publiceren, kunt u één ClickOnce-implementatie publiceren die alle satellietassembly's bevat.
Deze methode is de standaardmethode in Visual Studio. Als u deze methode in Visual Studio wilt gebruiken, hoeft u geen extra werk te doen.
Als u deze methode wilt gebruiken met MageUI.exe, moet u de cultuur voor uw toepassing neutraal instellen in MageUI.exe. Vervolgens moet je handmatig alle satellietassembly's in je implementatie opnemen. In MageUI.exekunt u de satellietassembly's toevoegen met behulp van de knop Vullen op het tabblad Bestanden van uw toepassingsmanifest.
Het voordeel van deze aanpak is dat er één implementatie wordt gemaakt en het gelokaliseerde implementatieverhaal wordt vereenvoudigd. Tijdens runtime wordt de juiste satellietassembly gebruikt, afhankelijk van de standaardcultuur van het Windows-besturingssysteem van de gebruiker. Een nadeel van deze aanpak is dat alle satellietassembly's worden gedownload wanneer de toepassing wordt geïnstalleerd of bijgewerkt op een clientcomputer. Als uw toepassing een groot aantal tekenreeksen heeft of als uw klanten een trage netwerkverbinding hebben, kan dit proces van invloed zijn op de prestaties tijdens het bijwerken van de toepassing.
Opmerking
Bij deze benadering wordt ervan uitgegaan dat uw toepassing de hoogte, breedte en positie van besturingselementen automatisch aanpast om verschillende tekenreeksgrootten in verschillende culturen aan te passen. Windows Forms bevat verschillende besturingselementen en technologieën waarmee u uw formulier kunt ontwerpen om het gemakkelijk te lokaliseren, inclusief de FlowLayoutPanel en TableLayoutPanel besturingselementen en de AutoSize eigenschap. Zie ook Procedure: Lokalisatie in Windows-formulieren ondersteunen met behulp van AutoSize en het besturingselement TableLayoutPanel.
Eén implementatie genereren voor elke cultuur
In deze implementatiestrategie genereert u meerdere implementaties. In elke implementatie neemt u alleen de satellietassembly op die nodig is voor een specifieke cultuur en markeert u de implementatie als specifiek voor die cultuur.
Als u deze methode wilt gebruiken in Visual Studio, stelt u de eigenschap Publish Language op het tabblad Publiceren in op de gewenste regio. Visual Studio bevat automatisch de satellietassembly die is vereist voor de regio die u selecteert en sluit alle andere satellietassembly's uit van de implementatie.
Opmerking
In ClickOnce voor .NET Core 3.1 en .NET 5 of hoger stelt u implementatie-eigenschappen in met behulp van het hulpprogramma Publiceren in plaats van de wizard Publiceren en de pagina Publiceren van projectontwerper. Zie Een .NET Windows-toepassing implementeren met ClickOnce en ClickOnce voor .NET voor meer informatie.
U kunt hetzelfde doen met behulp van het hulpprogrammaMageUI.exe in de Microsoft Windows Software Development Kit (SDK). Gebruik de knop Vullen op het tabblad Bestanden van uw toepassingsmanifest om alle andere satellietassembly's uit te sluiten uit de toepassingsmap en stel vervolgens het veld Cultuur in op het tabblad Naam voor uw implementatiemanifest in MageUI.exe. Deze stappen omvatten niet alleen de correcte satellietassembly, maar stellen ook het language kenmerk in op het assemblyIdentity element in uw implementatiemanifest voor de corresponderende cultuur.
Nadat u de toepassing hebt gepubliceerd, moet u deze stap herhalen voor elke extra cultuur die door uw toepassing wordt ondersteund. U moet ervoor zorgen dat u elke keer naar een andere webservermap of bestandssharemap publiceert, omdat elk toepassingsmanifest naar een andere satellietassembly verwijst en elk implementatiemanifest een andere waarde voor het language kenmerk heeft.
Assemblies van satellieten op aanvraag downloaden
Als u besluit om alle satellietassembly's in één implementatie op te nemen, kunt u de prestaties verbeteren door downloaden op aanvraag te gebruiken, zodat u assembly's kunt markeren als optioneel. De gemarkeerde assembly's worden niet gedownload wanneer de toepassing is geïnstalleerd of bijgewerkt. U kunt de assembly's installeren wanneer u ze nodig hebt door de DownloadFileGroup methode in de ApplicationDeployment klasse aan te roepen.
Opmerking
De ApplicationDeployment klasse en API's in de System.Deployment.Application naamruimte worden niet ondersteund in .NET Core en .NET 5 en latere versies. In .NET 7 wordt een nieuwe methode voor het openen van toepassingsimplementatie-eigenschappen ondersteund. Zie Access ClickOnce-implementatie-eigenschappen in .NET voor meer informatie. .NET 7 biedt geen ondersteuning voor het equivalent van ApplicationDeployment-methoden.
Het downloaden van satellietassembly's op aanvraag verschilt enigszins van het downloaden van andere soorten assembly's op aanvraag. Zie Walkthrough voor meer informatie en codevoorbeelden over het inschakelen van dit scenario met behulp van de Windows SDK-hulpprogramma's voor ClickOnce : Satellietassembly's op aanvraag downloaden met de ClickOnce Deployment-API.
U kunt dit scenario ook inschakelen in Visual Studio. Zie Walkthrough: Satellietassembly's op aanvraag downloaden met de ClickOnce Deployment-API met behulp van de ontwerpfunctie voor meer informatie.
Gelokaliseerde ClickOnce-toepassingen testen vóór de implementatie
Een satellietassembly wordt alleen gebruikt voor een Windows Forms-toepassing als de CurrentUICulture eigenschap voor de hoofdthread van de toepassing is ingesteld op de cultuur van de satellietassembly. Klanten in lokale markten zullen waarschijnlijk al een gelokaliseerde versie van Windows uitvoeren met hun cultuur ingesteld op de juiste standaardinstelling.
U hebt drie opties voor het testen van gelokaliseerde implementaties voordat u uw toepassing beschikbaar maakt voor klanten:
U kunt uw ClickOnce-toepassing uitvoeren op de juiste gelokaliseerde versies van Windows.
U kunt de CurrentUICulture eigenschap programmatisch instellen in uw toepassing. (Deze eigenschap moet worden ingesteld voordat u de Run methode aanroept.)