import antdJaJP from 'ant-design-vue/es/locale-provider/ja_JP'
import momentJA from 'moment/locale/ja'

const components = {
  antLocale: antdJaJP,
  momentName: 'ja',
  momentLocale: momentJA
}

const locale = {
  'submit': '送信する',
  'save': '保存する',
  'submit.ok': '送信成功',
  'save.ok': '正常に保存されました',
  'menu.welcome': 'ようこそ',
  'menu.home': 'ホームページ',
  'menu.dashboard': 'ダッシュボード',
  'menu.dashboard.indicator': '指標分析',
  'menu.dashboard.community': 'インジケーターコミュニティ',
  'menu.dashboard.analysis': 'AI分析',
  'menu.dashboard.tradingAssistant': '取引アシスタント',
  'menu.dashboard.aiTradingAssistant': 'AI取引アシスタント',
  'menu.dashboard.signalRobot': 'シグナルロボット',
  'menu.dashboard.monitor': 'モニタリングページ',
  'menu.dashboard.workplace': '作業台',
  'menu.form': 'フォームページ',
  'menu.form.basic-form': '基本形',
  'menu.form.step-form': 'ステップバイステップフォーム',
  'menu.form.step-form.info': 'ステップバイステップフォーム（転送情報を記入）',
  'menu.form.step-form.confirm': 'ステップバイステップフォーム（振込情報の確認）',
  'menu.form.step-form.result': 'ステップバイステップのフォーム（完了）',
  'menu.form.advanced-form': '高度なフォーム',
  'menu.list': '一覧ページ',
  'menu.list.table-list': 'お問い合わせフォーム',
  'menu.list.basic-list': '規格一覧',
  'menu.list.card-list': 'カードリスト',
  'menu.list.search-list': '検索リスト',
  'menu.list.search-list.articles': '検索リスト（記事）',
  'menu.list.search-list.projects': '検索リスト（プロジェクト）',
  'menu.list.search-list.applications': '検索リスト（アプリ）',
  'menu.profile': '詳細ページ',
  'menu.profile.basic': '基本詳細ページ',
  'menu.profile.advanced': '詳細ページ',
  'menu.result': '結果ページ',
  'menu.result.success': '成功ページ',
  'menu.result.fail': '失敗ページ',
  'menu.exception': '例外ページ',
  'menu.exception.not-permission': '403',
  'menu.exception.not-find': '404',
  'menu.exception.server-error': '500',
  'menu.exception.trigger': 'トリガーエラー',
  'menu.account': '個人ページ',
  'menu.account.center': 'パーソナルセンター',
  'menu.account.settings': '個人設定',
  'menu.account.trigger': 'トリガーエラー',
  'menu.account.logout': 'ログアウト',
  'menu.wallet': '私の財布',
  'menu.docs': 'ドキュメントセンター',
  'menu.docs.detail': '文書の詳細',
  'menu.header.refreshPage': 'ページを更新する',
  'menu.invite.friends': '友達を招待する',
  'app.setting.pagestyle': '全体的なスタイル設定',
  'app.setting.pagestyle.light': '明るいメニュースタイル',
  'app.setting.pagestyle.dark': 'ダークメニュースタイル',
  'app.setting.pagestyle.realdark': 'ダークモード',
  'app.setting.themecolor': 'テーマカラー',
  'app.setting.navigationmode': 'ナビゲーションモード',
  'app.setting.sidemenu.nav': 'サイドバーのナビゲーション',
  'app.setting.topmenu.nav': 'トップバーのナビゲーション',
  'app.setting.content-width': 'コンテンツ領域の幅',
  'app.setting.content-width.tooltip': 'この設定は、[トップバーナビゲーション]時のみ有効です。',
  'app.setting.content-width.fixed': '修正済み',
  'app.setting.content-width.fluid': 'ストリーミング',
  'app.setting.fixedheader': '固定ヘッダー',
  'app.setting.fixedheader.tooltip': '固定ヘッダー時に設定可能',
  'app.setting.autoHideHeader': 'スクロール時にヘッダーを非表示にする',
  'app.setting.fixedsidebar': 'サイドメニューを修正',
  'app.setting.sidemenu': 'サイドメニューのレイアウト',
  'app.setting.topmenu': 'トップメニューのレイアウト',
  'app.setting.othersettings': 'その他の設定',
  'app.setting.weakmode': 'カラーウィークネスモード',
  'app.setting.multitab': 'マルチタブモード',
  'app.setting.copy': '設定をコピーする',
  'app.setting.loading': 'テーマを読み込み中',
  'app.setting.copyinfo': '設定が正常にコピーされました src/config/defaultSettings.js',
  'app.setting.copy.success': 'コピー完了',
  'app.setting.copy.fail': 'コピーに失敗しました',
  'app.setting.theme.switching': 'テーマ変更！',
  'app.setting.production.hint': '構成バーは開発環境でのプレビューにのみ使用され、運用環境では表示されません。 構成ファイルを手動でコピーして変更してください。',
  'app.setting.themecolor.daybreak': 'ドーンブルー（デフォルト）',
  'app.setting.themecolor.dust': '夕暮れ',
  'app.setting.themecolor.volcano': '火山',
  'app.setting.themecolor.sunset': '日没',
  'app.setting.themecolor.cyan': '明清',
  'app.setting.themecolor.green': 'オーロラグリーン',
  'app.setting.themecolor.geekblue': 'オタクブルー',
  'app.setting.themecolor.purple': 'ジャン・ジー',
  'app.setting.tooltip': 'ページ設定',
  'user.login.userName': 'ユーザー名',
  'user.login.password': 'パスワード',
  'user.login.username.placeholder': 'アカウント: 管理者',
  'user.login.password.placeholder': 'パスワード: admin または ant.design',
  'user.login.message-invalid-credentials': 'ログインに失敗しました。メールアドレスと確認コードを確認してください',
  'user.login.message-invalid-verification-code': '認証コードエラー',
  'user.login.tab-login-credentials': 'アカウントパスワードログイン',
  'user.login.tab-login-email': 'メールログイン',
  'user.login.tab-login-mobile': '携帯電話番号ログイン',
  'user.login.captcha.placeholder': 'グラフィック認証コードを入力してください',
  'user.login.mobile.placeholder': '携帯電話番号',
  'user.login.mobile.verification-code.placeholder': '認証コード',
  'user.login.email.placeholder': 'メールアドレスを入力してください',
  'user.login.email.verification-code.placeholder': '確認コードを入力してください',
  'user.login.email.sending': '認証コードが送信されています...',
  'user.login.email.send-success-title': 'ヒント',
  'user.login.email.send-success': '確認コードは正常に送信されました。メールを確認してください',
  'user.login.sms.send-success': '確認コードが正常に送信されました。テキスト メッセージを確認してください。',
  'user.login.remember-me': '自動ログイン',
  'user.login.forgot-password': 'パスワードを忘れた場合',
  'user.login.sign-in-with': 'その他のログイン方法',
  'user.login.signup': 'アカウントを登録する',
  'user.login.login': 'ログイン',
  'user.register.register': '登録する',
  'user.register.email.placeholder': '電子メール',
  'user.register.password.placeholder': '6文字以上を入力してください。 推測されやすいパスワードは使用しないでください。',
  'user.register.password.popover-message': '6文字以上を入力してください。 推測されやすいパスワードは使用しないでください。',
  'user.register.confirm-password.placeholder': 'パスワードの確認',
  'user.register.get-verification-code': '確認コードを取得する',
  'user.register.sign-in': '既存のアカウントを使用してログインする',
  'user.register-result.msg': 'あなたのアカウント: {email} 登録が成功しました',
  'user.register-result.activation-email': 'アクティベーション電子メールはメールボックスに送信され、24 時間有効です。 すぐにメールにログインし、メール内のリンクをクリックしてアカウントをアクティブにしてください。',
  'user.register-result.back-home': 'ホームページに戻る',
  'user.register-result.view-mailbox': 'メールボックスを確認してください',
  'user.email.required': 'メールアドレスを入力してください！',
  'user.email.wrong-format': 'メールアドレスの形式が間違っています!',
  'user.userName.required': 'アカウント名またはメールアドレスを入力してください',
  'user.password.required': 'パスワードを入力してください。',
  'user.password.twice.msg': '2 回入力したパスワードが一致しません。',
  'user.password.strength.msg': 'パスワードの強度が十分ではありません',
  'user.password.strength.strong': '強さ: 強い',
  'user.password.strength.medium': '強さ: 中',
  'user.password.strength.low': '強度: 低い',
  'user.password.strength.short': '強さ：短すぎる',
  'user.confirm-password.required': 'パスワードを確認してください。',
  'user.phone-number.required': '正しい携帯電話番号を入力してください',
  'user.phone-number.wrong-format': '携帯電話番号の形式が間違っています。',
  'user.verification-code.required': '確認コードを入力してください。',
  'user.captcha.required': 'グラフィック認証コードを入力してください。',
  'user.login.infos': 'QuantDingerはAIマルチエージェント株分析補助ツールであり、証券投資コンサルティング資格はございません。 プラットフォーム内のすべての分析結果、スコア、参考意見は過去のデータに基づいてAIによって自動的に生成され、学習、研究、技術交流のみに使用され、投資アドバイスや意思決定の基礎を構成するものではありません。 株式投資には市場リスク、流動性リスク、政策リスク等の様々なリスクが伴い、元本を割り込む可能性があります。 ユーザーは自身のリスク許容度に基づいて独立した決定を行う必要があり、本ツールの使用から生じる投資行動および結果はユーザーが負担するものとします。 市場にはリスクがあり、投資は慎重になる必要があります。',
  'user.login.tab-login-web3': 'Web3ログイン',
  'user.login.web3.tip': 'ウォレットを使用した署名ログイン',
  'user.login.web3.connect': 'ウォレットに接続してログインする',
  'user.login.web3.no-wallet': 'ウォレットが検出されない',
  'user.login.web3.no-address': 'ウォレットアドレスが取得できませんでした',
  'user.login.web3.nonce-failed': '乱数の取得に失敗しました',
  'user.login.web3.verify-failed': '署名検証に失敗しました',
  'user.login.web3.success': 'ログイン成功',
  'user.login.web3.failed': 'ウォレットへのログインに失敗しました',
  'nav.no_wallet': 'ウォレットが検出されない',
  'nav.copy': 'コピー',
  'nav.copy_success': '正常にコピーされました',
  'user.login.oauth.google': 'Googleでサインイン',
  'user.login.oauth.github': 'GitHub でサインインする',
  'user.login.oauth.loading': '認証ページにリダイレクトしています...',
  'user.login.oauth.failed': 'OAuthログインに失敗しました',
  'user.login.oauth.get-url-failed': '認証リンクの取得に失敗しました',
  'user.login.subtitle': '世界市場に対する定量的な洞察を推進',
  'user.login.legal.title': '法的免責事項',
  'user.login.legal.view': '法的免責事項を表示',
  'user.login.legal.collapse': '法的免責事項を折りたたむ',
  'user.login.legal.agree': '法的免責事項を読み、同意します',
  'user.login.legal.required': 'まず法的免責事項を読んで確認してください',
  'user.login.legal.content': 'QuantDingerはAIマルチエージェント株分析補助ツールであり、証券投資コンサルティング資格はございません。 プラットフォーム内のすべての分析結果、評価、参考意見は過去のデータに基づいてAIによって自動的に生成され、学習、研究、技術交流のみに使用され、投資アドバイスや意思決定の基礎を構成するものではありません。 株式投資には市場リスク、流動性リスク、政策リスク等の様々なリスクが伴い、元本を割り込む可能性があります。 ユーザーは自身のリスク許容度に基づいて独立した決定を行う必要があり、本ツールの使用から生じる投資行動および結果はユーザーが負担するものとします。 市場にはリスクがあり、投資は慎重になる必要があります。',
  'user.login.privacy.title': 'ユーザープライバシーポリシー',
  'user.login.privacy.view': 'ユーザーのプライバシー ポリシーを表示する',
  'user.login.privacy.collapse': 'ユーザーのプライバシー規約を閉じる',
  'user.login.privacy.content': '私たちはあなたのプライバシーとデータ保護を大切にしています。 1) 収集範囲：機能の実現に必要な情報（メールアドレス、携帯電話番号、市外局番、Web3ウォレットアドレスなど）と必要なログ、端末情報のみを収集します。 2) 利用目的：アカウントへのログインおよびセキュリティ確認、サービス機能の提供、トラブルシューティングおよびコンプライアンス要件のため。 3) 保管とセキュリティ: データは暗号化されて保管され、不正なアクセス、開示、損失を防ぐために必要な許可とアクセス制御手段が講じられます。 4) 第三者との共有: 法令で義務付けられている場合、またはサービスの実行に必要な場合を除き、お客様の個人情報は第三者と共有されることはありません。サードパーティのサービス (ウォレット、SMS サービスプロバイダーなど) が関与する場合、機能の実装に必要な最小限の範囲でのみ処理されます。 5) Cookie/ローカル ストレージ: ログイン ステータスと必要なセッション維持 (トークン、PHPSESSID など) に使用され、ブラウザーでクリアまたは制限できます。 6) 個人の権利：法令に基づき、照会、訂正、削除、同意の撤回等を行う権利を行使することができます。 7) 変更と通知: これらの条件が更新されると、ページ上で目立つように表示されます。 このサービスを継続して使用することにより、更新された内容を読み、同意したものとみなされます。 本規約またはその更新に同意できない場合は、サービスの使用を中止し、当社までご連絡ください。',
  'account.basicInfo': '基本情報',
  'account.id': 'ユーザーID',
  'account.username': 'ユーザー名',
  'account.nickname': 'ニックネーム',
  'account.email': '電子メール',
  'account.mobile': '携帯電話番号',
  'account.web3address': 'ウォレットアドレス',
  'account.pid': '紹介者ID',
  'account.level': 'ユーザーレベル',
  'account.money': 'バランス',
  'account.qdtBalance': 'QDTバランス',
  'account.score': 'ポイント',
  'account.createtime': '登録時間',
  'account.inviteLink': '招待リンク',
  'account.recharge': 'リチャージ',
  'account.rechargeTip': 'WeChat または Alipay を使用して、以下の QR コードをスキャンしてチャージしてください。',
  'account.qrCodePlaceholder': 'QR コード プレースホルダー (エミュレーション)',
  'account.rechargeAmount': 'チャージ金額',
  'account.enterAmount': 'チャージ金額を入力してください',
  'account.rechargeHint': '最低入金額: 1 QDT',
  'account.confirmRecharge': 'リチャージを確認する',
  'account.enterValidAmount': '有効なリチャージ金額を入力してください',
  'account.rechargeSuccess': 'リチャージ成功！ {金額} QDT を入金しました',
  'account.settings.menuMap.basic': '基本設定',
  'account.settings.menuMap.security': 'セキュリティ設定',
  'account.settings.menuMap.notification': '新着メッセージ通知',
  'account.settings.menuMap.moneyLog': 'ファンドの詳細',
  'account.moneyLog.empty': 'ファンドの詳細はまだありません',
  'account.moneyLog.total': '合計 {total} レコード',
  'account.moneyLog.type.purchase': '購入インジケーター',
  'account.moneyLog.type.recharge': 'リチャージ',
  'account.moneyLog.type.refund': '払い戻し',
  'account.moneyLog.type.reward': '報酬',
  'account.moneyLog.type.income': '指標収入',
  'account.moneyLog.type.commission': 'プラットフォーム手数料',
  'wallet.balance': 'QDTバランス',
  'wallet.recharge': 'リチャージ',
  'wallet.withdraw': '現金を引き出す',
  'wallet.filter': 'フィルター',
  'wallet.reset': 'リセット',
  'wallet.totalRecharge': '累積リチャージ',
  'wallet.totalWithdraw': '累積引き出し額',
  'wallet.totalIncome': '累計収入',
  'wallet.records': '取引記録と資金の詳細',
  'wallet.tradingRecords': '取引履歴',
  'wallet.moneyLog': 'ファンドの詳細',
  'wallet.rechargeTip': 'WeChat または Alipay を使用して、以下の QR コードをスキャンしてチャージしてください。',
  'wallet.qrCodePlaceholder': 'QR コード プレースホルダー (エミュレーション)',
  'wallet.rechargeAmount': 'チャージ金額',
  'wallet.enterAmount': 'チャージ金額を入力してください',
  'wallet.rechargeHint': '最低入金額: 1 QDT',
  'wallet.confirmRecharge': 'リチャージを確認する',
  'wallet.enterValidAmount': '有効なリチャージ金額を入力してください',
  'wallet.rechargeSuccess': 'リチャージ成功！ {金額} QDT を入金しました',
  'wallet.rechargeFailed': '再充電に失敗しました',
  'wallet.withdrawTip': '出金金額と出金アドレスを入力してください',
  'wallet.withdrawAmount': '出金額',
  'wallet.enterWithdrawAmount': '出金額を入力してください',
  'wallet.withdrawHint': '最低出金額: 1 QDT',
  'wallet.withdrawAddress': '出金アドレス (オプション)',
  'wallet.enterWithdrawAddress': '出金アドレスを入力してください',
  'wallet.confirmWithdraw': '出金の確認',
  'wallet.enterValidWithdrawAmount': '有効な出金額を入力してください',
  'wallet.insufficientBalance': '残高不足',
  'wallet.withdrawSuccess': '引き出し成功！ {金額} QDT を引き出しました',
  'wallet.withdrawFailed': '出金に失敗しました',
  'wallet.noTradingRecords': 'まだ取引記録がありません',
  'wallet.noMoneyLog': 'ファンドの詳細はまだありません',
  'wallet.loadTradingRecordsFailed': 'トランザクションレコードのロードに失敗しました',
  'wallet.loadMoneyLogFailed': 'ファンドの詳細をロードできませんでした',
  'wallet.moneyLogTotal': '合計 {total} レコード',
  'wallet.moneyLogTypeTitle': 'タイプ',
  'wallet.moneyLogType.all': '全種類',
  'wallet.table.time': '時間',
  'wallet.table.type': 'タイプ',
  'wallet.table.price': '価格',
  'wallet.table.amount': '数量',
  'wallet.table.money': '金額',
  'wallet.table.balance': 'バランス',
  'wallet.table.memo': '備考',
  'wallet.table.value': '値',
  'wallet.table.profit': '損益',
  'wallet.table.commission': '手数料',
  'wallet.table.total': '合計 {total} レコード',
  'wallet.tradeType.buy': '買う',
  'wallet.tradeType.sell': '売る',
  'wallet.tradeType.liquidation': '強制清算',
  'wallet.tradeType.openLong': '長く開く',
  'wallet.tradeType.addLong': 'ガドット',
  'wallet.tradeType.closeLong': 'ピンドゥオ',
  'wallet.tradeType.closeLongStop': 'ストップロスとロング',
  'wallet.tradeType.closeLongProfit': '利益を得てさらに平準化する',
  'wallet.tradeType.openShort': 'オープンショート',
  'wallet.tradeType.addShort': '短く追加する',
  'wallet.tradeType.closeShort': '空の',
  'wallet.tradeType.closeShortStop': 'ストップロス',
  'wallet.tradeType.closeShortProfit': '利益を確定して空売りを終了する',
  'wallet.moneyLogType.purchase': '購入インジケーター',
  'wallet.moneyLogType.recharge': 'リチャージ',
  'wallet.moneyLogType.withdraw': '現金を引き出す',
  'wallet.moneyLogType.refund': '払い戻し',
  'wallet.moneyLogType.reward': '報酬',
  'wallet.moneyLogType.income': '収入',
  'wallet.moneyLogType.commission': '手数料',
  'wallet.web3Address.required': '最初に Web3 ウォレットのアドレスを入力してください',
  'wallet.web3Address.requiredDescription': 'リチャージする前に、リチャージを受け取るために Web3 ウォレット アドレスをバインドする必要があります。',
  'wallet.web3Address.placeholder': 'Web3 ウォレットのアドレスを入力してください (0x で始まる)',
  'wallet.web3Address.save': 'ウォレットアドレスを保存する',
  'wallet.web3Address.saveSuccess': 'ウォレットアドレスが正常に保存されました',
  'wallet.web3Address.saveFailed': 'ウォレットアドレスの保存に失敗しました',
  'wallet.web3Address.invalidFormat': '有効な Web3 ウォレット アドレスを入力してください (イーサリアム形式: 0x で始まる 42 文字、または TRC20 形式: T で始まる 34 文字)',
  'wallet.selectCoin': '通貨を選択してください',
  'wallet.selectChain': '選択チェーン',
  'wallet.chain.eth': 'イーサリアム(ERC20)',
  'wallet.chain.trc20': 'TRC20',
  'wallet.chain.bsc': 'BSC',
  'wallet.targetQdtAmount': '引き換えたいQDTの量（オプション）',
  'wallet.targetQdtAmount.placeholder': '引き換えたい QDT の数量、現在の QDT 価格を入力してください: {price} USDT',
  'wallet.targetQdtAmount.requiredUsdt': 'リチャージが必要: {amount} USDT',
  'wallet.rechargeAddress': 'リチャージアドレス',
  'wallet.copyAddress': 'コピー',
  'wallet.copySuccess': 'コピー成功！',
  'wallet.copyFailed': 'コピーに失敗しました。手動でコピーしてください',
  'wallet.rechargeAddressHint': 'このアドレスに {coin} を入金するには、必ず {chain} を使用してください。',
  'wallet.qdtPrice.loading': '読み込み中...',
  'wallet.rechargeTip.new': '通貨とチェーンを選択し、下の QR コードをスキャンしてリチャージしてください',
  'wallet.exchangeRate': '1 QDT ≈ {レート} USDT',
  'wallet.withdrawableAmount': '利用可能な現金の量',
  'wallet.totalBalance': '合計残高',
  'wallet.insufficientWithdrawable': '引き出すことができる現金の量が不足しています。現在出金できる金額は次のとおりです: {amount} QDT',
  'wallet.withdrawAddressRequired': '出金アドレスを入力してください',
  'wallet.withdrawAddressHint': 'アドレスが正しいことを確認してください。退会後は取り消すことはできません。',
  'wallet.withdrawSubmitSuccess': '出金申請が正常に送信されました。審査をお待ちください',
  'menu.footer.contactUs': 'お問い合わせ',
  'menu.footer.getSupport': 'サポートを受ける',
  'menu.footer.socialAccounts': 'ソーシャルアカウント',
  'menu.footer.userAgreement': 'ユーザー同意書',
  'menu.footer.privacyPolicy': 'プライバシーポリシー',
  'menu.footer.support': 'サポート',
  'menu.footer.featureRequest': '機能リクエスト',
  'menu.footer.email': '電子メール',
  'menu.footer.liveChat': '24時間年中無休のライブチャット',
  'dashboard.analysis.title': '多次元分析',
  'dashboard.analysis.subtitle': 'AIを活用した総合財務分析プラットフォーム',
  'dashboard.analysis.selectSymbol': '基礎となるコードを選択または入力します',
  'dashboard.analysis.selectModel': 'モデルを選択してください',
  'dashboard.analysis.startAnalysis': '分析を開始する',
  'dashboard.analysis.history': '歴史',
  'dashboard.analysis.tab.overview': '総合的な分析',
  'dashboard.analysis.tab.fundamental': '基本',
  'dashboard.analysis.tab.technical': 'テクノロジー',
  'dashboard.analysis.tab.news': 'ニュース',
  'dashboard.analysis.tab.sentiment': '感情',
  'dashboard.analysis.tab.risk': 'リスク',
  'dashboard.analysis.tab.debate': '長短の議論',
  'dashboard.analysis.tab.decision': '最終決定',
  'dashboard.analysis.empty.selectSymbol': '分析を開始するターゲットを選択してください',
  'dashboard.analysis.empty.selectSymbolDesc': '独自に選択した銘柄リストから選択するか、基礎となるコードを入力して多次元 AI 分析レポートを取得します',
  'dashboard.analysis.empty.startAnalysis': '「分析開始」ボタンをクリックすると、多次元分析が実行されます。',
  'dashboard.analysis.empty.startAnalysisDesc': 'ファンダメンタルズ、テクノロジー、ニュース、センチメント、リスクなどの多次元から総合的な分析を提供します。',
  'dashboard.analysis.empty.noData': '現在、{type} の分析データはありません。最初に包括的な分析を行ってください。',
  'dashboard.analysis.empty.noWatchlist': '現在、自主選定銘柄はありません',
  'dashboard.analysis.empty.noHistory': 'まだ履歴がありません',
  'dashboard.analysis.empty.watchlistHint': '現在、独自に選択した銘柄はありません。まずご確認ください。',
  'dashboard.analysis.empty.noDebateData': '議論のデータはまだありません',
  'dashboard.analysis.empty.noDecisionData': '決定データはまだありません',
  'dashboard.analysis.empty.selectAgent': '分析結果を表示するにはエージェントを選択してください',
  'dashboard.analysis.loading.analyzing': '分析中です、お待ちください...',
  'dashboard.analysis.loading.fundamental': '基本データを分析中...',
  'dashboard.analysis.loading.technical': 'テクニカル指標を分析中...',
  'dashboard.analysis.loading.news': 'ニュースデータを分析中...',
  'dashboard.analysis.loading.sentiment': '市場センチメントを分析中...',
  'dashboard.analysis.loading.risk': 'リスクを評価中...',
  'dashboard.analysis.loading.debate': '長短の議論は続いています...',
  'dashboard.analysis.loading.decision': '最終決定を生成中...',
  'dashboard.analysis.score.overall': '総合評価',
  'dashboard.analysis.score.recommendation': '投資アドバイス',
  'dashboard.analysis.score.confidence': '自信',
  'dashboard.analysis.dimension.fundamental': '基本',
  'dashboard.analysis.dimension.technical': 'テクノロジー',
  'dashboard.analysis.dimension.news': 'ニュース',
  'dashboard.analysis.dimension.sentiment': '感情',
  'dashboard.analysis.dimension.risk': 'リスク',
  'dashboard.analysis.card.dimensionScores': '各次元の評価',
  'dashboard.analysis.card.overviewReport': '総合分析レポート',
  'dashboard.analysis.card.financialMetrics': '財務指標',
  'dashboard.analysis.card.fundamentalReport': 'ファンダメンタルズ分析レポート',
  'dashboard.analysis.card.technicalIndicators': 'テクニカル指標',
  'dashboard.analysis.card.technicalReport': 'テクニカル分析レポート',
  'dashboard.analysis.card.newsList': '関連ニュース',
  'dashboard.analysis.card.newsReport': 'ニュース分析レポート',
  'dashboard.analysis.card.sentimentIndicators': '感情指標',
  'dashboard.analysis.card.sentimentReport': 'センチメント分析レポート',
  'dashboard.analysis.card.riskMetrics': 'リスク指標',
  'dashboard.analysis.card.riskReport': 'リスク評価レポート',
  'dashboard.analysis.card.bullView': '強気の見方（強気）',
  'dashboard.analysis.card.bearView': '弱気の見方（ベア）',
  'dashboard.analysis.card.researchConclusion': '研究者の結論',
  'dashboard.analysis.card.traderPlan': 'トレーダープラン',
  'dashboard.analysis.card.riskDebate': 'リスク委員会の議論',
  'dashboard.analysis.card.finalDecision': '最終決定',
  'dashboard.analysis.card.tradePlanDetail': '取引プランの詳細',
  'dashboard.analysis.tradingPlan.entry_price': '入場料',
  'dashboard.analysis.tradingPlan.position_size': 'ポジションサイズ',
  'dashboard.analysis.tradingPlan.stop_loss': 'ストップロス',
  'dashboard.analysis.tradingPlan.take_profit': '利益確定',
  'dashboard.analysis.label.confidence': '自信',
  'dashboard.analysis.label.keyPoints': 'コアポイント',
  'dashboard.analysis.label.riskWarning': 'リスク警告',
  'dashboard.analysis.risk.risky': '危険な',
  'dashboard.analysis.risk.neutral': '中立的な視点（ニュートラル）',
  'dashboard.analysis.risk.safe': '保守的な見解（安全）',
  'dashboard.analysis.risk.conclusion': '結論',
  'dashboard.analysis.feature.fundamental': 'ファンダメンタルズ分析',
  'dashboard.analysis.feature.technical': 'テクニカル分析',
  'dashboard.analysis.feature.news': 'ニュース分析',
  'dashboard.analysis.feature.sentiment': '感情分析',
  'dashboard.analysis.feature.risk': 'リスク評価',
  'dashboard.analysis.watchlist.title': '私の銘柄選択',
  'dashboard.analysis.watchlist.add': '追加する',
  'dashboard.analysis.watchlist.addStock': '在庫を追加する',
  'dashboard.analysis.modal.addStock.title': 'オプションのストックを追加する',
  'dashboard.analysis.modal.addStock.confirm': 'OK',
  'dashboard.analysis.modal.addStock.cancel': 'キャンセル',
  'dashboard.analysis.modal.addStock.market': '市場タイプ',
  'dashboard.analysis.modal.addStock.marketPlaceholder': 'マーケットを選択してください',
  'dashboard.analysis.modal.addStock.marketRequired': 'マーケットタイプを選択してください',
  'dashboard.analysis.modal.addStock.symbol': '証券コード',
  'dashboard.analysis.modal.addStock.symbolPlaceholder': '例: AAPL、TSLA、GOOGL、000001、BTC',
  'dashboard.analysis.modal.addStock.symbolRequired': '証券コードを入力してください',
  'dashboard.analysis.modal.addStock.searchPlaceholder': '検索対象のコードまたは名前',
  'dashboard.analysis.modal.addStock.searchOrInputPlaceholder': '基礎となるコードを検索または入力します (例: AAPL、BTC/USDT、EUR/USD)',
  'dashboard.analysis.modal.addStock.searchOrInputHint': 'データベース内のオブジェクトの検索、またはコードの直接入力をサポート (システムが自動的に名前を取得します)',
  'dashboard.analysis.modal.addStock.search': '検索',
  'dashboard.analysis.modal.addStock.searchResults': '検索結果',
  'dashboard.analysis.modal.addStock.hotSymbols': '人気のターゲット',
  'dashboard.analysis.modal.addStock.noHotSymbols': '人気のあるターゲットはまだありません',
  'dashboard.analysis.modal.addStock.selectedSymbol': '選択済み',
  'dashboard.analysis.modal.addStock.pleaseSelectSymbol': '最初にターゲットを選択してください',
  'dashboard.analysis.modal.addStock.pleaseSelectOrEnterSymbol': 'ターゲットを選択するか、最初にターゲット コードを入力してください',
  'dashboard.analysis.modal.addStock.pleaseEnterSymbol': 'ターゲットコードを入力してください',
  'dashboard.analysis.modal.addStock.pleaseSelectMarket': '最初にマーケットタイプを選択してください',
  'dashboard.analysis.modal.addStock.searchFailed': '検索に失敗しました。後でもう一度お試しください',
  'dashboard.analysis.modal.addStock.noSearchResults': '一致するターゲットが見つかりません',
  'dashboard.analysis.modal.addStock.willAutoFetchName': 'システムが自動的に名前を取得します',
  'dashboard.analysis.modal.addStock.addDirectly': '直接追加',
  'dashboard.analysis.modal.addStock.nameWillBeFetched': '名前は追加時に自動的に取得されます',
  'dashboard.analysis.market.AShare': 'A株',
  'dashboard.analysis.market.USStock': '米国株',
  'dashboard.analysis.market.HShare': '香港株',
  'dashboard.analysis.market.Crypto': '暗号通貨',
  'dashboard.analysis.market.Forex': '外国為替',
  'dashboard.analysis.market.Futures': '先物',
  'dashboard.analysis.modal.history.title': '過去の分析記録',
  'dashboard.analysis.modal.history.viewResult': '結果を見る',
  'dashboard.analysis.modal.history.completeTime': '完了時間',
  'dashboard.analysis.modal.history.error': 'エラー',
  'dashboard.analysis.status.pending': '保留中',
  'dashboard.analysis.status.processing': '処理中',
  'dashboard.analysis.status.completed': '完了',
  'dashboard.analysis.status.failed': '失敗しました',
  'dashboard.analysis.message.selectSymbol': '最初にターゲットを選択してください',
  'dashboard.analysis.message.taskCreated': '分析タスクが作成され、バックグラウンドで実行されています...',
  'dashboard.analysis.message.analysisComplete': '分析完了',
  'dashboard.analysis.message.analysisCompleteCache': '分析完了（キャッシュされたデータを使用）',
  'dashboard.analysis.message.analysisFailed': '分析に失敗しました。後でもう一度お試しください。',
  'dashboard.analysis.message.addStockSuccess': '正常に追加されました',
  'dashboard.analysis.message.addStockFailed': '追加に失敗しました',
  'dashboard.analysis.message.removeStockSuccess': '正常に削除されました',
  'dashboard.analysis.message.removeStockFailed': '削除に失敗しました',
  'dashboard.analysis.message.resumingAnalysis': '分析タスクを再開しています...',
  'dashboard.analysis.message.deleteSuccess': '正常に削除されました',
  'dashboard.analysis.message.deleteFailed': '削除に失敗しました',
  'dashboard.analysis.modal.history.delete': '削除',
  'dashboard.analysis.modal.history.deleteConfirm': 'この分析記録を削除してもよろしいですか？',
  'dashboard.analysis.test': 'ショップ番号 {no}、公庄路',
  'dashboard.analysis.introduce': 'インジケーターの説明',
  'dashboard.analysis.total-sales': '総売上高',
  'dashboard.analysis.day-sales': '平均日販￥',
  'dashboard.analysis.visits': '訪問',
  'dashboard.analysis.visits-trend': 'トラフィックの傾向',
  'dashboard.analysis.visits-ranking': '来店ランキング',
  'dashboard.analysis.day-visits': '毎日の訪問',
  'dashboard.analysis.week': '毎週前年比',
  'dashboard.analysis.day': '前年比',
  'dashboard.analysis.payments': '支払い回数',
  'dashboard.analysis.conversion-rate': 'コンバージョン率',
  'dashboard.analysis.operational-effect': '運営活動への影響',
  'dashboard.analysis.sales-trend': '販売動向',
  'dashboard.analysis.sales-ranking': '店舗売上ランキング',
  'dashboard.analysis.all-year': '一年中',
  'dashboard.analysis.all-month': '今月',
  'dashboard.analysis.all-week': '今週',
  'dashboard.analysis.all-day': '今日',
  'dashboard.analysis.search-users': '検索ユーザー数',
  'dashboard.analysis.per-capita-search': '一人当たりの検索数',
  'dashboard.analysis.online-top-search': 'オンラインで人気の検索',
  'dashboard.analysis.the-proportion-of-sales': '売上カテゴリー比率',
  'dashboard.analysis.dropdown-option-one': '作戦１',
  'dashboard.analysis.dropdown-option-two': '操作 2',
  'dashboard.analysis.channel.all': 'すべてのチャンネル',
  'dashboard.analysis.channel.online': 'オンライン',
  'dashboard.analysis.channel.stores': '店',
  'dashboard.analysis.sales': '販売',
  'dashboard.analysis.traffic': '乗客の流れ',
  'dashboard.analysis.table.rank': 'ランキング',
  'dashboard.analysis.table.search-keyword': '検索キーワード',
  'dashboard.analysis.table.users': 'ユーザー数',
  'dashboard.analysis.table.weekly-range': '毎週の増加',
  'dashboard.indicator.selectSymbol': '基礎となるコードを選択または入力します',
  'dashboard.indicator.emptyWatchlistHint': '現在、独自に選択した銘柄はありません。最初に追加してください。',
  'dashboard.indicator.hint.selectSymbol': '分析を開始するにはターゲットを選択してください',
  'dashboard.indicator.hint.selectSymbolDesc': 'K ライン チャートとテクニカル指標を表示するには、上の検索ボックスに銘柄コードを選択または入力します。',
  'dashboard.indicator.retry': 'もう一度試してください',
  'dashboard.indicator.panel.title': 'テクニカル指標',
  'dashboard.indicator.panel.realtimeOn': 'リアルタイム更新をオフにする',
  'dashboard.indicator.panel.realtimeOff': 'リアルタイム更新を有効にする',
  'dashboard.indicator.panel.themeLight': 'ダークテーマに切り替える',
  'dashboard.indicator.panel.themeDark': 'ライトテーマに切り替える',
  'dashboard.indicator.section.enabled': '有効',
  'dashboard.indicator.section.added': '私が追加したインジケーター',
  'dashboard.indicator.section.custom': '自分で作成したインジケーター',
  'dashboard.indicator.section.bought': '購入したインジケーター',
  'dashboard.indicator.section.myCreated': '私が作成したインジケーター',
  'dashboard.indicator.empty': 'まだインジケーターがありません。最初にインジケーターを追加または作成してください',
  'dashboard.indicator.buy': '購入インジケーター',
  'dashboard.indicator.action.start': '始める',
  'dashboard.indicator.action.stop': '閉じる',
  'dashboard.indicator.action.edit': '編集',
  'dashboard.indicator.action.delete': '削除',
  'dashboard.indicator.action.backtest': 'バックテスト',
  'dashboard.indicator.status.normal': '普通の',
  'dashboard.indicator.status.normalPermanent': '通常（永続的に有効）',
  'dashboard.indicator.status.expired': '期限切れ',
  'dashboard.indicator.expiry.permanent': '永久に有効',
  'dashboard.indicator.expiry.noExpiry': '有効期限なし',
  'dashboard.indicator.expiry.expired': '期限切れ: {日付}',
  'dashboard.indicator.expiry.expiresOn': '有効期限: {日付}',
  'dashboard.indicator.delete.confirmTitle': '削除の確認',
  'dashboard.indicator.delete.confirmContent': 'インジケーター「{name}」を削除してもよろしいですか?この操作は元に戻すことができません。',
  'dashboard.indicator.delete.confirmOk': '削除',
  'dashboard.indicator.delete.confirmCancel': 'キャンセル',
  'dashboard.indicator.delete.success': '正常に削除されました',
  'dashboard.indicator.delete.failed': '削除に失敗しました',
  'dashboard.indicator.save.success': '正常に保存されました',
  'dashboard.indicator.save.failed': '保存に失敗しました',
  'dashboard.indicator.error.loadWatchlistFailed': 'オプションのストックをロードできませんでした',
  'dashboard.indicator.error.chartNotReady': 'チャートコンポーネントは初期化されていません。最初にターゲットを選択し、チャートがロードされるまで待ってください。',
  'dashboard.indicator.error.chartMethodNotReady': 'グラフ コンポーネント メソッドの準備ができていません。後でもう一度お試しください。',
  'dashboard.indicator.error.chartExecuteNotReady': 'チャートコンポーネントの実行メソッドの準備ができていません。後でもう一度試してください。',
  'dashboard.indicator.error.parseFailed': 'Pythonコードを解析できません',
  'dashboard.indicator.error.parseFailedCheck': 'Python コードを解析できません。コード形式を確認してください。',
  'dashboard.indicator.error.addIndicatorFailed': 'インジケーターの追加に失敗しました',
  'dashboard.indicator.error.runIndicatorFailed': 'インジケーターの実行に失敗しました',
  'dashboard.indicator.error.pleaseLogin': 'まずログインしてください',
  'dashboard.indicator.error.loadDataFailed': 'データのロードに失敗しました',
  'dashboard.indicator.error.loadDataFailedDesc': 'ネットワーク接続を確認してください',
  'dashboard.indicator.error.pythonEngineFailed': 'Python エンジンのロードに失敗したため、インジケーター機能が使用できない可能性があります。',
  'dashboard.indicator.error.chartInitFailed': 'チャートの初期化に失敗しました',
  'dashboard.indicator.warning.enterCode': '最初にインジケーターコードを入力してください',
  'dashboard.indicator.warning.pyodideLoadFailed': 'Python エンジンのロードに失敗しました',
  'dashboard.indicator.warning.pyodideLoadFailedDesc': 'この機能は、現在の地域またはネットワーク環境では利用できません',
  'dashboard.indicator.warning.chartNotInitialized': 'グラフが初期化されていないため、線描画ツールが使用できません。',
  'dashboard.indicator.success.runIndicator': 'インジケーターは正常に実行されます',
  'dashboard.indicator.success.clearDrawings': '線画をすべてクリアしました',
  'dashboard.indicator.sma': 'SMA（移動平均結合）',
  'dashboard.indicator.ema': 'EMA (指数移動平均結合)',
  'dashboard.indicator.rsi': 'RSI (相対強度)',
  'dashboard.indicator.macd': 'MACD',
  'dashboard.indicator.bb': 'ボリンジャーバンド',
  'dashboard.indicator.atr': 'ATR (平均トゥルーレンジ)',
  'dashboard.indicator.cci': 'CCI (商品チャネル指数)',
  'dashboard.indicator.williams': 'ウィリアムズ %R (ウィリアムズ指標)',
  'dashboard.indicator.mfi': 'MFI（マネーフローインデックス）',
  'dashboard.indicator.adx': 'ADX（平均トレンド指数）',
  'dashboard.indicator.obv': 'OBV（エネルギー波）',
  'dashboard.indicator.adosc': 'ADOSC (アキュムレート/ディスパッチオシレーター)',
  'dashboard.indicator.ad': 'AD（蓄電・配電線）',
  'dashboard.indicator.kdj': 'KDJ (確率的指標)',
  'dashboard.indicator.signal.buy': '買う',
  'dashboard.indicator.signal.sell': '売る',
  'dashboard.indicator.signal.supertrendBuy': 'スーパートレンド購入',
  'dashboard.indicator.signal.supertrendSell': 'スーパートレンドセル',
  'dashboard.indicator.chart.kline': 'Kライン',
  'dashboard.indicator.chart.volume': 'ボリューム',
  'dashboard.indicator.chart.uptrend': '上昇傾向',
  'dashboard.indicator.chart.downtrend': '下降傾向',
  'dashboard.indicator.tooltip.time': '時間',
  'dashboard.indicator.tooltip.open': '開く',
  'dashboard.indicator.tooltip.close': '受け取る',
  'dashboard.indicator.tooltip.high': '高い',
  'dashboard.indicator.tooltip.low': '低い',
  'dashboard.indicator.tooltip.volume': 'ボリューム',
  'dashboard.indicator.drawing.line': '線分',
  'dashboard.indicator.drawing.horizontalLine': '水平線',
  'dashboard.indicator.drawing.verticalLine': '縦線',
  'dashboard.indicator.drawing.ray': '光線',
  'dashboard.indicator.drawing.straightLine': '直線',
  'dashboard.indicator.drawing.parallelLine': '平行線',
  'dashboard.indicator.drawing.priceLine': '価格ライン',
  'dashboard.indicator.drawing.priceChannel': '価格チャネル',
  'dashboard.indicator.drawing.fibonacciLine': 'フィボナッチライン',
  'dashboard.indicator.drawing.clearAll': '線画をすべてクリアする',
  'dashboard.indicator.market.AShare': 'A株',
  'dashboard.indicator.market.USStock': '米国株',
  'dashboard.indicator.market.HShare': '香港株',
  'dashboard.indicator.market.Crypto': '暗号通貨',
  'dashboard.indicator.market.Forex': '外国為替',
  'dashboard.indicator.market.Futures': '先物',
  'dashboard.indicator.create': 'インジケーターの作成',
  'dashboard.indicator.editor.title': 'インジケーターの作成/編集',
  'dashboard.indicator.editor.name': 'インジケーター名',
  'dashboard.indicator.editor.nameRequired': 'インジケーター名を入力してください',
  'dashboard.indicator.editor.namePlaceholder': 'インジケーター名を入力してください',
  'dashboard.indicator.editor.description': 'インジケーターの説明',
  'dashboard.indicator.editor.descriptionPlaceholder': 'インジケーターの説明を入力してください (オプション)',
  'dashboard.indicator.editor.code': 'Pythonコード',
  'dashboard.indicator.editor.codeRequired': 'インジケーターコードを入力してください',
  'dashboard.indicator.editor.codePlaceholder': 'Python コードを入力してください',
  'dashboard.indicator.editor.run': '走る',
  'dashboard.indicator.editor.runHint': '実行ボタンをクリックして、K ライン チャート上のインジケーターの効果をプレビューします。',
  'dashboard.indicator.editor.guide': '開発ガイド',
  'dashboard.indicator.editor.guideTitle': 'Python インジケーター開発ガイド',
  'dashboard.indicator.editor.save': '保存する',
  'dashboard.indicator.editor.cancel': 'キャンセル',
  'dashboard.indicator.editor.unnamed': '名前のないインジケーター',
  'dashboard.indicator.editor.publishToCommunity': 'コミュニティに投稿する',
  'dashboard.indicator.editor.publishToCommunityHint': '公開されると、他のユーザーがコミュニティでインジケーターを表示して使用できるようになります',
  'dashboard.indicator.editor.indicatorType': 'インジケーターの種類',
  'dashboard.indicator.editor.indicatorTypeRequired': 'インジケーターのタイプを選択してください',
  'dashboard.indicator.editor.indicatorTypePlaceholder': 'インジケーターのタイプを選択してください',
  'dashboard.indicator.editor.previewImage': 'プレビュー',
  'dashboard.indicator.editor.uploadImage': '写真をアップロードする',
  'dashboard.indicator.editor.previewImageHint': '推奨サイズ: 800x400、2MB 以下',
  'dashboard.indicator.editor.pricing': '販売価格（QDT）',
  'dashboard.indicator.editor.pricingType.free': '無料',
  'dashboard.indicator.editor.pricingType.permanent': '永久的な',
  'dashboard.indicator.editor.pricingType.monthly': '月々の支払い',
  'dashboard.indicator.editor.price': '価格',
  'dashboard.indicator.editor.priceRequired': '価格を入力してください',
  'dashboard.indicator.editor.pricePlaceholder': '価格を入力してください',
  'dashboard.indicator.editor.pricingHint': '無料のインジケーターの価格は 0 ですが、プラットフォームはインジケーターの使用量と賞賛率に基づいて報酬 (QDT) を与えます。',
  'dashboard.indicator.editor.aiGenerate': 'インテリジェントな世代',
  'dashboard.indicator.editor.aiPromptPlaceholder': 'あなたのアイデアを教えてください。Python インジケーター コードを生成します。',
  'dashboard.indicator.editor.aiGenerateBtn': 'AIが生成したコード',
  'dashboard.indicator.editor.aiPromptRequired': 'あなたの考えを入力してください',
  'dashboard.indicator.editor.aiGenerateSuccess': 'コード生成が成功しました',
  'dashboard.indicator.editor.aiGenerateError': 'コード生成に失敗しました。後でもう一度お試しください。',
  'dashboard.indicator.editor.verifyCode': 'コード検証',
  'dashboard.indicator.editor.verifyCodeSuccess': '検証合格',
  'dashboard.indicator.editor.verifyCodeFailed': '検証失敗',
  'dashboard.indicator.editor.verifyCodeEmpty': 'コードは空にできません',
  'dashboard.indicator.backtest.title': 'インジケーターのバックテスト',
  'dashboard.indicator.backtest.config': 'バックテストパラメータ',
  'dashboard.indicator.backtest.startDate': '開始日',
  'dashboard.indicator.backtest.endDate': '終了日',
  'dashboard.indicator.backtest.selectStartDate': '開始日を選択してください',
  'dashboard.indicator.backtest.selectEndDate': '終了日を選択してください',
  'dashboard.indicator.backtest.startDateRequired': '開始日を選択してください',
  'dashboard.indicator.backtest.endDateRequired': '終了日を選択してください',
  'dashboard.indicator.backtest.initialCapital': '初期資本',
  'dashboard.indicator.backtest.initialCapitalRequired': '初期資金を入力してください',
  'dashboard.indicator.backtest.commission': '手数料',
  'dashboard.indicator.backtest.leverage': 'レバレッジ比率',
  'dashboard.indicator.backtest.tradeDirection': '取引の方向性',
  'dashboard.indicator.backtest.longOnly': '長く続けてください',
  'dashboard.indicator.backtest.shortOnly': '短い',
  'dashboard.indicator.backtest.both': '双方向',
  'dashboard.indicator.backtest.run': 'バックテストを開始する',
  'dashboard.indicator.backtest.rerun': 'もう一度バックテスト',
  'dashboard.indicator.backtest.close': '閉じる',
  'dashboard.indicator.backtest.running': 'インジケーターのバックテストが進行中です...',
  'dashboard.indicator.backtest.results': 'バックテスト結果',
  'dashboard.indicator.backtest.totalReturn': 'トータルリターン',
  'dashboard.indicator.backtest.annualReturn': '年収',
  'dashboard.indicator.backtest.maxDrawdown': '最大ドローダウン',
  'dashboard.indicator.backtest.sharpeRatio': 'シャープレシオ',
  'dashboard.indicator.backtest.winRate': '勝率',
  'dashboard.indicator.backtest.profitFactor': '損益率',
  'dashboard.indicator.backtest.totalTrades': 'トランザクション数',
  'dashboard.indicator.totalReturn': 'トータルリターン',
  'dashboard.indicator.annualReturn': '年換算収益率',
  'dashboard.indicator.maxDrawdown': '最大ドローダウン',
  'dashboard.indicator.sharpeRatio': 'シャープレシオ',
  'dashboard.indicator.winRate': '勝率',
  'dashboard.indicator.profitFactor': '損益率',
  'dashboard.indicator.totalTrades': '総トランザクション数',
  'dashboard.indicator.backtest.totalCommission': '合計手数料',
  'dashboard.indicator.backtest.equityCurve': 'イールドカーブ',
  'dashboard.indicator.backtest.strategy': '指標収入',
  'dashboard.indicator.backtest.benchmark': 'ベンチマークリターン',
  'dashboard.indicator.backtest.tradeHistory': '取引履歴',
  'dashboard.indicator.backtest.tradeTime': '時間',
  'dashboard.indicator.backtest.tradeType': 'タイプ',
  'dashboard.indicator.backtest.buy': '買う',
  'dashboard.indicator.backtest.sell': '売る',
  'dashboard.indicator.backtest.liquidation': '清算',
  'dashboard.indicator.backtest.openLong': '長く開く',
  'dashboard.indicator.backtest.closeLong': 'ピンドゥオ',
  'dashboard.indicator.backtest.closeLongStop': 'ロングに近い（ストップロス）',
  'dashboard.indicator.backtest.closeLongProfit': 'さらに閉じる（利益確定）',
  'dashboard.indicator.backtest.addLong': 'ロングポジションを追加',
  'dashboard.indicator.backtest.openShort': 'オープンショート',
  'dashboard.indicator.backtest.closeShort': '空の',
  'dashboard.indicator.backtest.closeShortStop': 'クローズ（ストップロス）',
  'dashboard.indicator.backtest.closeShortProfit': 'クローズ（利益確定）',
  'dashboard.indicator.backtest.addShort': 'ショートポジションを追加',
  'dashboard.indicator.backtest.price': '価格',
  'dashboard.indicator.backtest.amount': '数量',
  'dashboard.indicator.backtest.balance': '口座残高',
  'dashboard.indicator.backtest.profit': '損益',
  'dashboard.indicator.backtest.success': 'バックテスト完了',
  'dashboard.indicator.backtest.failed': 'バックテストに失敗しました。後でもう一度お試しください',
  'dashboard.indicator.backtest.noIndicatorCode': 'このインジケーターにはバックテスト可能なコードはありません',
  'dashboard.indicator.backtest.noSymbol': '最初に取引対象を選択してください',
  'dashboard.indicator.backtest.dateRangeExceeded': 'バックテストの時間範囲が制限を超えています: {timeframe} 期間は最大でも {maxRange} までバックテストできます',
  'dashboard.indicator.backtest.dateRangeExceededDays': 'Backtest range exceeds limit: {timeframe} max {maxRange} ({maxDays} days)',
  'dashboard.indicator.backtest.metaLine': 'Symbol: {symbol} | Market: {market} | Timeframe: {timeframe}',
  'dashboard.indicator.backtest.savedRunId': 'Backtest saved. Run ID: {id}',
  'dashboard.indicator.backtest.prev': 'Previous',
  'dashboard.indicator.backtest.next': 'Next',
  'dashboard.indicator.backtest.steps.strategy.title': 'Strategy',
  'dashboard.indicator.backtest.steps.strategy.desc': 'Position sizing & risk controls',
  'dashboard.indicator.backtest.steps.trading.title': 'Trading settings',
  'dashboard.indicator.backtest.steps.trading.desc': 'Time range, capital, fees, leverage',
  'dashboard.indicator.backtest.steps.results.title': 'Results',
  'dashboard.indicator.backtest.steps.results.desc': 'Backtest output',
  'dashboard.indicator.backtest.panel.risk': 'Risk management (SL/TP/Trailing)',
  'dashboard.indicator.backtest.panel.scale': 'Scale in / DCA (trend & mean-reversion)',
  'dashboard.indicator.backtest.panel.reduce': 'Reduce position (trend & adverse)',
  'dashboard.indicator.backtest.panel.position': 'Position sizing',
  'dashboard.indicator.backtest.field.stopLossPct': 'Stop Loss (%)',
  'dashboard.indicator.backtest.field.takeProfitPct': 'Take Profit (%)',
  'dashboard.indicator.backtest.field.trailingEnabled': 'Trailing stop / take profit',
  'dashboard.indicator.backtest.field.trailingStopPct': 'Trailing drawdown (%)',
  'dashboard.indicator.backtest.field.trailingActivationPct': 'Trailing activation (%)',
  'dashboard.indicator.backtest.field.slippage': 'Slippage (%)',
  'dashboard.indicator.backtest.field.trendAddEnabled': 'Trend-following scale-in',
  'dashboard.indicator.backtest.field.dcaAddEnabled': 'Mean-reversion DCA',
  'dashboard.indicator.backtest.field.trendAddStepPct': 'Scale-in trigger (%)',
  'dashboard.indicator.backtest.field.dcaAddStepPct': 'DCA trigger (%)',
  'dashboard.indicator.backtest.field.trendAddSizePct': 'Scale-in size (% of capital)',
  'dashboard.indicator.backtest.field.dcaAddSizePct': 'DCA size (% of capital)',
  'dashboard.indicator.backtest.field.trendAddMaxTimes': 'Max scale-in times',
  'dashboard.indicator.backtest.field.dcaAddMaxTimes': 'Max DCA times',
  'dashboard.indicator.backtest.field.trendReduceEnabled': 'Trend reduce',
  'dashboard.indicator.backtest.field.adverseReduceEnabled': 'Adverse reduce',
  'dashboard.indicator.backtest.field.trendReduceStepPct': 'Trend trigger (%)',
  'dashboard.indicator.backtest.field.adverseReduceStepPct': 'Adverse trigger (%)',
  'dashboard.indicator.backtest.field.trendReduceSizePct': 'Reduce size (% of position)',
  'dashboard.indicator.backtest.field.adverseReduceSizePct': 'Adverse reduce size (% of position)',
  'dashboard.indicator.backtest.field.trendReduceMaxTimes': 'Max trend reduce times',
  'dashboard.indicator.backtest.field.adverseReduceMaxTimes': 'Max adverse reduce times',
  'dashboard.indicator.backtest.field.entryPct': 'Entry size (% of capital)',
  'dashboard.indicator.backtest.field.minOrderPct': 'Min order size (% of capital) (optional)',
  'dashboard.indicator.backtest.closeLongTrailing': 'Close Long (Trailing)',
  'dashboard.indicator.backtest.reduceLong': 'Reduce Long',
  'dashboard.indicator.backtest.closeShortTrailing': 'Close Short (Trailing)',
  'dashboard.indicator.backtest.reduceShort': 'Reduce Short',
  'dashboard.docs.title': 'ドキュメントセンター',
  'dashboard.docs.search.placeholder': 'ドキュメントを検索...',
  'dashboard.docs.category.all': 'すべて',
  'dashboard.docs.category.guide': '開発ガイド',
  'dashboard.docs.category.api': 'APIドキュメント',
  'dashboard.docs.category.tutorial': 'チュートリアル',
  'dashboard.docs.category.faq': 'よくある質問',
  'dashboard.docs.featured.title': '推奨ドキュメント',
  'dashboard.docs.featured.tag': 'おすすめ',
  'dashboard.docs.list.views': '閲覧する',
  'dashboard.docs.list.author': '著者',
  'dashboard.docs.list.empty': 'まだ文書がありません',
  'dashboard.docs.list.backToAll': 'すべてのドキュメントに戻る',
  'dashboard.docs.list.total': '合計 {count} 個のドキュメント',
  'dashboard.docs.detail.back': 'ドキュメントリストに戻る',
  'dashboard.docs.detail.updatedAt': 'に更新されました',
  'dashboard.docs.detail.related': '関連資料',
  'dashboard.docs.detail.notFound': 'ドキュメントが存在しません',
  'dashboard.docs.detail.error': 'ドキュメントが存在しないか削除されています',
  'dashboard.docs.search.result': '検索結果',
  'dashboard.docs.search.keyword': 'キーワード',
  'community.filter.indicatorType': 'インジケーターの種類',
  'community.filter.all': 'すべて',
  'community.filter.other': 'その他のオプション',
  'community.filter.pricing': '価格タイプ',
  'community.filter.allPricing': 'すべての価格設定',
  'community.filter.sortBy': '並べ替え順',
  'community.filter.search': '検索',
  'community.filter.searchPlaceholder': '検索メトリクス名',
  'community.indicatorType.trend': 'トレンドタイプ',
  'community.indicatorType.momentum': '勢いタイプ',
  'community.indicatorType.volatility': 'ボラティリティ',
  'community.indicatorType.volume': 'ボリューム',
  'community.indicatorType.custom': 'カスタマイズ',
  'community.pricing.free': '無料',
  'community.pricing.paid': '支払う',
  'community.sort.downloads': 'ダウンロード',
  'community.sort.rating': '評価',
  'community.sort.newest': '最新リリース',
  'community.pagination.total': '合計 {total} 個のインジケーター',
  'community.noDescription': 'まだ説明がありません',
  'community.detail.type': 'タイプ',
  'community.detail.pricing': '価格設定',
  'community.detail.rating': '評価',
  'community.detail.downloads': 'ダウンロード',
  'community.detail.author': '著者',
  'community.detail.description': 'はじめに',
  'community.detail.detailContent': '詳細な説明',
  'community.detail.backtestStats': 'バックテスト統計',
  'community.action.purchase': '購入インジケーター',
  'community.action.addToMyIndicators': '私のインジケーターに追加',
  'community.action.favorite': 'コレクション',
  'community.action.unfavorite': 'お気に入りをキャンセルする',
  'community.action.buyNow': '今すぐ購入',
  'community.action.renew': 'リニューアル',
  'community.purchase.price': '価格',
  'community.purchase.permanent': '永久的な',
  'community.purchase.monthly': '月',
  'community.purchase.confirmBuy': 'このインジケーター ({price} QDT) を購入することを確認しますか?',
  'community.purchase.confirmRenew': 'このインジケーター ({price} QDT/月) を更新することを確認しますか?',
  'community.purchase.confirmFree': 'この無料インジケーターを追加することを確認しますか?',
  'community.purchase.confirmTitle': 'アクションの確認',
  'community.purchase.owned': 'このインジケーターを購入しました (永久に有効です)',
  'community.purchase.ownIndicator': 'これはあなたが公開した指標です',
  'community.purchase.expired': 'サブスクリプションの有効期限が切れました',
  'community.purchase.expiresOn': '有効期限: {日付}',
  'community.tabs.detail': 'インジケーターの詳細',
  'community.tabs.backtest': 'バックテストデータ',
  'community.tabs.ratings': 'ユーザーレビュー',
  'community.rating.myRating': '私の評価',
  'community.rating.stars': '{count} 個の星',
  'community.rating.commentPlaceholder': 'あなたの経験を共有してください...',
  'community.rating.submit': '評価を送信する',
  'community.rating.modify': '変更',
  'community.rating.saveModify': '変更を保存する',
  'community.rating.cancel': 'キャンセル',
  'community.rating.selectRating': '評価を選択してください',
  'community.rating.success': '評価が成功しました',
  'community.rating.modifySuccess': 'レビューが正常に変更されました',
  'community.rating.failed': '評価に失敗しました',
  'community.rating.noRatings': 'まだコメントはありません',
  'community.backtest.note': '上記のデータは過去のバックテスト結果であり、参考のみを目的としており、将来の収益を示すものではありません。',
  'community.backtest.noData': 'バックテストデータはまだありません',
  'community.backtest.uploadHint': '作者はまだバックテストデータをアップロードしていません',
  'community.message.loadFailed': 'インジケーターリストのロードに失敗しました',
  'community.message.purchaseProcessing': '購入リクエストを処理しています...',
  'community.message.downloadSuccess': 'メトリックがメトリック リストに追加されました',
  'community.message.favoriteSuccess': '収集に成功しました',
  'community.message.unfavoriteSuccess': '収集を正常にキャンセルしました',
  'community.message.operationSuccess': '操作は成功しました',
  'community.message.operationFailed': '操作が失敗しました',
  'community.banner.readOnly': '閲覧のみ',
  'community.banner.loginHint': 'ログインまたは登録が必要な場合は、ボタンをクリックして独立したページに移動し、CSRFの問題を回避してください',
  'community.banner.jumpButton': 'ログイン/登録へ',
  'dashboard.totalEquity': '総資本',
  'dashboard.totalPnL': '損益通算',
  'dashboard.aiStrategies': 'AI戦略',
  'dashboard.indicatorStrategies': '指標戦略',
  'dashboard.running': 'ランニング',
  'dashboard.pnlHistory': '過去の損益',
  'dashboard.strategyPerformance': '戦略損益率',
  'dashboard.recentTrades': '最近の取引',
  'dashboard.currentPositions': '現在位置',
  'dashboard.table.time': '時間',
  'dashboard.table.strategy': 'ポリシー名',
  'dashboard.table.symbol': 'ターゲット',
  'dashboard.table.type': 'タイプ',
  'dashboard.table.side': '方向',
  'dashboard.table.size': '建玉',
  'dashboard.table.entryPrice': '平均始値',
  'dashboard.table.price': '価格',
  'dashboard.table.amount': '数量',
  'dashboard.table.profit': '損益',
  'dashboard.pendingOrders': '注文実行記録',
  'dashboard.totalOrders': '合計 {total} 件',
  'dashboard.viewError': 'エラーを表示',
  'dashboard.filled': '約定済み',
  'dashboard.orderTable.time': '作成時間',
  'dashboard.orderTable.strategy': '戦略',
  'dashboard.orderTable.symbol': '取引ペア',
  'dashboard.orderTable.signalType': 'シグナルタイプ',
  'dashboard.orderTable.amount': '数量',
  'dashboard.orderTable.price': '約定価格',
  'dashboard.orderTable.status': 'ステータス',
  'dashboard.orderTable.executedAt': '実行時間',
  'dashboard.signalType.openLong': 'ロング開始',
  'dashboard.signalType.openShort': 'ショート開始',
  'dashboard.signalType.closeLong': 'ロング決済',
  'dashboard.signalType.closeShort': 'ショート決済',
  'dashboard.signalType.addLong': 'ロング追加',
  'dashboard.signalType.addShort': 'ショート追加',
  'dashboard.status.pending': '保留中',
  'dashboard.status.processing': '処理中',
  'dashboard.status.completed': '完了',
  'dashboard.status.failed': '失敗',
  'dashboard.status.cancelled': 'キャンセル済み',
  'dashboard.table.pnl': '未実現損益',
  'form.basic-form.basic.title': '基本形',
  'form.basic-form.basic.description': 'フォーム ページは、ユーザーからの情報を収集または確認するために使用されます。 基本フォームは、データ項目が少ないフォーム シナリオでよく使用されます。',
  'form.basic-form.title.label': 'タイトル',
  'form.basic-form.title.placeholder': '目標に名前を付けます',
  'form.basic-form.title.required': 'タイトルを入力してください',
  'form.basic-form.date.label': '開始日と終了日',
  'form.basic-form.placeholder.start': '開始日',
  'form.basic-form.placeholder.end': '終了日',
  'form.basic-form.date.required': '開始日と終了日を選択してください',
  'form.basic-form.goal.label': '目標の説明',
  'form.basic-form.goal.placeholder': '段階的な作業目標を入力してください',
  'form.basic-form.goal.required': '目標の説明を入力してください',
  'form.basic-form.standard.label': '測る',
  'form.basic-form.standard.placeholder': '指標を入力してください',
  'form.basic-form.standard.required': '指標を入力してください',
  'form.basic-form.client.label': 'お客様',
  'form.basic-form.client.required': 'あなたがサービスを提供しているクライアントについて説明してください',
  'form.basic-form.label.tooltip': '対象サービス受信者',
  'form.basic-form.client.placeholder': 'あなたがサービスを提供している顧客、内部顧客について直接説明してください @名前/役職番号',
  'form.basic-form.invites.label': '査読者を招待する',
  'form.basic-form.invites.placeholder': '@名前/従業員番号を直接送信してください。最大 5 人まで招待できます',
  'form.basic-form.weight.label': '重量',
  'form.basic-form.weight.placeholder': '入力してください',
  'form.basic-form.public.label': 'ターゲットパブリック',
  'form.basic-form.label.help': '顧客とレビュー担当者はデフォルトで共有されます',
  'form.basic-form.radio.public': '公共の',
  'form.basic-form.radio.partially-public': '部分的に公開',
  'form.basic-form.radio.private': 'プライベート',
  'form.basic-form.publicUsers.placeholder': 'にオープン',
  'form.basic-form.option.A': '同僚1',
  'form.basic-form.option.B': '同僚2',
  'form.basic-form.option.C': '同僚3人',
  'form.basic-form.email.required': 'メールアドレスを入力してください！',
  'form.basic-form.email.wrong-format': 'メールアドレスの形式が間違っています!',
  'form.basic-form.userName.required': 'ユーザー名を入力してください!',
  'form.basic-form.password.required': 'パスワードを入力してください。',
  'form.basic-form.password.twice': '2 回入力したパスワードが一致しません。',
  'form.basic-form.strength.msg': '6文字以上を入力してください。 推測されやすいパスワードは使用しないでください。',
  'form.basic-form.strength.strong': '強さ: 強い',
  'form.basic-form.strength.medium': '強さ: 中',
  'form.basic-form.strength.short': '強さ：短すぎる',
  'form.basic-form.confirm-password.required': 'パスワードを確認してください。',
  'form.basic-form.phone-number.required': '携帯電話番号を入力してください！',
  'form.basic-form.phone-number.wrong-format': '携帯電話番号の形式が間違っています。',
  'form.basic-form.verification-code.required': '確認コードを入力してください。',
  'form.basic-form.form.get-captcha': '確認コードを取得する',
  'form.basic-form.captcha.second': '秒',
  'form.basic-form.form.optional': '(オプション)',
  'form.basic-form.form.submit': '送信する',
  'form.basic-form.form.save': '保存する',
  'form.basic-form.email.placeholder': '電子メール',
  'form.basic-form.password.placeholder': 'パスワードは 6 文字以上、大文字と小文字は区別されます',
  'form.basic-form.confirm-password.placeholder': 'パスワードの確認',
  'form.basic-form.phone-number.placeholder': '携帯電話番号',
  'form.basic-form.verification-code.placeholder': '認証コード',
  'result.success.title': '送信成功',
  'result.success.description': '投入結果ページは、一連の運用タスクの処理結果をフィードバックするために使用されます。単純な操作のみの場合は、メッセージ グローバル プロンプト フィードバックを使用します。このテキストエリアには簡単な補足説明を表示できます。 「ドキュメント」を表示する必要がある場合は、下の灰色の領域にさらに複雑なコンテンツを表示できます。',
  'result.success.operate-title': 'プロジェクト名',
  'result.success.operate-id': 'プロジェクトID',
  'result.success.principal': '担当者',
  'result.success.operate-time': '効果時間',
  'result.success.step1-title': 'プロジェクトの作成',
  'result.success.step1-operator': 'ク・リリ',
  'result.success.step2-title': '部門の事前審査',
  'result.success.step2-operator': '周猫猫',
  'result.success.step2-extra': '緊急',
  'result.success.step3-title': '財務レビュー',
  'result.success.step4-title': '完了',
  'result.success.btn-return': 'リストに戻る',
  'result.success.btn-project': 'アイテムを見る',
  'result.success.btn-print': '印刷する',
  'result.fail.error.title': '送信に失敗しました',
  'result.fail.error.description': '再送信する前に、次の情報を確認して変更してください。',
  'result.fail.error.hint-title': '送信したコンテンツには次のエラーが含まれています。',
  'result.fail.error.hint-text1': 'あなたのアカウントは凍結されました',
  'result.fail.error.hint-btn1': 'すぐに解凍してください',
  'result.fail.error.hint-text2': 'あなたのアカウントはまだ申請する資格がありません',
  'result.fail.error.hint-btn2': '今すぐアップグレードしてください',
  'result.fail.error.btn-text': '修正に戻る',
  'account.settings.menuMap.custom': 'パーソナライゼーション',
  'account.settings.menuMap.binding': 'アカウントバインディング',
  'account.settings.basic.avatar': 'アバター',
  'account.settings.basic.change-avatar': 'アバターの変更',
  'account.settings.basic.email': '電子メール',
  'account.settings.basic.email-message': 'メールアドレスを入力してください。',
  'account.settings.basic.nickname': 'ニックネーム',
  'account.settings.basic.nickname-message': 'ニックネームを入力してください！',
  'account.settings.basic.profile': 'プロフィール',
  'account.settings.basic.profile-message': 'あなたの個人プロフィールを入力してください！',
  'account.settings.basic.profile-placeholder': 'プロフィール',
  'account.settings.basic.country': '国/地域',
  'account.settings.basic.country-message': 'あなたの国または地域を入力してください。',
  'account.settings.basic.geographic': '県と市',
  'account.settings.basic.geographic-message': 'あなたの都道府県と市区町村を入力してください。',
  'account.settings.basic.address': '住所',
  'account.settings.basic.address-message': '住所を入力してください。',
  'account.settings.basic.phone': '連絡先番号',
  'account.settings.basic.phone-message': '連絡先番号を入力してください。',
  'account.settings.basic.update': '基本情報を更新',
  'account.settings.basic.update.success': '基本情報が正常に更新されました',
  'account.settings.security.strong': '強い',
  'account.settings.security.medium': 'で',
  'account.settings.security.weak': '弱い',
  'account.settings.security.password': 'アカウントのパスワード',
  'account.settings.security.password-description': '現在のパスワードの強度:',
  'account.settings.security.phone': 'セキュリティ携帯電話',
  'account.settings.security.phone-description': 'すでにバインドされている携帯電話:',
  'account.settings.security.question': 'セキュリティの問題',
  'account.settings.security.question-description': '秘密の質問は設定されていないため、アカウントのセキュリティを効果的に保護できます。',
  'account.settings.security.email': '電子メールをバインドする',
  'account.settings.security.email-description': 'すでにバインドされている電子メール アドレス:',
  'account.settings.security.mfa': 'MFAデバイス',
  'account.settings.security.mfa-description': 'MFA デバイスはバインドされていません。バインド後、再度確認できます。',
  'account.settings.security.modify': '変更',
  'account.settings.security.set': '設定',
  'account.settings.security.bind': 'バインディング',
  'account.settings.binding.taobao': 'タオバオをバインドする',
  'account.settings.binding.taobao-description': 'タオバオアカウントは現在バインドされていません',
  'account.settings.binding.alipay': 'Alipayをバインドする',
  'account.settings.binding.alipay-description': 'Alipay アカウントは現在バインドされていません',
  'account.settings.binding.dingding': 'バインディングディントーク',
  'account.settings.binding.dingding-description': '現在バインドされている DingTalk アカウントはありません',
  'account.settings.binding.bind': 'バインディング',
  'account.settings.notification.password': 'アカウントのパスワード',
  'account.settings.notification.password-description': '他のユーザーからのメッセージは、サイトメッセージの形式で通知されます。',
  'account.settings.notification.messages': 'システムメッセージ',
  'account.settings.notification.messages-description': 'システム メッセージはサイト メッセージの形式で通知されます。',
  'account.settings.notification.todo': 'ToDoタスク',
  'account.settings.notification.todo-description': 'To Do タスクはサイト内メッセージの形式で通知されます',
  'account.settings.settings.open': '開く',
  'account.settings.settings.close': '閉じる',
  'trading-assistant.title': '取引アシスタント',
  'trading-assistant.strategyList': '戦略一覧',
  'trading-assistant.createStrategy': 'ポリシーの作成',
  'trading-assistant.noStrategy': 'まだ戦略はありません',
  'trading-assistant.selectStrategy': '詳細を表示するには、左側から戦略を選択してください',
  'trading-assistant.startStrategy': '戦略を立ち上げる',
  'trading-assistant.stopStrategy': '戦略を停止する',
  'trading-assistant.editStrategy': '編集戦略',
  'trading-assistant.deleteStrategy': 'ポリシーの削除',
  'trading-assistant.status.running': 'ランニング',
  'trading-assistant.status.stopped': '停止しました',
  'trading-assistant.status.error': 'エラー',
  'trading-assistant.strategyType.IndicatorStrategy': 'テクニカル指標戦略',
  'trading-assistant.strategyType.PromptBasedStrategy': '合言葉戦略',
  'trading-assistant.strategyType.GridStrategy': 'グリッド戦略',
  'trading-assistant.tabs.tradingRecords': '取引履歴',
  'trading-assistant.tabs.positions': '位置記録',
  'trading-assistant.tabs.equityCurve': '資本曲線',
  'trading-assistant.form.step1': 'インジケーターの選択',
  'trading-assistant.form.step2': 'Exchangeの構成',
  'trading-assistant.form.step3': '戦略パラメータ',
  'trading-assistant.form.indicator': 'インジケーターの選択',
  'trading-assistant.form.indicatorHint': '購入または作成したテクニカル指標のみを選択できます',
  'trading-assistant.form.qdtCostHints': '戦略を使用すると QDT が消費されます。アカウントに十分な QDT 残高があることを確認してください。',
  'trading-assistant.form.indicatorDescription': 'インジケーターの説明',
  'trading-assistant.form.noDescription': 'まだ説明がありません',
  'trading-assistant.form.exchange': '交換を選択',
  'trading-assistant.form.apiKey': 'APIキー',
  'trading-assistant.form.secretKey': '秘密鍵',
  'trading-assistant.form.passphrase': 'パスフレーズ',
  'trading-assistant.form.testConnection': 'テスト接続',
  'trading-assistant.form.strategyName': 'ポリシー名',
  'trading-assistant.form.symbol': '取引ペア',
  'trading-assistant.form.symbolHint': '現在、暗号通貨取引ペアのみがサポートされています',
  'trading-assistant.form.initialCapital': '投資額',
  'trading-assistant.form.marketType': '市場タイプ',
  'trading-assistant.form.marketTypeFutures': '契約',
  'trading-assistant.form.marketTypeSpot': 'スポット',
  'trading-assistant.form.marketTypeHint': 'この契約は双方向の取引とレバレッジをサポートしますが、スポットはロングポジションのみをサポートし、レバレッジは 1 倍に固定されます。',
  'trading-assistant.form.leverage': '複数を活用する',
  'trading-assistant.form.leverageHint': '契約：1～125回、スポット：固定1回',
  'trading-assistant.form.spotLeverageFixed': '現物取引のレバレッジは1倍に固定されます',
  'trading-assistant.form.spotOnlyLongHint': 'スポット取引はロングポジションのみをサポートします',
  'trading-assistant.form.tradeDirection': '取引の方向性',
  'trading-assistant.form.tradeDirectionLong': 'ただ長いだけ',
  'trading-assistant.form.tradeDirectionShort': '短いだけ',
  'trading-assistant.form.tradeDirectionBoth': '双方向取引',
  'trading-assistant.form.timeframe': '期間',
  'trading-assistant.form.klinePeriod': 'K線期間',
  'trading-assistant.form.timeframe1m': '1分',
  'trading-assistant.form.timeframe5m': '5分',
  'trading-assistant.form.timeframe15m': '15分',
  'trading-assistant.form.timeframe30m': '30分',
  'trading-assistant.form.timeframe1H': '1時間',
  'trading-assistant.form.timeframe4H': '4時間',
  'trading-assistant.form.timeframe1D': '1日',
  'trading-assistant.form.selectStrategyType': '戦略タイプを選択',
  'trading-assistant.form.indicatorStrategy': 'インジケーター戦略',
  'trading-assistant.form.indicatorStrategyDesc': 'テクニカルインジケーターに基づく自動取引戦略',
  'trading-assistant.form.aiStrategy': 'AI戦略',
  'trading-assistant.form.aiStrategyDesc': 'AIインテリジェント意思決定に基づく自動取引戦略',
  'trading-assistant.form.enableAiFilter': 'AIインテリジェント意思決定フィルターを有効化',
  'trading-assistant.form.enableAiFilterHint': '有効にすると、インジケーターシグナルがAIによってフィルタリングされ、取引品質が向上します',
  'trading-assistant.form.aiFilterPrompt': 'カスタムプロンプト',
  'trading-assistant.form.aiFilterPromptHint': 'AIフィルタリングにカスタム指示を提供し、空白のままにするとシステムデフォルトを使用します',
  'trading-assistant.validation.strategyTypeRequired': '戦略タイプを選択してください',
  'trading-assistant.form.advancedSettings': '詳細設定',
  'trading-assistant.form.orderMode': 'オーダーモード',
  'trading-assistant.form.orderModeMaker': 'メーカー',
  'trading-assistant.form.orderModeTaker': '市場価格（テイカー）',
  'trading-assistant.form.orderModeHint': '未決注文モードでは指値注文が使用され、手数料が安くなります。市場価格モードはすぐに実行され、手数料が高くなります。',
  'trading-assistant.form.makerWaitSec': '未決注文の待ち時間 (秒)',
  'trading-assistant.form.makerWaitSecHint': '注文後の取引を待つ時間。キャンセルして、タイムアウト後に再試行してください。',
  'trading-assistant.form.makerRetries': '未決注文の再試行回数',
  'trading-assistant.form.makerRetriesHint': '未決注文が約定しない場合の最大リトライ回数',
  'trading-assistant.form.fallbackToMarket': '未決注文は失敗し、市場価格は引き下げられます。',
  'trading-assistant.form.fallbackToMarketHint': '開始/終了未決注文が完了していない場合、トランザクションを確実に完了させるために成行注文にダウングレードする必要があるかどうか。',
  'trading-assistant.form.marginMode': 'マージンモード',
  'trading-assistant.form.marginModeCross': '倉庫がいっぱい',
  'trading-assistant.form.marginModeIsolated': '孤立した位置',
  'trading-assistant.form.stopLossPct': 'ストップロス率(%)',
  'trading-assistant.form.stopLossPctHint': 'ストップロスのパーセンテージを設定します。0 はストップロスが有効になっていないことを意味します',
  'trading-assistant.form.takeProfitPct': 'テイクプロフィット率(%)',
  'trading-assistant.form.takeProfitPctHint': 'テイクプロフィットのパーセンテージを設定します。0 はテイクプロフィットを無効にすることを意味します',
  'trading-assistant.form.signalMode': '信号モード',
  'trading-assistant.form.signalModeConfirmed': '確認モード',
  'trading-assistant.form.signalModeAggressive': 'アグレッシブモード',
  'trading-assistant.form.signalModeHint': '確認モード: 完了した K 行のみをチェックします。アグレッシブ モード: K ラインの形成もチェックします',
  'trading-assistant.form.cancel': 'キャンセル',
  'trading-assistant.form.prev': '前のステップ',
  'trading-assistant.form.next': '次のステップ',
  'trading-assistant.form.confirmCreate': '作成の確認',
  'trading-assistant.form.confirmEdit': '変更を確認する',
  'trading-assistant.messages.createSuccess': '戦略が正常に作成されました',
  'trading-assistant.messages.createFailed': 'ポリシーの作成に失敗しました',
  'trading-assistant.messages.updateSuccess': 'ポリシーの更新が成功しました',
  'trading-assistant.messages.updateFailed': 'ポリシーの更新に失敗しました',
  'trading-assistant.messages.deleteSuccess': 'ポリシーの削除が成功しました',
  'trading-assistant.messages.deleteFailed': 'ポリシーの削除に失敗しました',
  'trading-assistant.messages.startSuccess': '戦略は無事に開始されました',
  'trading-assistant.messages.startFailed': 'ポリシーの開始に失敗しました',
  'trading-assistant.messages.stopSuccess': '戦略は正常に停止されました',
  'trading-assistant.messages.stopFailed': '停止戦略は失敗しました',
  'trading-assistant.messages.loadFailed': 'ポリシーリストの取得に失敗しました',
  'trading-assistant.messages.runningWarning': '戦略は実行されています。 戦略を変更する前に戦略を停止してください。',
  'trading-assistant.messages.deleteConfirmWithName': 'ポリシー「{name}」を削除してもよろしいですか?この操作は元に戻すことができません。',
  'trading-assistant.messages.deleteConfirm': 'このポリシーを削除してもよろしいですか?この操作は元に戻すことができません。',
  'trading-assistant.messages.loadTradesFailed': '取引記録の取得に失敗しました',
  'trading-assistant.messages.loadPositionsFailed': '位置レコードの取得に失敗しました',
  'trading-assistant.messages.loadEquityFailed': '資本曲線の取得に失敗しました',
  'trading-assistant.messages.loadIndicatorsFailed': 'インジケーター リストの読み込みに失敗しました。後でもう一度お試しください。',
  'trading-assistant.messages.spotLimitations': 'スポット取引は自動的にロングのみ、レバレッジ1倍に設定されています',
  'trading-assistant.messages.autoFillApiConfig': '取引所の過去の API 設定が自動的に入力されます',
  'trading-assistant.placeholders.selectIndicator': 'インジケーターを選択してください',
  'trading-assistant.placeholders.selectExchange': '交換を選択してください',
  'trading-assistant.placeholders.inputApiKey': 'APIキーを入力してください',
  'trading-assistant.placeholders.inputSecretKey': '秘密キーを入力してください',
  'trading-assistant.placeholders.inputPassphrase': 'パスフレーズを入力してください',
  'trading-assistant.placeholders.inputStrategyName': 'ポリシー名を入力してください',
  'trading-assistant.placeholders.selectSymbol': '取引ペアを選択してください',
  'trading-assistant.placeholders.selectTimeframe': '期間を選択してください',
  'trading-assistant.placeholders.selectKlinePeriod': 'K線期間を選択してください',
  'trading-assistant.placeholders.inputAiFilterPrompt': 'カスタムプロンプトを入力してください（オプション）',
  'trading-assistant.validation.indicatorRequired': 'インジケーターを選択してください',
  'trading-assistant.validation.exchangeRequired': '交換を選択してください',
  'trading-assistant.validation.apiKeyRequired': 'APIキーを入力してください',
  'trading-assistant.validation.secretKeyRequired': '秘密キーを入力してください',
  'trading-assistant.validation.passphraseRequired': 'パスフレーズを入力してください',
  'trading-assistant.validation.exchangeConfigIncomplete': '完全な交換構成情報を入力してください',
  'trading-assistant.validation.testConnectionRequired': 'まず「テスト接続」ボタンをクリックし、接続が成功することを確認してください',
  'trading-assistant.validation.testConnectionFailed': '接続テストに失敗しました。設定を確認して再度テストしてください',
  'trading-assistant.validation.strategyNameRequired': 'ポリシー名を入力してください',
  'trading-assistant.validation.symbolRequired': '取引ペアを選択してください',
  'trading-assistant.validation.initialCapitalRequired': '投資額を入力してください',
  'trading-assistant.validation.leverageRequired': 'レバレッジ比率を入力してください',
  'trading-assistant.table.time': '時間',
  'trading-assistant.table.type': 'タイプ',
  'trading-assistant.table.price': '価格',
  'trading-assistant.table.amount': '数量',
  'trading-assistant.table.value': '金額',
  'trading-assistant.table.commission': '手数料',
  'trading-assistant.table.symbol': '取引ペア',
  'trading-assistant.table.side': '方向',
  'trading-assistant.table.size': 'ポジション数量',
  'trading-assistant.table.entryPrice': 'オープン価格',
  'trading-assistant.table.currentPrice': '現在の価格',
  'trading-assistant.table.unrealizedPnl': '未実現損益',
  'trading-assistant.table.pnlPercent': '損益率',
  'trading-assistant.table.buy': '買う',
  'trading-assistant.table.sell': '売る',
  'trading-assistant.table.long': '長く続けてください',
  'trading-assistant.table.short': '短い',
  'trading-assistant.table.noPositions': 'まだポジションがありません',
  'trading-assistant.detail.title': '戦略の詳細',
  'trading-assistant.detail.strategyName': 'ポリシー名',
  'trading-assistant.detail.strategyType': '戦略タイプ',
  'trading-assistant.detail.status': 'ステータス',
  'trading-assistant.detail.tradingMode': '取引モデル',
  'trading-assistant.detail.exchange': '交換',
  'trading-assistant.detail.initialCapital': '初期資本',
  'trading-assistant.detail.totalInvestment': '投資総額',
  'trading-assistant.detail.currentEquity': '現在の純資産',
  'trading-assistant.detail.totalPnl': '損益通算',
  'trading-assistant.detail.indicatorName': 'インジケーター名',
  'trading-assistant.detail.maxLeverage': '最大レバレッジ',
  'trading-assistant.detail.decideInterval': '決定間隔',
  'trading-assistant.detail.symbols': 'トランザクションオブジェクト',
  'trading-assistant.detail.createdAt': '作成時間',
  'trading-assistant.detail.updatedAt': '更新時間',
  'trading-assistant.detail.llmConfig': 'AIモデル構成',
  'trading-assistant.detail.exchangeConfig': 'Exchangeの構成',
  'trading-assistant.detail.provider': 'プロバイダー',
  'trading-assistant.detail.modelId': 'モデルID',
  'trading-assistant.detail.close': '閉じる',
  'trading-assistant.detail.loadFailed': 'ポリシーの詳細を取得できませんでした',
  'trading-assistant.equity.noData': '純資産データはまだありません',
  'trading-assistant.equity.equity': '純資産',
  'trading-assistant.exchange.tradingMode': '取引モデル',
  'trading-assistant.exchange.virtual': '模擬取引',
  'trading-assistant.exchange.live': '実際のトランザクション',
  'trading-assistant.exchange.selectExchange': '交換を選択',
  'trading-assistant.exchange.walletAddress': 'ウォレットアドレス',
  'trading-assistant.exchange.walletAddressPlaceholder': 'ウォレットアドレスを入力してください（0xで始まる）',
  'trading-assistant.exchange.privateKey': '秘密鍵',
  'trading-assistant.exchange.privateKeyPlaceholder': '秘密キーを入力してください(64文字)',
  'trading-assistant.exchange.testConnection': 'テスト接続',
  'trading-assistant.exchange.connectionSuccess': '接続成功',
  'trading-assistant.exchange.connectionFailed': '接続に失敗しました',
  'trading-assistant.exchange.testFailed': '接続テストに失敗しました',
  'trading-assistant.exchange.fillComplete': '完全な交換構成情報を入力してください',
  'trading-assistant.strategyTypeOptions.ai': 'AI主導の戦略',
  'trading-assistant.strategyTypeOptions.indicator': 'テクニカル指標戦略',
  'trading-assistant.strategyTypeOptions.aiDeveloping': 'AIを活用した戦略機能は開発中ですのでご期待ください',
  'trading-assistant.strategyTypeOptions.aiDevelopingWarning': 'AI主導の戦略機能は開発中です',
  'trading-assistant.indicatorType.trend': 'トレンド',
  'trading-assistant.indicatorType.momentum': '勢い',
  'trading-assistant.indicatorType.volatility': '変動',
  'trading-assistant.indicatorType.volume': 'ボリューム',
  'trading-assistant.indicatorType.custom': 'カスタマイズ',
  'trading-assistant.exchangeNames': {
    'okx': 'OKX',
    'binance': 'バイナンス',
    'hyperliquid': '超流動性',
    'blockchaincom': 'Blockchain.com',
    'coinbaseexchange': 'コインベース',
    'gate': 'Gate.io',
    'mexc': 'メキシコ',
    'kraken': 'クラーケン',
    'bitfinex': 'ビットフィネックス',
    'bybit': 'バイビット',
    'kucoin': 'クーコイン',
    'huobi': 'フォビ',
    'bitget': 'ビゲット',
    'bitmex': 'ビットメックス',
    'deribit': 'デリビット',
    'phemex': 'フェメックス',
    'bitmart': 'ビットマート',
    'bitstamp': 'ビットスタンプ',
    'bittrex': 'ビットレックス',
    'poloniex': 'ポロニエックス',
    'gemini': 'ジェミニ',
    'cryptocom': 'Crypto.com',
    'bitflyer': 'ビットフライヤー',
    'upbit': 'アップビット',
    'bithumb': 'ビサム',
    'coinone': 'コイノン',
    'zb': 'ZB',
    'lbank': 'Lバンク',
    'bibox': 'ビボックス',
    'bigone': 'ビッグワン',
    'bitrue': 'ビトゥルー',
    'coinex': 'CoinEx',
    'digifinex': 'デジフィネックス',
    'ftx': 'FTX',
    'ftxus': 'FTX米国',
    'binanceus': 'バイナンスUS',
    'binancecoinm': 'バイナンス COIN-M',
    'binanceusdm': 'バイナンスUSDⓈ-M'
  },
  'ai-trading-assistant.title': 'AI取引アシスタント',
  'ai-trading-assistant.strategyList': '戦略一覧',
  'ai-trading-assistant.createStrategy': 'ポリシーの作成',
  'ai-trading-assistant.noStrategy': 'まだ戦略はありません',
  'ai-trading-assistant.selectStrategy': '詳細を表示するには、左側から戦略を選択してください',
  'ai-trading-assistant.startStrategy': '戦略を立ち上げる',
  'ai-trading-assistant.stopStrategy': '戦略を停止する',
  'ai-trading-assistant.editStrategy': '編集戦略',
  'ai-trading-assistant.deleteStrategy': 'ポリシーの削除',
  'ai-trading-assistant.status.running': 'ランニング',
  'ai-trading-assistant.status.stopped': '停止しました',
  'ai-trading-assistant.status.error': 'エラー',
  'ai-trading-assistant.tabs.tradingRecords': '取引履歴',
  'ai-trading-assistant.tabs.positions': '位置記録',
  'ai-trading-assistant.tabs.aiDecisions': 'AI判定記録',
  'ai-trading-assistant.tabs.equityCurve': '資本曲線',
  'ai-trading-assistant.form.createTitle': 'AI取引戦略を作成する',
  'ai-trading-assistant.form.editTitle': 'AI取引戦略を編集する',
  'ai-trading-assistant.form.strategyName': 'ポリシー名',
  'ai-trading-assistant.form.modelId': 'AIモデル',
  'ai-trading-assistant.form.modelIdHint': 'API キーを設定せずにシステム OpenRouter サービスを使用する',
  'ai-trading-assistant.form.decideInterval': '決定間隔',
  'ai-trading-assistant.form.decideInterval5m': '5分',
  'ai-trading-assistant.form.decideInterval10m': '10分',
  'ai-trading-assistant.form.decideInterval30m': '30分',
  'ai-trading-assistant.form.decideInterval1h': '1時間',
  'ai-trading-assistant.form.decideInterval4h': '4時間',
  'ai-trading-assistant.form.decideInterval1d': '1日',
  'ai-trading-assistant.form.decideInterval1w': '1週間',
  'ai-trading-assistant.form.decideIntervalHint': 'AIが意思決定を行うまでの時間間隔',
  'ai-trading-assistant.form.runPeriod': '実行サイクル',
  'ai-trading-assistant.form.runPeriodHint': '戦略実行の開始時刻と終了時刻',
  'ai-trading-assistant.form.startDate': '開始日',
  'ai-trading-assistant.form.endDate': '終了日',
  'ai-trading-assistant.form.qdtCostTitle': 'QDT 控除の指示',
  'ai-trading-assistant.form.qdtCostHint': 'AI の決定ごとに {cost} QDT が差し引かれます。アカウントに十分な QDT 残高があることを確認してください。戦略の実行中、決定ごとに料金がリアルタイムで差し引かれます。',
  'ai-trading-assistant.form.apiKey': 'APIキー',
  'ai-trading-assistant.form.exchange': '交換を選択',
  'ai-trading-assistant.form.secretKey': '秘密鍵',
  'ai-trading-assistant.form.passphrase': 'パスフレーズ',
  'ai-trading-assistant.form.testConnection': 'テスト接続',
  'ai-trading-assistant.form.symbol': '取引ペア',
  'ai-trading-assistant.form.symbolHint': '取引する取引ペアを選択してください',
  'ai-trading-assistant.form.initialCapital': '投資額（証拠金）',
  'ai-trading-assistant.form.leverage': '複数を活用する',
  'ai-trading-assistant.form.timeframe': '期間',
  'ai-trading-assistant.form.timeframe1m': '1分',
  'ai-trading-assistant.form.timeframe5m': '5分',
  'ai-trading-assistant.form.timeframe15m': '15分',
  'ai-trading-assistant.form.timeframe30m': '30分',
  'ai-trading-assistant.form.timeframe1H': '1時間',
  'ai-trading-assistant.form.timeframe4H': '4時間',
  'ai-trading-assistant.form.timeframe1D': '1日',
  'ai-trading-assistant.form.marketType': '市場タイプ',
  'ai-trading-assistant.form.marketTypeFutures': '契約',
  'ai-trading-assistant.form.marketTypeSpot': 'スポット',
  'ai-trading-assistant.form.totalPnl': '損益通算',
  'ai-trading-assistant.form.customPrompt': 'カスタムのプロンプト単語',
  'ai-trading-assistant.form.customPromptHint': 'オプション。 AI 取引戦略と意思決定ロジックをカスタマイズするために使用されます。',
  'ai-trading-assistant.form.cancel': 'キャンセル',
  'ai-trading-assistant.form.prev': '前のステップ',
  'ai-trading-assistant.form.next': '次のステップ',
  'ai-trading-assistant.form.confirmCreate': '作成の確認',
  'ai-trading-assistant.form.confirmEdit': '変更を確認する',
  'ai-trading-assistant.messages.createSuccess': '戦略が正常に作成されました',
  'ai-trading-assistant.messages.createFailed': 'ポリシーの作成に失敗しました',
  'ai-trading-assistant.messages.updateSuccess': 'ポリシーの更新が成功しました',
  'ai-trading-assistant.messages.updateFailed': 'ポリシーの更新に失敗しました',
  'ai-trading-assistant.messages.deleteSuccess': 'ポリシーの削除が成功しました',
  'ai-trading-assistant.messages.deleteFailed': 'ポリシーの削除に失敗しました',
  'ai-trading-assistant.messages.startSuccess': '戦略は無事に開始されました',
  'ai-trading-assistant.messages.startFailed': 'ポリシーの開始に失敗しました',
  'ai-trading-assistant.messages.stopSuccess': '戦略は正常に停止されました',
  'ai-trading-assistant.messages.stopFailed': '停止戦略は失敗しました',
  'ai-trading-assistant.messages.loadFailed': 'ポリシーリストの取得に失敗しました',
  'ai-trading-assistant.messages.loadDecisionsFailed': 'AI判定記録の取得に失敗しました',
  'ai-trading-assistant.messages.deleteConfirm': 'このポリシーを削除してもよろしいですか?この操作は元に戻すことができません。',
  'ai-trading-assistant.placeholders.inputStrategyName': 'ポリシー名を入力してください',
  'ai-trading-assistant.placeholders.selectModelId': 'AI モデルを選択してください',
  'ai-trading-assistant.placeholders.selectDecideInterval': '決定間隔を選択してください',
  'ai-trading-assistant.placeholders.startTime': '開始時間',
  'ai-trading-assistant.placeholders.endTime': '終了時間',
  'ai-trading-assistant.placeholders.inputApiKey': 'APIキーを入力してください',
  'ai-trading-assistant.placeholders.selectExchange': '交換を選択してください',
  'ai-trading-assistant.placeholders.inputSecretKey': '秘密キーを入力してください',
  'ai-trading-assistant.placeholders.inputPassphrase': 'パスフレーズを入力してください',
  'ai-trading-assistant.placeholders.selectSymbol': 'BTC/USDT などの取引ペアを選択してください。',
  'ai-trading-assistant.placeholders.selectTimeframe': '期間を選択してください',
  'ai-trading-assistant.placeholders.inputCustomPrompt': 'カスタムのプロンプト単語を入力してください (オプション)',
  'ai-trading-assistant.validation.strategyNameRequired': 'ポリシー名を入力してください',
  'ai-trading-assistant.validation.modelIdRequired': 'AI モデルを選択してください',
  'ai-trading-assistant.validation.runPeriodRequired': '実行サイクルを選択してください',
  'ai-trading-assistant.validation.apiKeyRequired': 'APIキーを入力してください',
  'ai-trading-assistant.validation.exchangeRequired': '交換を選択してください',
  'ai-trading-assistant.validation.secretKeyRequired': '秘密キーを入力してください',
  'ai-trading-assistant.validation.symbolRequired': '取引ペアを選択してください',
  'ai-trading-assistant.validation.initialCapitalRequired': '投資額を入力してください',
  'ai-trading-assistant.table.time': '時間',
  'ai-trading-assistant.table.type': 'タイプ',
  'ai-trading-assistant.table.price': '価格',
  'ai-trading-assistant.table.amount': '数量',
  'ai-trading-assistant.table.value': '金額',
  'ai-trading-assistant.table.symbol': '取引ペア',
  'ai-trading-assistant.table.side': '方向',
  'ai-trading-assistant.table.size': 'ポジション数量',
  'ai-trading-assistant.table.entryPrice': 'オープン価格',
  'ai-trading-assistant.table.currentPrice': '現在の価格',
  'ai-trading-assistant.table.unrealizedPnl': '未実現損益',
  'ai-trading-assistant.table.profit': '損益',
  'ai-trading-assistant.table.openLong': '長く開く',
  'ai-trading-assistant.table.closeLong': 'ピンドゥオ',
  'ai-trading-assistant.table.openShort': 'オープンショート',
  'ai-trading-assistant.table.closeShort': '空の',
  'ai-trading-assistant.table.addLong': 'ガドット',
  'ai-trading-assistant.table.addShort': '短く追加する',
  'ai-trading-assistant.table.closeShortProfit': 'ショートポジションで利益確定',
  'ai-trading-assistant.table.closeShortStop': 'ストップロス',
  'ai-trading-assistant.table.closeLongProfit': '長く停止して利益を得る',
  'ai-trading-assistant.table.closeLongStop': 'ストップロス',
  'ai-trading-assistant.table.buy': '買う',
  'ai-trading-assistant.table.sell': '売る',
  'ai-trading-assistant.table.long': '長く続けてください',
  'ai-trading-assistant.table.short': '短い',
  'ai-trading-assistant.table.hold': 'ホールド',
  'ai-trading-assistant.table.reasoning': '分析理由',
  'ai-trading-assistant.table.decisions': '意思決定',
  'ai-trading-assistant.table.riskAssessment': 'リスク評価',
  'ai-trading-assistant.table.confidence': '自信',
  'ai-trading-assistant.table.totalRecords': '合計 {total} レコード',
  'ai-trading-assistant.table.noPositions': 'まだポジションがありません',
  'ai-trading-assistant.detail.title': '戦略の詳細',
  'ai-trading-assistant.equity.noData': '純資産データはまだありません',
  'ai-trading-assistant.equity.equity': '純資産',
  'ai-trading-assistant.exchange.testFailed': '接続テストに失敗しました',
  'ai-trading-assistant.exchange.connectionSuccess': '接続成功',
  'ai-trading-assistant.exchange.connectionFailed': '接続に失敗しました',
  'ai-trading-assistant.form.advancedSettings': '詳細設定',
  'ai-trading-assistant.form.orderMode': 'オーダーモード',
  'ai-trading-assistant.form.orderModeMaker': 'メーカー',
  'ai-trading-assistant.form.orderModeTaker': '市場価格（テイカー）',
  'ai-trading-assistant.form.orderModeHint': '未決注文モードでは指値注文が使用され、手数料が安くなります。市場価格モードはすぐに実行され、手数料が高くなります。',
  'ai-trading-assistant.form.makerWaitSec': '未決注文の待ち時間 (秒)',
  'ai-trading-assistant.form.makerWaitSecHint': '注文後の取引を待つ時間。キャンセルして、タイムアウト後に再試行してください。',
  'ai-trading-assistant.form.makerRetries': '未決注文の再試行回数',
  'ai-trading-assistant.form.makerRetriesHint': '未決注文が約定しない場合の最大リトライ回数',
  'ai-trading-assistant.form.fallbackToMarket': '未決注文は失敗し、市場価格は引き下げられます。',
  'ai-trading-assistant.form.fallbackToMarketHint': '開始/終了未決注文が完了していない場合、トランザクションを確実に完了させるために成行注文にダウングレードする必要があるかどうか。',
  'ai-trading-assistant.form.marginMode': 'マージンモード',
  'ai-trading-assistant.form.marginModeCross': '倉庫がいっぱい',
  'ai-trading-assistant.form.marginModeIsolated': '孤立した位置',
  'ai-analysis.title': 'クォンタムトレーディングエンジン',
  'ai-analysis.system.online': 'オンライン',
  'ai-analysis.system.agents': 'エージェント',
  'ai-analysis.system.active': 'アクティブな',
  'ai-analysis.system.stage': 'ステージ',
  'ai-analysis.panel.roster': 'エージェントラインナップ',
  'ai-analysis.panel.thinking': '考え中...',
  'ai-analysis.panel.done': '完了',
  'ai-analysis.panel.standby': 'スタンバイ',
  'ai-analysis.input.title': 'クォンタムトレーディングエンジン',
  'ai-analysis.input.placeholder': 'ターゲット資産を選択します (例: BTC/USDT)',
  'ai-analysis.input.watchlist': 'オプションストック',
  'ai-analysis.input.start': '分析を開始する',
  'ai-analysis.input.recent': '最近のタスク:',
  'ai-analysis.vis.stage': 'ステージ',
  'ai-analysis.vis.processing': '処理中',
  'ai-analysis.result.complete': '分析完了',
  'ai-analysis.result.signal': '最終信号',
  'ai-analysis.result.confidence': '自信:',
  'ai-analysis.result.new': '新しい分析',
  'ai-analysis.result.full': 'レポート全体を表示',
  'ai-analysis.logs.title': 'システムログ',
  'ai-analysis.modal.title': '機密報告書',
  'ai-analysis.modal.fundamental': 'ファンダメンタルズ分析',
  'ai-analysis.modal.technical': 'テクニカル分析',
  'ai-analysis.modal.sentiment': '感情分析',
  'ai-analysis.modal.risk': 'リスク評価',
  'ai-analysis.stage.idle': 'スタンバイ',
  'ai-analysis.stage.1': 'フェーズ 1: 多次元分析',
  'ai-analysis.stage.2': 'フェーズ 2: 長短討論',
  'ai-analysis.stage.3': 'フェーズ 3: 戦略計画',
  'ai-analysis.stage.4': '第 4 段階: リスク管理のレビュー',
  'ai-analysis.stage.complete': '完了',
  'ai-analysis.agent.investment_director': '投資ディレクター',
  'ai-analysis.agent.role.investment_director': '包括的な分析と最終結論',
  'ai-analysis.agent.market': '市場アナリスト',
  'ai-analysis.agent.role.market': 'テクノロジーと市場データ',
  'ai-analysis.agent.fundamental': 'ファンダメンタルズアナリスト',
  'ai-analysis.agent.role.fundamental': '財務と評価',
  'ai-analysis.agent.technical': 'テクニカルアナリスト',
  'ai-analysis.agent.role.technical': 'テクニカル指標とチャート',
  'ai-analysis.agent.news': 'ニュースアナリスト',
  'ai-analysis.agent.role.news': 'グローバルニュースフィルター',
  'ai-analysis.agent.sentiment': 'センチメントアナリスト',
  'ai-analysis.agent.role.sentiment': '社会的＆感情的',
  'ai-analysis.agent.risk': 'リスクアナリスト',
  'ai-analysis.agent.role.risk': '基本的なリスクチェック',
  'ai-analysis.agent.bull': '強気な研究者',
  'ai-analysis.agent.role.bull': '成長触媒の採掘',
  'ai-analysis.agent.bear': '弱気な研究者',
  'ai-analysis.agent.role.bear': 'リスクと欠陥の掘り下げ',
  'ai-analysis.agent.manager': '研究マネージャー',
  'ai-analysis.agent.role.manager': 'ディベートモデレーター',
  'ai-analysis.agent.trader': 'トレーダー',
  'ai-analysis.agent.role.trader': 'エグゼクティブ・ストラテジスト',
  'ai-analysis.agent.risky': '活動家アナリスト',
  'ai-analysis.agent.role.risky': '積極的な戦略',
  'ai-analysis.agent.neutral': 'バランスアナリスト',
  'ai-analysis.agent.role.neutral': 'バランス戦略',
  'ai-analysis.agent.safe': '保守的なアナリスト',
  'ai-analysis.agent.role.safe': '保守的な戦略',
  'ai-analysis.agent.cro': 'リスクコントロールマネージャー (CRO)',
  'ai-analysis.agent.role.cro': '最終的な意思決定権限',
  'ai-analysis.script.market': '主要な取引所から OHLCV データを取得しています...',
  'ai-analysis.script.fundamental': '四半期財務報告書を取得しています...',
  'ai-analysis.script.technical': 'テクニカル指標とチャートパターンを分析しています...',
  'ai-analysis.script.news': '世界的な金融ニュースを調べています...',
  'ai-analysis.script.sentiment': 'ソーシャルメディアのトレンドを分析中...',
  'ai-analysis.script.risk': '過去のボラティリティを計算しています...',
  'invite.inviteLink': '招待リンク',
  'invite.copy': 'リンクをコピー',
  'invite.copySuccess': 'コピー成功！',
  'invite.copyFailed': 'コピーに失敗しました。 手動でコピーしてください',
  'invite.noInviteLink': '招待リンクが生成されませんでした',
  'invite.totalInvites': '累積招待状',
  'invite.totalReward': '累計報酬',
  'invite.rules': '招待ルール',
  'invite.rule1': '友達の登録に成功するたびに、報酬を受け取ります',
  'invite.rule2': '招待された友達が最初のトランザクションを完了すると、追加の報酬を受け取ります',
  'invite.rule3': '招待特典はアカウントに直接送信されます',
  'invite.inviteList': '招待リスト',
  'invite.tasks': 'ミッションセンター',
  'invite.inviteeName': '招待者',
  'invite.inviteTime': '招待時間',
  'invite.status': 'ステータス',
  'invite.reward': '報酬',
  'invite.active': 'アクティブな',
  'invite.inactive': 'アクティブ化されていません',
  'invite.completed': '完了',
  'invite.claimed': '受け取りました',
  'invite.pending': '完成予定',
  'invite.goToTask': '完了する',
  'invite.claimReward': '報酬を請求する',
  'invite.verify': '検証完了',
  'invite.verifySuccess': '検証成功！タスクが完了しました',
  'invite.verifyNotCompleted': 'タスクはまだ完了していません。 最初にタスクを完了してください',
  'invite.verifyFailed': '検証に失敗しました。後でもう一度お試しください',
  'invite.claimSuccess': '{reward} QDT を正常に受け取りました!',
  'invite.claimFailed': '収集に失敗しました。 後でもう一度お試しください',
  'invite.totalRecords': '合計 {total} レコード',
  'invite.task.twitter.title': 'X（Twitter）にリツイート',
  'invite.task.twitter.desc': '公式ツイートを X (Twitter) アカウントに共有します',
  'invite.task.youtube.title': 'YouTube チャンネルをフォローしてください',
  'invite.task.youtube.desc': '公式 YouTube チャンネルを購読してフォローしてください',
  'invite.task.telegram.title': 'テレグラムグループに参加する',
  'invite.task.telegram.desc': '公式 Telegram コミュニティ グループに参加してください',
  'invite.task.discord.title': 'Discordサーバーに参加する',
  'invite.task.discord.desc': 'Discordコミュニティサーバーに参加してください',
  'message': '-',
  'layouts.usermenu.dialog.title': '情報',
  'layouts.usermenu.dialog.content': 'ログアウトしてもよろしいですか?',
  'layouts.userLayout.title': '不確実性の中で真実を見つける',
  // Auto-filled missing keys from en-US (fallback to English)
  'dashboard.indicator.boundary.message': 'Note: The indicator script only computes plots + buy/sell signals. Position sizing, risk, scaling, fees/slippage belong to execution config.',
  'dashboard.indicator.boundary.indicatorRule': "Keep the script to buy/sell only (and set df['buy']/df['sell']). Do NOT implement position management, TP/SL, scaling in the script.",
  'dashboard.indicator.boundary.backtestRule': 'Rule: If a bar has a main signal (buy/sell → open/close/reverse), scaling in/out is skipped on the same bar.',
  'dashboard.indicator.guide.title': 'Python Indicator & Strategy Development Guide',
  'dashboard.indicator.guide.intro': 'This platform supports writing custom technical indicators and trading signals using Python. The system includes built-in pandas and numpy data analysis libraries. You can use standard DataFrame operations to process K-line data and draw charts or mark buy/sell signals.',
  'dashboard.indicator.guide.section1.title': '1. Runtime Environment & Predefined Variables',
  'dashboard.indicator.guide.section1.env': 'Your code runs in a browser-based Python environment (Pyodide).',
  'dashboard.indicator.guide.section1.libs': 'Pre-installed Libraries',
  'dashboard.indicator.guide.section1.libsDesc': 'The following libraries are imported by default, no need to import again:',
  'dashboard.indicator.guide.section1.libsList': '<code>pandas</code> (pd), <code>numpy</code> (np), <code>math</code>, <code>json</code>',
  'dashboard.indicator.guide.section1.data': 'Input Data: df',
  'dashboard.indicator.guide.section1.dataDesc': 'The system automatically converts current K-line data into a Pandas DataFrame object, variable name is <code>df</code>.',
  'dashboard.indicator.guide.section1.dataColumns': '<code>df</code> contains the following columns (all float type):',
  'dashboard.indicator.guide.section1.dataColumnsList': '<code>time</code> (timestamp, seconds), <code>open</code>, <code>high</code>, <code>low</code>, <code>close</code>, <code>volume</code>',
  'dashboard.indicator.guide.section1.dataNote': 'Data index is arranged from old to new (0 is the earliest data, last row is the latest data).',
  'dashboard.indicator.guide.section1.dataIndex': 'Important: df index is timestamp (DatetimeIndex), please preserve the index, avoid using <code>.values</code> which loses the index.',
  'dashboard.indicator.guide.section2.title': '2. Parameter Definition',
  'dashboard.indicator.guide.section2.desc': 'You can define variables as parameters at the beginning of your code. The system will try to parse statements like <code>variable = value</code> as adjustable parameters.',
  'dashboard.indicator.guide.section2.example': 'Parameter Example',
  'dashboard.indicator.guide.section2.exampleCode': '<code>span = 20</code> or <code>multiplier = 2.0</code>',
  'dashboard.indicator.guide.section3.title': '3. Backtest Signal Setup (Important!)',
  'dashboard.indicator.guide.section3.desc': 'If you want your indicator to support backtesting, you <strong>must</strong> set the following two columns in your code:',
  'dashboard.indicator.guide.section3.backtestRequired': '<strong>Required for Backtesting:</strong>',
  'dashboard.indicator.guide.section3.backtestBuySignal': "<code>df['buy_signal']</code> - Boolean Series, True indicates buy signal",
  'dashboard.indicator.guide.section3.backtestSellSignal': "<code>df['sell_signal']</code> - Boolean Series, True indicates sell signal",
  'dashboard.indicator.guide.section3.backtestExample': 'Example:',
  'dashboard.indicator.guide.section3.backtestExampleCode': "<code>df['buy_signal'] = condition_buy</code><br/><code>df['sell_signal'] = condition_sell</code>",
  'dashboard.indicator.guide.section3.backtestNote': 'Note: Even if you only set <code>output.signals</code> for chart display, you must set these two columns to enable backtesting.',
  'dashboard.indicator.guide.section4.title': '4. Output Requirements: output',
  'dashboard.indicator.guide.section4.desc': 'At the end of code execution, you must define a dictionary named <code>output</code> to tell the chart how to display results.',
  'dashboard.indicator.guide.section4.fields': 'The <code>output</code> dictionary contains the following fields:',
  'dashboard.indicator.guide.section4.plots': '<code>plots</code> - For drawing lines (e.g., moving averages, RSI)',
  'dashboard.indicator.guide.section4.signals': '<code>signals</code> - For marking buy/sell signals (e.g., arrows, labels)',
  'dashboard.indicator.guide.section4.name': '<code>name</code> - Indicator name (optional)',
  'dashboard.indicator.guide.section4.calculatedVars': '<code>calculatedVars</code> - Calculated variables (optional, for displaying additional information)',
  'dashboard.indicator.guide.section5.title': '5. Plot Configuration (Plots)',
  'dashboard.indicator.guide.section5.desc': 'Each object in the <code>plots</code> list represents a line.',
  'dashboard.indicator.guide.section5.table.field': 'Field',
  'dashboard.indicator.guide.section5.table.type': 'Type',
  'dashboard.indicator.guide.section5.table.required': 'Required',
  'dashboard.indicator.guide.section5.table.requiredYes': 'Yes',
  'dashboard.indicator.guide.section5.table.requiredNo': 'No',
  'dashboard.indicator.guide.section5.table.desc': 'Description',
  'dashboard.indicator.guide.section5.table.name': 'The name of the indicator line, displayed in the legend',
  'dashboard.indicator.guide.section5.table.data': 'Data list, length must match the number of rows in df. Recommended to use <code>series.tolist()</code>',
  'dashboard.indicator.guide.section5.table.color': "Line color (Hex format, e.g. '#ff0000'). If not filled, the system will automatically assign",
  'dashboard.indicator.guide.section5.table.typeDesc': "Chart type, default is 'line'",
  'dashboard.indicator.guide.section5.table.overlay': '<strong>Important.</strong> True means display on main chart (with K-line), False means display on sub-chart (independent area)',
  'dashboard.indicator.guide.section5.example': 'Example: Draw Simple Moving Average (SMA)',
  'dashboard.indicator.guide.section5.exampleCalc': 'Calculate SMA',
  'dashboard.indicator.guide.section5.exampleOutput': 'Construct Output',
  'dashboard.indicator.guide.section5.exampleOverlay': 'Display on main chart',
  'dashboard.indicator.guide.section6.title': '6. Signal Markers (Signals)',
  'dashboard.indicator.guide.section6.desc': "<code>signals</code> are used to mark buy/sell points on specific K-lines through icons or text. <strong>Note:</strong> This is only for chart display. The backtest system uses <code>df['buy_signal']</code> and <code>df['sell_signal']</code>.",
  'dashboard.indicator.guide.section6.table.type': "Signal type: 'buy' (buy, marked below K-line) or 'sell' (sell, marked above K-line)",
  'dashboard.indicator.guide.section6.table.data': 'Signal data list. Fill price value at signal positions, fill None (or np.nan) at non-signal positions',
  'dashboard.indicator.guide.section6.table.text': 'Text displayed on the label (e.g. "B", "S", "Buy", "Sell")',
  'dashboard.indicator.guide.section6.table.color': 'Marker color',
  'dashboard.indicator.guide.section6.hint': 'The system automatically handles positioning.',
  'dashboard.indicator.guide.section6.buy': 'Markers will be automatically positioned below the Low of the current K-line',
  'dashboard.indicator.guide.section6.sell': 'Markers will be automatically positioned above the High of the current K-line',
  'dashboard.indicator.guide.section6.example': 'Example: Draw Buy/Sell Signals',
  'dashboard.indicator.guide.section6.exampleInit': 'Initialize signal list, fill all with None',
  'dashboard.indicator.guide.section6.exampleLogic': 'Simple logic: mark buy when close price is greater than open price',
  'dashboard.indicator.guide.section6.exampleNote': 'In actual logic, please use loops or vectorized operations',
  'dashboard.indicator.guide.section6.examplePrice': 'Record price',
  'dashboard.indicator.guide.section6.exampleText': 'Buy',
  'dashboard.indicator.guide.section7.title': '7. Complete Code Examples',
  'dashboard.indicator.guide.section7.exampleA': 'Example A: Dual EMA Strategy (Supports Backtesting)',
  'dashboard.indicator.guide.section7.exampleACode': "# 1. Calculate indicators<br/>df['ema_fast'] = df['close'].ewm(span=5, adjust=False).mean()<br/>df['ema_slow'] = df['close'].ewm(span=13, adjust=False).mean()<br/><br/># 2. Calculate crossover signals<br/>cross_up = (df['ema_fast'] > df['ema_slow']) & (df['ema_fast'].shift(1) <= df['ema_slow'].shift(1))<br/>cross_down = (df['ema_fast'] < df['ema_slow']) & (df['ema_fast'].shift(1) >= df['ema_slow'].shift(1))<br/><br/># 3. 【Important】Set NEW backtest signal columns (bool)<br/>df['open_long'] = cross_up<br/>df['close_long'] = cross_down<br/>df['open_short'] = cross_down<br/>df['close_short'] = cross_up<br/><br/># 4. Generate signal data for chart display<br/>buy_signals = [df['low'].iloc[i] * 0.995 if cross_up.iloc[i] else None for i in range(len(df))]<br/>sell_signals = [df['high'].iloc[i] * 1.005 if cross_down.iloc[i] else None for i in range(len(df))]<br/><br/># 5. Build output<br/>output = {<br/>  \"name\": \"Dual EMA Strategy\",<br/>  \"plots\": [<br/>    {\"name\": \"EMA 5\", \"data\": df['ema_fast'].tolist(), \"color\": \"#FF6B6B\", \"overlay\": True},<br/>    {\"name\": \"EMA 13\", \"data\": df['ema_slow'].tolist(), \"color\": \"#4ECDC4\", \"overlay\": True}<br/>  ],<br/>  \"signals\": [<br/>    {\"type\": \"buy\", \"text\": \"BUY\", \"data\": buy_signals, \"color\": \"#00E676\"},<br/>    {\"type\": \"sell\", \"text\": \"SELL\", \"data\": sell_signals, \"color\": \"#FF5252\"}<br/>  ]<br/>}",
  'dashboard.indicator.guide.section7.exampleB': 'Example B: Bollinger Bands - Chart Display Only',
  'dashboard.indicator.guide.section7.exampleBCode': "# Calculate Bollinger Bands (chart display only, no backtesting)<br/>length = 20<br/>mult = 2.0<br/>df['sma'] = df['close'].rolling(length).mean()<br/>df['std'] = df['close'].rolling(length).std()<br/>df['upper'] = df['sma'] + mult * df['std']<br/>df['lower'] = df['sma'] - mult * df['std']<br/><br/>output = {<br/>  \"name\": \"Bollinger Bands\",<br/>  \"plots\": [<br/>    {\"name\": \"Upper\", \"data\": df['upper'].tolist(), \"color\": \"#FF5252\", \"overlay\": True},<br/>    {\"name\": \"Middle\", \"data\": df['sma'].tolist(), \"color\": \"#2196F3\", \"overlay\": True},<br/>    {\"name\": \"Lower\", \"data\": df['lower'].tolist(), \"color\": \"#00E676\", \"overlay\": True}<br/>  ]<br/>}",
  'dashboard.indicator.guide.section7.exampleC': 'Example C: RSI Strategy (Supports Backtesting)',
  'dashboard.indicator.guide.section7.exampleCCode': "# Calculate RSI<br/>delta = df['close'].diff()<br/>up = delta.clip(lower=0)<br/>down = -1 * delta.clip(upper=0)<br/>ema_up = up.ewm(com=13, adjust=False).mean()<br/>ema_down = down.ewm(com=13, adjust=False).mean()<br/>rs = ema_up / ema_down<br/>df['rsi'] = 100 - (100 / (1 + rs))<br/><br/># Generate trading signals<br/>buy_condition = df['rsi'] < 30  # Oversold buy<br/>sell_condition = df['rsi'] > 70  # Overbought sell<br/><br/># 【Important】Set NEW backtest signal columns (bool)<br/>df['open_long'] = buy_condition<br/>df['close_long'] = sell_condition<br/>df['open_short'] = sell_condition<br/>df['close_short'] = buy_condition<br/><br/># Generate chart signals<br/>buy_signals = [df['low'].iloc[i] * 0.995 if buy_condition.iloc[i] else None for i in range(len(df))]<br/>sell_signals = [df['high'].iloc[i] * 1.005 if sell_condition.iloc[i] else None for i in range(len(df))]<br/><br/>output = {<br/>  \"name\": \"RSI Strategy\",<br/>  \"plots\": [<br/>    {\"name\": \"RSI\", \"data\": df['rsi'].tolist(), \"color\": \"#9C27B0\", \"overlay\": False},<br/>    {\"name\": \"Overbought\", \"data\": [70] * len(df), \"color\": \"#FF5252\", \"style\": \"dashed\", \"overlay\": False},<br/>    {\"name\": \"Oversold\", \"data\": [30] * len(df), \"color\": \"#00E676\", \"style\": \"dashed\", \"overlay\": False}<br/>  ],<br/>  \"signals\": [<br/>    {\"type\": \"buy\", \"text\": \"BUY\", \"data\": buy_signals, \"color\": \"#00E676\"},<br/>    {\"type\": \"sell\", \"text\": \"SELL\", \"data\": sell_signals, \"color\": \"#FF5252\"}<br/>  ]<br/>}",
  'dashboard.indicator.guide.section6.param': 'Parameters',
  'dashboard.indicator.guide.section6.calc': 'Calculate',
  'dashboard.indicator.guide.section6.output': 'Output',
  'dashboard.indicator.guide.section6.generate': 'Generate signal data (initialize with None)',
  'dashboard.indicator.guide.section6.subchart': 'Display on sub-chart',
  'dashboard.indicator.guide.section8.title': '8. Frequently Asked Questions (FAQ)',
  'dashboard.indicator.guide.section8.q1': "Q: Why can't my indicator be backtested?",
  'dashboard.indicator.guide.section8.a1': "A: The backtest system requires NEW signal columns: <code>df['open_long']</code>, <code>df['close_long']</code>, <code>df['open_short']</code>, <code>df['close_short']</code> (boolean). Even if you set <code>output.signals</code> for chart display, you must set these columns to enable backtesting.",
  'dashboard.indicator.guide.section8.q2': 'Q: Data length mismatch?',
  'dashboard.indicator.guide.section8.a2': "A: The <code>data</code> list in <code>plots</code> and <code>signals</code> must have exactly the same length as the K-line data. If you use <code>df['xxx'].tolist()</code>, there is usually no problem.",
  'dashboard.indicator.guide.section8.q3': 'Q: How to handle NaN (empty values)?',
  'dashboard.indicator.guide.section8.a3': "A: Pandas calculations (such as rolling mean) will produce NaN at the beginning. The system will automatically convert NaN to null for chart rendering. You don't need to manually clean it, but if you need specific logic, you can use <code>df.fillna(0)</code> or other methods.",
  'dashboard.indicator.guide.section8.q4': 'Q: Index mismatch causing all signals to be NaN?',
  'dashboard.indicator.guide.section8.a4': "A: Please ensure you preserve the original df index (timestamp). Avoid using <code>.values</code> to create new Series. Use columns directly like <code>df['close']</code> for operations.",
  'dashboard.indicator.guide.section8.q5': 'Q: Can I use third-party network libraries?',
  'dashboard.indicator.guide.section8.a5': 'A: No. The runtime environment is a browser sandbox and cannot use libraries like requests to request external APIs, nor can it install additional pip packages. Limited to built-in libraries such as pandas, numpy, math, json.',
  'dashboard.indicator.guide.section8.q6': 'Q: How to debug code?',
  'dashboard.indicator.guide.section8.a6': 'A: If the chart does not display indicators, it is usually because the Python code has an error. Please check for syntax errors or array index out of bounds. It is recommended to debug the algorithm logic in a local Python environment first, then copy it in.',
  'dashboard.indicator.guide.section8.q7': 'Q: Backtest shows 0 signals?',
  'dashboard.indicator.guide.section8.a7': "A: Please check the data type of <code>df['open_long']</code>/<code>df['close_long']</code>/<code>df['open_short']</code>/<code>df['close_short']</code>. They should be boolean (True/False), not numeric. Use <code>condition.fillna(False).astype(bool)</code> to ensure correct type.",
  'dashboard.indicator.backtest.commissionHint': 'Charged on notional value (incl. leverage) per trade; both entry & exit are deducted from balance.',
  'dashboard.indicator.backtest.historyTitle': 'Backtest History',
  'dashboard.indicator.backtest.historyRefresh': 'Refresh',
  'dashboard.indicator.backtest.historyView': 'View',
  'dashboard.indicator.backtest.historyNoData': 'No backtest history',
  'dashboard.indicator.backtest.historyUseCurrent': 'Only current symbol/timeframe',
  'dashboard.indicator.backtest.historyFilterSymbol': 'Symbol',
  'dashboard.indicator.backtest.historyFilterTimeframe': 'Timeframe',
  'dashboard.indicator.backtest.historyApply': 'Apply filters',
  'dashboard.indicator.backtest.historyAIAnalyze': 'AI Analyze',
  'dashboard.indicator.backtest.historyAIAnalyzeTitle': 'AI Suggestions',
  'dashboard.indicator.backtest.historyNoAIResult': 'No AI analysis result',
  'dashboard.indicator.backtest.historyRunId': 'Run ID',
  'dashboard.indicator.backtest.historyCreatedAt': 'Time',
  'dashboard.indicator.backtest.historyRange': 'Range',
  'dashboard.indicator.backtest.historyStatus': 'Status',
  'dashboard.indicator.backtest.historyStatusSuccess': 'Success',
  'dashboard.indicator.backtest.historyStatusFailed': 'Failed',
  'dashboard.indicator.backtest.historyActions': 'Actions',
  'dashboard.indicator.backtest.hint.entryPctMax': 'Max entry: {maxPct}% (reserve budget for future scale-ins)',
  'trading-assistant.exchange.ipWhitelistTip': 'Please add the following IPs to the whitelist in your exchange API settings:',
  'signal-robot.title': 'Signal Robot Console',
  'signal-robot.createBot': 'Create New Bot',
  'signal-robot.search.nameOrSymbol': 'Name/Symbol',
  'signal-robot.search.placeholder': 'Search bot name or symbol',
  'signal-robot.search.status': 'Status',
  'signal-robot.search.statusAll': 'All',
  'signal-robot.search.statusRunning': 'Running',
  'signal-robot.search.statusPaused': 'Paused',
  'signal-robot.search.query': 'Query',
  'signal-robot.search.reset': 'Reset',
  'signal-robot.table.botName': 'Bot Name',
  'signal-robot.table.symbolTimeframe': 'Symbol/Timeframe',
  'signal-robot.table.triggerStrategy': 'Trigger Strategy',
  'signal-robot.table.notificationChannels': 'Notification Channels',
  'signal-robot.table.status': 'Status',
  'signal-robot.table.action': 'Action',
  'signal-robot.table.triggerConditions': '{count} trigger conditions',
  'signal-robot.table.monitoring': 'Monitoring',
  'signal-robot.table.paused': 'Paused',
  'signal-robot.table.edit': 'Edit',
  'signal-robot.table.pause': 'Pause',
  'signal-robot.table.start': 'Start',
  'signal-robot.table.delete': 'Delete',
  'signal-robot.table.deleteConfirm': 'Are you sure you want to delete this bot?',
  'signal-robot.table.deleteSuccess': 'Deleted successfully',
  'signal-robot.table.startSuccess': 'Bot started',
  'signal-robot.table.pauseSuccess': 'Bot paused',
  'signal-robot.channel.telegram': 'Telegram',
  'signal-robot.channel.discord': 'Discord',
  'signal-robot.channel.email': 'Email',
  'signal-robot.channel.webhook': 'Webhook',
  'signal-robot.channel.browser': 'Browser Push',
  'signal-robot.modal.createTitle': 'Create New Signal Robot',
  'signal-robot.modal.editTitle': 'Edit Signal Robot',
  'signal-robot.modal.step.basic': 'Basic Settings',
  'signal-robot.modal.step.entry': 'Entry Strategy',
  'signal-robot.modal.step.position': 'Position Management',
  'signal-robot.modal.step.risk': 'Risk Control',
  'signal-robot.modal.step.notify': 'Notification Config',
  'signal-robot.modal.prev': 'Previous',
  'signal-robot.modal.next': 'Next',
  'signal-robot.modal.preview': 'Preview Backtest',
  'signal-robot.modal.complete': 'Complete & Run',
  'signal-robot.modal.saveSuccess': 'Saved successfully',
  'signal-robot.modal.previewDeveloping': 'Preview feature is under development...',
  'signal-robot.modal.basicInfoRequired': 'Please complete basic information',
  'signal-robot.basic.alert': 'Set basic information for the bot',
  'signal-robot.basic.title': 'Basic Information',
  'signal-robot.basic.botName': 'Bot Name',
  'signal-robot.basic.botNamePlaceholder': 'e.g.: BTC SuperTrend Strategy',
  'signal-robot.basic.symbol': 'Trading Pair',
  'signal-robot.basic.symbolPlaceholder': 'Select from watchlist',
  'signal-robot.basic.noWatchlist': 'No watchlist items, please add in market page first',
  'signal-robot.basic.timeframe': 'K-Line Period',
  'signal-robot.basic.timeframe15m': '15 Minutes',
  'signal-robot.basic.timeframe30m': '30 Minutes',
  'signal-robot.basic.timeframe1h': '1 Hour',
  'signal-robot.basic.timeframe4h': '4 Hours',
  'signal-robot.basic.timeframe1d': '1 Day',
  'signal-robot.basic.autoNameSuggestion': '{symbol} Signal Robot',
  'signal-robot.entry.alert': 'Trigger entry signal when all conditions below are met',
  'signal-robot.entry.condition': 'Condition {index}',
  'signal-robot.entry.indicator': 'Indicator',
  'signal-robot.entry.indicatorSupertrend': 'SuperTrend',
  'signal-robot.entry.indicatorEma': 'EMA (Exponential Moving Average)',
  'signal-robot.entry.indicatorRsi': 'RSI (Relative Strength Index)',
  'signal-robot.entry.indicatorMacd': 'MACD',
  'signal-robot.entry.indicatorBollinger': 'Bollinger Bands',
  'signal-robot.entry.atrPeriod': 'ATR Period',
  'signal-robot.entry.multiplier': 'Multiplier',
  'signal-robot.entry.triggerSignal': 'Trigger Signal',
  'signal-robot.entry.signalTrendBullish': 'Trend Bullish',
  'signal-robot.entry.signalTrendBearish': 'Trend Bearish',
  'signal-robot.entry.signalIsUptrend': 'Is Uptrend',
  'signal-robot.entry.signalIsDowntrend': 'Is Downtrend',
  'signal-robot.entry.period': 'Period',
  'signal-robot.entry.compareCondition': 'Compare Condition',
  'signal-robot.entry.priceAbove': 'Price > EMA (Price Above)',
  'signal-robot.entry.priceBelow': 'Price < EMA (Price Below)',
  'signal-robot.entry.crossUp': 'Price Crosses Above EMA (Golden Cross)',
  'signal-robot.entry.crossDown': 'Price Crosses Below EMA (Death Cross)',
  'signal-robot.entry.compare': 'Compare',
  'signal-robot.entry.greaterThan': 'Greater Than',
  'signal-robot.entry.lessThan': 'Less Than',
  'signal-robot.entry.crossUpShort': 'Cross Up',
  'signal-robot.entry.crossDownShort': 'Cross Down',
  'signal-robot.entry.threshold': 'Threshold',
  'signal-robot.entry.selectIndicator': 'Please select an indicator to configure parameters',
  'signal-robot.entry.addCondition': 'Add Condition',
  'signal-robot.position.alert': 'Configure initial position size, leverage and pyramiding rules',
  'signal-robot.position.basicTitle': 'Basic Position Management',
  'signal-robot.position.initialSize': 'Initial Size (Capital %)',
  'signal-robot.position.initialSizeHint': 'Recommended 5% - 20%',
  'signal-robot.position.leverage': 'Leverage',
  'signal-robot.position.leverageHint': 'Please ensure your exchange account supports this leverage',
  'signal-robot.position.maxPyramiding': 'Max Pyramiding Times',
  'signal-robot.position.maxPyramidingHint': '0 means no pyramiding',
  'signal-robot.position.pyramidingTitle': 'Pyramiding Rules',
  'signal-robot.position.pyramidingEnabled': 'Enabled',
  'signal-robot.position.pyramidingDisabled': 'Disabled',
  'signal-robot.position.pyramidingCondition': 'Pyramiding Trigger Condition',
  'signal-robot.position.priceRisePct': 'Price Rises (Long) / Falls (Short)',
  'signal-robot.position.profitPct': 'Profit Reaches',
  'signal-robot.position.triggerThreshold': 'Trigger Threshold (%)',
  'signal-robot.position.triggerThresholdHint': 'e.g. 3%: add position once every 3% rise',
  'signal-robot.position.addSize': 'Single Add Size (Capital %)',
  'signal-robot.position.pyramidingDisabledHint': 'Pyramiding disabled, only initial position will be executed',
  'signal-robot.risk.alert': 'Configure take profit, stop loss and exit rules',
  'signal-robot.risk.stopLossTitle': 'Stop Loss',
  'signal-robot.risk.stopLossEnabled': 'Enabled',
  'signal-robot.risk.stopLossDisabled': 'Disabled',
  'signal-robot.risk.stopLossType': 'Stop Loss Type',
  'signal-robot.risk.stopLossFixedPct': 'Fixed Percentage',
  'signal-robot.risk.stopLossAtrMultiplier': 'ATR Multiplier',
  'signal-robot.risk.stopLossValue': 'Value',
  'signal-robot.risk.stopLossFixedHint': 'e.g. 2%: stop loss when loss reaches 2%',
  'signal-robot.risk.stopLossAtrHint': 'e.g. 2.0: stop loss when price touches ATR*2.0',
  'signal-robot.risk.stopLossDisabledHint': 'Stop loss disabled (high risk)',
  'signal-robot.risk.trailingStopTitle': 'Trailing Stop',
  'signal-robot.risk.activationProfit': 'Activation Profit (%)',
  'signal-robot.risk.activationProfitHint': 'Start trailing when profit reaches this level',
  'signal-robot.risk.callbackPct': 'Callback (%)',
  'signal-robot.risk.callbackPctHint': 'Trigger take profit when price falls from peak by this percentage',
  'signal-robot.risk.trailingStopDisabledHint': 'Trailing stop disabled',
  'signal-robot.risk.otherExitTitle': 'Other Exit Rules',
  'signal-robot.risk.signalExit': 'Allow Signal Exit',
  'signal-robot.risk.signalExitHint': 'Close position immediately when reverse signal appears (e.g. close long when short signal appears)',
  'signal-robot.notify.alert': 'Configure notification methods when signal is triggered',
  'signal-robot.notify.channelTitle': 'Notification Channels',
  'signal-robot.notify.discordWebhook': 'Discord Webhook',
  'signal-robot.notify.genericWebhook': 'Generic Webhook',
  'signal-robot.notify.webhookUrl': 'Webhook URL',
  'signal-robot.notify.webhookUrlPlaceholder': 'https://example.com/webhook',
  'signal-robot.notify.discordUrl': 'Discord URL',
  'signal-robot.notify.discordUrlPlaceholder': 'https://discord.com/api/webhooks/...',
  'signal-robot.operator.greaterThan': 'Greater Than',
  'signal-robot.operator.lessThan': 'Less Than',
  'signal-robot.operator.equal': 'Equal',
  'signal-robot.operator.goldenCross': 'Golden Cross',
  'signal-robot.operator.deathCross': 'Death Cross',
  'signal-robot.operator.increaseBy': 'Increase By',
  'signal-robot.operator.decreaseBy': 'Decrease By',
  'signal-robot.indicator.price': 'Price',
  'signal-robot.indicator.rsi': 'RSI',
  'signal-robot.indicator.kdjK': 'KDJ(K)',
  'signal-robot.indicator.kdjJ': 'KDJ(J)',
  'signal-robot.indicator.macd': 'MACD',
  'signal-robot.indicator.macdHist': 'MACD Histogram',
  'signal-robot.indicator.bollingerUp': 'Bollinger Upper',
  'signal-robot.indicator.bollingerLow': 'Bollinger Lower',
  'signal-robot.indicator.volume': 'Volume',
  'signal-robot.indicator.changePct1h': '1H Change %',
  'signal-robot.indicator.changePct24h': '24H Change %',
  'signal-robot.indicator.signalLine': 'Signal Line',

  // Settings (Memory/Reflection)
  'settings.group.agent_memory': '記憶/反省設定',
  'settings.group.reflection_worker': '自動反省検証ワーカー',
  'settings.field.ENABLE_AGENT_MEMORY': 'エージェント記憶を有効化',
  'settings.field.AGENT_MEMORY_ENABLE_VECTOR': 'ベクトル検索を有効化（ローカル）',
  'settings.field.AGENT_MEMORY_EMBEDDING_DIM': '埋め込み次元',
  'settings.field.AGENT_MEMORY_TOP_K': 'Top-K 取得数',
  'settings.field.AGENT_MEMORY_CANDIDATE_LIMIT': '候補ウィンドウサイズ',
  'settings.field.AGENT_MEMORY_HALF_LIFE_DAYS': '時間減衰の半減期（日）',
  'settings.field.AGENT_MEMORY_W_SIM': '類似度重み',
  'settings.field.AGENT_MEMORY_W_RECENCY': '新しさ重み',
  'settings.field.AGENT_MEMORY_W_RETURNS': '収益重み',
  'settings.field.ENABLE_REFLECTION_WORKER': '自動検証を有効化',
  'settings.field.REFLECTION_WORKER_INTERVAL_SEC': '検証間隔（秒）',

  // Profile - Notification Settings (通知設定)
  'profile.notifications.title': '通知設定',
  'profile.notifications.hint': 'デフォルトの通知方法を設定します。資産モニターやアラート作成時に自動的に使用されます',
  'profile.notifications.defaultChannels': 'デフォルト通知チャンネル',
  'profile.notifications.browser': 'アプリ内通知',
  'profile.notifications.email': 'メール',
  'profile.notifications.phone': 'SMS',
  'profile.notifications.telegramBotToken': 'Telegram Bot Token',
  'profile.notifications.telegramBotTokenPlaceholder': 'Telegram Bot Tokenを入力してください',
  'profile.notifications.telegramBotTokenHint': '@BotFatherでボットを作成してTokenを取得してください',
  'profile.notifications.telegramChatId': 'Telegram Chat ID',
  'profile.notifications.telegramPlaceholder': 'Telegram Chat IDを入力してください（例：123456789）',
  'profile.notifications.telegramHint': '@userinfobot に /start を送信してChat IDを取得してください',
  'profile.notifications.notifyEmail': '通知メール',
  'profile.notifications.emailPlaceholder': '通知を受け取るメールアドレス',
  'profile.notifications.emailHint': 'デフォルトはアカウントメール、別のメールも設定可能',
  'profile.notifications.phonePlaceholder': '電話番号を入力してください（例：+81901234567）',
  'profile.notifications.phoneHint': '管理者がTwilioサービスを設定する必要があります',
  'profile.notifications.discordWebhook': 'Discord Webhook',
  'profile.notifications.discordPlaceholder': 'https://discord.com/api/webhooks/...',
  'profile.notifications.discordHint': 'Discordサーバー設定でWebhookを作成してください',
  'profile.notifications.webhookUrl': 'Webhook URL',
  'profile.notifications.webhookPlaceholder': 'https://your-server.com/webhook',
  'profile.notifications.webhookHint': 'カスタムWebhook URL、POST JSONで通知を送信',
  'profile.notifications.webhookToken': 'Webhook Token（任意）',
  'profile.notifications.webhookTokenPlaceholder': 'リクエスト認証用Bearer Token',
  'profile.notifications.webhookTokenHint': 'Authorization: Bearer TokenとしてWebhookに送信',
  'profile.notifications.testBtn': 'テスト通知を送信',
  'profile.notifications.saveSuccess': '通知設定を保存しました',
  'profile.notifications.selectChannel': '少なくとも1つの通知チャンネルを選択してください',
  'profile.notifications.fillTelegramToken': 'Telegram Bot Tokenを入力してください',
  'profile.notifications.fillTelegram': 'Telegram Chat IDを入力してください',
  'profile.notifications.fillEmail': '通知メールを入力してください',
  'profile.notifications.testSent': 'テスト通知を送信しました。通知チャンネルを確認してください'
}

export default {
  ...components,
  ...locale
}
