feat: мини-игры, premium подписка, улучшенные контексты
Мини-игры (/games): - Speed Round: 10 раундов, 10 секунд на ответ, очки за скорость - Match Pairs: 5 слов + 5 переводов, соединить пары Premium-функции: - Поля is_premium и premium_until для пользователей - AI режим проверки ответов (учитывает синонимы) - Batch проверка всех ответов одним запросом Улучшения: - Примеры использования для всех добавляемых слов - Разбиение переводов по запятой на отдельные записи - Полные предложения в контекстах (без ___) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
"task": "🧠 Task",
|
||||
"practice": "💬 Practice",
|
||||
"exercises": "📖 Exercises",
|
||||
"games": "🎮 Mini Games",
|
||||
"words": "🎯 Thematic words",
|
||||
"import": "📖 Import",
|
||||
"stats": "📊 Stats",
|
||||
@@ -428,5 +429,63 @@
|
||||
"score": "Score: {correct} of {total}",
|
||||
"no_topics": "No topics available for your level yet.",
|
||||
"write_answer": "Write your answer:"
|
||||
},
|
||||
"minigames": {
|
||||
"menu_title": "🎮 <b>Mini Games</b>\n\nChoose a game:",
|
||||
"start_btn": "Start",
|
||||
"back_btn": "Back",
|
||||
"play_again": "Play again",
|
||||
"speed_round": {
|
||||
"name": "Speed Translation",
|
||||
"rules": "📋 <b>Rules:</b>\n\n• A word from your vocabulary appears\n• You have {time} seconds to answer\n• Type the translation as fast as you can\n• Faster = more points!\n\n🎯 Rounds: {count}",
|
||||
"mode_ai": "AI Check Mode",
|
||||
"mode_simple": "Simple Mode",
|
||||
"premium_hint": "You have a subscription! Choose answer checking mode.",
|
||||
"ai_mode_warning": "⚠️ <b>AI Check Mode</b>\n\nIn this mode AI will check all answers <b>after the game ends</b>.\nDuring the game, answers are checked against dictionary.\n\nAI considers synonyms and translation variations.",
|
||||
"ai_checking": "AI is checking answers",
|
||||
"not_enough_words": "❌ Not enough words in vocabulary\n\nMinimum: {min} words\nYou have: {current}\n\nAdd words via /add or /words",
|
||||
"round": "Round {current}/{total}",
|
||||
"seconds": "sec",
|
||||
"score": "Score",
|
||||
"points": "points",
|
||||
"time_up": "Time's up!",
|
||||
"correct": "Correct!",
|
||||
"wrong": "Wrong!",
|
||||
"correct_was": "Correct answer",
|
||||
"finished": "Game Over!",
|
||||
"final_score": "Final score",
|
||||
"correct_answers": "Correct answers",
|
||||
"accuracy": "Accuracy",
|
||||
"answers_list": "Answers",
|
||||
"result": {
|
||||
"excellent": "🔥 Excellent! You're a master!",
|
||||
"good": "👏 Great result! Keep it up!",
|
||||
"average": "📚 Not bad! Keep practicing.",
|
||||
"practice": "💪 Don't give up! Practice makes perfect."
|
||||
}
|
||||
},
|
||||
"match_game": {
|
||||
"name": "Match Pairs",
|
||||
"rules": "📋 <b>Rules:</b>\n\n• {count} words and {count} translations will appear shuffled\n• Match the correct pairs\n• Enter answer in format: 1A, 2B, 3C...\n• Time is tracked",
|
||||
"title": "Match the pairs",
|
||||
"words_col": "Words",
|
||||
"translations_col": "Translations",
|
||||
"hint": "Enter pairs (e.g.: 1C, 2A, 3B, 4D, 5E)",
|
||||
"cancel": "Cancel",
|
||||
"cancelled": "❌ Game cancelled",
|
||||
"not_enough_words": "❌ Not enough words in vocabulary\n\nMinimum: {min} words\nYou have: {current}\n\nAdd words via /add or /words",
|
||||
"not_all_pairs": "⚠️ Enter all pairs!\n\nEntered: {entered}\nNeeded: {needed}",
|
||||
"finished": "Game Over!",
|
||||
"score": "Score",
|
||||
"correct_pairs": "Correct pairs",
|
||||
"time": "Time",
|
||||
"results": "Results",
|
||||
"result": {
|
||||
"perfect": "🎯 Perfect! All pairs correct!",
|
||||
"excellent": "🔥 Excellent! Almost flawless!",
|
||||
"good": "👍 Good result!",
|
||||
"practice": "💪 Keep practicing!"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"task": "🧠 課題",
|
||||
"practice": "💬 練習",
|
||||
"exercises": "📖 文法練習",
|
||||
"games": "🎮 ミニゲーム",
|
||||
"words": "🎯 テーマ別単語",
|
||||
"import": "📖 インポート",
|
||||
"stats": "📊 統計",
|
||||
@@ -420,5 +421,63 @@
|
||||
"score": "スコア: {total}問中{correct}問正解",
|
||||
"no_topics": "あなたのレベルで利用可能なトピックはまだありません。",
|
||||
"write_answer": "回答を入力してください:"
|
||||
},
|
||||
"minigames": {
|
||||
"menu_title": "🎮 <b>ミニゲーム</b>\n\nゲームを選んでください:",
|
||||
"start_btn": "開始",
|
||||
"back_btn": "戻る",
|
||||
"play_again": "もう一度",
|
||||
"speed_round": {
|
||||
"name": "スピード翻訳",
|
||||
"rules": "📋 <b>ルール:</b>\n\n• 単語帳から単語が表示されます\n• {time}秒以内に回答してください\n• できるだけ早く翻訳を入力\n• 速いほどポイントが高い!\n\n🎯 ラウンド数: {count}",
|
||||
"mode_ai": "AIチェックモード",
|
||||
"mode_simple": "シンプルモード",
|
||||
"premium_hint": "サブスクリプションがあります!回答チェックモードを選択してください。",
|
||||
"ai_mode_warning": "⚠️ <b>AIチェックモード</b>\n\nこのモードでは、AIが<b>ゲーム終了後</b>にすべての回答をチェックします。\nゲーム中は辞書で回答を確認します。\n\nAIは同義語や翻訳のバリエーションを考慮します。",
|
||||
"not_enough_words": "❌ 単語帳の単語が足りません\n\n最低: {min}語\n現在: {current}語\n\n/add または /words で単語を追加してください",
|
||||
"round": "ラウンド {current}/{total}",
|
||||
"seconds": "秒",
|
||||
"score": "スコア",
|
||||
"points": "ポイント",
|
||||
"time_up": "時間切れ!",
|
||||
"correct": "正解!",
|
||||
"wrong": "不正解!",
|
||||
"correct_was": "正解",
|
||||
"finished": "ゲーム終了!",
|
||||
"final_score": "最終スコア",
|
||||
"correct_answers": "正解数",
|
||||
"accuracy": "正答率",
|
||||
"ai_checking": "AIが回答をチェック中...",
|
||||
"answers_list": "回答一覧",
|
||||
"result": {
|
||||
"excellent": "🔥 素晴らしい!マスターですね!",
|
||||
"good": "👏 良い結果です!この調子で!",
|
||||
"average": "📚 悪くないです!練習を続けましょう。",
|
||||
"practice": "💪 諦めないで!練習あるのみ!"
|
||||
}
|
||||
},
|
||||
"match_game": {
|
||||
"name": "ペアを見つけよう",
|
||||
"rules": "📋 <b>ルール:</b>\n\n• {count}個の単語と{count}個の翻訳がシャッフルされて表示されます\n• 正しいペアを見つけてください\n• 回答形式: 1A, 2B, 3C...\n• 時間が計測されます",
|
||||
"title": "ペアを合わせよう",
|
||||
"words_col": "単語",
|
||||
"translations_col": "翻訳",
|
||||
"hint": "ペアを入力してください(例: 1C, 2A, 3B, 4D, 5E)",
|
||||
"cancel": "キャンセル",
|
||||
"cancelled": "❌ ゲームがキャンセルされました",
|
||||
"not_enough_words": "❌ 単語帳の単語が足りません\n\n最低: {min}語\n現在: {current}語\n\n/add または /words で単語を追加してください",
|
||||
"not_all_pairs": "⚠️ すべてのペアを入力してください!\n\n入力済み: {entered}\n必要: {needed}",
|
||||
"finished": "ゲーム終了!",
|
||||
"score": "スコア",
|
||||
"correct_pairs": "正解ペア数",
|
||||
"time": "時間",
|
||||
"results": "結果",
|
||||
"result": {
|
||||
"perfect": "🎯 完璧!すべて正解!",
|
||||
"excellent": "🔥 素晴らしい!ほぼ完璧!",
|
||||
"good": "👍 良い結果!",
|
||||
"practice": "💪 練習を続けましょう!"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"task": "🧠 Задание",
|
||||
"practice": "💬 Практика",
|
||||
"exercises": "📖 Упражнения",
|
||||
"games": "🎮 Мини-игры",
|
||||
"words": "🎯 Тематические слова",
|
||||
"import": "📖 Импорт",
|
||||
"stats": "📊 Статистика",
|
||||
@@ -428,5 +429,63 @@
|
||||
"score": "Результат: {correct} из {total}",
|
||||
"no_topics": "Для твоего уровня пока нет доступных тем.",
|
||||
"write_answer": "Напиши свой ответ:"
|
||||
},
|
||||
"minigames": {
|
||||
"menu_title": "🎮 <b>Мини-игры</b>\n\nВыбери игру:",
|
||||
"start_btn": "Начать",
|
||||
"back_btn": "Назад",
|
||||
"play_again": "Играть ещё",
|
||||
"speed_round": {
|
||||
"name": "Быстрый перевод",
|
||||
"rules": "📋 <b>Правила:</b>\n\n• Появляется слово из твоего словаря\n• У тебя {time} секунд на ответ\n• Напиши перевод как можно быстрее\n• Чем быстрее — тем больше очков!\n\n🎯 Раундов: {count}",
|
||||
"mode_ai": "С проверкой AI",
|
||||
"mode_simple": "Простой режим",
|
||||
"premium_hint": "У тебя есть подписка! Выбери режим проверки ответов.",
|
||||
"ai_mode_warning": "⚠️ <b>Режим AI проверки</b>\n\nВ этом режиме AI проверит все ответы <b>после окончания игры</b>.\nВо время игры ответы проверяются по словарю.\n\nAI учитывает синонимы и вариации перевода.",
|
||||
"ai_checking": "AI проверяет ответы",
|
||||
"not_enough_words": "❌ Недостаточно слов в словаре\n\nМинимум: {min} слов\nУ тебя: {current}\n\nДобавь слова через /add или /words",
|
||||
"round": "Раунд {current}/{total}",
|
||||
"seconds": "сек",
|
||||
"score": "Очки",
|
||||
"points": "очков",
|
||||
"time_up": "Время вышло!",
|
||||
"correct": "Правильно!",
|
||||
"wrong": "Неправильно!",
|
||||
"correct_was": "Правильный ответ",
|
||||
"finished": "Игра окончена!",
|
||||
"final_score": "Итоговый счёт",
|
||||
"correct_answers": "Правильных ответов",
|
||||
"accuracy": "Точность",
|
||||
"answers_list": "Ответы",
|
||||
"result": {
|
||||
"excellent": "🔥 Превосходно! Ты настоящий мастер!",
|
||||
"good": "👏 Отличный результат! Так держать!",
|
||||
"average": "📚 Неплохо! Продолжай практиковаться.",
|
||||
"practice": "💪 Не сдавайся! Повторение — мать учения."
|
||||
}
|
||||
},
|
||||
"match_game": {
|
||||
"name": "Найди пару",
|
||||
"rules": "📋 <b>Правила:</b>\n\n• Появятся {count} слов и {count} переводов вперемешку\n• Нужно правильно соединить пары\n• Введи ответ в формате: 1A, 2B, 3C...\n• Засекается время прохождения",
|
||||
"title": "Соедини пары",
|
||||
"words_col": "Слова",
|
||||
"translations_col": "Переводы",
|
||||
"hint": "Введи пары (например: 1C, 2A, 3B, 4D, 5E)",
|
||||
"cancel": "Отмена",
|
||||
"cancelled": "❌ Игра отменена",
|
||||
"not_enough_words": "❌ Недостаточно слов в словаре\n\nМинимум: {min} слов\nУ тебя: {current}\n\nДобавь слова через /add или /words",
|
||||
"not_all_pairs": "⚠️ Введи все пары!\n\nВведено: {entered}\nНужно: {needed}",
|
||||
"finished": "Игра окончена!",
|
||||
"score": "Очки",
|
||||
"correct_pairs": "Правильных пар",
|
||||
"time": "Время",
|
||||
"results": "Результаты",
|
||||
"result": {
|
||||
"perfect": "🎯 Идеально! Все пары верны!",
|
||||
"excellent": "🔥 Превосходно! Почти без ошибок!",
|
||||
"good": "👍 Хороший результат!",
|
||||
"practice": "💪 Продолжай практиковаться!"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user