Frage

Dies bezieht sich auf meinen frühen Post heute: Link-Text

So, jetzt habe ich Demo winforms app mit zwei verschiedenen Lokalisierungen, ein Englisch, ein spanisch. Lassen Sie uns jetzt sagen, dass ich eine große app haben, lassen Sie uns sagen, dass es Lokalisierungen in 15 verschiedenen Sprachen unterstützt. In der früheren Post, wurde vorgeschlagen, dass ich ein paar Zeilen hinzufügen, wenn das Formular die Lokalisierung gesetzt initialisiert wird. Derzeit bin ich mit Klick einmal meine Anwendung bereitstellen. Ich versuche, einen Weg zu finden, ohne dass 15 verschiedene Aromen des App zu implementieren. Gibt es eine Möglichkeit an dem aktuellen Benutzer Lokalisierung zu suchen, und wenn es eine der Sprachen übereinstimmt ich meine Bildschirme geschrieben habe, dass zu verwenden, da andernfalls die Standardeinstellung verwenden?

War es hilfreich?

Lösung

Das eingebaute in Lokalisierungssystem von .NET Framework bereits behandelt diese Ausweichsituation. Sie installieren nur die Satelliten-DLLs, die Formulare und Steuerelemente zu lokalisieren und dann, wenn die richtige das Gebietsschema des Benutzers übereinstimmt, wird .NET es verwenden, sonst wird es zu dem nächsten verwandten Eltern locale Rückfall. Zum Beispiel, wenn Ihre Anwendung Standardsprache ist en-US, aber Sie haben eine en-GB-Übersetzung und eine en-Übersetzung zur Verfügung gestellt, dann wird der Rückfall ist:

  

en-GB-> en-> en-US

d. wenn en-GB nicht zur Verfügung steht, sieht es für en, und wenn das nicht da ist, wird die Vorgabe, en-US.

Wenn daher verteilen, können Sie einfach Ihre Haupt-en-US-Anwendung verteilen und dann zusätzliche Satelliten-DLLs für bestimmte Sprachen wie, sagen wir, Sprachpakete zur Verfügung stellen. Es ist ein Attribut, SatelliteContractVersionAttribute , dass ermöglicht Ihre Hauptbaugruppen, die Satelliten Versionen anzuzeigen, dass sie will, die Ihre Lokalisierungen ermöglicht über Montage Versionen zu arbeiten (zB wenn die Assembly-Versionen erhöhen mit dem Build - Sie effektiv die Build-Nummer ignorieren).

MSDN hat eine Menge Informationen über die Globalisierung und Lokalisierung und wie das funktioniert, auch im Rahmen der Clickonce-Bereitstellung. Überprüfen Sie die Globalizing Windows Forms-Abschnitt .

Natürlich, wenn Sie nicht auf dem .NET-System gewählt haben, verlassen unterstützt globalisierte Produkte, dann werden Sie mit etwas zu entwickeln, die den gewählten Richtung einpassen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top