Coder Social home page Coder Social logo

kakugo's Introduction

Kakugo

Kakugo is an application that helps learning Japanese. It includes multiple tests to memorize hiragana, katakana, and kanji and adapts to the user's learning pace.

One of the biggest difficulty with learning Japanese is memorizing kanji and vocabulary. While learning them by just reading and writing them everyday may work, the more kanji you know, the harder it gets and the more time it takes to revise them all. Proper tools can help you memorize these huge amounts of knowledge to more quickly become a fluent Japanese speaker.

Kakugo is one of these tools. It helps learning and revising kanji and vocabulary in an efficient manner. It uses Spaced Repetition in a unique way that adapts to the user's pace. If you only have time to revise 30 kanji every day, or if you can revise as much as 100 kanji every day, Kakugo will adapt and test you on the right kanji at the right time for you to memorize them. There is no "kanji of the day" list to revise, you can start and finish a session whenever you feel like it.

Kakugo also features a wide variety of tests to help you find the best ways that will help you learn Japanese.

Features

Features include:

  • Hiragana and Katakana quizzes
  • Kanji quizzes by reading and meaning
  • Kanji test by part composition
  • Kanji writing test
  • Vocabulary quizzes by reading and meaning
  • Unique spaced repetition formula that adapts to your own learning pace
  • Unlimited quiz sessions that allow you to take a quiz at any time, for however long you want, useful to efficiently spend commuting time
  • Show similar-looking kanji in answers to teach you the differences
  • Kanji and vocabulary sorted by JLPT level
  • Clicking on kanji opens aedict3 (a non-free Japanese dictionary) or jisho.org
  • Optimized tablet support
  • Open source
  • No ads
  • No internet access required
  • Supported languages: English, French, Spanish, German
  • More to come

Privacy

This app does not collect any personal data, only your progression and settings is saved on your device. No data is ever uploaded on the Internet, this app does not use the Internet access.

Credits

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

Donations

If you like this project and would like to thank me, I am open to donations. Do not forget to donate to the projects listed above from which most of the work comes.

Donate with PayPal.

Or if you prefer Bitcoin donations, here is my address: 12bnT7epKmf9ztkAeuM8dHCcoc76r9rgVX

kakugo's People

Contributors

blastrock avatar jindalpratik avatar oldshatterham avatar plhosk avatar poussinou avatar revuwa avatar sguinetti avatar whoregisteredallthegoodusernames avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kakugo's Issues

Better kana selection + reference

Right now you can see kana in selection menu, but I find it's a bit uncomfortable, especially when you want to compare two similar characters, for example セ and ヤ, so I think it'd better if we had like a map, where selected characters background will be a bit darker and also there were buttons on sides of a lines that will select all the characters of a line. After this you won't need to scroll down and back and will be able to see characters in a sight.
This can be hard to implement and since you learn letters only once this can be useless but I think it's a great idea anyway, even though you can just search for a table in internet.

Self-verify mode

For the tests, could you implement a mode where instead of presenting the user with a list of possible answers, Kakugo just presents a single 'reveal' button and then lets the user self-verify if the answer he/she thought of was correct?

I find that having just six choices is too big of a hint. I answer the quizzes perfectly, but I still confuse symbols when I find them in text where I don't have a list of choices.

Add vocabulary writing quiz

It would be nice if there was a "meaning to writing" quiz for vocabulary, where the user could write each character of a word in turn. I think that could help with learning exactly which parts of a word are written in kanji/hiragana/katakana.

Allow users to add notes to or modify Kanji descriptions

It would be nice for users to be able to easily add some note/tag to Kanji (for example helpful mnemonics or etymological clues).

I've spent a fair amount of time reading kanjiportraits and it would be cool to be able to add a reminder note to those kanji that have particularly memorable etymologies.

Include different spellings for pronunciation

it would be nice to have an option for the usage of the IPA as an addition to the usual "letter in japanese to spelling in latin alphabet". this can help clear out confusions for people with different native languages other than english. for instance, the portuguese "chi" is usually pronounced by us as "shi" (/ʃi/), when the actual pronunciation is viewed in portuguese as "ti" or "thi" (/ti/ or (/ti/) with a faint /ʃ/).

but for those who don't know the International Phonetics Alphabet, accentuations can also help. for instance, not everyone knows that /ɒ/ is for "horta" or "order", but many people knows to associate such pronunciation with the letter "ó". other examples can include writings like "stár", "pōst", "você", "cartão". but thinking of it again, there are some accentuations that people might not use in their day-to-day life, so i guess that there will be many who won't know the spelling of "î", or that can have another idea of what ~ is seen as. maybe this can be sorted out somehow?

what do you think? :3

Sanitize user inputs

the issue in action

it doesn't make sense to accept characters such as ¶ when you only have the answers in letters

[FEATURE REQUEST] Saving word selections

At the moment, Kakugo supports saving the current Kanji selection; however, it would also be nice to be able to save the currently selected words/vocabulary.

With this, you could for example have separate selections for words on specific topics or for your curriculum if you use Kakugo alongside a textbook or language course.

Add more choices to quiz?

Hi, loving this app but wonder if it could be improved by adding an option to increase the default (6) options for the quizes to (8) or even (10) to select from?

Documentation for kanji import function

I rethought this request, and at the core it is simply a request for documentation on the kanji list import. I incorrectly asked about kanji words.

To answer about the AnkiDroid format, it is a sqlite database with same schema as Anki. It's described at https://github.com/ankidroid/Anki-Android/wiki/Database-Structure, and a plugin I think might be useful in understanding how kakugo could extract data useful for it is https://github.com/tsudoko/kanjigrid.

As for its usefulness, it would support any order for learning kanji...but that can be better understood as simply a request for adding support for the heisig6 index, which already exists in the KANJIDIC file.

It's substantially different from the JLPT ordering because it's part of a learning system based on the official radical system supplemented with the author's additional creations. There are a couple other systems like it, but it's definitely the most talked about system that isn't frequency-based or JLPT-based. I can create another issue for this request.

Drawing lessons to prevent bruteforcing

situation: you try to make the whole bar green before addingore letters to learn. then, you forget one, but still want the points for drawing correctly. the solution that you find is to try all the strokes you can think of until it makes the drawing.

this, however, isn't very healthy for learning. probably?

maybe making it trigger a hint would solve the issue? like when many failed attempts are made, it should probably show a hint. maybe other subtle changes telling that it is okay to fail sometimes can be nice, too.

what do you think? :3

[FEATURE REQUEST] keep screen on Feature

Hello @blastrock,
I have a small feature request.
I'm writing down the Vocabulary on paper, but the display darkens all the time..
The Process to Implement this feature is should be pretty straight forward:

create a new preference in the res/xml/root_preferences.xml key: 'keep_on' default: false
in on_create for Activity of file main/java/org/kaqui/testactivities/TestActivity.kt add
if(this.getPreferences(Context.MODE_PRIVATE).getBoolean('keep_on')) window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
if you want I can add it myself an create a pull request.
thanks.

Option to practice drawing on incorrect answer

It would be nice to have the option to practice drawing kanji/kana after having the correct one revealed upon giving up with "don't know". Something like having the correct kanji/kana show up grayed out and forcing you to fill in the strokes in the correct order.

I found this quite useful in vocabulary training applications like lingvist.

write hira&kana at the same time

All can be able to practice kata and hira on split screen, left hira, right kata, can practice both at the same time. thank you. its a great app.

Custom Reminder Notifications, Lighter Dark Theme, Dynamic Font Size & Button Size Adjustments

Would like to suggest the ability to add a custom study reminder notification.
My suggestion would be:

Time and Day
Set an interval, for example once a day at xxx time or random time, once every 2 days, only on sundays and tuesdays, etc.

What test would you like the notification to send you to?
You would set a default test type, and amount of questions, and when you click the notification it would take you into a mini quiz.

for example only 10 slides, then at the end it offers to keep going/into a full session or end daily session.

I am also suggesting making a dark theme that's colors are more towards material dark grey colors, the dark black is tough on my eyes personally.

On the phrases, the words wrap on the screen when in my opinion the font size should change dynamically. For example currently it would say "my dog is wh
ite" and break at the linebreak.

As well as maybe adjusting some of the button sizes to be more accessible.

Love the app however, appreciate your work! It's helping!

[FEATURE REQUEST] Confirmation before vocabulary autoselection

Currently, there is no confirmation dialog when clicking the "AUTO" button in the Vocabulary Word Selection.
This makes it rather easy to accidentally override your current word selection, i.e. when trying to click the search icon.

Therefore, I suggest adding a confirmation dialog before the actual auto selection takes place.

Add text to speech for Kanji and vocabulary

I'm using Kakugo in conjunction with Duolingo to focus more on Kanji and vocabulary "to meaning" training. Kakugo is pretty much perfect for that matter while Duolingo is lacking a dedicated vocabulary training mode.

However one thing that Duolingo is doing well is to provide text to speech for all Kanji and vocabulary they teach you. One of the dictionaries (Aedict) I use also allows text to speech if a Japanese TTS is installed on the device. This feature is lacking from Kakugo.

Learning pronunciation and meaning of Kanji/vocabulary seperately is not optimal in my opinion. For Kanji/vocabulary to meaning it would be great if I was presented with a Kanji/vocabulary and then be able to "tap" it for a TTS readout before I give my answer. This way I could learn the pronunciation and meaning in one go like I do with Duolingo. (I'm also remembering kanji/vocabulary easier if I can associate a pronunciation to it.)

I hope this was not too confusing. I'm happy to explain via voice chat or create a video to show what I mean if necessary.

Cannot see correct drawing order for 建

This Kanji is a bit tricky in the last strokes, and the red lines are not directly helpful unless you already have a good feeling for what corners are part of a single stroke.

Would it be possible to give the next segment a slightly different color from the other missing segments?

Drawing

Crash when tapping on a kanji

When tapping on a kanji I get the following exception, probably because I don't have aedict3 installed.

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.ComponentName.getPackageName()' on a null object reference

The stack trace isn't very informative because the method names are cut out but it should be possible to find the problem by looking at where startActivity is called.

 	at android.app.Activity.startActivity(Activity.java:4494)
 	at org.kaqui.QuizzActivity.a(Unknown Source)
 	at org.kaqui.QuizzActivity.a(Unknown Source)
 	at org.kaqui.QuizzActivity$j.onClick(Unknown Source)

[FEATURE REQUEST] Vocabulary mode reading <-> meaning

I think it would be helpful to be able to learn vocabulary in modes Hiragana to Meaning and Meaning to Hiragana.

At least to me it feels easier and more natural to first learn English<->Hiragana then Hiragana<->Kanji instead of English<->Kanji then Kanji<->Hiragana. I find learning a Kanji by only knowing the meaning as an English word (but not the reading) quite hard.

Alternatively, a mode which shows all 3 of Meaning, Hiragana and Kanji would solve the issue also. To be precise, it would show Hiragana and Kanji together in the same field (one above the other, as child's books do).

Plans for UI translations

what are your plans for translating this program to languages other than english?

i want to help translating it to portuguese (pt-br) and it would be nice to have it listed on Weblate =^-^=

Translate Kakugo in other languages

I'd like to translate the vocabulary to German.

Providing translations to other languages makes it much easier to learn Kanji/vocabulary as a non-native English speaker.

Add Setting to Disable Flashy Animations

First off, thank you for developing Kakugo. Can an option be added to the settings menu to remove the animation displayed after selecting an answer? I personally find the animation distracting.

Donating to the project.

Hello,
I was simply wondering if there is a way to donate to the project. I am already planning to donate upstream, but would be happy to donate to Kakugo directly as well. I don't really have time to donate my time at this point.

I found it via f-droid after buying kanjistudy, and I am so happy there is an FOSS version available! (specially since the aforementioned uses mostly OSS libraries)

At any rate, it's good to have this question answered and documented, so this ticket would help with that :P

Multiple letters should not have the same translations

there are multiple letters in the Hiragana lessons that are written as "ji", but even with the parenthesis in some of them (e.g "ji(dji)"), the writing lessons still requires the same "ji" to be written for the different ones.

my suggestion is that the parenthesis are still useful for clarifying pronunciations like "ti (chi)", but i think that the syllables that are differenciating the letters should be the ones used for the actual answers (unless it can cause any confusion with reading japanese in the latin alphabet).

what do you think? :3

Kanji composition task is missing some radicals

In the kanji composition activity, some radicals don't show up properly, such as ⺈ for 色 in the screenshot below.

Maybe some more radical entries need to be added to the dict database? I noticed that there's no listing for 11912 (⺈).

Thanks again for creating this app!

Screenshot_20190501-090556

Night mode

Add an option to reverse the black-white color scheme for reading at night.

Add kana writing activity

I'm very much enjoying using your app. Thank you!

I thought it might be easy to add hiragana and katakana writing activities similar to the kanji quiz (#2), because KanjiVG includes the kana.

Thank you again for creating this app!

Kanji selection as a tree

the current selection interface makes it very hard to find a starting point to learn Kanji, with a highlight to the kanji composition lessons, where you need to have learned previous symbols to understand the ones selected, which is hard to find on the list.

would a tree of selection be easy to build? maybe dividing the current groups based on its level of complexity (i.e how deep the word mixing goes to a certain kanji) and have the program automatically select the relevant ones at the higher levels like a dependency management (with an option to disable, of course)? or perhaps a more complex and visual solution such as the trees of a skill tree that you would normally find in a videogame (i.e the most basic ones starting in a concentrated point at the center while the complex ones spread around and are connected by lines based on its connections in the writings)?

you and someone more can likely expand on this idea :p

what do you think? :3

sorry for taking so long to write this :( i should have written that sooner ;-;

Study activity similar to Anki and a settings or about page.

Not sure if you have used Anki in the past, but basically it shows you one kanji or word, and then after you hit the show button it displays the kana, meaning, example sentences, and other included information. It also lets you select how well you knew the word manually so the SRS would still be applicable. This would be nice because sometimes I like to view as much information as possible about a kanji. I still haven't figured out the best way to integrate this into your app, but it looks like all of the information for a given item is visible in the backend so it wouldn't be too hard to find a layout to make this work.

I would also enjoy a settings page, mainly to add a dark theme. The quiz filters might work better in the settings or perhaps with a filter icon on the toolbar in the individual activities rather than in the main content section. Would you be open to pull requests?

Accidental pressing of "Next" in Drawing Kanji

Issue: In "Kanji Drawing", it is not unusual that after I finish drawing a Kanji, and I accidentally double tap on "Next". Often, this will cause me to hit "Don't Know" on the next Kanji.

I use the drawing feature a lot and am quite fast with it, which is part of why I will have these "misclicks".

Possible Solutions: Rearrange buttons, or add an alternative way of going to the next kanji.

In "X to romaji writing", autofill service kicks in

I use Bitwarden as my password manager, which uses Android's autofill service to trigger on username/password fields in a given application (I imagine 1Password, LastPass, and others would have a similar issue, since the autofill service is what's triggering the action). In "hiragana/katakana to romaji writing", which pops up a text entry field, the autofill service triggers, thinking it's either a username or password entry field.

It looks like you might just need to set android:importantForAutofill="no" on the TextView to make it stop? https://developer.android.com/guide/topics/text/autofill-optimize#important

add vocabulary to kanji quizz

It would be nice for the kanji quizzes to be based on vocabulary, where a word is given but with one of its kanji replaced by its pronunciation, like the following
example

and the user has to guess (or write, see #2) the kanji. The image above has a full sentence but it doesn't need to be so. The word and its translation are enough.

Drawing lessons on complex writing are too sensitive

the more complex the letters are, the shorter the strokes often are. but because the strokes are shorter, the precision required for these does not make much sense. a few examples includes

  • the last stroke of 先 can be drawn like 失;
  • セ can be drawn with a straight stroke like in 七;
  • 食 allows for the second-to-last stroke to be a long straight vertical line as if you were drawing 月;
  • kanjis involving 言 can be completed by straight-up tapping around the screen;

one solution could be to have the tolerance be dynamic in proportion to the length of the strokes, but i don't have experience in dealing with drawings in programming to tell yet :(

Custom stroke width

an accessibility feature for selecting the width of drawn strokes for the drawing lessons, which can help people with low vision to use these more easily ^-^

JLPT vocabulary and kanji items

Hi,

In which extent does the kanji and vocabulary items refer to JLPT (Japanese Language Proficiency Test)? I couldn't find how it has been stated.

I first was surprised by the word 日ソ, which means Japan-Soviet, being in the JLPT N5 (real beginner, basic words - my case) list.

But I started to really wonder today studiously learning "burasagaru" which is, accordingly to Miageru website , a rarely used verb of JLPT N1 (High level japanese speaker) level.

So, I thought that, maybe, the JLPT N5 80 items simple kanji list, which seems credible, was used to automatically create a 465 items vocabulary JLPT N5 list, ony made of the former one Kanjis (plus hiragana), regardless of the actual level of the final words.

As a conclusion, I think a clarification may be useful for final users to explain how those lists are made, or why they are difficult to determine or to create.

Make drawings adapt to different handwritings

hi :3

i think this is possibly an expansion to #17, but i guess this is something for another issue.

an issue that i find myself into whenever i make the drawings is that at many times i have different ways of drawing the same letters, be they in the Latin Alphabet or the japanese Hiragana (which i am learning now :p).

that said, it would be nice to make the drawing lessons accept the strokes with any order and lenght, as long as it is considered legible enough. and with that, it would be also good to have different examples of legible letters to be shown when applicable (e.g the Hiragana letter "chi" is drawn as a lowercase "b" with a dash (ち), so why can't i draw "sa" as a "d" with a dashes (さ). also, how else it can be made, and can there be new ways of drawing that while keeping it clear and distinguishable?), as that can also help people read and iterate through different handwritings and typographies, just like we can read and associate the letter "J" written in cursive or in the simpler shape.

what do you think? :3

selecting "Next" on error is counterintuitive

I constantly find myself tapping the green highlighted correction after I make an error. This does nothing, and to proceed to the next question, I must tap the "Next" button at the bottom of the screen. This requires me to shift my focus away from the correct answer, whereas I think it would serve learning better by having the user "affirm" the green correction by tapping it in order to continue.

[feature-request] please add Yōon

Would you consider to add Yōon characters to the kana section, please?

I think they could be tricky to implement in the drawing quiz, i don't know...
But for me it would be great enough to see/learn them in the other three quiz sections

  • Hiragana / Katakana -> Romaji
  • Romaji -> Hiragana / Katakana
  • Hiragana / Katakana -> Romaji writing

What do you think?

Add kanji drawing quiz

It would be nice to have a hard mode or something for quizzes where the answer is a kanji by requiring the user to write the kanji rather than selecting it among the possible choices.

kanjirecog is a library that can be used for this (an android app is in the android branch).

[feature-request] pause after wrong answer

Allow me to open a seperate issue for the topic, which was only touched lightly in: #19 before.

@blastrock wrote:

I am not fond of going to the next question automatically for the drawing tests because I like to contemplate the kanji after drawing it, it gives me another opportunity to re-memorize it.

You're absolutely right. So what I imagined was some kind of option for that, like this:
PauseOnFail

I personally more like to get informed, when the answer was wrong only.

Possibly such an option could be combined with with the [SURE] and [MAYBE] switches.
As an example for the theoretical setting: "pause after answering" set to "on fail":

  • if you're [SURE] and give the right answer, then the next question would be asked, automatically,
  • but if you select [MAYBE] and give (accidentally) the right answer, the correction should be shown, (paused, until [NEXT] would be clicked).

What do you think?

paypal link

can you please change link which can be easily remembered and bookmark

example paypal.me/name

Add option to turn off animation

I find the animation on the line at the bottom of the screen that shows the last question answered distracting. The slight movement has a tendency to draw my eye down and interferes with my ability to move onto the next question.

Add an option to hide the answers initially

Learning progress seems to improve when instead of picking the most correct one from the choices shown, retrieval from memory alone is tried first.
To avoid even glancing the available answer choices I'd suggest to implement a feature which would allow to toggle answers' visibility on the quiz view.
This would like #2, but a bit easier to implement.

[feature-request] navigation gestures

Would you possibly consider to add some gestures for smoother navigation?

I draw some pics, what came into my mind to show what I mean:
NaviGestures01
For example as an optional settings-feature, which enables, that you can swipe to left instead of using the [NEXT] button. Or even better, that it goes to the next challenge automatically, and just stops (and let you swipe or go next) if the previous question was answered wrong.

Such gestures could rearrange the quiz-screen a bit, too:
NaviGestures02
The [SURE] and [MAYBE] buttons could be replaced with:

  • single tab [SURE]
  • double tab OR long press [MAYBE]

What do you think?

Source / credits:
The gesture-hands are used/copied from here:
[1] https://www.iconfinder.com/icons/80532/finger_flick_gestureworks_one_icon
[2] https://www.iconfinder.com/icons/80603/double_finger_gestureworks_one_tap_icon
and were slightly modified under the same license: https://creativecommons.org/licenses/by-sa/3.0/us/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.