Frage

Also habe ich ein Programm bekommt, die mehrsprachig sein muss. Der einzige Unterschied zwischen dem, was ich brauche und was ich im Internet gefunden habe, bin, dass alle Computer meines Programm läuft auf die Lokalisierung von EN festgelegt werden.

Wir haben spanisch sprechenden Mitarbeiter, die das Programm ebenso wie die Englisch sprechenden Mitarbeiter verwenden. Also werde ich nicht in der Lage sein, etwas zu gründen, basierend auf der Lokalisierung des Computers, es wird alles in Code zu tun hat.

Ich dachte, zu versuchen, eine XML-Datei (wirklich nur ein Datensatz) für jede Form zu schaffen, die ich habe, und mit jeder Datentabelle eine wählbare Sprache. In jeder Tabelle, würde es die Informationen (Steuername, Eigentum und Text) haben die Etiketten / Kontrollkästchen setzen / etc, die es braucht. Ich werde eine neue Form Kontrolle schaffen müssen, damit ich eine generische Funktion durch haben zu gehen und alle diese Kontrollen möglichst umbenennen.

<DataSet>
   <English>
     <ControlName>labelHello</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Hello</Text>
   </English>
   <English>
     <ControlName>labelBye</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Bye</Text>
   </English>
   <Spanish>
     <ControlName>labelHello</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Hola</Text>
   </Spanish>
</DataSet>

Auch wusste ich nicht viel über die Zeichenfolgen in der Datei Ressourcen für jede Form. Könnte ich es von dort tun und verwende .NET-Funktionen, dies zu erreichen?

Also habe ich für viele Anregungen bin, weil ich wirklich will nicht zurück in das Programm gehe ich gerade geschrieben habe und setzen diese in, ich hasse es geht zurück und das Hinzufügen von mehr Funktionalität, wenn ich schon so viel Zeit damit verbracht habe mit diesem Sauger ...

Danke

War es hilfreich?

Lösung

Sie können einstellen, die Kultur, die Sie in Code möchten, z.

Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-ES");

Siehe diesem MSDN-Artikel mehr info.

Andere Tipps

Es ist ein Schmerz, aber es ist nicht schwer. Innerhalb VS2008 des WinForm Designer, wählen Sie das Formular aus, zeigen Sie seine Eigenschaften und setzen Localizable = True (wenn Sie den Teil-Klasse / Code hinter Datei anzuzeigen erhalten Sie eine neue Linie, die so etwas wie

sieht
  resources.ApplyResources(this, "$this")

Dann wird für jede locale Sie unterstützen möchten, wählen Sie Sprache, und lokalisieren alle Änderungen über die lokale Standard erforderlich.

Ich glaube, dass der Benutzer von Windows ermöglicht ein anderes Gebietsschema für eine bestimmte Anwendung zu spezifizieren. Ich habe versucht, zuletzt das mit Windows 2000.

Unter Windows können Sie eine Maschine Kultur EN, aber für den Browser, einzelne Benutzer des PCs können bevorzugte Kulturen (IE & Firefox sowieso) wählen. Alles andere auf dem PC ist Englisch In IE, gehen Sie auf Extras, Optionen, klicken Sie auf die Schaltfläche Sprache auf der Registerkarte Allgemein. Sie können eine bevorzugte Hierarchie von Sprachen angeben.

Ansonsten mit Joes Antwort gehen.

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