Información en español:
KanaMemo es una útil herramienta para asistir en el aprendizaje del idioma japonés, concretamente en los silabarios kana (katakana y hiragana). Asi funciona:
- Se muestran kanas al azar, para que el usuario los identifique.
- Los kanas estan agrupados por niveles, y a medida que mas aciertos tenga el usuario, va avanzando de nivel.
- Si el usuario comete un error, se le restarán puntos para los kanas erróneos, y KanaMemo insistirá con ellos, mostrando pistas para ayudar a identificarlos mejor.
- Aun en los niveles superiores, de cuando en cuando aparecerá algun kana de los niveles inferiores, para reforzar el aprendizaje.
KanaMemo fue originalmente programado por Rodrigo Braz Monteiro (mejor conocido como amz, una de las mentes maestras tras Aegisub) para Windows (y compilado bajo Linux por este servidor :). Pero como el mundo va mas allá de esas dos plataformas (y teniendo en cuenta que KanaMemo fue desarrollado bajo C++/wxWidgets), evidentemente había que hacer algo: reescribirlo en Java (ámalo u ódialo, no me importa). Ahora puedes correr KanaMemo en cualquier PC que tenga una maquina virtual de Java, e incluso en tu teléfono celular (la cual fue la principal motivación para reescribir el bendito programita en Java)
Capturas de pantalla
Versión para PCs de escritorio (J2SE/Swing):
Versión para teléfonos celulares (J2ME):
Notas de las versiónes Java:
- Común:
- La aplicación esta disponible en ingles y español, y detecta automáticamente el idioma en función del sistema/JVM en donde se ejecute. En cualquier caso, si se detecta un idioma no soportado, KanaMemo arrancara por defecto en ingles.
- Las descargas del código fuente incluyen los archivos de proyecto para NetBeans 6.5 o superior. Si deseas trabajar con Eclipse u otro IDE, ve como te las arreglas.
- Si te preguntas por la licencia: La versión original de KanaMemo escrita por amz no estaba apegada a una licencia especifica (aparte de esto). En cuanto a mis versiónes Java, como todo el código se reescribió desde cero (por razones obvias, si bien C++ y Java son muy similares por lo que el núcleo del juego es casi un copia-y-pega directo), lo dejo bajo la WTFPL (por aquellos países que no reconocen el dominio publico). Lo lamento, pero licencias tipo GPL y BSD son demasiado ridículas para un programa tan pequeño como este. En todo caso, el crédito va para amz ya que el fue quien desarrollo esta cosa en primer lugar - yo solo gaste mi tiempo portandolo a mi celular :P
- Versión para PCs convencionales (KanaMemo JVM):
- Esta versión usa genericos, asi que no correrá en JVMs que no soporten Java 5.0 o superior.
- El archivo con el código fuente incluye dos proyectos: KanaMemo y XList, una librería para listas enlazadas utilizada por este programa. XList también es de mi autoria, por lo que entra dentro de la misma licencia del resto de las fuentes. Cuando vayas a abrir el código en NetBeans, carga ambos proyectos, y usa "Resolver problemas de referencias" para arreglar cualquier problema al cargar. Por cierto, cuando compiles, en la carpeta /dist/merged/ encontraras el JAR combinado con las dependencias necesarias (es decir, XList).
- La interfaz gráfica usa Swing, asi que tu JVM también debe soportar eso.
- Ubicación de los archivos de partidas grabadas:
- Windows: %APPDATA%\KanaMemo\
- Linux/Unix: ~/.KanaMemo/
- Mac OS X: Ni idea, no tengo una Mac :P
- Evidentemente necesitas tener instalada algunas fuentes asiáticas/japonesas en tu sistema para poder ver los kanas.
- Para cambiar el idioma de la aplicación, deberás ajustar las variables de entorno del idioma para la JVM. No tengo ni idea de como hacerlo en Windows (quizas con AppLocale?), pero en Linux/Unix es muy fácil: "LANG=xx java -jar KanaMemoJVM.jar", donde "xx" es el idioma a utilizar (en = ingles, es = español).
- Versión J2ME (KanaMemo J2M):
- El JAR es algo pesado (~400KB, debido a que todos los kanas son PNGs porque muy pocos teléfonos tienen fuentes con kanas), así que existirán unos cuantos celulares en donde no podrás instalarlo.
- Para cambiar el idioma del MIDlet, usa la instalación en linea, o edita la linea "Default-Locale" en el JAD y reinstala el MIDlet (en = ingles, es = español).
- Dada la gran variedad de celulares y JVMs, no puedo asegurar compatibilidad total. Para facilitar un poco las cosas, KanaMemo no usa ninguna JSR especial (como FileConnection o similares), asi que no deberías tener problemas de permisos. De hecho, solo he podido probar KanaMemo en las siguientes plataformas (uso de RAM medido tras arrancar el MIDlet):
- El emulador del WTK 2.5.2 (240x320): usa aprox. 200KB de RAM.
- MicroEmulator 2.0.4 (176x220): usa aprox. 9MB de RAM (MicroEmulator "convierte" el MIDlet a un programa J2SE estandar)
- Motorola KRZR K1m (176x220, BREW/Jbed 20070425): usa MAS de 1MB de RAM! (esta versión de Jbed en particular es algo defectuosa y tiene un pobre rendimiento)
- Motorola RAZR V3c (176x220, BREW/Jbed 20051213): usa aprox. 400KB de RAM.
- Motorola RAZR V3m (176x220, Sprint/QVM 4.2.2): usa aprox. 200KB de RAM.
- Motorola E815 (176x220, BREW/Jbed 20050907): usa aprox. 600KB de RAM.
- Nokia 6276 (240x320, Nokia S40): usa poco mas de 100KB de RAM.
- Nokia 6790 Surge (320x240, Symbian 9.3/S60): usa aprox. 200KB de RAM.
- Motorola ROKR E8 (320x240, MOTOMAGX): usa aprox. 600KB de RAM
- BlackBerry Curve 8330 (320x240, OS 4.5.0.77): Hace falta decirlo!?
- BlackBerry Bold 9000 (480x320, OS 4.6.0.304): idem...
- BlackBerry Curve 8530 (320x240, OS 5.0.0.459): Los BBs no reportan cuanta RAM usa tu aplicación...
- BlackBerry Storm 9550 (480x360, OS 5.0.0.713): Ni se te ocurra usar KanaMemo aca :P
Cualquier cosa compatible con MIDP2.0, con al menos 600KB de RAM para aplicaciónes Java, debería poder mover KanaMemo; si logras hacerlo correr en tu celular, pues notificamelo!
- KanaMemo REQUIERE una pantalla de al menos 176x220 píxeles (Algunos teléfonos se comen unos cuantos pixeles de la altura con los iconos de bateria y señal, por lo que en realidad KanaMemo puede trabajar con una altura visible de al menos 200 píxeles). Si tu teléfono usa una pantalla mas pequeña que eso (digamos: 128x160 en telefonos de gama baja, o pantallas apaisadas de 220x176), lo siento por ti pero deberás cambiar de terminal (solo veras una pantalla diciendo "No puedo dibujar" con el logo de KanaMemo en esos casos). Lo ideal es una pantalla QVGA (ahi si te sirve normal o apaisada), ya de ahi en adelante se vera muy feo y desolado (aunque no desajustado). Eso si, quizás el texto se vea demasiado grande o pequeño - ahí ya eso dependerá de la JVM del teléfono, porque KanaMemo usa las fuentes del sistema.
- La tecla "OK" suele ser la tecla central de las teclas direccionales. En muchos teléfonos también puedes usar la tecla del 5 en su lugar. Si tienes dudas, consulta el manual de tu terminal.
- KanaMemo puede resultar bastante complicado de usar en un BlackBerry debido a los controles nativos de la plataforma: para ajustar el nivel de los kanas presiona ALT mientras deslizas el trackball o el trackpad en las barras de seleccion. Usa la tecla de MENÚ para acceder a las opciones en las pantallas que lo requieran (Configuración/Acerca de/Introducir kana). Lo lamento, pero no tengo intenciones de sacar una versión "nativa/optimizada" para esos aparatos. Esto aplica TRIPLE para los modelos 100% touch (como el Storm) - si te sientes muy masoquista, la tecla "OK" es la barra espaciadora en el teclado en pantalla.
- Lo siento, KanaMemo no soporta teléfonos "touch" sin teclado. COMPRATE UN TERMINAL CON UN TECLADO DE VERDAD, no una barra de juguete!
- Esta versión solo soporta un usuario, al contrario que la versión para PC. Asi que mas te vale no prestar tu teléfono!
- En algunos teléfonos, al actualizar/reinstalar KanaMemo terminaras con copias duplicadas o algo por el estilo, por lo que PERDERÁS tu progreso. Quedas advertido.
- KanaMemo usa los métodos de entrada nativos suministrados por la JVM del celular. Eso significa que en algunos teléfonos (particularmente los Nokia S40) no podrás ver el kana actual a la hora de introducir el romaji (ya que el cuadro de entrada de texto pasa a ocupar toda la pantalla). Eso no es un defecto de la aplicación, sino una mala implementación del fabricante del terminal.
- Android? iPhone? Symbian (nativo)? NO. No tengo ningún teléfono de esos. Teóricamente KanaMemo podría adaptarse sin demasiados problemas a Android, pero eso lo dejo como ejercicio para el lector. Tienes un teléfono BREW? (léase Verizon, o casi cualquier cosa CDMA) Lo lamento por tí, pero no tengo $$$$ para pagar el certificado de desarrollador de Qualcomm, la certificación NSTL y ni hablar de negociar con las operadoras para que puedas bajar KanaMemo... (Si tienes un Motorola, todavía tienes esperanza: quizás puedas meterle un firmware con Java).
Descargas:
Versiones actuales:
J2SE: 0.5Dr210 (Squidward) - 26/08/2010
* Versión pública inicial
J2ME: 0.5Mr350 (Tsugumi) - 18/09/2010
* Arregla fallos con romajis con múltiples kanas asociados (ej: ぢ y じ, cuyo romaji es "ji")
- PCs convencionales (J2SE):
- Teléfonos celulares (J2ME):
English information:
KanaMemo is a tool for assist in the learning of Japanese language, more precisely with the kana scripts (katakana and hiragana). Here is how it works:
- It will show random kana, the user must identify each of them.
- Each kana group is on a level, the more correct answers will help the user to level up.
- If the user input a wrong answer, points will be taken away from the score for that kana, and KanaMemo will insist with the failed kana, displaying helpful hints to orient the user to correctly identify these.
- Even on higher levels, from time to time lower-level kana may appear, to reinforce the learning.
It was originally developed by Rodrigo Braz Monteiro (best known as one of the masterminds behind Aegisub) for Windows (and compiled on Linux by your host :). But since the world goes beyond those two platforms (and keeping in mind that KanaMemo was developed under C++/wxWidgets), obviously something had to be done: porting it to Java (love or hate it, i don't care). Now you can run KanaMemo in any computer with a Java Virtual Machine (JVM), and even on most cellphones (this was the main reason of why i bothered to port the whole program to Java)
Screenshots
Please refer to the Spanish section, the UI is EXACTLY the same, and i'm too lazy for taking the same screenshots again :P
Java port notes:
- Common:
- The application is available on both spanish and english, and should autodetect the language from the current system/JVM enviroment. However, if an unsupported language is detected, KanaMemo will fallback to english.
- Source code packages include project files for NetBeans 6.5 or later. If you want to build with Eclipse or any other IDE, you're on your own.
- If you were wondering about licenses: The original KanaMemo version coded by amz wasn't tied to any specific license (aside of this one). As for my Java builds, since everything was written from scratch (for obvious reasons, although C++ and Java are very similar, hence the game core is almost a straight copy-paste), I choose the WTFPL for my code (for those countries that don't recognize public domain stuff). I'm sorry, but GPL/BSD-like licenses are too ridiculous for such a small program. Anyway, the credit goes to amz because he was the one that developed this thing in first place - i only spent my time porting it to my cellphone :P
- PC version (KanaMemo JVM):
- This build uses generics, so it will NOT run on JVMs which don't support Java 5 (or later) features.
- Source package includes two projects: KanaMemo and XList, a linked-list library used by this version. XList was also developed by me, so it falls under the same license of the rest of the sources. In NetBeans, load both projects, and use "Resolve Reference Problems" to fix any load-time problems. By the way, after you build KanaMemo, look in /dist/merged/ to find the combined JAR with all the required dependencies (that is, XList).
- The GUI uses Swing, so your JVM must also support it.
- User savegame files locations:
- Windows: %APPDATA%\KanaMemo\
- Linux/Unix: ~/.KanaMemo/
- Mac OS X: I don't have a Mac :P
- Obviously you need to have some asian/japanese fonts installed on your system to be able to display kana.
- If you want to change the application language, you will need to specify the system locale when you run the JVM. I can't remember how to do it on Windows (maybe with AppLocale?), but on Linux/Unix it's very easy: "LANG=xx java -jar KanaMemoJVM.jar", where "xx" is the language to be used (en = english, es = spanish).
- J2ME build (KanaMemo J2M):
- The JAR is somewhat big (~400KB, due to the embedded PNG kana pics, because very few cellphones have fonts with kana glyphs), so you won't be able to install it in quite a few cellphones.
- To change the MIDlet language, use the online installer, or edit the line "Default-Locale" in the JAD and do a offline install (en = english, es = spanish).
- Given the wide variety of cellphones and mobile JVMs, i can't ensure total compatibility with all devices in the wild. To make things a bit easier, KanaMemo does not use any special/restricted JSR (like FileConnection, for example), so you should not experience permission problems. I have only been able to test KanaMemo on the following platforms (RAM usage measured after MIDlet startup):
- Sun WTK 2.5.2 device emulator (240x320): uses around 200KB of RAM.
- MicroEmulator 2.0.4 (176x220): uses around 9MB of RAM (MicroEmulator "converts" the MIDlet into a conventional J2SE app)
- Motorola K1m (176x220, BREW/Jbed 20070425): uses MORE THAN 1MB of RAM! (this precise Jbed build is buggy and shows poor performance)
- Motorola V3c (176x220, BREW/Jbed 20051213): uses around 400KB of RAM.
- Motorola RAZR V3m (176x220, Sprint/QVM 4.2.2): uses around 200KB of RAM.
- Motorola E815 (176x220, BREW/Jbed 20050907): uses around 600KB of RAM.
- Nokia 6276 (240x320, Nokia S40): uses just a bit over 100KB of RAM.
- Nokia 6790 Surge (320x240, Symbian 9.3/S60): uses around 200KB of RAM.
- Motorola ROKR E8 (320x240, MOTOMAGX): uses around 600KB of RAM
- BlackBerry Curve 8330 (320x240, OS 4.5.0.77): Do i have to say it?!
- BlackBerry Bold 9000 (480x320, OS 4.6.0.304): idem...
- BlackBerry Curve 8530 (320x240, OS 5.0.0.459): Actually, BBs don't tell you directly how much RAM is eating your proggy...
- BlackBerry Storm 9550 (480x360, OS 5.0.0.713): Don't even bother trying KanaMemo on this one :P
As a general rule, anything MIDP2.0-compliant, with at least 600KB of Java heap RAM, should be able to run KanaMemo; if you get it working on your cellphone, please notify me!
- KanaMemo REQUIRES at the very least a 176x220 pixel screen (Some cellphones eat a few pixels on the top with the battery/signal icons, because of this, KanaMemo should work with at least a 200-pixel-tall screen). If your cellphone has a smaller display than this (i.e. a 128x160 screen from low-end devices, or a landscape 220x176 screen from messaging phones), i'm very sorry for you, but you need to get another handset (you will only see a "Cannot draw" message with the KanaMemo logo in these cases). Best viewed on a QVGA display (landscape or portrait will work), however it will look lame and fugly on anything bigger (but not misaligned). Be aware that on-screen texts may look too big or too small, it depends on the phone JVM because KanaMemo uses the system-supplied fonts.
- The "OK" key often is the center key on your phone D-pad. Most phones also allow to use the "5" key as OK. If in doubt, consult your handset users manual.
- KanaMemo can be very cumbersome to use on BlackBerry devices due to the native platform user interface: to adjust the kana levels, hold ALT while you slide the trackball or trackpad on the slider bars. Use the MENU key to access the commands on the screens which require them (Settings/About/Input romaji). I'm very sorry, but i will NOT release a "native/enhanced" build for these gadgets. This goes TRIPLE for touch-only models (like the Storm family) - if you feel masochistic enough, the "OK" key is the spacebar at the on-screen keyboard.
- I'm sorry, but KanaMemo is unusable on keyboard-less "touch" cellphones. GET A PHONE WITH A REAL KEYBOARD, not a plastic toy candybar!
- Unlike the PC version, this build only supports a single user. So better don't leave your phone in the wrong hands!
- On some cellphones, after a upgrade/reinstall, you will end with duplicate copies of KanaMemo or something. You will LOSE your progress in these cases. Consider yourself warned.
- KanaMemo does use the phone JVM-provided native input methods. Because of this, on some cellphones (mostly Nokia S40-based handsets) you won't be able to see the current kana when entering the romaji (since the text input box fills the entire screen). This is not a bug on the MIDlet, complain with the handset maker for such a bad implementation.
- Android? iPhone? Symbian (native)? HELL NO. I don't have phones running these. Theorically, KanaMemo could be ported to Android with not much effort, but i leave this as a exercise for the reader. Have a BREW cellphone? (read: Verizon, or almost anything CDMA) Sorry, but i can't afford the €xp€n$ive Qualcomm BREW authenticated developer certificates, nor the NSTL certifications, and don't me get started with trying to persuade CDMA carriers to offer KanaMemo on their app catalogs... (There is hope, though: select Motorola models can be flashed with Java-enabled firmware files).
Downloads:
Current builds:
J2SE: 0.5Dr210 (Squidward) - 26/08/2010
* Initial public release
J2ME: 0.5Mr350 (Tsugumi) - 18/09/2010
* Fixes an issue with romaji with multiple matching kana (i.e.: ぢ and じ, whose romaji is "ji")
- For conventional PCs (J2SE):
- For cellphones (J2ME):
KanaMemo: ©2006 Rodrigo Braz Monteiro (amz)
Java ports: ©2010-2011 Tom Maneiro / ©2010-2011 Tom Scripts LTDA. (J2SE) / ©2010-2011 Dilworks Mobile LLC (J2ME)
Some Rights Reserved / Algunos derechos reservados
Ultima actualización / Last updated: 14/07/2011
Volver a casa!