feat: JLPT levels for Japanese, custom practice scenarios, UI improvements
- Add separate level systems: CEFR (A1-C2) for European languages, JLPT (N5-N1) for Japanese - Store levels per language in new `levels_by_language` JSON field - Add custom scenario option in AI practice mode - Show action buttons after practice ends (new dialogue, tasks, words) - Fix level display across all handlers to use correct level system - Add Alembic migration for levels_by_language field - Update all locale files (ru, en, ja) with new keys 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -73,7 +73,15 @@
|
||||
"end_keep": "素晴らしい!練習を続けましょう。",
|
||||
"end_hint": "/practice で新しい会話を始められます。",
|
||||
"translation_unavailable": "翻訳は利用できません",
|
||||
"translation_already": "翻訳はすでに表示されています"
|
||||
"translation_already": "翻訳はすでに表示されています",
|
||||
"custom_scenario_btn": "✏️ カスタムシナリオ",
|
||||
"custom_scenario_prompt": "✏️ <b>シナリオを入力してください</b>\n\n会話のトピックや状況を書いてください。\n\n例:\n• プログラマーの就職面接\n• 電話でピザを注文\n• 友達と映画について話す\n• 日本旅行の計画",
|
||||
"custom_scenario_too_short": "⚠️ 説明が短すぎます。シナリオについてもう少し詳しく書いてください。",
|
||||
"new_practice_btn": "🔄 新しい会話",
|
||||
"to_tasks_btn": "🧠 課題",
|
||||
"to_words_btn": "🎯 単語",
|
||||
"go_tasks_hint": "/task で単語を練習できます",
|
||||
"go_words_hint": "/words [テーマ] で単語セットを取得できます"
|
||||
},
|
||||
"tasks": {
|
||||
"no_words": "📚 まだ練習用の単語がありません!\n\n/add で単語を追加してから戻ってきてください。",
|
||||
@@ -151,6 +159,87 @@
|
||||
"cancelled": "❌ テストを中止しました",
|
||||
"q_header": "❓ <b>{n}問中 {i} 問目</b>"
|
||||
},
|
||||
"settings": {
|
||||
"title": "⚙️ <b>設定</b>\n\n",
|
||||
"level_prefix": "📊 レベル: ",
|
||||
"learning_prefix": "🎯 学習言語: ",
|
||||
"interface_prefix": "🌐 インターフェース言語: ",
|
||||
"choose": "変更したい項目を選択:",
|
||||
"close": "❌ 閉じる",
|
||||
"back": "⬅️ 戻る",
|
||||
"back_to_settings": "⬅️ 設定に戻る",
|
||||
"level_title": "📊 <b>レベルを選択:</b>\n\n",
|
||||
"level_groups": "<b>A1-A2</b> - 初級\n<b>B1-B2</b> - 中級\n<b>C1-C2</b> - 上級\n\n",
|
||||
"level_hint": "これは提案される単語や課題の難易度に影響します。",
|
||||
"level": {
|
||||
"a1": "A1 - 初級",
|
||||
"a2": "A2 - 初級(上)",
|
||||
"b1": "B1 - 中級",
|
||||
"b2": "B2 - 中級(上)",
|
||||
"c1": "C1 - 上級",
|
||||
"c2": "C2 - ネイティブ"
|
||||
},
|
||||
"jlpt": {
|
||||
"n5": "N5 - 基礎",
|
||||
"n4": "N4 - 初級",
|
||||
"n3": "N3 - 中級",
|
||||
"n2": "N2 - 上級",
|
||||
"n1": "N1 - 流暢"
|
||||
},
|
||||
"jlpt_groups": "<b>N5-N4</b> - 初級\n<b>N3</b> - 中級\n<b>N2-N1</b> - 上級\n\n",
|
||||
"level_changed": "✅ レベルが変更されました: <b>{level}</b>\n\n",
|
||||
"level_changed_hint": "これからレベルに合った単語と課題が出題されます!",
|
||||
"lang_title": "🌐 <b>インターフェース言語を選択:</b>\n\n",
|
||||
"lang_desc": "ボットの表示言語が変更されます。",
|
||||
"lang_changed": "✅ インターフェース言語: <b>日本語</b>",
|
||||
"learning_title": "🎯 <b>学習言語を選択:</b>\n\n",
|
||||
"learning_changed": "✅ 学習言語: <b>{code}</b>",
|
||||
"menu_updated": "メインメニューを更新しました ⤵️",
|
||||
"lang_name": {
|
||||
"ru": "🇷🇺 Русский",
|
||||
"en": "🇬🇧 English",
|
||||
"ja": "🇯🇵 日本語"
|
||||
},
|
||||
"learning_lang": {
|
||||
"en": "🇬🇧 英語",
|
||||
"es": "🇪🇸 スペイン語",
|
||||
"de": "🇩🇪 ドイツ語",
|
||||
"fr": "🇫🇷 フランス語",
|
||||
"ja": "🇯🇵 日本語"
|
||||
}
|
||||
},
|
||||
"import_extra": {
|
||||
"cancelled": "❌ インポートを中止しました。"
|
||||
},
|
||||
"level_test_extra": {
|
||||
"generating": "🔄 質問を生成しています...",
|
||||
"generate_failed": "❌ テストの生成に失敗しました。後でもう一度試すか、/settings でレベルを手動設定してください。",
|
||||
"translation_unavailable": "翻訳は利用できません",
|
||||
"translation_marker": "質問の翻訳:",
|
||||
"translation_already": "翻訳はすでに表示されています",
|
||||
"correct": "✅ 正解!",
|
||||
"incorrect": "❌ 不正解",
|
||||
"correct_answer": "正解: <b>{answer}</b>",
|
||||
"result_title": "🎉 <b>テスト完了!</b>\n\n",
|
||||
"results_header": "📊 結果:\n",
|
||||
"correct_count": "正解数: <b>{correct}</b> / {total}\n",
|
||||
"accuracy": "正答率: <b>{accuracy}%</b>\n\n",
|
||||
"your_level": "🎯 あなたのレベル: <b>{level}</b>\n",
|
||||
"level_set_hint": "これから課題や教材があなたのレベルに合わせて出題されます!\n/settings でいつでもレベルを変更できます",
|
||||
"level_desc": {
|
||||
"A1": "初級 - 基本的なフレーズを理解し、自己紹介ができる",
|
||||
"A2": "初級(上) - 簡単なトピックでコミュニケーションできる",
|
||||
"B1": "中級 - 慣れた話題で会話を続けられる",
|
||||
"B2": "中級(上) - ほとんどの状況で流暢に話せる",
|
||||
"C1": "上級 - 言語を柔軟かつ効果的に使える",
|
||||
"C2": "ネイティブ - ネイティブレベルの言語力",
|
||||
"N5": "基礎 - ひらがな、カタカナ、基本漢字を理解できる",
|
||||
"N4": "初級 - 日常会話を理解できる",
|
||||
"N3": "中級 - 一般的な文章や会話を理解できる",
|
||||
"N2": "上級 - ほとんどのコンテンツを理解できる",
|
||||
"N1": "流暢 - 日本語を完全に習得している"
|
||||
}
|
||||
},
|
||||
"words": {
|
||||
"generating": "🔄 テーマ『{theme}』の単語を生成中...",
|
||||
"generate_failed": "❌ 単語の生成に失敗しました。後でもう一度お試しください。",
|
||||
|
||||
Reference in New Issue
Block a user