Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Lokalisierung ist der Prozess, mit dem Ihre Anwendung für eine bestimmte Kultur geeignet ist. Dieser Vorgang umfasst das Übersetzen von Benutzeroberflächentext in eine regionsspezifische Sprache, die korrekte Datums- und Währungsformatierung, das Anpassen der Größe von Steuerelementen in einem Formular und das Spiegeln von Steuerelementen von rechts nach links, falls erforderlich.
Die Lokalisierung Ihrer Anwendung führt zur Erstellung einer oder mehrerer Satellitenassemblys. Jede Assembly enthält UI-Zeichenfolgen, Bilder und andere Ressourcen, die für eine bestimmte Kultur spezifisch sind. (Die haupt ausführbare Datei Ihrer Anwendung enthält die Zeichenfolgen für die Standardkultur für Ihre Anwendung.)
In diesem Thema werden drei Möglichkeiten zum Bereitstellen einer ClickOnce-Anwendung für andere Kulturen beschrieben:
Schließen Sie alle Satellitenassemblies in einem einzelnen Bereitstellungsvorgang ein.
Generieren Sie eine Bereitstellung für jede Kultur, wobei jeweils eine einzige Satellitenassembly enthalten ist.
Laden Sie Satellitenkomponenten bei Bedarf herunter.
Einschließen aller Satellitenassemblies in einer Bereitstellung
Anstatt mehrere ClickOnce-Bereitstellungen zu veröffentlichen, können Sie eine einzelne ClickOnce-Bereitstellung veröffentlichen, die alle Satellitenassemblys enthält.
Diese Methode ist die Standardeinstellung in Visual Studio. Um diese Methode in Visual Studio zu verwenden, müssen Sie keine zusätzlichen Aufgaben ausführen.
Um diese Methode mit MageUI.exezu verwenden, müssen Sie die Kultur für Ihre Anwendung in MageUI.exeauf neutral festlegen. Als Nächstes müssen Sie alle Satelliten-Assemblys manuell in Ihre Bereitstellung aufnehmen. In MageUI.exekönnen Sie die Satellitenassemblys mithilfe der Schaltfläche " Auffüllen " auf der Registerkarte "Dateien " des Anwendungsmanifests hinzufügen.
Der Vorteil dieses Ansatzes besteht darin, dass sie eine einzelne Bereitstellung erstellt und Ihre lokalisierte Bereitstellungsgeschichte vereinfacht. Zur Laufzeit wird abhängig von der Standardkultur des Windows-Betriebssystems des Benutzers die entsprechende Satellitenassembly verwendet. Ein Nachteil dieses Ansatzes besteht darin, dass alle Satellitenassemblys heruntergeladen werden, wenn die Anwendung auf einem Clientcomputer installiert oder aktualisiert wird. Wenn Ihre Anwendung über eine große Anzahl von Zeichenfolgen verfügt oder Ihre Kunden eine langsame Netzwerkverbindung haben, kann sich dieser Vorgang auf die Leistung während des Anwendungsupdates auswirken.
Hinweis
Bei diesem Ansatz wird davon ausgegangen, dass Ihre Anwendung die Höhe, Breite und Position von Steuerelementen automatisch an unterschiedliche Textzeichenfolgengrößen in verschiedenen Kulturen anpasst. Windows Forms enthält eine Vielzahl von Steuerelementen und Technologien, mit denen Sie Ihr Formular so gestalten können, dass es leicht lokalisierbar ist, einschließlich der FlowLayoutPanel Steuerelemente und TableLayoutPanel der AutoSize Eigenschaft. Weitere Informationen finden Sie unter Wie man: Unterstützung der Lokalisierung in Windows-Formularen mit AutoSize und dem TableLayoutPanel-Steuerelement bietet.
Erstellen Sie eine Bereitstellung für jede Sprachkultur
In dieser Bereitstellungsstrategie generieren Sie mehrere Bereitstellungen. In jeder Bereitstellung schließen Sie nur die für eine bestimmte Kultur erforderliche Satellitenassembly ein, und markieren Sie die Bereitstellung als spezifisch für diese Kultur.
Um diese Methode in Visual Studio zu verwenden, legen Sie die Eigenschaft "Sprache veröffentlichen " auf der Registerkarte " Veröffentlichen " auf den gewünschten Bereich fest. Visual Studio enthält automatisch die für die ausgewählte Region erforderliche Satellitenassembly und schließt alle anderen Satellitenassemblys aus der Bereitstellung aus.
Hinweis
In ClickOnce für .NET Core 3.1 und .NET 5 oder höher legen Sie Bereitstellungseigenschaften mithilfe des Veröffentlichungstools anstelle des Veröffentlichungs-Assistenten und der Seite "Veröffentlichen" des Project-Designers fest. Weitere Informationen finden Sie unter Bereitstellen einer .NET-Windows-Anwendung mit ClickOnce und ClickOnce für .NET.
Sie können dasselbe erreichen, indem Sie das MageUI.exe Tool im Microsoft Windows Software Development Kit (SDK) verwenden. Verwenden Sie die Schaltfläche " Auffüllen " auf der Registerkarte "Dateien " Ihres Anwendungsmanifests, um alle anderen Satellitenassemblys aus dem Anwendungsverzeichnis auszuschließen, und legen Sie dann das Feld "Kultur " auf der Registerkarte " Name " für Ihr Bereitstellungsmanifest in MageUI.exefest. Diese Schritte enthalten nicht nur die richtige Satellitenassembly, sondern legen auch das Attribut für das languageassemblyIdentity Element in Ihrem Bereitstellungsmanifest auf die entsprechende Kultur fest.
Nach dem Veröffentlichen der Anwendung müssen Sie diesen Schritt für jede zusätzliche Kultur wiederholen, die Ihre Anwendung unterstützt. Sie müssen sicherstellen, dass Sie jedes Mal in einem anderen Webserververzeichnis oder dateifreigabeverzeichnis veröffentlichen, da jedes Anwendungsmanifest auf eine andere Satellitenassembly verweist und jedes Bereitstellungsmanifest einen anderen Wert für das language Attribut aufweist.
Herunterladen von Satelliten-Assemblies auf Abruf
Wenn Sie sich entscheiden, alle Satellitenassemblys in eine einzelne Bereitstellung einzuschließen, können Sie die Leistung mithilfe des On-Demand-Downloads verbessern, wodurch Sie Assemblys als optional markieren können. Die markierten Assemblys werden nicht heruntergeladen, wenn die Anwendung installiert oder aktualisiert wird. Sie können die Assemblys installieren, wenn Sie sie benötigen, indem Sie die DownloadFileGroup Methode für die ApplicationDeployment Klasse aufrufen.
Hinweis
Die ApplicationDeployment Klasse und APIs im System.Deployment.Application Namespace werden in .NET Core und .NET 5 und höher nicht unterstützt. In .NET 7 wird eine neue Methode für den Zugriff auf Anwendungsbereitstellungseigenschaften unterstützt. Weitere Informationen finden Sie unter Access ClickOnce-Bereitstellungseigenschaften in .NET. .NET 7 unterstützt nicht das Äquivalent von ApplicationDeployment-Methoden.
Das Herunterladen von Satellitenassemblies bei Bedarf unterscheidet sich geringfügig von dem Herunterladen anderer Assemblies. Weitere Informationen und Codebeispiele zum Aktivieren dieses Szenarios mithilfe der Windows SDK-Tools für ClickOnce finden Sie unter Exemplarische Vorgehensweise: Herunterladen von Satellitenassemblys bei Bedarf mit der ClickOnce-Bereitstellungs-API.
Sie können dieses Szenario auch in Visual Studio aktivieren. Weitere Informationen finden Sie unter Anleitung: Herunterladen von Satellitenassemblys on Demand mit der ClickOnce-Bereitstellungs-API mit dem Designer.
Testen lokalisierter ClickOnce-Anwendungen vor der Bereitstellung
Eine Satellitenassembly wird nur für eine Windows Forms-Anwendung verwendet, wenn die CurrentUICulture Eigenschaft für den Hauptthread der Anwendung auf die Kultur der Satellitenassembly festgelegt ist. Kunden in lokalen Märkten werden wahrscheinlich bereits eine lokalisierte Version von Windows ausführen, wobei ihre Kultur auf den entsprechenden Standardwert festgelegt ist.
Sie haben drei Optionen zum Testen lokalisierter Bereitstellungen, bevor Sie Ihre Anwendung für Kunden verfügbar machen:
Sie können Ihre ClickOnce-Anwendung auf den entsprechenden lokalisierten Versionen von Windows ausführen.
Sie können die CurrentUICulture Eigenschaft programmgesteuert in Ihrer Anwendung festlegen. (Diese Eigenschaft muss festgelegt werden, bevor Sie die Run Methode aufrufen.)