Announcement

Collapse
No announcement yet.

Eigene neue CulturInfo

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

  • Eigene neue CulturInfo

    Hallo!

    Ich muss für meine App eine neue Oberfläche erstellen (WPF) und möchte nun auch die Übersetzung von .NET (3.5) nutzen.

    Die Sprachen de-DE und en-US gehen problemlos. Leider gibt es aber auch Fälle, in denen ich z.B. de-SPNV benötige. Diese Sprache ist eine "Abwandlung" von de-DE, wird aber so benötigt, da ein bestimmter Kundenkreis besondere Begriffe verwendet.

    Kann ich diese CultureInfo und weitere Sprachen (z.B. de-OEPNV) selbst erzeugen so dass C# das "normal" nutzt wie z.B. en-US.

    Bsp:
    Code:
        public partial class App : Application
        {
            protected override void OnStartup(StartupEventArgs e)
            {
                base.OnStartup(e);
    
    
                if (MessageBox.Show("SPNV?", "App", MessageBoxButton.YesNo) == MessageBoxResult.No)
                {
                    System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("de-DE");
                    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("de-DE");
                }
                else
                {
                    System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("de-DE");
                    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("de-SPNV");
                }
            }
        }
    Das Verzeichnis "de-SPNV" und die entsprechende App.resources.dll hab ich schon erzeugt. Nur der Aufruf bringt folgende Fehlermeldung:

    Code:
    Der Kulturname "de-spnv" wird nicht unterstützt.
    Parametername: name

    Vielen Dank!
    Tucca
    Zuletzt editiert von tucca; 02.04.2009, 08:59.

  • #2
    Hallo,

    das scheint so überhaupt nicht möglich zu sein. In der SDK-Doku/MSDN steht zur CultureInfo-Klasse unter anderem:
    Die Kulturnamen folgen dem Standard RFC 1766 und haben das Format "<Sprachcode2>-<Landes-/Regionscode2>". Dabei ist <Sprachcode2> ein aus ISO 639-1 abgeleiteter Code aus zwei Kleinbuchstaben, und <Landes-/Regionsccode2> ist ein Code aus zwei Großbuchstaben nach ISO 3166.
    Andere Arten von Namen sind also offensichtlich nicht möglich. Die danach folgende Liste scheint abschließend zu sein; für "de" sind also ausschließlich AT, CH, DE, LI, LU möglich.

    Jürgen

    Comment


    • #3
      How to: Create Custom Cultures

      Comment


      • #4
        @Ralf
        Wieder was gelernt! Hier gibt es auch noch die deutsche Version der Anleitung. Jürgen

        Comment

        Working...
        X