Wadoku.de Forum
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics  
[Register] Register /  [Login] Login 
wadoku notify Version 0.2 !  RSS feed
Forum Index » Japanisch auf PC/PDA
Author Message
boscowitch



Joined: 23/09/2008 16:03:04
Messages: 231
Location: ケルン
Offline

DIESE VERSION WIRD NICHT MEHR WEITER ENTWICKELT UND IST ÜBERARBEITET!!!!
FÜR EINE NEUE VERSION SCHAUEN SIE BITTE UNTER http://www.boscowitch.de/projects/wadoku-notify


Die neu Version hat jetzt 3 Ausgaben und man kann auf Romanji Lesung umstellen per startparameter:

-romanji ist mit allen Ausgabemethoden kombinierbar

-time ZEITINMS gibt die zeit in milli Sekunden an wie lange die Notificationbox angezeigt werden soll

-jap-only dadurch wird nur gesucht wenn japanischen zeichen makiert sind

Dies ist die Standardmethode mit der option -romanji
image

Dies ist die Shell Ausgabe (am schnellsten) per Option:
-stdout

image

Dies ist ein kleine gtk fenster per Option:
-gtk (etwas schneller als die Standardmethode)

image


das ganze ist auch nicht mit threads sondern mit events gemacht und ist somit was cpu schonender wenn man nichts macht.

die suchergebnisse konnte ich weiter verbessern indem ich 2 neue felder in meiner datenbank habe japanese_stripped und reading_stripped die z.b. von 日本 [a]; ニッポン nur 日本 um dadurch die suche nach längen zu sortierne so kommt als erstes das passenste und kürzeste ergebniss (und nicht ein passendes das vieleicht aber ein beispiel satz ist weils in der db früher stand

was nicht so gut:
einzel kanjis ist 50/50 deutsch suche ist noch arg schlecht, aber das leigt natürlich auch an wadoku da es jap deutsch und nicht andersum konzipiert ist.

TODO:
-extra kanji dict database für einzel makierte kanjis
-suche für deutsch -> jap verbessern
-hotkey für switchen zwischen erstem 2. 3. ect ergebnissen falls das erste nicht richtig war
-falls möglich windows build aber das steht in den sternen erstmal mach ich die basis


Demo Vider der Version 0.2:
http://www.youtube.com/watch?v=uhwp0XKX9U8

Download:
http://www.boscowitch.de/jap/wadoku_notify-0.2.tar.xz

Für eine anleitung zum Kompilieren bitte die beigefügte README Datei lesen!


Archlinux user können es sich auch einfacher über AUR installieren
mit yaourt -S wadoku-notify

für Vorschläge und Anregungen bin ich offen!
falls sie mich kontaktieren wollen einfach unter Kontakt bei www.boscowitch.de

Wer ein n900 ode ränliches Maemo Handy hat kann wenn er alles nötige installiert hat (Vala gtk-2.0-dev sqlite3-dev make gcc ect)
wadoku-notify auch auf seinem handy installieren. jedoch is die geschwindikeit noch sehr langsam... aber ich arbeite daran !!
Hier Screenshot des proof of concept in dem Maemo 5 SDK emulator:
http://www.boscowitch.de/jap/maemo.png



für alle die mit entwickeln wollen es gitb jetzt ein offizielles gitrepos auf github:
http://github.com/boscowitch/wadoku-notify

hier die read-only url: git://github.com/boscowitch/wadoku-notify.git

bert2002



Joined: 23/03/2009 22:10:07
Messages: 11
Offline

Uhhh gerade aus dem AUR installiert und funktioniert einwandfrei.
Klarer Vorteil gegenüber Rickaichan ist das man es im ganzen System benutzen. Wunderbar!
RuRuKo



Joined: 06/01/2010 10:43:16
Messages: 4
Offline

Schaut sehr interessant aus, ich kann es aber unter Ubuntu 9.10 nicht compilieren, ich bekomme diese Fehlermeldungen:

image

Woran kann das liegen?

Schon mal danke im Voraus!
bert2002



Joined: 23/03/2009 22:10:07
Messages: 11
Offline

Ich hab nen Ubuntu build and boscowitch gesendet, aber keine Ahnung wo er das hochgeladen hat. Ich hab das leider nicht mehr auf dem Computer, aber er sollte das gleich irgendwo hochladen.
boscowitch



Joined: 23/09/2008 16:03:04
Messages: 231
Location: ケルン
Offline

ah sry ich guck sobalt ich daheim bin. bin grad unterwegs mim handy. kann aber auch daran liegen das ubuntu noch nich die neuste vala version hat 8.0.q oder so vala is halt noch in der entwicklung. aber ich kann sobalt ich daheim bin auch ein c file uploaden dann gehts bei allen. vala generiert ja c gtk code
boscowitch



Joined: 23/09/2008 16:03:04
Messages: 231
Location: ケルン
Offline

so hier erstmal die Build von bert2002:
der hat nmlich ein 32bit ubuntu build erstellt, ein dank schonmal ^^
http://www.boscowitch.de/jap/wadoku-notify_0.2ubuntu1_i386.deb

im moment lad ich grad auch eine neue zip datei hoch, nun sollte s auf allen relativ aktuellen linuxen mit gcc und den gtk devs compilierne auch ohne aktuelles vala
man muss nur statt make halt:
make wadoku-notify
eingeben dann wird nicht vond der vala sondern von der c datei compiliert
どうぞ

@bert wenn du nen script hast um ubuntu buils zu automatisieren und zu debs zu machen immer her damit ^^ bzw. wenn sich jemand eifrieg fühlt build zu erstellen auch für 64bit please HELP !!^^
RuRuKo



Joined: 06/01/2010 10:43:16
Messages: 4
Offline

Danke bert2002 für die .deb und danke boscowitch für's Bereitstellen und vor allem für's Programmieren!
boscowitch



Joined: 23/09/2008 16:03:04
Messages: 231
Location: ケルン
Offline

heh nichts zu danken ^^ ich bin froh wenn meine arbeit auch genutzt wird also einen dank auch für deine rückmeldung, ohne die hätt ich gar nich gemerkt das es nicht so user freundlich is zum compilieren wegen deralten vala verison in ubuntu.

achja und wenn dus gut findest dann spread the word bei allen (momentan leider nur) linux usern die du kennst die japanisch lernen.

wenn nich dann sag bitte was noch doof ist ^^ nen paar sachen stehn da shcon auf meiner todo liste (daemon modus, hotkeys um sich den 2. und 3. treffer anzeigen zu lassen falls der erste nicht de rrichtige ist und noch nen hotkey um den neue ausgewählten als ersttreffer einzutragen
system



Joined: 29/12/2009 08:46:05
Messages: 142
Offline

image
system



Joined: 29/12/2009 08:46:05
Messages: 142
Offline

Ich habe gerade mal versucht das ganze unter Mac OS X Snow Leopard zu bauen. Im Makefile muss man "sed" zu "gsed" ändern, weil "-i" eine Gnu-Erweiterung ist, die das FreeBSD-"sed", das bei Mac OS X mit dabei ist, nicht beherrscht. Per "port install coreutils libnotify gtk2 vala" holt man sich über Macports alle nötigen Abhängigkeiten.

Bei Bau gibt es dann aber einen Fehler, weil POSIX_FADV_RANDOM und POSIX_FADV_WILLNEED unbekannt sind. Durch Auskommentieren der beiden Zeilen
if(Posix.posix_fadvice(fd,0,0,Posix.POSIX_FADV_RANDOM|Posix.POSIX_FADV_WILLNEED) == -1)
		GLib.stderr.printf("Could not preload Database file %s","%s/wadoku_Database_notify-mod2.sqlite3".printf(Path));

in "wadoku_notify.vala" kann man aber auch das beheben. Soweit mir bekannt, gibt es kein "fadvise" auf Mac OS X.

Es wird procfs benutzt, aber das gibt es natürlich erstmal nur auf Linux. Für FreeBSD gibt es allerdings eine gute procfs-Emulation. Für Mac OS X kann man etwa mit folgender C-Funktion an das gewünschte Verzeichnis kommen:
#include <mach-o/dyld.h>
#include <libgen.h>
#include <unistd.h>
#include <stdlib.h>

char* exedir() {
	char exepath[1024];
	uint32_t size = sizeof(exepath);
	_NSGetExecutablePath(exepath, &size);
	char real[1024];
	realpath(exepath, real);
	return dirname(real);
}


Dann kann man mit "valac convert.vala exedir.c ...", "extern char* exedir();" und "string Path = (string)exedir();" die Funktion mit Vala nutzen.

Momentan passiert sonst natürlich noch nicht viel, da das "owner_change"-Signal von keiner nativen Mac-OS-X-Anwendung erzeugt wird. Eventuell sollte man stattdessen vielleicht einfach das Clipboard pollen?

Zu "Meiryo" als Schrift könnte man ja auch noch eine Alternative anbieten, die es unter Mac OS X gibt, wenn man nicht gerade Microsoft Office für den Mac installiert hat, etwa "Hiragino Kaku Gothic Pro".
boscowitch



Joined: 23/09/2008 16:03:04
Messages: 231
Location: ケルン
Offline

He danke für diese arbeit, das selbe habe ich auch mal für windows in einer vm gemacht, das ergebniss war das selbe das owner_changed wird nicht gesendet und es passier tnich viel aber ohne das fadvise und libnotify compiliert es schonmal.
Das mit dem pollen hatte ich in der ersten version, ich kann es ohne probleme wieder einbauen als alternativ algo, denke das werde ich mal machen, einziger nachteil ist ich musste ein sleep(5000) einbauen damti die cpu last nur so 5-10% mehr beträgt, dann hat es auch sher schnellen response auser das system ist unter last denn dann kehrt er viel schcneller zu sleep zurück, alternativ werd ichs mal statt mit einem thread mit einem timer probieren die werden glaub was zuverlässiger aufgerufen als sleep schläft.


EDIT: achja und danke für den hinweis auf Meiryo, das ist natürlich auch keine standard linux font, hatts nur rein weil ich die habe und schön aussah ... muss ich auch im nächsten release fixen.
und das mit fadvise ist schade, unter win hat die erste suche ewig gedauert deswegen.

also neue TODO:
-daemon modus
-Polling als alternative für win/mac wer will auch linux
-win / mac ports
-hotkeys

-gaz wichtig auch noch endlich ne eigene seite für die ganze wadoku soft muss mal nen blog oder so aufsetzten und svn/git
system



Joined: 29/12/2009 08:46:05
Messages: 142
Offline

Nun, den Datenbankzugriff könnte man natürlich beschleunigen, wenn man keine Volltextsuche mehr mit LIKE "%bla%" durchführt, sondern sich auf Dinge beschränkt, die sqlite per Index lösen kann und einen entsprechenden Index anlegt.

Natürlich kann man nach dem Start auch einfach mal irgendeine Anfrage durchführen, damit dadurch die Datenbank in den Speicher geladen wird.

Ansonsten gibt es bei Mac-OS-X und *BSD wohl auch eine Möglichkeit Zeug asynchron vorauszuladen:
#include <fcntl.h>
radvisory advice;
advice.ra_offset = 0;
advice.ra_count = file_size;
fcntl(fd, F_RDADVISE, &advice);	

Ob und was das bringt, habe ich aber noch nicht getestet.
boscowitch



Joined: 23/09/2008 16:03:04
Messages: 231
Location: ケルン
Offline

hmm das klingt ja schonmal vielversprechend, also dank polling un dem sollte der mac und win port nicht mehr weit sein.

Ich hab mal ein polling mit timer geadded und die version hier upgeloaded:
http://www.boscowitch.de/jap/wadoku_notify-0.2.1.tar.xz
(xz is das neue lzma hoffe du kannst entpacken)

unter linux funktionierts auch recht gut, man kann jetzt per option:
-polling millisekunden
einstellen wie oft auf veränderung im clipboard gecheckt werdne soll.

so kann man auch selbst festlegen wie ungeduldig man sein will und wie viel cpu leistung verbraten werden soll oder ob man gerade an einer übersetzung arbeitet und schnelle ergebnisse braucht.

Als nächstes guck ich mir mal noch nen ordentliches forken an zum daemon.
Und dann muss ich mal gucken mit windoof und vorallem mit hotkeys da dies nicht so gut systemunabhängig udn unter linux sogar schwer desktop unabhängig zu machen , muss wohl einiges an Xserver gehacking machen.


EDIT:

Also erste tests unter Win7 VM zeigen ... es suckt unter windoof ^^ polling funktioniert, aber leider halt nur mim normalen clipboard, da windows kein "makierter text" clipboart hat.
Leider ist windoof sehr doof und behält die sql nich im speicher auch nach mehreren such anfragen... so dauert jede so an die 5-10sec ^^
(hoffe mac is da klüger oder die der advice call kann das regeln)

das mit dem index kann ich leider bei sql nich so bwz weiß nich in wie weit sqlite das kann, bei meiner ersten sqlite die ich aus dem sqldump von der links site gemacht habe musste ich den index kram rausschmeisen weil sqlite das nich geschluckt hat.... daher weiß ich nich obs es in derer weiße unterstüzt oder gar nicht.

zu überlegen wäre vielicht auch ganz von sql weg und zu einem schnellen vormat wie z.b. das dict format von stardict oder so, das is zwar was beschränkt was länge angeht der übersetzung aber es ist sehr schnell, was ich auch auf meinem handy merke, N900 so 10 dicts gleichzeitig live search und es reagiert sofort.
was da aber bestimmt dann nicht mehr so schön geht ist die ergebnissreihenvolge zu ändern, aber dafür ist die suche auch recht gut.

Mfg
Paso
system



Joined: 29/12/2009 08:46:05
Messages: 142
Offline

Ich habe jetzt mal eine Version erstellt, die unter Windows SetClipboardViewer benutzt, also ganz ohne Polling auskommt. Unter Mac überwacht sie den PasteBoard-ChangeCounter.

Unter Windows wird jetzt eine hässliche Messagebox angezeigt:
image

Außerdem landet die Anwendung unter Windows jetzt in der System Tray (also die "Notification Area" der Taskleiste). Mit Doppelklick auf das Icon kann man die Anwendung dann auch beenden.

Unter Mac gibt gibt es eine schöne Box mit growlnotify von Growl (falls installiert):
image

Den Sqlite-Sourcecode habe ich mal mit reingeholt, dann braucht man unter Windows und Mac sonst zum Kompilieren nichts mehr außer einem C-Compiler. Dafür fehlen jetzt erstmal die ganzen Kommandozeilenoptionen und Einstellungsmöglichkeiten, aber das kann man ja wieder einbauen.

Ich hoffe Rapidshare ist genehm, sonst kann ich es auch nocht woanders hochladen:
http://rapidshare.com/files/382539311/wadoku_notify.tar.bz2

Leider funktioniert der libnotify-Kram bei mir unter Mac überhaupt nicht. Ich glaube da muss man noch irgendein Programm starten (etwa notification-daemon oder so), dass die libnotify-Sachen anzeigt, aber irgendwie scheint es da für Mac nichts zu geben, zumindest habe ich noch keins bei Macports gefunden.

Die Datenbank ist hier unter Mac auch ohne jeden Hinweis flott genug. Unter Windows ist es nicht so der Knaller. Vielleicht wäre da wirklich ein anderes Format besser.
boscowitch



Joined: 23/09/2008 16:03:04
Messages: 231
Location: ケルン
Offline

Hmm das sieht ja shcon ganz nett aus, unter windoww habe ich nur posix und libnotify rausgehauen dann konnt ich mit der option -gtk ein schöneres fenster bekommen, leider halt nru viel zu langsam.
für libnotify braucht man einen daemon, auch unter normalen linux sollte man den schöneren ubuntu daemon isntallierne sonst hat man eine hässliche box von gnome oder halt die von Kde ohne schönne style.

Es so langsam zu splitten und objektorientierter zu machen find ich ne gute idee so langsam wirds mehr code und unübersichtlich...

wir sollten so langsam ein repos erstellen, einfachheitshalber mag ich svn aber git wär auch ok, vieleicht auf berlios oder github...

hier is noch der screen mit dem gtk:
http://www.boscowitch.de/tmp/win7.jpg

EDIT: was sind eigentlich diese ._Files ? die müssen nich in nen repos oder ?
 
Forum Index » Japanisch auf PC/PDA
Go to: