FAQ
- Does jMemorize support Unicode?
- Yes. This means that you can type in characters of any kind (e.g. Chinese) and train any language. jMemorize also saves lessons in UTF-8 format. If you still have problems displaying your text in jMemorize, please try to update your Java version.
- If jMemorize does not properly display non-roman characters (e.g. Chinese), set the preference for the card font to a relevant font (such as MS Mincho for Chinese and Japanese).
- What file format does jMemorize use?
- jMemorize uses simple XML-files in UTF-8 format. By default these files are compressed using gzip. Simply uncompress the .jml file and you can open the XML file in any text editor. If you want you can also disable gzipping by disabling the checkbox in the preferences window. Of course jMemorize loads compressed and uncompressed lesson files.
- XML files are simple text files, which means you can easily modify the lesson files by hand and even write your own custom import and export scripts.
- How can I incorporate an image into a card?
- Images are currently supported in the 1.3 beta. You can just use the two right-most buttons on the text editing bar above the text fields. The second button from right adds a image to the currently focused card side. The right-most button removes a image again. If you use Firefox you can also simply drag’n'drop images from websites into a card side. (This does not work with IE7, but has not been tested on other browsers).
- How do I add my own translations?
- Adding your more translations is really simple and doesn't require you to recompile or have any knowledge of programming at all. Just open the jMemorize jar file in your zip-program (e.g. 7-Zip, WinZip or WinRar). Inside the archive browse to the directory
resource/text
- You will see files that look like this
translation_xx.properties. These are the files where all translation texts for one language are stored. For every file there are two characters in the file name that specify for which language this file is supposed. These characters are defined by the ISO Language Code.
- Just copy one of these property files (most probably the file
translation_en.propertieswhich holds the english texts) and rename it so that the name represents the language that you want to add (e.g.translation_it.propertiesif you would like to create an Italian translation).
- Open the file in your text editor and enter the new translation for every key. When you are done, copy your newly created file back into the archive (into
resource/textagain).
- Special care has to be taken for the encoding of the file. Java
.propertiesfiles only support the simple ISO 8859-1 encoding. Therefore you'll have to convert your text, if you're using extended (Unicode) characters. You can use the native2ascii-tool that comes with every Java distribution (it's in the bin folder). The tool can be run with this command:
native2ascii -encoding UTF-8 my_translation translation_de.properties
- See this page for more information about native2ascii.
- Now open the file
langs.txtand add your language code to the last line (e.g. insertitat the last line). That's all and the next time that you start jMemorize your new translation should show up in the list of available languages in the preferences window.
- At last dont forget to send me (jmemorize at riad de) a copy of your translation so that it can be added to the next release of jMemorize!
- Is there a way to move a card to another category?
- Absolutely! There are currently two ways this can be done.
- Open the category tree side bar. Click on a card and drag it over to the category entry that you want to move it to.
- Select a card and cut it (from the menu, Edit/Cut, or using the keyboard hotkey CTRL X). Go into the new category and paste it by using Paste from Edit menu or by pressing CTRL V.
- Both of these operations can also be used with multiple cards at once.
- When opening my lesson I get the error "Invalid byte 2 of 3-byte UTF-8 sequence". What can I do?
- This error can occur when text from an outside program (e.g. Adobe Acrobat) is directly pasted into a jMemorize card. Currently the only solution is to open the lesson file yourself. If you don't use file compression (see the preferences to see if you have this enabled), you can open the lesson file directly in any text editor. Otherwise you'll need to extract the file first. The compression format is simply gzip. When you've opened the file, look for invalid characters that are displayed like a box. Remove these characters and you'll be able to load the file again.
- When using the Turkish translation I can't see the buttons any more.. Is this a bug in jMemorize?
- This is not a bug in jMemorize, but in Java that can occur when using certain Java versions and Windows XP. Just upgrade your Java version and you should be fine again.
- Why does jMemorize use the time of the learn session start to calculate the expiration time, instead of the actual time when a card is checked during the session?
- A older version of jMemorize actually used the exact time in the moment that the card was checked, but I changed it because learn sessions tended to start later and later.
- For example I was once learning a session where the expiration was set to daily intervals. At day 1 I started my session at 4pm and in half an hour I passed all my tests. When I came back the next day at 4pm I couldn't start the learn session right away, because the expiration time for my cards was between 4pm and 4.30pm. I waited until all my cards were expired so that I could start learning all cards.
- The next day I came back and had to wait until 5pm until my cards were expired.. and so on. Using the start time of the session for calculating the expiration time, fixes this problem.

