Seite 1 von 1
Hilfe mit dem Assistant
Verfasst: 16. September 2006 23:24
von Marco812
Hallo,
wie würdet ihr eine Hilfe mit dem Assistant aufbauen.
Würdet ihr den QAssistantClient benutzen um den Assistant zu starten. Problem dabei ist, wenn jetzt der Assistant nicht mit dem QAssistantClient bzw. aus dem Programm gestartet wird, sondern Manuel dann ist die Hilfe nicht verfügbar. Wäre es sinnvoll den Assistant an die eigenen Bedürfnisse anzupassen und den überflüssigen Code zu entfernen, der die Defaulthilfe aufruft. Wie sieht es aus wenn die Hilfe in mehreren Sprachen zur verfügung stehen soll, muss ich dann alle HTML-Seiten mehrmals erstellen oder kann ich so eine art "tr" einfügen. Sollten die HTML-Seiten als resource mit in den Assistant Kompiliert werden, damit der Benutzer nichts ändern kann. Dann hätte man so eine art Helpfile wie es sie unter Windows gibt.
Kennt ihr evtl. ein Tutorial oder Beispielprojekt dazu wie man so eine Hilfe aufbaut?
Gruß
Marco812
Re: Eigene Hilfe aufbauen (Assistant)
Verfasst: 17. September 2006 10:21
von caligano
Marco812 hat geschrieben:
Kennt ihr evtl. ein Tutorial oder Beispielprojekt dazu wie man so eine Hilfe aufbaut?
Hallo!
Das hier könnte dich interessieren :
http://www.trolltech.com/developer/videos
Verfasst: 19. September 2006 22:33
von Marco812
Hallo,
danke für den Tipp, aber dieses Video ist mir bekannt und das dazugehörige Tutorial (
http://my.opera.com/qtcoder/forums/topic.dml?id=134716) auch.
Meine frage war vereinfacht, welche Struktur macht Sinn um eine mehrsprachige Hilfe mit dem Assistant aufzubauen, wobei dieser extern und aus dem Programm gestartet werdet kann.
Gruß
Marco812
Verfasst: 27. September 2006 09:38
von Marco812
Hallo,
kann mir jemand sagen, wie ich mit "setArguments" eine oder ähnlichem eine Übersetzungsdatei aus einer Resource laden kann und nicht nur das verzeichniss angeben ("-resourceDir").
Ich meine etwas in der Art:
Translator* clientTranslator = new QTranslator();
clientTranslator ->load( ":/translation/client_"+ language + ".qm" );
client.installTranslator( clientTranslator );
Gruß
Marco812
Verfasst: 27. September 2006 12:19
von macman
Ich würde Sprachdateien gar nicht in die Resource packen, da schlecht erweiterbar. Mach es extern, dann kann es jeder selbst erweitern und du musst Dich nicht drum kümmern.
Verfasst: 27. September 2006 22:46
von Marco812
Das verstehe ich nicht, was soll denn erweitert werden? Wenn alles übersetzt ist muss nichts mehr geändert werden und vom Benutzer schon gar nicht, oder sehe ich das falsch?
Es wäre nett wen du mir dennoch sagen könntest wie ich eine resource sinnvoll mit dem assistant laden kann.
Verfasst: 28. September 2006 07:21
von macman
Marco812 hat geschrieben:Das verstehe ich nicht, was soll denn erweitert werden?
Na die Anzahl der verfügbaren Sprachen. Als ich eine bestimmte App entwickelt habe, wurde die in 17 Sprachen übersetzt. Inzwischen sind es über 20, mit deinem Ansatz hätte ich jedesmal eine neue Version rausbringen müssen, mit neuer Versionsnummer, obwohl sich an der Logik nichts geändert hat.
Marco812 hat geschrieben:Wenn alles übersetzt ist muss nichts mehr geändert werden und vom Benutzer schon gar nicht, oder sehe ich das falsch?
LanguagePacks sind inzwischen die Regel,
hier mal ein Beispiel. Man besorgt sich die neueste Programmversion und die Übersetzung, sobald sie fertig ist.
Marco812 hat geschrieben:Es wäre nett wen du mir dennoch sagen könntest wie ich eine resource sinnvoll mit dem assistant laden kann.
Sorry, mit dem Assistenten habe ich noch nichts gemacht. Müsste raten und probieren und dazu fehlt mir momentan die Zeit.
Verfasst: 28. September 2006 09:16
von Marco812
OK, du hast mich überzeugt.
Allerdings habe ich jetzt noch eine Frage dazu. Jetzt habe ich ein Verzeichnis mit x Übersetzungsdateien, woher weiß ich welche geladen werden soll? Kann ich irgendwie das Komplette Verzeichnis durchsuchen und anhand der verfügbaren Übersetzungsdateien dem Benutzer die Verfügbaren Sprachen zur Auswahl anzeigen?
Verfasst: 28. September 2006 10:58
von macman
Mit QDir::entryInfoList und entsprechendem Filter bekommst Du alle Files eines Verzeichnisses. Mit QLocal bekommst Du die Sprache des aktuellen Systems und wenn Du dynamisch die Sprache umschalten willst, musst Du dir noch zusätzlich was basteln. Die Sprachdateinamen müssen dann ein bestimmtes Format haben, z.B. MyApp_en_uk.qm, und welche geladen wird, ergibt sich dann aus QLocale oder der dynamischen Einstellung.
Verfasst: 30. September 2006 18:46
von Marco812
Vielen Dank für die Hilfe, funktioniert jetzt alles soweit ganz gut.