Announcement

Collapse
No announcement yet.

Mehrsprachigkeit .net 2.0

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mehrsprachigkeit .net 2.0

    Hallo Zusammen,

    ich möchte eine Anwendung Mehrsprachig machen. Und zwar auf deutsch und englisch.

    Sofern ich bei den Projekteigenschaften das Zielframework 4.0 eingeschaltet habe, dann funktioniert es. Wenn ich das Zielframework 2.0 dann wird mir immer die Sprache angezeigt, welche ich bei "Language=(Standard)" eingetragen habe.

    Projekteinstellungen/Assemblyinformationen:
    neutrale Sprache=(Keine)

    Alle Forms haben die Eigenschaften:
    Language=(Standard)
    Localizable=True



    Folgender Code wird bei dem Startformular ausgeführt:

    [highlight=vbnet]

    Public Sub New()

    If IO.File.Exists("lang.en") Then
    My.Application.ChangeUICulture("en-US")
    My.Application.ChangeCulture("en-US")
    Else
    My.Application.ChangeUICulture("de-DE")
    My.Application.ChangeCulture("de-DE")
    End If


    InitializeComponent()
    End Sub

    [/highlight]

    Wie gesagt, mit Zielframework 4.0 funktioniert es und mit Zielframework 2.0 funktioniert es nicht.


    Gruß
    derOptimist

  • #2
    Das sollte in beiden Frameworks gleich funktionieren.

    Was passiert drum herum das schief gehen könnte ...
    a.) Was ist "lang.en" für eine Datei? Was hat die damit zu tun und warum suchst du die im aktuellen Arbeitsverzeichnis? (Das ist nicht zwangsweise die wo die Executable liegt)
    b.) Die Resourcendateien mit den Sprachen hast du auch neu kompiliert? Nicht das du einfach das Framwork umschaltest aber die Resourcenassemblies weiter im 4er Format sind und nicht geladen werden können (Ich vermute mal auch Resourcendateien sind Framework abhängig).

    Nebenbei wenn du tatsächlich nur die Sprache ändern willst solltest du keine Kultur angeben. So überschreibst du dem User seine persönlichen Präferenzen in den Regionaleinstellungen mit denen aus den Standards (Nummernformate , Datumsformate etc.)
    Wenn es nur um die Sprache geht sollte es reichen die UICulture zu setzen und dann eben nur "en" oder "de" ohne Kultur hinten dran.

    Comment


    • #3
      Hallo Ralf,

      die Datei lang.en bzw. lang.de dient nur um zu merken welche Sprache gewählt wurde. Diese Datei liegt im Anwendungsverzeichnis und erst einmal ein "Behelf".

      Resourcendateien habe ich nicht neu kompiliert bzw. welche Dateien meinst du genau? Ist es diese hier?
      - Applikation\bin\Release\en-US\Applikation.resources.dll

      Wie könnte man diese speziell neu kompilieren?

      Gruß

      Comment

      Working...
      X