2015-04-15 3 views
7

Ich muss die aktuelle Kultur der Anwendung zu th-TH Ich habe versucht, dies zu tun, um ein Objekt des folgenden Typs zu erstellen, und ich beabsichtige zuzuweisen es die Eigenschaft Current des aktuellen ThreadsÄndern Sie die aktuelle Kultur der gesamten Windows Forms-Anwendung .NET Compact Edition

System.Threading.Thread.CurrentThread.CurrentCulture = 
    new System.Globalization.CultureInfo("en-US"); 

Aber .NET Compact Edition, die ich die Eigenschaft Current in der System.Threading.Thread.CurrentThread Unterkunft gibt es keine verwende.

Gibt es einen Weg, wie wir das schaffen können?

Edit: Ich kann die regionale Einstellung des Mobile-Geräts ändern und dann, wenn ich die Anwendung ausführen ich bin in der Lage den richtigen Text aus den richtigen Ressource-Dateien zu erhalten.

Aber ich bin nicht in der Lage die richtige Ressource zu erhalten, wenn die Anwendung Installieren Sie ein Setup-Projekt

mit Dies ist, was ich getan habe.

  1. Ich habe das Setup-Projekt erstellt und die Dateien Lokalisierte Ressourcen, Primäre Ausgabe und auch die Inhaltsdatei in den Anwendungsordner im Dateisystemverzeichnis des Installationsprojekts eingefügt.
  2. Ich baute es dann im Debug-Modus und die erforderlichen Cab-Dateien wurden generiert.
  3. Ich übertrug die Datei auf mein Gerät und führte dann die CAB-Datei und es sagt Installation erfolgreich.
  4. Wenn ich die Anwendung ausführen zeigt es die Zeichenfolgen nur in englischer Sprache unabhängig von den regionalen Einstellungen auf dem Gerät (Aber die richtigen Zeichenfolgen aus der Sprachressource werden in der App angezeigt, wenn ich die gleiche Anwendung im Debug-Modus ausführen direkt Auswahl das Gerät in Visual Studio und die Bereitstellung der Anwendung auf ihm)

ich auch, dass die erforderli- chen Ordner wie fr-CA überprüft haben, th-TH usw. im selben Verzeichnis erstellt werden, wo die. exe meiner Anwendung ist vorhanden

Antwort

1

Nach MSDN, das ist unmöglich.

Sie können die aktuelle Kultur nicht programmgesteuert auf einem Gerät festlegen. Sie werden vom Gerätehersteller festgelegt oder können manuell vom Gerätebenutzer konfiguriert werden, z. B. bei Ländereinstellungen auf einem Pocket PC mit Windows CE oder Windows CE .NET. Die aktuellen Kultureinstellungen gelten für jedes Gerät.

Jedoch fand ich einen Artikel auf Code Project, der eine Lösung für dieses Problem vorschlug.
Im Grunde hat der Autor seinen eigenen ResourceManager und seine Basisform erstellt, was bedeutet, dass diese Lösung wahrscheinlich nicht sehr einfach auf vorhandene kompakte Framework-Anwendungen angewendet werden kann.

Abhängig von der Komplexität Ihrer Anwendung sollten Sie möglicherweise eine Art von ResourceManager selbst implementieren oder den Artikel aus dem Code Project-Artikel verwenden.

Verwandte Themen