feat: мини-истории, слово дня, меню практики
- Добавлены мини-истории для чтения с выбором жанра и вопросами - Кнопка показа/скрытия перевода истории - Количество вопросов берётся из настроек пользователя - Слово дня генерируется глобально в 00:00 UTC - Кнопка "Практика" открывает меню выбора режима - Убран автоматический create_all при запуске (только миграции) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
101
locales/ja.json
101
locales/ja.json
@@ -1,15 +1,34 @@
|
||||
{
|
||||
"menu": {
|
||||
"wordofday": "🌅 今日の単語",
|
||||
"add": "➕ 単語を追加",
|
||||
"vocab": "📚 単語帳",
|
||||
"task": "🧠 課題",
|
||||
"practice": "💬 練習",
|
||||
"exercises": "📖 文法練習",
|
||||
"words": "🎯 テーマ別単語",
|
||||
"import": "📖 インポート",
|
||||
"stats": "📊 統計",
|
||||
"settings": "⚙️ 設定",
|
||||
"below": "メインメニューは下にあります ⤵️"
|
||||
},
|
||||
"practice_menu": {
|
||||
"title": "練習",
|
||||
"choose": "練習モードを選択:",
|
||||
"stories": "ミニストーリー",
|
||||
"ai_chat": "AIとの会話"
|
||||
},
|
||||
"wod": {
|
||||
"title": "今日の単語",
|
||||
"generating": "🔄 今日の単語を生成中...",
|
||||
"failed": "❌ 今日の単語の生成に失敗しました。後でもう一度お試しください。",
|
||||
"not_available": "🕐 今日の単語はまだ準備中です。\n\n単語は毎日UTC 00:00に生成されます。\n後でもう一度お試しください!",
|
||||
"examples": "例文",
|
||||
"synonyms": "類義語",
|
||||
"add_btn": "➕ 単語帳に追加",
|
||||
"added": "単語帳に追加しました!",
|
||||
"not_found": "単語が見つかりません"
|
||||
},
|
||||
"add_menu": {
|
||||
"title": "➕ <b>単語を追加</b>\n\n方法を選択:",
|
||||
"manual": "📝 手動",
|
||||
@@ -55,7 +74,7 @@
|
||||
"skip_msg": "✅ わかりました!\n\n/level_test で後からテストを受けるか、/settings でレベルを設定できます。\n\nはじめましょう!おすすめ:\n• /words travel - テーマ別単語\n• /practice - AIとの会話\n• /add hello - 単語を追加"
|
||||
},
|
||||
"add": {
|
||||
"prompt": "追加したい単語を送ってください:\n例: <code>/add elephant</code>\n\nコマンドなしで単語だけ送ってもOKです!",
|
||||
"prompt": "追加したい単語を送ってください:\n• 1語: <code>/add elephant</code>\n• 複数: <code>/add apple, banana, orange</code>\n\nコマンドなしで単語だけ送ってもOKです!",
|
||||
"searching": "⏳ 翻訳と例を検索中...",
|
||||
"examples_header": "<b>例文:</b>",
|
||||
"translations_header": "<b>翻訳:</b>",
|
||||
@@ -69,6 +88,13 @@
|
||||
"added_success": "✅ 単語 '<b>{word}</b>' を追加しました!\n\n単語帳の総数: {count}\n\nさらに追加するか、/task で練習しましょう!",
|
||||
"cancelled": "キャンセルしました。/add で別の単語を追加できます"
|
||||
},
|
||||
"add_batch": {
|
||||
"header": "📝 <b>追加する単語 ({n}):</b>",
|
||||
"translating": "⏳ {n} 語を翻訳中...",
|
||||
"choose": "追加する単語を選ぶか、一括で追加してください:",
|
||||
"truncated": "⚠️ 単語が多すぎます。最初の {n} 語を表示。",
|
||||
"failed": "❌ 翻訳の取得に失敗しました。後でもう一度お試しください。"
|
||||
},
|
||||
"vocab": {
|
||||
"empty": "📚 単語帳はまだ空です!\n\n/add で最初の単語を追加するか、単語を直接送ってください。",
|
||||
"header": "<b>📚 あなたの単語帳:</b>",
|
||||
@@ -183,7 +209,54 @@
|
||||
"invalid_format": "❌ 時間の形式が正しくありません!\n\n<b>HH:MM</b>(例: 09:00 / 18:30)形式を使用してください\nまたは /cancel で中止",
|
||||
"time_set_title": "✅ <b>時間を設定しました!</b>",
|
||||
"status_on_line": "ステータス: <b>有効</b>",
|
||||
"use_settings": "/reminder で設定を変更できます。"
|
||||
"use_settings": "/reminder で設定を変更できます。",
|
||||
"daily_title": "⏰ <b>練習の時間です!</b>",
|
||||
"daily_wod": "🌅 <b>今日の単語:</b>",
|
||||
"daily_tips": "今日も練習を忘れずに:\n• /task - 課題を解く\n• /practice - 会話練習\n• /words - 新しい単語を追加",
|
||||
"daily_motivation": "💪 継続は力なり!"
|
||||
},
|
||||
"story": {
|
||||
"title": "ミニストーリー",
|
||||
"choose_genre": "ストーリーのジャンルを選択:",
|
||||
"genre": {
|
||||
"dialogue": "会話",
|
||||
"news": "ニュース",
|
||||
"story": "物語",
|
||||
"letter": "手紙",
|
||||
"recipe": "レシピ"
|
||||
},
|
||||
"generating": "🔄 ストーリーを生成中...",
|
||||
"failed": "❌ ストーリーの生成に失敗しました。もう一度お試しください。",
|
||||
"try_again": "もう一度試す",
|
||||
"level": "レベル",
|
||||
"words": "単語",
|
||||
"questions_btn": "質問",
|
||||
"vocab_btn": "単語帳",
|
||||
"new_btn": "新しいストーリー",
|
||||
"back": "戻る",
|
||||
"not_found": "ストーリーが見つかりません",
|
||||
"no_vocab": "単語がありません",
|
||||
"no_questions": "質問がありません",
|
||||
"vocabulary": "ストーリーの単語",
|
||||
"add_all": "すべて追加",
|
||||
"word_added": "✅ 「{word}」を追加しました!",
|
||||
"words_added": "✅ {n}単語を追加しました",
|
||||
"word_not_found": "単語が見つかりません",
|
||||
"question": "質問",
|
||||
"question_not_found": "質問が見つかりません",
|
||||
"correct": "✅ 正解!",
|
||||
"incorrect": "❌ 不正解",
|
||||
"next_question": "次の質問",
|
||||
"show_results": "結果",
|
||||
"results_title": "結果",
|
||||
"correct_answers": "正解数",
|
||||
"accuracy": "正解率",
|
||||
"result_excellent": "素晴らしい!テキストをよく理解できました。",
|
||||
"result_good": "よくできました!大部分を理解できました。",
|
||||
"result_practice": "もう一度注意深く読んでみてください。",
|
||||
"translation": "翻訳",
|
||||
"show_translation": "翻訳を表示",
|
||||
"hide_translation": "翻訳を隠す"
|
||||
},
|
||||
"level_test": {
|
||||
"show_translation_btn": "👁️ 質問の翻訳を表示",
|
||||
@@ -322,5 +395,29 @@
|
||||
"err_not_found": "❌ エラー: 単語が見つかりません",
|
||||
"already_exists": "単語 '{word}' はすでに単語帳にあります",
|
||||
"added_single": "✅ 単語 '{word}' を単語帳に追加しました"
|
||||
},
|
||||
"exercises": {
|
||||
"title": "📖 <b>文法練習</b>",
|
||||
"choose_topic": "練習するトピックを選択してください:",
|
||||
"your_level": "あなたのレベル: <b>{level}</b>",
|
||||
"generating_rule": "🔄 文法説明を生成中...",
|
||||
"generating": "🔄 練習問題を生成中...",
|
||||
"generate_failed": "❌ 練習問題の生成に失敗しました。後でもう一度お試しください。",
|
||||
"start_btn": "▶️ 練習を開始",
|
||||
"task_header": "📝 <b>練習: {topic}</b>",
|
||||
"instruction": "正しい形式で空欄を埋めてください:",
|
||||
"check_btn": "✅ 確認",
|
||||
"next_btn": "➡️ 次へ",
|
||||
"results_btn": "📊 結果",
|
||||
"back_btn": "⬅️ トピックに戻る",
|
||||
"close_btn": "❌ 閉じる",
|
||||
"correct": "✅ <b>正解!</b>",
|
||||
"incorrect": "❌ <b>不正解</b>",
|
||||
"your_answer": "あなたの回答: {answer}",
|
||||
"right_answer": "正解: {answer}",
|
||||
"explanation": "💡 {text}",
|
||||
"score": "スコア: {total}問中{correct}問正解",
|
||||
"no_topics": "あなたのレベルで利用可能なトピックはまだありません。",
|
||||
"write_answer": "回答を入力してください:"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user