feat(app): a character card for kanji and kana

One card type for both (card schema 7): the character on the front, its
meanings and a kanji's on and kun readings, each merging on its own. A
kana's romaji is its meaning, so kana are studied, and later written,
exactly as kanji are. The composer offers it beside the other kinds, each
kind of reading on one line (ショク、ジキ); studying shows the character
large and, with the answer, its meanings and readings (the other way round
when asked from the back); the card browser filters by it and finds a kun
reading without its okurigana dot; the Markdown export writes its meanings
and readings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-09 15:00:21 +02:00
commit 2fc4205010
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -2029,6 +2029,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get composerKindMap => 'Landkarte';
@override
String get composerKindCharacter => 'Schriftzeichen';
@override
String get composerLabelFront => 'Vorderseite';
@ -2041,6 +2044,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get composerLabelPrompt => 'Aufgabe';
@override
String get composerLabelCharacter => 'Schriftzeichen';
@override
String get composerLabelBack => 'Rückseite';
@ -2059,6 +2065,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get composerPlaceholderPrompt => 'Aufgabe hinzufügen';
@override
String get composerPlaceholderCharacter => 'Kanji oder Kana hinzufügen';
@override
String get composerAddAnswer => 'Antwort hinzufügen';
@ -2221,6 +2230,30 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get vocabularyRemoveSense => 'Wortbedeutung entfernen';
@override
String get characterPrimaryMeaningHint =>
'Hauptbedeutung, bei Kana die Umschrift';
@override
String get characterOnReadings => 'On-Lesungen';
@override
String get characterOnReadingsHint =>
'Aus dem Chinesischen, in Katakana: ショク、ジキ';
@override
String get characterKunReadings => 'Kun-Lesungen';
@override
String get characterKunReadingsHint =>
'Japanisch, in Hiragana, Okurigana nach einem Punkt: た.べる';
@override
String get characterOn => 'On';
@override
String get characterKun => 'Kun';
@override
String get matchingCategories => 'Kategorien';
@ -4430,6 +4463,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get cardBrowserTypeMap => 'Nur Karten';
@override
String get cardBrowserTypeCharacter => 'Nur Schriftzeichen';
@override
String get cardBrowserFilterTag => 'Tag';