FLUTTER ECOSYSTEM

krille-chan/fun-with-kanji

Simple Flutter app to learn Japanese writing systems Hiragana, Katakana and Kanji.

Fun With Kanji project cover
Stars
45
Forks
15
Last push (UTC)
Aug 2, 2024
Project status
Active
Krille-chan GitHub avatar
GITHUB User

Krille-chan ↗

Coffee-to-code-converter

@famedlyGermany, NRWOfficial website ↗
LanguagesDartC++CMakeHTMLRubyCSwiftKotlinObjective-C

Technical topics

Related packages and examples

Dependencies used

Dependency list 22 items

App categories

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

Fun With Kanji

Simple Flutter app to learn Japanese writing systems Hiragana, Katakana and Kanji.

With Fun With Kanji you are able to learn all common used Japanese characters. All starts with Hiragana, Katakana and their special cases and combinations. After this you learn the Kanji Radicals and then you are ready to start with the 2136 Jōyō-Kanji. You no longer need 4 different apps to learn them!

The app also contains a dictionary and a full-text search over all characters.

Fun With Kanji is open source under Mozilla Public License 2.0. Contributions and new translations are always welcome <3.

Screenshots:

https://raw.githubusercontent.com/krille-chan/fun-with-kanji/HEAD/assets/screenshots/Simulator%20Screen%20Shot%20-%20iPhone%2013%20Pro%20-%202022-05-20%20at%2010.39.58.png https://raw.githubusercontent.com/krille-chan/fun-with-kanji/HEAD/assets/screenshots/Simulator%20Screen%20Shot%20-%20iPhone%2013%20Pro%20-%202022-05-20%20at%2010.40.09.png https://raw.githubusercontent.com/krille-chan/fun-with-kanji/HEAD/assets/screenshots/Simulator%20Screen%20Shot%20-%20iPhone%2013%20Pro%20-%202022-05-20%20at%2010.39.35.png https://raw.githubusercontent.com/krille-chan/fun-with-kanji/HEAD/assets/screenshots/Simulator%20Screen%20Shot%20-%20iPhone%2013%20Pro%20-%202022-05-20%20at%2010.40.18.png https://raw.githubusercontent.com/krille-chan/fun-with-kanji/HEAD/assets/screenshots/Simulator%20Screen%20Shot%20-%20iPhone%2013%20Pro%20-%202022-05-20%20at%2010.39.19.png https://raw.githubusercontent.com/krille-chan/fun-with-kanji/HEAD/assets/screenshots/Simulator%20Screen%20Shot%20-%20iPhone%2013%20Pro%20-%202022-05-20%20at%2010.40.04.png

Install:

Get it on F-Droid Get it on Google Play

Build:

Install Flutter and run with:

flutter run

Translate Kanji into more languages:

Import translator package and run this script:

import 'dart:io';

import 'package:translator/translator.dart';

void main() async {
  const language = 'de';
  for (var i = 1; i <= 8; i++) {
    print('Load Kanji Level $i');
    final radicalsFile = File('assets/data/kanji_level_$i.json');
    final radicals = jsonDecode(radicalsFile.readAsStringSync()) as List;

    final translator = GoogleTranslator();
    for (final radical in radicals) {
      final input = radical['meanings'].join(', ');
      print('Translate: ${radical['kanji']} (ID: ${radical['id']}) $input ...');
      try {
        final translated =
            await translator.translate(input, from: 'en', to: language);
        radical['meanings'] = translated.text.split(', ');
      } catch (e, s) {
        print('Translation failed! Stop here!');
        print(e);
        print(s);
        break;
      }
    }

    print('Write to output file...');
    final outputFile = File('assets/data/kanji_level_${i}_${language}.json');
    await outputFile.writeAsString(jsonEncode(radicals));
    print('Finished!');
  }
}