mOSSpOWER Geschrieben 4. Oktober 2007 Teilen Geschrieben 4. Oktober 2007 Hallo Kollegen, OK, was ich möchte ist, dass ich in einer Library-Anwendung die Möglichkeit habe, Fehler in Englisch und Deutsch darzustellen. Nun bin ich aus der "Java-Welt" gewöhnt, hier Propertyfiles zu erstellen und diese in den Classpath zu setzen, das war es. Meine Frage hier lautet, wie ist die Vorgehensweise bei C# (also in einer Console- oder Libraryanwendung). Ich habe gelesen, dass ich jede Textdatei (Key-Value-Pairs) mit ResGen explizit in eine *.resource-Datei konvertieren muss. Ist dies richtig? Wie schaut es mit den *.resx-Dateien aus. Was ist der Unterschied? OK, ich habe mit ResGen Resourcesfiles erstellt. Jetzt würde ich gerne mittels ... //ResourceManager res = new ResourceManager("SiteNavigationErrors", Assembly.Load("Util")); ResourceManager res = new ResourceManager("Util.SiteNavigationErrors", Assembly.GetExecutingAssembly()); //Thread.CurrentThread.CurrentCulture = new CultureInfo("de"); //Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("de"); Console.WriteLine(res.GetString("ERR_001")); ... darauf zugreifen .. aber egal, welche Assembly ich lade, immer bekomme ich die Fehlermeldung: Could not find any resources appropriate for the specified culture or the neutra l culture. Make sure "Util.SiteNavigationErrors.resources" was correctly embedd ed or linked into assembly "Util" at compile time, or that all the satellite ass emblies required are loadable and fully signed. Was muss ich hier noch machen? Das kann doch nicht so schwer sein. Die Resourcefiles sind doch embeded. Muss ich hier den voll-qualifizierten Pfad angeben? OK, ich erkläre kurz mal die Zusammenhänge. Ich habe Consolenanwendung (Accessor), welche auf KLasse in Libraryanwendung (Util) zugreift. In Util habe ich die Resourcefiles im Pfad "Web/Service/SiteNavigation". Wie kann ich darauf zugreifen. Danke schon mal für eure Antworten. Leider kann ich im Netz keine Antwort finden. Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
realgun Geschrieben 4. Oktober 2007 Teilen Geschrieben 4. Oktober 2007 Hi, ich Dich zwar nicht ganz verstanden (ist schon spät ), aber wenn es nur um in Ressourcen ausgelagerte Strings geht, empfehle ich Dir dieses AddOn. Die mit deutschen Meldungen gefüllte .resx Datei (zB Fehlermeldungen.de.resx) kopiere ich mir dann nach "Fehlermeldungen.en.resx", und übersetze die Meldungen in dieser Datei mit "WinRes" aus dem .Net SDK. Die neue resx muss natürlich dem Projekt hinzugefügt werden, kannst aber auch mit dem AddIn von oben machen. Die Anwendung greift je nach Spracheinstellung auf die jeweilge .resx Datei zu. Falls Du eine Standartsprache haben willst, brauchst Du eine resx ohne Länderkürzel, also "Fehlermeldung.resx". Die wird dann verwendet wenn die Anwendung eine Sprache verwendet, zu der es keine "Fehlermeldung.LÄNDERKÜRZEL.resx" gibt. Da sich meistens etwas an der "originalen" resx ändert, benutze ich dieses Tool um die diversen resx - Dateien zu syncronisieren. Sonst müsste ich ja nach jedem neuen String entweder die kompletten Key/Value paare nachflegen oder alles neu übersetzen. Ich hoffe Dich richtig verstanden zu haben mfg realgun Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.