Frage

Das Projekt ist eine GNOME-Anwendung, kein ASP.NET. Ich brauche eine welcome.html-Datei in die Hauptseite der Benutzeroberfläche zu laden. Genau wie MonoDevelop tut. Aber ich weiß nicht, wie internationale Versionen zu machen, die auf Ort asierend werden geladen. Und ich weiß nicht, wie es in den binären zu bündeln, eine Art Ressourcenmanagement.

War es hilfreich?

Lösung

MonoDevelop verwendete HTML verwendet für die Begrüßungsseite, aber zu der Zeit (vor etwa 18 Monaten) fanden wir einen GTK + Web-Browser eine peinliche Abhängigkeit für plattformübergreifende Einsatz zu sein, so geschaltet, auf Ebene GTK # mit einigem benutzerdefinierten Hintergrund Rendering.

Das heißt, es ist ziemlich einfach HTML zu verwenden mit Webkit-GTK & die Webkit # Wrapper. Erstellen Sie einen WebKit.WebView Widget, dann die loadhtml Methode verwenden, um HTML aus einer Zeichenfolge zu laden.

aus einer Assembly eine eingebettete Text-Ressource zu lesen ist recht einfach:

string text;
using (var stream = typeof(SomeTypeInYourAssembly).Assembly.GetManifestResourceStream (resourceId))
    using (var sr = new StreamReader (stream))
        text = sr.ReadToEnd ();
FILE [ID] oder mit dem "Embedded Resource" baut Aktion in MonoDevelop:

Dies wird eine Ressource mit dem C # -Compiler Argumente / res eingebettet lesen. Sie können die Ressourcen-ID in MD mit dem proeprty Pad gesetzt, wenn Sie den Standard nicht mögen.

Der Ort ist kniffliger. Der „.NET Weg“ wäre lokalisierte Satelliten-Baugruppen lokalisierten Ressourcen enthalten, zu verwenden. Aber wir, was wir in MD tat, war eine XSLT-Datei zu verwenden, um eine XML-Datei in HTML zu konvertieren. Wir könnten dann die XML-Datei lokalisieren ganz leicht, mit Gettext und die XML-DOM-Klassen.

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