This is the README file for minivoki version 0.5.9. Any other version may behave differently as described. Also see the AUTHORS, COPYING, CHANGES, TODO, and BUGS file. 0 STRUCTURE OF THIS DOCUMENT 1 INTENTION 2 FEATURES 3 SUPPORTED LANGUAGES 4 SYSTEM REQUIREMENTS 5 INSTALLATION 6 USE 7 FILE FORMAT 8 USING THE KOREAN, CHINESE OR JAPANESE INPUT METHOD 9 7BIT MODE FOR WESTERN 8BIT CHARACTERS 1 INTENTION minivoki, as the name says, is a minimal program for learning vocabulary. Though, it has some interesting features, which I found useful as learning help. These are explained right below. 2 FEATURES - includes a parser for Japanese, Chinese and Korean input - supports up to 1000 words in one session (makes up to 2000 combinations) - you can have as many sessions as you want - you can edit the files in any text editor (they are simple, human readable text files) (look at the section "FILE FORMAT" for more information) - supports different meanings of words in both directions for example: bon/bel/belle=good/nice (look at the section "FILE FORMAT" for more information) - supports one-direction vocabulary (look at the section "FILE FORMAT" for more information) - supports mistyping repetitions - supports hints - can make strict or lose repetitions - supports 7bit input and output for shitty administrated consoles (only european/western mode, of course, without 8bit, you cannot type and see Japanese or Korean characters!) - supports learning and test mode - supports comments in the vocabulary files 3 SUPPORTED LANGUAGES minivoki is a program for learning vocabulary in a) a language which input and ouput is supported by your favourite shell or b) Japanese, Chinese and Korean, where only output must be support. For these languages I propose the use of xrvt.cjk in the appropriate language setting, or in the case of Japanese the use of kterm. Minivoki should therefore work with all western languages which use only the lower 7bit characters of the ASCII system. Also can a properly set up console under iso-8851-1 display all of the western characters and you can use it correctly, if your input is right. Many administrators give a shit to German umlauts or french accents, that's why I have built in a small 7bit support mode. Look at the section 7BIT-MODE FOR WESTERN 8BIT CHARACTERS 4 SYSTEM REQUIREMENTS minivoki should run on Linux systems. Because it makes use of shell direct input without character echo, I detected that some standard Linux variables in "sys/ioctl.h" did not work, I had to set manually the TERMIOS variable instead of using SGTTYB, which should have been working. That's why I don't know whether minivoki will work on other *NIX and SUN-OS systems. If you have another way to do that, please send me hints. For learning Japanese, Chinese or Korean vocabulary, there is no need of any Xinput, Cin, Wnn or Ami. Minivoki has the parsing ability built-in. (That's why I wrote that damn thing. No administrator is willing to install such software if you are not an Asian.) You will need a gcc and some basic libraries to get it compiled. If you have another compiler, check the Makefile. 5 INSTALLATION To compile and install minivoki under the /usr tree, simply type "make" and after that "make install" and everything should work. I you compile and install for the first time, please become root before you go on. You have to be root to install it, because the japanese, chinese and korean dictionaries as well es some xpm pictures are stored under /usr/share/minivoki and the binaries under /usr/local/bin, both are directories which are mostly owned by the administrator. Check your shell PATH variable if you cannot execute minivoki after installing and expand it with ":/usr/local/bin" if necessary. If you plan to add your own specific kanji readings in Japanese or Chinese mode, your own comfortability, put a line like "alias 'addkanji'='japcat /usr/share/minivoki/userkanj'" in your .profile or .bashrc config file. Then you can add a kanji reading more easily. 6 USE "minivoki" oder "minivoki --help" give you information about parameters to control the behaviour of minivoki. Hint: Use the language to learn, at least Korean and Japanese at the left side of the pairs. As default, the chosen asian mode is turned on when answering a right side question to get the left side answer and turned off otherwise. 7 FILE FORMAT As mentioned earlier, the vocabulary text files are simple, human readable/editable text files. Here are all the needed instructions to build your own vocabulary databases. 1. an entry One entry per line. That's it. 2. word pairs An equals sign "=" is used to determine where to part the word or sentence pairs. Example: "the tree=der Baum" 3. different readings and meanings A slash "/" is used to part different readings or meaning on one side of a vocabulary pair, both sides can make use of it. This gives the possibility to cross-answer word pairs with the same meaning. Example: "the bulb/the pear=die Birne/[another meaning]" (bad example) 4. hints after you did wrong A hint is something that is shown after you did it wrong to make you understand why you where wrong and what to think of next time you have to answer the question. I use it often with a comment like "grammar point: ...". When I review some lessons, I type "cat foo_*_XX_2000.txt | grep grammar", this will give you all grammar points that you may do wrong when answering these lessons. A second equal sign "=" marks the beginning of the hint. Any equal sign after the second can be used in the hint phrase. Example: "die Birne=the bulb=In this file there is no food!" 5. hints before you answer Simply add another reading, I do it that way. Example: "die Birne=the bulb/(electricity)" Nobody can tell me he is going to type something in brackets as answer! 6. one-direction pairs An greater-than ">" is used to make the vocabulary only be used in the direction from left to right. Example: ">die (Glüh-)Birne=the bulb" Nobody has to type in "die (Glüh-)Birne"!!!!! An less-than "<" is used to make it otherwise. Example: "A German word that means both 'bulb' and 'pear'=die Birne # words added by my little sister the poison=das Gift the death=der Tod If that is not clear enough, here are more steps to get information: 1) look at the "example.txt" file 2) test it yourself 3) Ask me again. 8 USING THE KOREAN, CHINESE OR JAPANESE INPUT METHOD 0. Coding Information Korean KSC Chinese GB Japanese EUC 1. how to get it started At first, you have to use xrvt.cjk with appropriate language setting or kterm, at least any shell that can display the stuff. Then, you will want to know how to input it. Use one of the options -kr, -ko, -jp, -ja to make it happen. 2. toggling between western and asian mode Use can toggle western and asian mode with the key. 3. toggling between hiragana and katakana (Japanese mode only) Use the key to toggle between these two Japanese syllabery modes. 4. how to write kanji (Japanese mode only) Start typing the word with a big letter. The cursor should now rest on the left side of the word even the syllabs are completely typed. Press the space to convert them into a kanji word. If the cursor jumps only but the word is unchanched, then there is no kanji reading, check your typing again. Also, the dictionary may not yet contain that word. Use a command like "japcat /usr/share/minivoki/userkanj.dic" (I have set an alias for that) to put that reading into the dictionary, which has the file format syllabs*KanjiReading_1/KanjiReading_2[/..] Use the space key to go through the different kanji readings. If the cursor jumps to the end of the word, there is no more reading and the last one will be used. To take a kanji in the middle, press to take it or simply type the first letter of the next word. 5. which keys build which asian syllabs In general, it should work like you speak, following most of the word processors (official romanization rules). I use also the following abbreviations: type "x a" to get a small a (Japanese mode only). For Korean, there are two modes: -ko and -kr, ko is like you speak (uncommon), while kr is like you type (Korean keyboard layout). I took a black marker, wrote the Korean radicals on my keyboard and protected them with small clear glue tape stripes. For the Chinese input, I don't know who invented these readings, I also have no clue which dialect it is of. Check /usr/share/minivoki/gbinput2.dic for hints. You can also again build your own readings in /usr/share/minivoki/userhanz.dic, because that file is also seen trough when searching for hanzi. You can input '1'-'5' at the end of the syllab, then this includes the standard tone information and less hanzi will have to be seen trough Korean hanja are not supported, anyway. 6. how to edit my asian vocabulary files You can append new vocabulary on any text file using the "japcat ", "chncat " or "korcat commands. To delete pairs, take "vi" or something like that and delete the lines (command "dd"). Because editing is a work done by text processors, I have no intention to build one. I built one already, it's hard work and my Java project was always to slow and had no features. One day, consoles and word processors will have comfortable Unicode input and output via X server based multi-language routines and noone will want to remember the old bad days where two languages had not been working on one system. (Take a look at Microsoft's IME under Win9x or Win2k, and then you will understand what I mean. Of course, we want a free open-source solution!!! :-) Also the user would like to choose his langauages directly on work, not?) 9 7BIT MODE FOR WESTERN 8BIT CHARACTERS If your console is unable to get 8bit characters displayed correctly, use 7bit mode for 8bit characters to get these characters displayed as a sequence of 2 characters. If you cannot input 8bit (maybe the KEYBOARD variable or the i18n file is wrong), you can use 2 7bit characters, too. Then, Output is also done with 7bit, and your 7bit input is compared with the right answers, which before were recoded as 7bit strings. (The cause to not do it otherwise is sometimes you may want to type these 2 characters as two characters and only sometimes to melt them into 1 8bit character.) Here's the explanation how to build them: (If you don't see the characters on the left, then your specific shell/editor doesn't show them, try another one, or load this text into netscape and play with the font/coding preference [should be iso 8859-1, western]. Hint: The typing on the right says you how it looks like). In generel, I used the TeX style combining: ä (german a umlaut) = "a (and so on for A,E,I,O,U,a,e,i,o,u) Also how we type it under 8bit, first the accent, then c. Like that scheme are: ç (ce cedille) = 'c (also for C) è (e accent grave) = `e (also for a,i,o,u,a,E,I,O,U) é (e accent aigue) = 'e (also for a,i,o,u,a,E,I,O,U) ê (e accent circonflex) = ^e (also for a,i,o,u,a,E,I,O,U) ñ (nj in spanish) = ~n (and so on for N,A,E,I,O,U,a,e,i,o,u) Lately I added these nordic characters, which has to be typed this way: ø = /o Ø = /O With backspace, you can mark that two question mark and aeh, you know (!!!) in spanish, which are upside down: ¿ = \? ¡ = \! Check for the newest version or send me hints which are missing in your case. This is the end of the README file.