import type { DeepPartial, FuturesPageMessages } from '../../futuresPage.i18n'

/** 合约页 UI：在 buildEn 基础上覆盖为日文 */
export const jaUiOverlay: DeepPartial<FuturesPageMessages> = {
  perpetual: '無期限契約',
  perpetualTag: '永続',
  pairSearchPlaceholder: '検索',
  pairEmpty: '該当ペアなし',
  stats: {
    change24h: '24h変動',
    markPrice: 'マーク',
    high24h: '24h高値',
    low24h: '24h安値',
    volume24h: '24h出来高',
    fundingCountdown: '資金調達率 / カウントダウン',
  },
  mobileTabs: { chart: 'チャート', trade: '取引' },
  chartSub: { chart: 'チャート', coinInfo: 'コイン情報', fundingHistory: '資金調達履歴' },
  chartTools: { fullscreen: '全画面', alert: 'アラート' },
  draw: {
    cursor: 'カーソル',
    trend: 'トレンドライン',
    hline: '水平線',
    ray: 'レイ',
    channel: 'チャネル',
    fib: 'フィボナッチ',
    text: 'テキスト',
    clearAll: '描画をクリア',
    zoomOut: '縮小',
  },
  ohlcv: {
    open: '始',
    high: '高',
    low: '安',
    close: '終',
    volume: '出来高',
    changePct: '変動',
    amplitude: '振幅',
  },
  coinInfo: {
    marketCap: '時価総額',
    circulating: '流通供給量',
    issuePrice: '発行価格',
    ath: '史上最高',
    athDate: '最高値日',
    whitepaper: 'ホワイトペーパー',
    empty: 'コイン情報なし',
    reload: '再読み込み',
  },
  fundingPanel: {
    rate: '資金調達率',
    period: '決済周期',
    nextCountdown: '次回カウントダウン',
    noChart: 'チャートデータなし',
    settleTime: '決済',
    rateCol: '資金調達率',
    empty7d: '過去7日のデータなし',
  },
  book: {
    orderBook: '板情報',
    trades: '約定',
    priceQuote: '価格 (USDT)',
    amountBase: '数量 ({base})',
    totalBase: '合計 ({base})',
    time: '時間',
    buy: '買い',
    sell: '売り',
    buyRatio: '買い {n}%',
    sellRatio: '{n}% 売り',
    noTrades: '約定なし',
  },
  margin: { cross: 'クロス', split: '分離', experience: '体験金' },
  amountUnit: { lots: '枚', usdt: 'USDT' },
  leverage: { adjustTitle: 'レバレッジ調整' },
  order: {
    limit: '指値',
    market: '成行',
    conditional: '条件付き',
    condMarket: '条件成行',
    condLimit: '条件指値',
    available: '利用可能',
    maxOpen: '最大建玉',
    triggerPriceLabel: 'トリガー ({q})',
    priceLabel: '価格 ({q})',
    latestBtn: '最新',
    marketExe: '成行',
    condMarketExe: 'トリガー後成行',
    qtyLabel: '数量 ({u})',
    transferTitle: '振替',
    openLong: '買い / ロング',
    openShort: '売り / ショート',
    contractInfoTitle: '契約情報',
    indexSource: '指数ソース',
    marginCoin: '証拠金資産',
    maxLeverage: '最大レバレッジ',
    maintMargin: '維持証拠金率',
    openFee: '建玉手数料',
    closeFee: '決済手数料',
    contractValue: '契約価値',
    minOrder: '最小注文量',
    maxOrder: '最大注文量',
  },
  placeholders: {
    searchPair: '検索',
    triggerPrice: 'トリガー価格を入力',
    price: '価格を入力',
    amount: '数量を入力',
  },
  bottom: {
    positions: 'ポジション',
    openOrders: '未約定',
    historyOrders: '注文履歴',
    historyPositions: 'ポジション履歴',
    tradeDetails: '約定',
    fundingFlow: '資金履歴',
    assets: '資産',
    closeAllPositions: '全決済',
    cancelAllOrders: '全取消',
    loginPromptOr: 'または',
    registerNow: '今すぐ登録',
    startTrading: '取引を開始',
  },
  table: {
    contract: '契約',
    dirLeverage: '方向/レバ',
    openPrice: '建値',
    markPrice: 'マーク',
    positionSize: '数量',
    margin: '証拠金',
    marginRate: '証拠金率',
    unrealizedPnl: '未実現損益',
    roe: 'ROE',
    liqPrice: '清算価格',
    openTime: '建玉時間',
    action: '操作',
    type: '種別',
    orderPrice: '価格',
    entrustPriceHist: '注文価格',
    triggerPrice: 'トリガー',
    orderAmt: '注文数量',
    filled: '約定',
    tpPrice: '利確',
    slPrice: '損切',
    time: '時間',
    orderTime: '注文時間',
    fillTime: '約定時間',
    profitUsdt: '損益 (USDT)',
    tradedVol: '約定数量',
    closeAvg: '決済平均',
    profitRate: 'ROE',
    closeTime: '決済時間',
    directionOpenClose: '方向/建玉',
    dealPrice: '約定価格',
    fee: '手数料',
    fundType: '種別',
    amount: '金額',
    coin: 'コイン',
    settlementTime: '決済',
    fundingRate: '資金調達率',
    totalBal: '先物残高',
    availMargin: '利用可能証拠金',
    usedMargin: '使用中証拠金',
    unrealized: '未実現損益',
    spotWalletBal: '出金可能口座残高',
    fundTransfer: '振替',
    avgOpenPrice: '平均建値',
    feeHint: '手数料 (USDT)',
    estimatedPnlRow: '予想損益',
    triggerUsdt: 'トリガー (USDT)',
    orderPriceUsdt: '注文価格 (USDT)',
    openAvgUsdt: '平均建値 (USDT)',
    closeAvgUsdt: '平均決済 (USDT)',
    tpUsdt: '利確 (USDT)',
    slUsdt: '損切 (USDT)',
    marginUsdtBracket: '証拠金 (USDT)',
    notionalUsdt: 'ポジション価値 (USDT)',
    estLiqPx: '予想清算価格',
    profitBracketUsdt: '損益 (USDT)',
    entrustVolCoin: '注文数量 ({base})',
    filledVolCoin: '約定 ({base})',
    closeAvail: '決済可能:',
    markPriceBtn: 'マーク',
  },
  empty: {
    noPositions: 'ポジションなし',
    noOrders: '注文なし',
    noHistPositions: 'ポジション履歴なし',
    noHistOrders: '注文履歴なし',
    noTradeRecords: '約定なし',
    noFunding: '資金履歴なし',
  },
  modal: {
    confirmDefaultTitle: '確認',
    positionDetailTitle: 'ポジション詳細',
    orderDetailTitle: '注文詳細',
    histPositionDetailTitle: '過去ポジション',
    histOrderDetailTitle: '過去注文',
    closePositionTitlePrefix: '決済',
    modifyTpSl: 'TP/SL編集',
    setTpSl: 'TP/SL設定',
    posQtyLabel: '数量:',
    currentTpSlSection: '有効なTP/SL',
    modifyToSection: '変更',
    setPricesSection: '価格',
    tpTriggerLabel: '利確トリガー ',
    tpHintOptionalClear: '(空欄で利確解除)',
    slTriggerLabel: '損切トリガー ',
    slHintOptionalClear: '(空欄で損切解除)',
    placeholderTpTrigger: '利確トリガー価格',
    placeholderSlTrigger: '損切トリガー価格',
    confirmCloseBtn: '決済確認',
    ok: 'OK',
    closeTypeLiquidation: '強制清算',
    tpBadge: 'TP',
    slBadge: 'SL',
    tpPriceWord: '利確 ',
    slPriceWord: '損切 ',
    volLabel: '数量:',
    marginSplitMode: 'クロス / 分離',
    directionLabel: '方向',
    entrustTypeLabel: '注文タイプ',
    leverageLabel: 'レバレッジ',
  },
  actions: { tpSl: 'TP/SL', reverse: '反転', close: '決済', marketCloseAll: '成行全決済', cancelOrder: '取消' },
  positionRow: { hintCross: 'クロス', hintExperience: '体験金' },
  errors: {
    enterTriggerPrice: 'トリガー価格を入力',
    enterPrice: '価格を入力',
    priceNotReadyConvert: '価格未準備 — 数量換算不可',
    invalidQtyCheckMin: '数量エラー — 精度・最小注文量を確認',
    priceNotReadyRetry: '価格未準備、後でもう一度',
    enterQty: '数量を入力',
    qtyExceedAvail: '決済可能数量を超過',
    closeFailed: '決済失敗',
    modifyTpSlFailed: '更新失敗 — 後で再試行',
    txFallback: '種別 {n}',
  },
  confirm: {
    reverseTitle: 'ポジション反転',
    reverseBody: '{pair} {side} ポジションを反転しますか？',
    cancelAllTitle: '全取消',
    cancelAllBody: '注文 {n} 件を取消しますか？',
    closeAllTitle: '全決済',
    closeAllBody: 'ポジション {n} 件を成行決済しますか？',
    sideLongWord: 'ロング',
    sideShortWord: 'ショート',
  },
  directions: {
    long: 'ロング',
    short: 'ショート',
    openLong: 'ロング建',
    openShort: 'ショート建',
    closeShort: 'ショート決済',
    closeLong: 'ロング決済',
    openTag: '建',
    closeTag: '済',
  },
  orderTypes: { limit: '指値', plan: 'トリガー', takeProfit: '利確', stopLoss: '損切', marketShort: '成行' },
  orderStatus: { filled: '約定', open: '未約定', cancelled: '取消済', failed: '失敗' },
  closeTypes: {
    market: '成行決済',
    oneClick: '一括決済',
    reverseOpen: '反対建玉',
    tpSl: 'TP/SL',
    liquidation: '強制清算',
    admin: '管理者決済',
  },
}
