Domanda

Il progetto è un'applicazione GNOME non un ASP.NET. Devo caricare un file welcome.html nella pagina principale dell'interfaccia utente. Proprio come fa MonoDevelop. Ma non so come creare versioni internazionali che verranno caricate in base alla località. E non so come raggrupparlo nel binario usando una sorta di gestione delle risorse.

È stato utile?

Soluzione

MonoDevelop utilizzava HTML per la pagina di benvenuto, ma all'epoca (circa 18 mesi fa) abbiamo trovato un browser GTK + come una dipendenza imbarazzante per l'uso multipiattaforma, quindi siamo passati al semplice GTK # con un background personalizzato rendering.

Detto questo, è abbastanza facile usare HTML usando Webkit-GTK & amp; il wrapper # Webkit. Crea un widget WebKit.WebView, quindi utilizza il metodo LoadHtml per caricare HTML da una stringa.

Leggere una risorsa di testo incorporata da un assembly è abbastanza semplice:

string text;
using (var stream = typeof(SomeTypeInYourAssembly).Assembly.GetManifestResourceStream (resourceId))
    using (var sr = new StreamReader (stream))
        text = sr.ReadToEnd ();

Questo leggerà una risorsa incorporata con l'argomento / res del compilatore C #: FILE [, ID] o usando la "risorsa incorporata" crea azione in MonoDevelop. Puoi impostare l'ID risorsa in MD usando il pad proeprty se non ti piace l'impostazione predefinita.

La localizzazione è più complicata. Il modo ".NET" " sarebbe utilizzare assemblee satellitari localizzate contenenti risorse localizzate. Tuttavia, ciò che abbiamo fatto in MD era usare un file XSLT per convertire un file XML in HTML. Potremmo quindi localizzare il file XML abbastanza facilmente, usando Gettext e le classi DOM XML.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top