From mblondel at rubyforge.org Fri Sep 2 19:43:42 2005 From: mblondel at rubyforge.org (Mathieu Blondel) Date: Fri Sep 2 19:29:11 2005 Subject: [Nihongobenkyo-list] Roadmap Message-ID: <4318E3AE.8040103@rubyforge.org> Hi all, this is an email to explain what I plan on doing with Nihongo Benkyo within the next weeks. I'm currently working on version 0.3. This release has mainly two goals : 1) being able to select a row in the list of results and see more details about it, 2) being able to search a kanji (with informations such as stroke number, meanings, readings etc). Things I have already done are : - YAML config system (which allows to easily save ruby objects in text files) - Can choose whether we want to search a word or kanji - Go back/Go forward - New icon - Copy a row in the clipboard (may be useful to users visiting forums and wanting to post informations about an entry) - UIManager for menus, toolbar and popup menus (advanages: 1) a group of actions can be disable at once, e.g. all actions that need a row to be selected, 2) the same ruby code is used for menus, the toolbar and popup menus). - Completion for entry - Save window size and position - An history sidepane - Search last word on startup - Put entries having several kanji or kana on the same row (this is a benefit of JMDict : a same entry can have several kanji or kana, contrary to EDICT where one entry has only one kanji and one kana) - Separated translations from different languages in the list (which make the results more lisible) - No longer saves scan_selection in the preferences (this was sometimes boring) A nice contributor also translated NB into bulgarian ! Things that still need to be done : - Kanjidic2 import - Display informations about one given kanji - Correct tiny problems under Windows - Create gems Version 0.4 should be nice too : - Being able to search with wildcards * and ?. This would for example allow to search all words beginning with a given kanji! - Advanced search (using all metadata ). For example, it would be possible to restrict a search to godan verbs finishing with -mu) - Examples of use for words. For this purpose, I would use Tanaka Corpus (http://www.csse.monash.edu.au/~jwb/tanakacorpus.html) which provides ~180,000 pairs of sentences for ~27,000 unique words. Nice! (I do think that a dictionary is nothing without examples of use) Another nice thing is that words in sentences have been extracted with the Chasen morphological analysis program, meaning that Nihongo Benkyo will be able to find, e.g, examples using a masu-form when even if the user searched the neutral form of a verb ! - Being able to use Chasen (optionaly) in Nihongo Benkyo When all this work is done, Nihongo Benkyo will be a quite useful dictionary and it will be time to begin the learning tool (until now, people always see Nihongo Benkyo only as a dictionary, but it is not, cf its name !). I think it would be a good idea that people who want to start contributing to Nihongo Benkyo work on that. As it is quite independent from what I plan on doing with version 0.4, it would allow me to work on it meanwhile. I will soon send an email to explain my ideas about the learning functions and another email to explain how to getting started hacking NB. -- Mathieu Blondel http://www.mblondel.org From mblondel at rubyforge.org Sun Sep 4 10:03:00 2005 From: mblondel at rubyforge.org (Mathieu Blondel) Date: Sun Sep 4 09:48:18 2005 Subject: [Nihongobenkyo-list] How to always use the latest version of the code ? Message-ID: <431AFE94.3050403@rubyforge.org> Hi all, I will describe how I do to always run the development version of Nihongo Benkyo in Linux. - create a directory in which you'll put the development version of Nihongo Benkyo and nihongobenkyo-import : $ mkdir ~/nb/ - nihongobenkyo-import : $ cd ~/nb/ $ cvs -d :pserver:anonymous@rubyforge.org:/var/cvs/nihongobenkyo login (just type "enter" for password) $ cvs -d :pserver:anonymous@rubyforge.org:/var/cvs/nihongobenkyo checkout nihongobenkyo-import $ cd nihongobenkyo-import/ $ make # rm /usr/bin/nihongobenkyo-import # ln -s ~/nb/nihongobenkyo-import/nihongobenkyo-import /usr/bin/nihongobenkyo-import Now the nihongobenkyo-import is pointing to the latest version. To keep this version up to date, go regularly to ~/nb/nihongobenkyo-import/ and type $ cvs update && make Unfortunalely, as NB is still very alpha, the database often changes which may break your existing database. When such problems seem to occur, the easiest solution is to remove ~/.nihongobenkyo/dic.db and reimport the data. - Nihongo Benkyo $ cd ~/nb/ $ cvs -d :pserver:anonymous@rubyforge.org:/var/cvs/nihongobenkyo login $ cvs -d :pserver:anonymous@rubyforge.org:/var/cvs/nihongobenkyo checkout nihongobenkyo Some files need to be generated at the install time, so first, you need to proceed to a normal installation (as explained in the README). You only need to do so the first time you import the development version ! Then, you need to know where ruby libraries are stored on your system. On mine, it is /usr/lib/ruby/site_ruby/1.8/. You need to copy the generated files to the directory that stores the development version. On my system : $ cp /usr/lib/ruby/site_ruby/1.8/nihongobenkyo/config.rb ~/nb/nihongobenkyo/lib/nihongobenkyo/ $ cp /usr/lib/ruby/site_ruby/1.8/nihongobenkyo/version.rb ~/nb/nihongobenkyo/lib/nihongobenkyo/ We now need to make the ruby library directory point to our development directory : $ rm /usr/lib/ruby/site_ruby/1.8/nihongobenkyo* -rf $ ln -s ~/nb/nihongobenkyo/lib/nihongobenkyo/ /usr/lib/ruby/site_ruby/1.8/nihongobenkyo/ $ ln -s ~/nb/nihongobenkyo/lib/nihongobenkyo.rb /usr/lib/ruby/site_ruby/1.8/nihongobenkyo.rb Now we need to edit ~/nb/nihongobenkyo/lib/nihongobenkyo/config.rb so that NB can get the good data files (glade files, ui files etc). Replace its content with this (replace "username" with your username) : module NihongoBenkyo module Config MAIN_DATA_DIR = '/home/username/nb/nihongobenkyo/data' DATA_DIR = '/home/username/nb/nihongobenkyo/data/nihongobenkyo' LIB_DIR = '/home/username/nb/nihongobenkyo/lib' end end Now the nihongobenkyo command should be working with the code in ~/nb/nihongobenkyo/ ! To keep the code up to date, just "cvs update" regularly. I try not to break things when I commit new code in the CVS so if you want to always keep NB up to date, I think it's worth doing it ! -- Mathieu Blondel http://www.mblondel.org From jd at apinc.org Tue Sep 6 06:29:05 2005 From: jd at apinc.org (Jean-Denis Vauguet) Date: Tue Sep 6 06:22:31 2005 Subject: [Nihongobenkyo-list] New contributor and some planned features Message-ID: <431D6F71.4050705@apinc.org> Hi! My name's Jean-Denis, aka jd (please note that I do prefer jd). I'm a friend of Mathieu and I'm joining the Nihongo Benkyo project as a code/doc contributor. Hum, I like when other people coming from nowhere briefly introduce themselves, so I'll behave like other people should to please myself :) Yes, I'm yet another French student. I learn Japanese (sometimes) and I'm fond of Ruby and OO Programming. I'm an active contributor to Wikipedia, the free encyclopedia, and to rubyfr.org-both are wikis, another subject of interest. Nihongo Benkyo is the first free software project I'm getting involved in, and I'm quite a newbie concerning all the Ruby-Gnome2 stuff every Ruby fellow already loves and knows intimately. I hope to learn a lot of things being here. I mean, the project will help me more than I'll help the project-you betcha!- so don't be too harsh with me ;) My first commit to Nihongo Benkyo was made yesterday by Mathieu, since I have no CVS developper access for the moment. I added a little-but-cool enhancement related with the way search results are displayed: if there is only one result, informations about the unique entry are directly showed to the user rather than a mono-item list in a treeview. What I plan to do: - fix a bug with the history sidebar and mono-result: the magnifying glass icon does not appear; - allow the user to chose the number of words saved in the history list. It will be an optionnal choice in a third notebook panel of the preferences window. That's all for the moment. I've got lot of ideas for Nihongo Benkyo. I'll try to expose all of them here rather than chatting with Mathieu and code to myself. A_public_message_for_free: if you are interested by the project but hesitate to join or to ask something about Nihongo Benkyo, feel free to say hello and ask wathever you would like to know. See ya! jd From mblondel at rubyforge.org Tue Sep 6 08:07:35 2005 From: mblondel at rubyforge.org (Mathieu Blondel) Date: Tue Sep 6 07:55:07 2005 Subject: [Nihongobenkyo-list] Hacking Nihongo Benko Message-ID: <431D8687.5040202@rubyforge.org> Hello, here is a brief overview of the Nihongo Benkyo code so that you can contribute more quickly. 1) generated files Some files are generated at the install time : bin/nihongobenkyo, lib/nihongobenkyo/config.rb, lib/nihongobenkyo/version.rb, and the pot file. 2) data/nihongobenkyo/ - config/default.yaml : this is the default yaml config file which contains preferences objects. - glade/ : I try to use glade as often as possible but I don't use it for menus, popups and the toolbar. Sometimes, I extend some widgets classes to add more features to them and so I don't use glade. - sql/db.sql : the database structure is quite straightforward. The metadata* tables have been made to be more flexible. - ui/ : those files are used by the UIManager and just define the position and the order of actions in the interface. 3) lib/nihongobenkyo/ - preferences.rb : allow to store ruby objects (e.g. arrays) thanks to yaml. It is a singleton so you can use it everywhere with Preferences.instance. - romkan.rb : add more features to String such as language detection and kana/romaji conversion. - utils.rb : various convenient methods which may be used several times in NB. - database.rb : this is the only place where we shoud see sql queries. It is a singleton so you can use it everywhere with Database.instance. 4) lib/nihongobenkyo/ui/ - glade_base.rb : convenient class to define members variables for all widgets that a glade file load. For example, @main_app is a Gtk::Window object. - main_app.rb : the most important file of the project. Bye, -- Mathieu Blondel http://www.mblondel.org From jd at apinc.org Tue Sep 6 08:26:49 2005 From: jd at apinc.org (Jean-Denis Vauguet) Date: Tue Sep 6 08:19:54 2005 Subject: [Nihongobenkyo-list] How to always use the latest version of the code ? In-Reply-To: <431AFE94.3050403@rubyforge.org> References: <431AFE94.3050403@rubyforge.org> Message-ID: <431D8B09.2070109@apinc.org> Hi all. $ rm /usr/lib/ruby/site_ruby/1.8/nihongobenkyo* -rf <= step 1 $ ln -s ~/nb/nihongobenkyo/lib/nihongobenkyo/ /usr/lib/ruby/site_ruby/1.8/nihongobenkyo/ <= step 2 $ ln -s ~/nb/nihongobenkyo/lib/nihongobenkyo.rb /usr/lib/ruby/site_ruby/1.8/nihongobenkyo.rb step 1: you may write: rm /usr/lib/ruby/site_ruby/1.8/nihongobenkyo.rb -rf instead step2: you must not write the last /, but: ln -s ~/nb/nihongobenkyo/lib/nihongobenkyo/ /usr/lib/ruby/site_ruby/1.8/nihongobenkyo My2C :) jd Mathieu Blondel a ?crit : > Hi all, > > I will describe how I do to always run the development version of > Nihongo Benkyo in Linux. > > (...) > > I try not to break things when I commit new code in the CVS so if you > want to always keep NB up to date, I think it's worth doing it ! > From mblondel at rubyforge.org Tue Sep 6 13:37:40 2005 From: mblondel at rubyforge.org (Mathieu Blondel) Date: Tue Sep 6 13:22:48 2005 Subject: [Nihongobenkyo-list] New contributor and some planned features In-Reply-To: <431D6F71.4050705@apinc.org> References: <431D6F71.4050705@apinc.org> Message-ID: <431DD3E4.6090801@rubyforge.org> Jean-Denis Vauguet a ?crit : > > - allow the user to chose the number of words saved in the history > list. It will be an optionnal choice in a third notebook panel of the > preferences window. > http://developer.gnome.org/doc/API/2.0/gtk/spinbutton.png I think this widget is suitable. We should put this in a "Misc" tab in the preferences. In that part, it would be also great to be able to choose which font will be used (http://developer.gnome.org/doc/API/2.0/gtk/GtkFontButton.html) and to set environement variables (such as LC_NAME to force the japanese interface or GTK_IM_MODULE to define an input method to load at NB's startup) -- Mathieu Blondel http://www.mblondel.org From jd at apinc.org Wed Sep 7 20:55:02 2005 From: jd at apinc.org (Jean-Denis Vauguet) Date: Wed Sep 7 20:48:14 2005 Subject: [Nihongobenkyo-list] New patch : history preferences Message-ID: <431F8BE6.5080303@apinc.org> Hi! Mathieu added a patch for me in the CVS. It provides a new feature related to the History sidebar. In the Preferences popup, the user can now chose the number of words saved in the history sidebar, in a third tab called "Other", using a spin button (1 to 150). It is saved in the yaml config file. If the user chose a number that is smaller than the current number of words in history, all extra entries are deleted so the history is always clean. Thank you Mathieu for your help with the Proc tip. Cheers! jd From pedro_cristian at yahoo.fr Thu Sep 29 04:44:32 2005 From: pedro_cristian at yahoo.fr (Pedro Cristian) Date: Thu, 29 Sep 2005 10:44:32 +0200 (CEST) Subject: [Nihongobenkyo-list] Name of the software.. Message-ID: <20050929084432.29333.qmail@web26306.mail.ukl.yahoo.com> Hi Mathieu and Jean-Denis, I know that everyone on this list is french, but that's fine, let's use english. I wanted just to make a slight comment on the name of the project. I searched the project on ruby forge and I didn't find it. The reason is : it should be nihongobenkyoU. I've also suggested some development ideas, noticing that there is a learning tool that exist already (written in Java). http://groups.google.fr/group/fr.lettres.langue.japonaise/tree/browse_frm/thread/01732200307b364a/48493b495b73d14c?rnum=1&hl=fr&_done=%2Fgroup%2Ffr.lettres.langue.japonaise%2Fbrowse_frm%2Fthread%2F01732200307b364a%2F48493b495b73d14c%3Ftvc%3D1%26hl%3Dfr%26#doc_e9c0d91685b6e058 I'm not trained in Ruby (yet), but I think I could help anyway and it could be interesting for me since software development is my job and learning other language is a necessity. I have however less time than you have. Pedro ___________________________________________________________________________ Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger T?l?chargez cette version sur http://fr.messenger.yahoo.com From mblondel at rubyforge.org Thu Sep 29 13:46:37 2005 From: mblondel at rubyforge.org (Mathieu Blondel) Date: Thu, 29 Sep 2005 19:46:37 +0200 Subject: [Nihongobenkyo-list] Name of the software.. In-Reply-To: <20050929084432.29333.qmail@web26306.mail.ukl.yahoo.com> References: <20050929084432.29333.qmail@web26306.mail.ukl.yahoo.com> Message-ID: <433C287D.8010905@rubyforge.org> Pedro Cristian a ?crit : >Hi Mathieu and Jean-Denis, > > Hi ! Thank you for your email. >I know that everyone on this list is french, but that's fine, let's use >english. > > There are about 15 people subscribed to this list and everyone does not seem to be french (every one seems to stay mute though ;)) Besides, we must keep in mind that other people may come later... >I wanted just to make a slight comment on the name of the project. >I searched the project on ruby forge and I didn't find it. The reason is : it >should be nihongobenkyoU. > > I don't agree with you. I've chosen the foreign way to write japanese names. Tokyo is not usually written "Toukyou". Bushido is not written "Bushidou". This is also the same for japanese surname transcriptions. "Nihongo Benkyou" would just not look nice to me. But I know for japanese aficionados, it seems like a mistake! >I've also suggested some development ideas, noticing that there is a learning >tool that exist already (written in Java). >http://groups.google.fr/group/fr.lettres.langue.japonaise/tree/browse_frm/thread/01732200307b364a/48493b495b73d14c?rnum=1&hl=fr&_done=%2Fgroup%2Ffr.lettres.langue.japonaise%2Fbrowse_frm%2Fthread%2F01732200307b364a%2F48493b495b73d14c%3Ftvc%3D1%26hl%3Dfr%26#doc_e9c0d91685b6e058 > > Thanks for you many ideas. Among them, here are those which were already in the TODO list (see CVS) : - Easy installation : NB will be installable via Rubygems (0.3) and a database with pre-imported data is already proposed. - Word desinflection (0.4). - Examples [Tanaka Corpus] (0.4) - Use Chasen (0.4) >I'm not trained in Ruby (yet), but I think I could help anyway and it could be >interesting for me since software development is my job and learning other >language is a necessity. I have however less time than you have. > > Any help is interesting ! I try to be quite active but I have a life too, you know ;) >Pedro > > > -- Mathieu Blondel http://www.mblondel.org