- Добавлены мини-истории для чтения с выбором жанра и вопросами - Кнопка показа/скрытия перевода истории - Количество вопросов берётся из настроек пользователя - Слово дня генерируется глобально в 00:00 UTC - Кнопка "Практика" открывает меню выбора режима - Убран автоматический create_all при запуске (только миграции) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
424 lines
24 KiB
JSON
424 lines
24 KiB
JSON
{
|
||
"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": "📝 手動",
|
||
"thematic": "🎯 テーマ別単語",
|
||
"import": "📖 インポート"
|
||
},
|
||
"import_menu": {
|
||
"title": "📖 <b>単語のインポート</b>\n\nインポート方法を選択:",
|
||
"from_text": "📝 テキストから",
|
||
"from_file": "📄 ファイルから (.txt, .md)",
|
||
"file_hint": "📄 <b>ファイルからインポート</b>\n\n単語が入った .txt または .md ファイルを送信してください。\n\n<b>形式:</b>\n• 1行に1単語(AIが翻訳)\n• <code>単語 - 翻訳</code>\n• <code>単語 : 翻訳</code>"
|
||
},
|
||
"common": {
|
||
"start_first": "まず /start を実行してください",
|
||
"translation": "翻訳"
|
||
},
|
||
"lang": {
|
||
"ru": "ロシア語",
|
||
"en": "英語",
|
||
"ja": "日本語"
|
||
},
|
||
"import": {
|
||
"title": "📖 <b>テキストから単語をインポート</b>",
|
||
"desc": "学習言語のテキストを送ってください。学習に役立つ単語を抽出します。",
|
||
"can_send": "送れるもの:\n• 本や記事の一節\n• 歌詞\n• 説明文\n• 気になるテキスト",
|
||
"cancel_hint": "/cancel で中止できます。",
|
||
"too_short": "⚠️ テキストが短すぎます。50文字以上で送ってください。\n/cancel で中止できます。",
|
||
"too_long": "⚠️ テキストが長すぎます(最大3000文字)。\n短くして送るか、/cancel を使ってください。",
|
||
"processing": "🔄 テキストを分析して単語を抽出しています...",
|
||
"failed": "❌ 単語の抽出に失敗しました。別のテキストか、後でもう一度お試しください。",
|
||
"found_header": "📚 <b>見つかった単語: {n}</b>",
|
||
"added_single": "✅ 単語 '{word}' を単語帳に追加しました",
|
||
"added_count": "✅ 追加した単語: <b>{n}</b>",
|
||
"skipped_count": "⚠️ スキップ(既に単語帳にあり): {n}"
|
||
},
|
||
"start": {
|
||
"new_intro": "👋 こんにちは、{first_name} さん!\n\n私は英語学習を手助けするボットです。以下のことができます:\n📚 語彙を増やす(手動/テーマ別/テキストから)\n✍️ インタラクティブ課題に取り組む\n💬 AIとの会話練習\n📊 進捗を記録\n\n<b>コマンド:</b>\n• /add [word] - 単語を追加\n• /words [topic] - テーマ別単語\n• /import - テキストからインポート\n• /vocabulary - 単語帳\n• /task - 課題\n• /practice - 会話練習\n• /stats - 統計\n• /settings - 設定\n• /reminder - リマインダー\n• /help - ヘルプ",
|
||
"offer_test": "🎯 <b>レベル診断を行いますか?</b>\n\n短いテスト(7問)であなたのレベルに合った課題を用意します。\n所要時間は約2〜3分です。\n\nまたは /settings から後で設定できます。",
|
||
"return": "おかえりなさい、{first_name} さん! 👋\n\n学習を続けましょうか?\n\n<b>クイックアクセス:</b>\n• /vocabulary - 単語帳を見る\n• /task - 課題を受ける\n• /practice - 会話練習\n• /words [topic] - テーマ別単語\n• /stats - 統計\n• /help - すべてのコマンド",
|
||
"help": "<b>📖 コマンド一覧:</b>\n\n<b>語彙:</b>\n• /add [word] - 単語を追加\n• /vocabulary - 単語帳\n• /words [topic] - テーマ別単語\n• /import - テキストからインポート\n\n<b>学習:</b>\n• /task - 課題(翻訳/穴埋め など)\n• /practice - AIとの会話(6シナリオ)\n• /level_test - レベル診断\n\n<b>統計:</b>\n• /stats - 進捗状況\n\n<b>設定:</b>\n• /settings - レベルと言語\n• /reminder - 毎日のリマインダー\n\n💡 単語を送るだけでも、追加を提案します!",
|
||
"offer_btn": "📊 レベル診断を受ける",
|
||
"skip_btn": "➡️ スキップ",
|
||
"skip_msg": "✅ わかりました!\n\n/level_test で後からテストを受けるか、/settings でレベルを設定できます。\n\nはじめましょう!おすすめ:\n• /words travel - テーマ別単語\n• /practice - AIとの会話\n• /add hello - 単語を追加"
|
||
},
|
||
"add": {
|
||
"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>",
|
||
"translation_label": "翻訳",
|
||
"category_label": "カテゴリー",
|
||
"level_label": "レベル",
|
||
"confirm_question": "この単語を単語帳に追加しますか?",
|
||
"btn_add": "✅ 追加",
|
||
"btn_cancel": "❌ キャンセル",
|
||
"exists": "単語 '<b>{word}</b>' はすでに単語帳にあります!\n翻訳: {translation}",
|
||
"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>",
|
||
"accuracy_inline": "(正答率 {n}%)",
|
||
"shown_last": "<i>{n} 語のうち最新の10語を表示</i>",
|
||
"total": "<i>合計: {n} 語</i>",
|
||
"page_info": "\n📖 {page} / {total} ページ • 合計: {count} 語",
|
||
"close_btn": "❌ 閉じる"
|
||
},
|
||
"practice": {
|
||
"start_text": "💬 <b>AIとの会話練習</b>\n\nシナリオを選んでください:\n\n• AIが相手役を務めます\n• 英語でやり取りできます\n• 間違いをAIが指摘します\n• 終了するには /stop を使用\n\nシナリオを選択:",
|
||
"hints": "💡 <b>ヒント:</b>",
|
||
"write_or_stop": "\n📝 英語で返信するか、/stop で終了できます",
|
||
"show_translation_btn": "👁️ 翻訳を表示",
|
||
"stop_btn": "🔚 会話を終了",
|
||
"thinking_prepare": "🤔 AI が会話の準備中...",
|
||
"empty_prompt": "学習言語で入力するか、/stop で終了できます",
|
||
"thinking": "🤔 AI が考えています...",
|
||
"corrections": "<b>修正:</b>",
|
||
"end_title": "✅ <b>会話を終了しました!</b>",
|
||
"end_exchanged": "やり取りしたメッセージ数: <b>{n}</b>",
|
||
"end_keep": "素晴らしい!練習を続けましょう。",
|
||
"end_hint": "/practice で新しい会話を始められます。",
|
||
"translation_unavailable": "翻訳は利用できません",
|
||
"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": {
|
||
"choose_mode": "🧠 <b>課題モードを選択:</b>",
|
||
"mode_vocabulary": "📚 単語帳から",
|
||
"mode_new_words": "✨ 新しい単語",
|
||
"choose_type": "📋 <b>課題の種類を選択:</b>",
|
||
"type_mix": "🎲 ミックス(全種類)",
|
||
"type_word_translate": "📝 単語翻訳",
|
||
"type_fill_blank": "✏️ 穴埋め",
|
||
"type_sentence_translate": "📖 文翻訳",
|
||
"generating_new": "🔄 新しい単語を生成中...",
|
||
"generate_failed": "❌ 単語の生成に失敗しました。後でもう一度お試しください。",
|
||
"translate_to": "{lang_name}に翻訳",
|
||
"no_words": "📚 まだ練習用の単語がありません!\n\n/add で単語を追加してから戻ってきてください。",
|
||
"stopped": "課題を停止しました。/task で再開できます。",
|
||
"finished": "課題が完了しました。/task で新しく始めましょう。",
|
||
"header": "📝 <b>{n}問中 {i} 問目</b>",
|
||
"write_answer": "\n💡 回答を入力してください:",
|
||
"checking": "⏳ 回答を確認中...",
|
||
"correct": "✅ <b>正解!</b>",
|
||
"incorrect": "❌ <b>不正解</b>",
|
||
"your_answer": "あなたの回答",
|
||
"right_answer": "正解",
|
||
"next_btn": "➡️ 次へ",
|
||
"stop_btn": "🔚 停止",
|
||
"add_word_btn": "➕ 単語を追加",
|
||
"word_added": "✅ 単語 '{word}' を単語帳に追加しました!",
|
||
"word_already_exists": "単語 '{word}' はすでに単語帳にあります",
|
||
"example_label": "例文",
|
||
"cancelled": "キャンセルしました。/task で課題に戻れます。",
|
||
"finish_title": "{emoji} <b>課題が終了しました!</b>",
|
||
"correct_of": "正解数: <b>{correct}</b> / {total}",
|
||
"accuracy": "正答率: <b>{accuracy}%</b>",
|
||
"use_task": "/task で新しい課題を開始",
|
||
"use_stats": "/stats で統計を表示",
|
||
"comment": {
|
||
"excellent": "素晴らしい結果です!",
|
||
"good": "よくできました!",
|
||
"average": "悪くありません。練習を続けましょう!",
|
||
"poor": "もう一度見直しましょう!"
|
||
}
|
||
},
|
||
"stats": {
|
||
"header": "📊 <b>統計</b>",
|
||
"total_words": "📚 単語帳の単語数: <b>{n}</b>",
|
||
"studied_words": "📖 学習済みの単語: <b>{n}</b>",
|
||
"total_tasks": "✍️ 完了した課題: <b>{n}</b>",
|
||
"correct_tasks": "✅ 正解数: <b>{n}</b>",
|
||
"accuracy": "🎯 正答率: <b>{n}%</b>",
|
||
"hint_add_words": "/add で単語を追加して学習を始めましょう!",
|
||
"hint_first_task": "/task で最初の課題をやってみましょう!",
|
||
"hint_keep_practice": "練習を続けましょう! 💪"
|
||
},
|
||
"reminder": {
|
||
"title": "⏰ <b>リマインダー</b>",
|
||
"status_on": "✅ 有効",
|
||
"status_off": "❌ 無効",
|
||
"time_not_set": "未設定",
|
||
"status_line": "ステータス: {status}",
|
||
"time_line": "時間: {time} UTC",
|
||
"desc1": "リマインダーは毎日の学習を忘れないように役立ちます。",
|
||
"desc2": "ボットは毎日、設定した時間にメッセージを送信します。",
|
||
"btn_enable": "✅ 有効にする",
|
||
"btn_disable": "❌ 無効にする",
|
||
"btn_change_time": "⏰ 時間を変更",
|
||
"set_time_first": "まずリマインダーの時間を設定してください!",
|
||
"enabled_toast": "✅ リマインダーを有効にしました!",
|
||
"enabled_title": "✅ <b>リマインダーが有効になりました!</b>",
|
||
"enabled_desc": "毎日、練習のリマインダーが届きます。",
|
||
"disabled_toast": "❌ リマインダーを無効にしました",
|
||
"disabled_title": "❌ <b>リマインダーは無効です</b>",
|
||
"disabled_desc": "/reminder で再度有効にできます。",
|
||
"set_title": "⏰ <b>リマインダーの時間設定</b>",
|
||
"set_desc": "<b>HH:MM</b>(UTC)形式で時間を送ってください",
|
||
"set_examples": "例:\n• <code>09:00</code> - UTCの午前9時\n• <code>18:30</code> - UTCの午後6時30分\n• <code>20:00</code> - UTCの午後8時",
|
||
"set_utc_hint": "💡 UTC = お住まいのタイムゾーンに合わせて換算してください",
|
||
"cancel_hint": "/cancel で中止できます",
|
||
"cancelled": "❌ 時間設定を中止しました",
|
||
"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 で設定を変更できます。",
|
||
"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": "👁️ 質問の翻訳を表示",
|
||
"intro": "📊 <b>レベル判定テスト</b>\n\n短いテストで英語レベルを判定します。\n\n📋 全7問:\n• 文法\n• 語彙\n• 読解\n\n⏱ 所要時間は約2〜3分\n\n準備はいいですか?",
|
||
"start_btn": "✅ テストを開始",
|
||
"cancel_btn": "❌ キャンセル",
|
||
"press_button": "準備ができたらボタンを押してください:",
|
||
"cancelled": "❌ テストを中止しました",
|
||
"q_header": "❓ <b>{n}問中 {i} 問目</b>"
|
||
},
|
||
"settings": {
|
||
"title": "⚙️ <b>設定</b>\n\n",
|
||
"level_prefix": "📊 レベル: ",
|
||
"learning_prefix": "🎯 学習言語: ",
|
||
"interface_prefix": "🌐 インターフェース言語: ",
|
||
"translation_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>",
|
||
"translation_title": "💬 <b>翻訳言語を選択:</b>\n\n",
|
||
"translation_desc": "単語はこの言語に翻訳されます。\nインターフェース言語と異なる設定が可能です。",
|
||
"translation_changed": "✅ 翻訳言語: <b>{lang_name}</b>",
|
||
"tasks_count_prefix": "🔢 課題数: ",
|
||
"tasks_count_title": "🔢 <b>課題数:</b>\n\n",
|
||
"tasks_count_desc": "一度に生成する課題数。\n最小5、最大15。",
|
||
"tasks_count_changed": "✅ 課題数: <b>{count}</b>",
|
||
"menu_updated": "メインメニューを更新しました ⤵️",
|
||
"lang_name": {
|
||
"ru": "🇷🇺 Русский",
|
||
"en": "🇬🇧 English",
|
||
"ja": "🇯🇵 日本語"
|
||
},
|
||
"learning_lang": {
|
||
"en": "🇬🇧 英語",
|
||
"es": "🇪🇸 スペイン語",
|
||
"de": "🇩🇪 ドイツ語",
|
||
"fr": "🇫🇷 フランス語",
|
||
"ja": "🇯🇵 日本語"
|
||
}
|
||
},
|
||
"import_extra": {
|
||
"cancelled": "❌ インポートを中止しました。"
|
||
},
|
||
"import_file": {
|
||
"unsupported_format": "❌ サポートされていないファイル形式です。\n\n対応形式: .txt, .md\n\nファイル形式:\n<code>単語 - 翻訳</code>\n<code>単語 : 翻訳</code>",
|
||
"too_large": "❌ ファイルが大きすぎます(最大1MB)",
|
||
"encoding_error": "❌ エンコードエラー。UTF-8であることを確認してください",
|
||
"download_error": "❌ ファイルのダウンロードに失敗しました。もう一度お試しください",
|
||
"no_words_found": "❌ ファイル内に単語が見つかりません。\n\n正しい形式か確認してください:\n<code>単語 - 翻訳</code>\n<code>単語 : 翻訳</code>",
|
||
"truncated": "⚠️ ファイルには{n}語以上あります。最初の{n}語をインポートします。",
|
||
"found_header": "📄 <b>ファイル内の単語: {n}</b>",
|
||
"choose_action": "アクションを選択:",
|
||
"add_all_btn": "✅ すべて追加 ({n})",
|
||
"translating": "🔄 AIで翻訳中..."
|
||
},
|
||
"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": "流暢 - 日本語を完全に習得している"
|
||
}
|
||
},
|
||
"onboarding": {
|
||
"step2_title": "🎯 どの言語を学びたいですか?",
|
||
"step3_title": "💬 どの言語に翻訳しますか?",
|
||
"complete": "✅ 設定を保存しました!",
|
||
"lang_en": "🇬🇧 英語",
|
||
"lang_ja": "🇯🇵 日本語"
|
||
},
|
||
"words": {
|
||
"generating": "🔄 テーマ『{theme}』の単語を生成中...",
|
||
"generate_failed": "❌ 単語の生成に失敗しました。後でもう一度お試しください。",
|
||
"header": "📚 <b>単語セット: {theme}</b>",
|
||
"choose": "単語帳に追加する単語を選択してください:",
|
||
"add_all_btn": "✅ すべて追加",
|
||
"close_btn": "❌ 閉じる",
|
||
"help_title": "📚 <b>テーマ別単語</b>",
|
||
"help_usage": "使い方: <code>/words [テーマ]</code>",
|
||
"help_examples": "例:\n• <code>/words travel</code> - 旅行\n• <code>/words food</code> - 食べ物\n• <code>/words work</code> - 仕事\n• <code>/words nature</code> - 自然\n• <code>/words technology</code> - テクノロジー",
|
||
"help_note": "レベルに合わせて10語を生成します!",
|
||
"popular": "人気のテーマ:",
|
||
"topic_travel": "✈️ 旅行",
|
||
"topic_food": "🍔 食べ物",
|
||
"topic_work": "💼 仕事",
|
||
"topic_nature": "🌿 自然",
|
||
"topic_technology": "💻 テクノロジー",
|
||
"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": "回答を入力してください:"
|
||
}
|
||
}
|