mirror of
https://github.com/labrinyang/lp-terminal.git
synced 2026-07-27 13:17:43 +00:00
bca538e7e3
One commit because the pieces do not compile apart: the shared copy, the tab shell and the data layer all changed together, and splitting them further would mean inventing intermediate states that never existed. SHEEP CHOICE — the terminal's own swap. Quotes come from a solver that splits one trade across several pools instead of forcing it down a single path, and returns a ready-to-sign Settler transaction; the UI draws the split leg by leg and scores every venue against one shared fee-free baseline, so the card that says it pays most actually does. The Kyber transaction path is gone — Kyber is read-only USD valuation now, and there is no Kyber calldata to sign. BRIDGE — deposits from other chains over Relay, Across and the native portal, priced side by side and sorted by what actually reaches you. No fee on any of them. In-flight transfers get a countdown and survive a reload. ZAP — add liquidity holding neither side of the pair; whatever needs swapping is done in the same flow, with an optional stake-after step. Uniswap V2 liquidity now shows up under POSITIONS. Swaps in flight are persisted, so a refresh mid-swap no longer loses the transaction. Pair labels copy their token and pool addresses, and jump to DexScreener. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
588 lines
26 KiB
TypeScript
588 lines
26 KiB
TypeScript
// 中文语言包 — 结构与 en.ts 完全一致(typeof en 强制,缺键/多键编译报错)。
|
||
// 风格:terminal 简洁短语;DeFi 通用英文术语保留(TVL/APR/LP/CL/gauge/tick)。
|
||
import type { en } from './en'
|
||
|
||
export const zh: typeof en = {
|
||
common: {
|
||
connectWallet: '连接钱包',
|
||
insufficientBalance: '余额不足',
|
||
insufficient: '余额不足',
|
||
exceedsBalance: '超出余额',
|
||
bal: '余额',
|
||
max: 'MAX',
|
||
maxGasTip: 'MAX 会保留 {{amt}} {{sym}} 作源链 gas — 25/50/75% 按原始余额计算',
|
||
slipCustom: '自定义',
|
||
slipInvalid: '需大于 0',
|
||
close: '× 收起',
|
||
noMatch: '无匹配',
|
||
gasToken: '(gas)',
|
||
tokenSearch: '符号或地址…',
|
||
tokenResolving: '读取代币中…',
|
||
tokenNotErc20: '不是本链的 ERC-20',
|
||
},
|
||
hdr: {
|
||
pools: '池子',
|
||
positions: '仓位',
|
||
swap: '兑换',
|
||
bridge: '跨链',
|
||
blk: '块',
|
||
history: '历史',
|
||
historyTip: '活动与交易日志',
|
||
connect: '[ 连接 ]',
|
||
wrongChain: '[ 链错误 ]',
|
||
},
|
||
news: {
|
||
label: '更新',
|
||
title: '最近更新',
|
||
tip: '更新内容 — 本终端的最近改动',
|
||
freshTip: '最近两天有 {{n}} 条更新',
|
||
empty: '暂无更新',
|
||
},
|
||
app: {
|
||
wrongNetwork: '!! 网络错误 — 本终端只在 Robinhood Chain (4663) 上写入',
|
||
switch: '切换',
|
||
tagline: 'LP TERMINAL v0.2 · 精确授权 · 链上实时读取',
|
||
keys: '快捷键: [1] 池子 [2] 仓位 [3] 兑换 [4] 限价 [5] 跨链',
|
||
blockscout: 'blockscout↗',
|
||
reloaded: '已刷新 — 此标签页打开期间部署了新版本',
|
||
},
|
||
log: {
|
||
ready: '> 就绪。连接钱包开始。',
|
||
events: '本次会话 {{n}} 条事件',
|
||
clear: '清空',
|
||
},
|
||
rpc: {
|
||
toggleTip: '链读取 RPC 端点 — 点击设置自己的(仅存于本浏览器)',
|
||
placeholder: 'https://… JSON-RPC 地址(链 4663)· 留空 = 默认',
|
||
apply: '应用',
|
||
checking: '检测中…',
|
||
reset: '重置',
|
||
notHttp: '不是 http(s) 地址',
|
||
},
|
||
theme: {
|
||
label: 'theme:',
|
||
switchTip: '切换到 {{name}} 主题',
|
||
},
|
||
lang: { label: 'lang:' },
|
||
rbar: {
|
||
inRange: '区间内',
|
||
inRangeTip: '已穿过 {{pct}}% · 带宽 ±{{band}}%',
|
||
outRise: '超出区间 · 价格需上涨 {{pct}}% 才能回到区间',
|
||
outFall: '超出区间 · 价格需下跌 {{pct}}% 才能回到区间',
|
||
orderFilled: '订单已完全成交 · 100% 持有 {{sym}} — 提取以锁定',
|
||
orderFilling: '订单成交中 · {{sym}} 已卖出 {{pct}}% · 价格回落会回吐',
|
||
orderWaitRise: '订单等待中 · 价格需上涨 {{pct}}% 开始成交',
|
||
orderWaitFall: '订单等待中 · 价格需下跌 {{pct}}% 开始成交',
|
||
toLow: '→ 下界',
|
||
fromHigh: '上界 ←',
|
||
allOf: '100% {{sym}}',
|
||
flipTip: '翻转价格方向',
|
||
ticksTip: 'tick [{{lo}}, {{hi}}] · 当前 {{tick}}',
|
||
},
|
||
tx: {
|
||
confirm: '{{label}} — 请在钱包确认…',
|
||
pending: '{{label}} — 等待上链',
|
||
reverted: '{{label}} — 已回滚',
|
||
ok: '{{label}} — 成功 @ 块 {{n}}',
|
||
approve: '授权 {{sym}}',
|
||
received: '到账 {{amt}} UP',
|
||
swapToEth: '兑换 → ETH',
|
||
hintSwapMinOut: '触发最小到账保护 — 报价到发送之间价格变了;调高滑点或重试',
|
||
hintPS: '价格滑点 — 池价超出容差,重试即可',
|
||
hintV2Ratio: 'v2 池比例在联动后变了 — 重新输入金额再试',
|
||
hintSTF: '代币转账失败 — 检查授权/余额',
|
||
hintNP: '未获此 token id 的授权',
|
||
hintDeadline: '超过截止时间 — 重试',
|
||
},
|
||
pools: {
|
||
searchPlaceholder: '搜索交易对 / 符号 / 代币 0x… / 池 0x… ( / )',
|
||
protoAll: '全部',
|
||
protoAllTip: '所有协议',
|
||
protoUp33Tip: '仅 up33 ve(3,3) 池',
|
||
protoV3Tip: '仅 uniswap v3 池',
|
||
protoV2Tip: '仅 uniswap v2 池',
|
||
hideDust: '隐藏 <$1K',
|
||
hideDustTip: '隐藏 TVL 低于 $1k 的池 — uniswap 目录 95% 是 meme 灰尘池',
|
||
mine: '● 我的 ({{n}})',
|
||
loading: '> 正在从工厂枚举池子',
|
||
scanFailed: '> 池扫描失败: {{err}}',
|
||
statShown: '显示 {{n}}',
|
||
statUp33: 'up33 {{n}}',
|
||
statUniswap: 'uniswap',
|
||
statCatalog: '目录 {{n}}',
|
||
statMatch: '匹配 {{n}}',
|
||
statTop: 'TVL 前 {{n}}',
|
||
statVol: '量',
|
||
uniScanFailed: 'uniswap 扫描失败: {{err}}',
|
||
fallbackNote: '索引器离线 — dexscreener 兜底(v3 前 30)',
|
||
spoofDropped: '拦截 {{n}} 个伪造池',
|
||
thPair: '交易对',
|
||
thPrice: '价格 / 储备',
|
||
thTvl: 'TVL',
|
||
thVol: '24H 量',
|
||
thFees: '24H 费',
|
||
thFeeApr: '费率 APR',
|
||
thRewards: '排放奖励',
|
||
sortTip: '点击排序',
|
||
addrTip: '地址 — 点击复制',
|
||
addrHint: '点击复制',
|
||
addrPool: '池子',
|
||
addrCopyTip: '复制完整地址',
|
||
addrCopied: '已复制',
|
||
addrFailed: '复制失败',
|
||
addrExplorerTip: '在浏览器中打开',
|
||
dsTip: '在 dexscreener 打开该交易对(新标签页)',
|
||
mineDotTip: '你在此池有仓位',
|
||
gauge: 'gauge',
|
||
killed: '已停用',
|
||
noGauge: '无 gauge',
|
||
feeTipUniV2: '无抽成 — 0.30% 手续费滚入储备(LP 自动复利)',
|
||
feeTipUniV3: '无 ve(3,3) 抽成 — LP 保留 100% 交易手续费',
|
||
rewardsTip:
|
||
'仅 up33:质押 LP 的 UP 收益率(封顶后实时速率)· 每周排放 · gauge 投票占比 — uniswap 池无排放,LP 改拿手续费。UP33 过滤视图有完整明细。',
|
||
upWk: '{{n}} UP/周',
|
||
noEmissions: '无排放',
|
||
vote: '投票 {{n}}%',
|
||
stakedPct: '{{n}}% 已质押',
|
||
addLp: '+ LP',
|
||
footnote:
|
||
'<0>费率 APR</0> = 未质押 LP 手续费收益 · <1>排放奖励</1> = up33 质押 UP 排放 APR · 一个仓位只赚其一,不能兼得',
|
||
footnoteTip:
|
||
'数据源:uniswap 用池索引器(链上推导 TVL + geckoterminal 量)· up33 用 dexscreener + goldsky 子图 · 24h 费 = 量 × 费率(毛)· 单利,不复利',
|
||
},
|
||
add: {
|
||
fund: '资金',
|
||
fundPair: '双币',
|
||
fundPairTip: '按池子比例同时提供两种代币',
|
||
fundZap: '⚡ ZAP — 单币',
|
||
fundZapTip: '只持有一边?zap 先把合适的份额换成另一种代币,再存入 — 逐步执行',
|
||
range: '区间',
|
||
full: '全区间',
|
||
more: '更多',
|
||
moreTip: '单边区间、自定义 %、精确价格或原始 tick',
|
||
pctCustom: '± % …',
|
||
pctCustomTip: '对称区间,自定义百分比',
|
||
above: '↑ 上方',
|
||
aboveTip: '现价上方单边 — 只存 {{sym}},价格涨入后开始赚钱(涨了才卖)',
|
||
below: '↓ 下方',
|
||
belowTip: '现价下方单边 — 只存 {{sym}},价格跌入后开始赚钱(跌了才接)',
|
||
price: '价格',
|
||
priceTip: '输入精确价格上下界',
|
||
ticks: 'TICKS',
|
||
ticksTip: '原始 tick 上下界',
|
||
priceLo: '下界价格',
|
||
priceHi: '上界价格',
|
||
priceUnits: '{{quote}}/{{base}} · 对齐 ts{{ts}}',
|
||
tickLower: 'tickLower',
|
||
tickUpper: 'tickUpper',
|
||
spacing: '间距 {{ts}}',
|
||
limitHint: '想卖固定数量?',
|
||
limitHintLink: '兑换 → 限价',
|
||
limitHintRest: '会作为可跟踪的区间订单挂出',
|
||
aboveNote: '价格在区间上方 — 仅 token1',
|
||
belowNote: '价格在区间下方 — 仅 token0',
|
||
projected: '预估',
|
||
projOut: '区间不含当前价格 — 价格进入前不产生任何收益',
|
||
projDep: '存入 ≈ {{usd}}',
|
||
projFeeApr: '费率 APR',
|
||
projIfUnstaked: '(不质押时)',
|
||
projEmitApr: '排放 APR',
|
||
projIfStaked: '(质押时)',
|
||
projShare: '占活跃流动性 {{pct}}% · 区间内有效',
|
||
mint: '铸造仓位',
|
||
mintHintUni: 'NFT 进入钱包 — 在仓位页管理(uniswap 无质押,手续费归你)',
|
||
mintHintUp33: 'NFT 进入钱包 — 去仓位页质押赚 UP',
|
||
addLiquidity: '添加流动性',
|
||
v2Hint: '数量按储备自动配平 · 最小值容差 {{slip}}%',
|
||
v2HintUni: 'LP 代币进入钱包(uniswap v2 无质押,手续费在储备中自动复利)',
|
||
v2HintUp33: 'LP 代币进入钱包,去仓位页质押',
|
||
setRangeFirst: '> 先设定有效区间 — zap 拆分取决于它。',
|
||
stepAddV2: '添加 v2 {{pair}} 流动性',
|
||
stepAdd: '添加 {{pair}} 流动性',
|
||
stepMint: '铸造 {{kind}} {{pair}} [{{lo}},{{hi}}]',
|
||
stakeAfter: '添加后质押',
|
||
stakeAfterTip: '添加后直接继续质押新仓位以赚取 UP —— 该选择会被记住,直到你更改',
|
||
},
|
||
zap: {
|
||
zapIn: 'ZAP 输入',
|
||
ethTip: '原生 ETH — 第 1 步先包装成 WETH',
|
||
slip: '滑点',
|
||
slipHint: '兑换腿最小到账 · 存入最小值按 1% 带边计算',
|
||
solving: '> 正在比较 Uniswap / UP33 直连报价',
|
||
cantPlan: '> 无法规划: {{err}}',
|
||
planTitle: 'ZAP 计划',
|
||
refreshPlan: '刷新计划',
|
||
refreshTip: '计划每 {{s}} 秒自动刷新,{{n}} 次后暂停 — 点击立即刷新',
|
||
split: '拆分',
|
||
keepAll: '全部保留 {{amt}} {{sym}}',
|
||
keepSwap: '保留 {{keep}} + 兑换 {{swap}} {{sym}}',
|
||
splitSdSingle: '当前价格下该区间只收这一种代币 — 无需兑换',
|
||
splitSd: '按当前价格的存入比例精确配平两份',
|
||
swapRow: '兑换',
|
||
swapMin: '最少 {{amt}} @ {{slip}}%',
|
||
impact: '价格影响 {{pct}}%',
|
||
impactOff: '价格影响不可用 — 请选择滑点',
|
||
chooseSlippage: '执行前请选择滑点',
|
||
// 不用「手续费」:本 catalog 里它 15 处全指池子手续费,同面板下方就是
|
||
// 「费率 APR」——裸写「手续费」会被读成池子费,等于没披露
|
||
terminalFee: '终端费 {{pct}}%',
|
||
via: '经 {{route}}',
|
||
pickOther: '其他',
|
||
swapN: '兑换 {{n}}',
|
||
outsideSplit: '兑换 {{a0}} {{sym}} → {{sym0}} + {{a1}} {{sym}} → {{sym1}}',
|
||
outsideOne: '全部 {{amt}} {{sym}} 兑换为 {{outSym}}',
|
||
outsideSd: '输入币不在交易对内 — 两侧均按存入比例买入',
|
||
depositRow: '存入',
|
||
dustSd: '预计零头 {{dust}} 留在钱包(不会发送)',
|
||
actualSd: '兑换侧按实际到账存入,不按报价',
|
||
bandWarn: '兑换影响 {{impact}}% 相对 ±{{band}}% 区间过大 — 会产生零头;建议放宽区间或减少数量',
|
||
run: '⚡ 执行 ZAP',
|
||
runSteps: '⚡ 执行 ZAP({{n}} 步)',
|
||
runHint: '任一步失败即停 — 资金都在你钱包里,不会悬空',
|
||
halted: '在第 {{n}} 步停止 — 已完成的步骤都是普通钱包余额。解决后重新执行(会按当前余额重新规划),或用双币模式收尾。',
|
||
haltedSwap:
|
||
'在第 {{n}} 步(兑换)停止:最新报价已低于 {{slip}}% 滑点下限 — 价格动了。请提高滑点以增加执行成功率(AUTO 已上调为 {{next}}%),然后重新执行 — 会按当前余额重新规划。',
|
||
haltedDeposit:
|
||
'在第 {{n}} 步(存入)停止:交易在途时池价越过了 {{band}}% 存入容差。直接重试即可 — 最小值按实时价格重算;已兑换的代币安全在钱包。',
|
||
done: '✓ zap 完成 — 流动性已生效。',
|
||
replanFailed: 'zap 重新规划失败: {{err}}',
|
||
orderGrows: '这会加大未平的区间订单 — 同区间、同均价、更大规模。',
|
||
errAmount: '请输入数量',
|
||
errNotInPool: '该代币不在此池中',
|
||
errNoReserves: '池子无储备 — 用双币模式初始注入',
|
||
errNoPrice: '池价格不可用',
|
||
errZeroQuote: '直连报价为零 — 池/路由太薄',
|
||
errNoRoute: '对手代币没有直连路由',
|
||
errQuoteFailed: '{{protocols}} 直连报价比较失败',
|
||
errTooSmall: '数量对该区间来说太小',
|
||
stWrap: '包装 {{amt}} ETH → WETH',
|
||
stApproveSpender: '授权 {{sym}} → {{spender}}',
|
||
spenderRouter: '路由',
|
||
spenderNpm: '仓位管理器',
|
||
stSwap: '兑换 {{amt}} {{sym}} → ≈{{out}} {{outSym}}',
|
||
stIncrease: '加仓 #{{id}}',
|
||
stMint: '铸造仓位',
|
||
stAddLiquidity: '添加流动性',
|
||
stStake: '质押仓位 → 赚取 UP',
|
||
halt: 'zap 已停止 — {{msg}}',
|
||
haltTokenOut: '路由 tokenOut {{addr}} 不是池子对手代币 — 已中止',
|
||
haltNothing: '没有可存入的数量',
|
||
haltDepositSmall: '当前价格下存入量对该区间太小(已换的代币在你钱包里)',
|
||
stakeHint: 'zap 完成 — 质押仓位开始赚 UP',
|
||
stakeHintAction: '仓位 →',
|
||
},
|
||
pos: {
|
||
connectPrompt: '> 连接钱包以枚举仓位。还没有仓位?',
|
||
browsePools: '去池子页看看 →',
|
||
scanning: '> 正在扫描仓位',
|
||
scanFailed: '> 仓位扫描失败: {{err}}',
|
||
empty: '> {{addr}}… 名下没有 LP 仓位。',
|
||
emptyCta: '去池子页添加流动性 →',
|
||
lpValue: 'LP 总值',
|
||
lpValueSub: '{{cl}} CL · {{v2}} v2 · {{staked}} 已质押',
|
||
lpValueFees: '未领手续费 ≈{{usd}}',
|
||
lpValueUnpriced: '{{n}} 个未定价',
|
||
pendingRewards: '待领奖励',
|
||
upPerDay: '+{{n}} UP/天',
|
||
upPerDayUsd: '(≈{{usd}}/天)',
|
||
claimAll: '全部领取({{n}} 笔)',
|
||
nothingClaimable: '暂无可领取',
|
||
rangeStatus: '区间状态',
|
||
outOfRangeN: '{{n}} 个超出区间',
|
||
allInRange: '全部在区间内',
|
||
rangeStatusSub: '超出区间的 CL 没有任何收益',
|
||
ordersNotCounted: '区间订单不计入',
|
||
rangeOrders: '区间订单',
|
||
ordersOpen: '{{n}} 个挂单',
|
||
ordersFilled: '{{n}} 个已完全成交 — 提取以锁定 ↓',
|
||
ordersNone: '尚无成交 — 卖出代币升值时逐步成交',
|
||
sectionCl: 'CL 仓位({{n}})',
|
||
sectionV2: 'V2 仓位({{n}})',
|
||
noCl: '暂无 CL 仓位。',
|
||
noClCta: '去池子页开一个 →',
|
||
noV2: '暂无 v2 LP。',
|
||
noV2Cta: '去池子页添加 →',
|
||
staked: '已质押',
|
||
wallet: '钱包',
|
||
limitBadge: '限价 {{sell}}→{{buy}}',
|
||
claimUp: '领取 UP',
|
||
claimUpTip: '领取待发的 UP 排放',
|
||
unstake: '解押',
|
||
unstakeTip: '解押后才能调整流动性或领取手续费 — 解押会自动领取待发 UP',
|
||
stake: '质押',
|
||
stakeTip: '把 NFT 质押进 gauge 赚 UP(质押期间手续费归投票者)',
|
||
collectFees: '领取手续费',
|
||
collectFeesTip: '领取未领取的交易手续费',
|
||
inc: '+ 加仓',
|
||
incTip: '在同一区间追加流动性 — 区间铸造时固定,不可移动',
|
||
dec: '− 减仓',
|
||
withdraw: '全部撤出',
|
||
withdrawConfirm: '确认?',
|
||
withdrawTip: '移除 100% 流动性并领取全部(双击确认)',
|
||
value: '价值',
|
||
noAnchor: '— 无价格锚',
|
||
pendingUpK: '待领 UP',
|
||
fees: '未领手续费',
|
||
levyNote: '(10% 未质押抽成已扣除)',
|
||
earning: '收益中',
|
||
earnEmit: '{{n}} UP/天',
|
||
earnUsdDay: '≈ {{usd}}/天',
|
||
earnApr: 'APR {{apr}}',
|
||
earnShareStaked: '占质押流动性 {{share}}',
|
||
earnShareGauge: '占 gauge {{share}}',
|
||
earnOutStaked: '0 — 超出区间',
|
||
earnOutStakedTip: '质押 CL 只在价格处于区间内时发 UP',
|
||
earnEnded: '0 — 本 epoch 无 UP 排放流入',
|
||
earnFeeApr: '费率 APR',
|
||
earnShareActive: '占活跃流动性 {{share}}',
|
||
earnSharePool: '占池子 {{share}}',
|
||
earnWhileInRange: '区间内有效',
|
||
earnUnknown: '手续费累积中 — 无 24h 量数据,无法估算收益率',
|
||
earnOut: '0 — 超出区间',
|
||
earnEmpty: '空仓 — 仅剩未领手续费',
|
||
earningStaked: '收益中(质押)',
|
||
earningWallet: '收益中(钱包)',
|
||
// same-pool aggregation header (ClPoolGroup)
|
||
groupPositions: '{{n}} 个仓位',
|
||
groupStakedN: '{{n}} 个质押',
|
||
groupStakedShare: '质押占比',
|
||
groupIdle: '当前无收益',
|
||
orderRow: '区间订单 {{sell}} → {{buy}}:',
|
||
orderLockIn: '提取 → 锁定 {{sym}}',
|
||
orderClose: '立即平仓(部分成交)',
|
||
orderCancel: '取消 — 拿回 {{sym}}',
|
||
remove: '移除',
|
||
removeHint: '减仓 + 领取(2 笔交易),最小值容差 {{slip}}%',
|
||
incRange: '区间',
|
||
incRangeSd: '铸造时固定 — 追加只是在同一区间叠加流动性,不会移动区间',
|
||
incSize: '数量',
|
||
incSizeAny: '任意',
|
||
incSizeSdSingle: '无固定总量 — 价格在区间外时单边存入',
|
||
incSizeSd: '无固定总量 — 两币比例由实时池价锁定(输入框自动联动)',
|
||
incPulls: '实际拉取',
|
||
incPullsSd: '按当前价格取用 — 多给的一侧留在钱包',
|
||
incNew: '新仓规模',
|
||
incNewReseed: '为空仓重新注入',
|
||
incNewGrow: '流动性 +{{pct}}%',
|
||
incFees: '手续费',
|
||
incFeesKept: '保留',
|
||
incFeesSd: '已累计手续费在加仓时记入仓位 — 随时可领取',
|
||
incOrder: '订单',
|
||
incOrderGrows: '变大',
|
||
incOrderSd: '这会加大未平的区间订单 — 同区间、同均价、更大规模',
|
||
incBtn: '加仓',
|
||
incMins: "最小值按 {{slip}}% 带边计算 — 上链前价格再动会以 'PSC' 回滚",
|
||
v2StakeAll: '全部质押',
|
||
v2UnstakeAll: '全部解押',
|
||
v2ClaimFees: '领取手续费',
|
||
v2Lp: 'LP',
|
||
v2Staked: '{{n}} 已质押',
|
||
v2Wallet: '{{n}} 在钱包',
|
||
v2Claimable: '可领手续费',
|
||
v2RemoveOf: '按钱包 LP 计',
|
||
v2RemoveStakedNote: '— 质押的 LP 需先解押',
|
||
stClaim: '领取 UP #{{id}}',
|
||
stClaimPair: '领取 UP({{pair}})',
|
||
stClaimV2: '领取 UP {{pair}}',
|
||
stApproveNft: '授权 NFT #{{id}} 给 gauge',
|
||
stStake: '质押 #{{id}}',
|
||
stUnstake: '解押 #{{id}}',
|
||
stCollect: '领取手续费 #{{id}}',
|
||
stDecrease: '减仓 #{{id}} {{pct}}%',
|
||
stCollectAll: '领取 #{{id}}(本金 + 手续费)',
|
||
stNothingRemove: '没有可移除的',
|
||
stStakeLp: '质押 {{pair}} LP',
|
||
stUnstakeLp: '解押 {{pair}} LP',
|
||
stClaimPoolFees: '领取池手续费({{pair}})',
|
||
stRemoveLp: '移除 {{pct}}% {{pair}} LP',
|
||
stNoWalletLp: '钱包无 LP — 先解押',
|
||
},
|
||
swap: {
|
||
mode: '模式',
|
||
market: '市价',
|
||
limit: '限价 · 挂 LP 卖出',
|
||
limitTip: '用单边 LP(CL 区间订单)卖出代币',
|
||
chainTip: '网络标识 — 本终端的所有报价与交易均在 Robinhood Chain(id {{id}})上执行',
|
||
loadingTokens: '> 加载代币列表…',
|
||
sell: '卖出',
|
||
buy: '买入',
|
||
balTip: '钱包余额 — 点击填入最大可用',
|
||
flipTip: '互换方向',
|
||
rateV: '1 {{a}} = {{n}} {{b}}',
|
||
rateTip: '点击反转',
|
||
route: '路由',
|
||
details: '明细',
|
||
kRate: '汇率',
|
||
kMinReceived: '最少到账',
|
||
// 「价格影响」仍是桥接那一行的标签,那里是到账/发送的带符号差值。兑换这边叫
|
||
// 「成交成本」:price impact 惯例上指不含费的规模冲击,而这个数是刻意把费用
|
||
// 折进去的,沿用旧词只会继续误导。
|
||
kImpact: '价格影响',
|
||
kCost: '成交成本',
|
||
costTip: '本笔交易的全部成本 — 价格推动、池子手续费、代币转账税与终端手续费合计,相对于「不受规模与费用影响时能拿到的价格」',
|
||
kTerminalFee: '终端手续费',
|
||
terminalFeeOfWhich: '我们收取的 {{pct}}% — 已包含在上面的成交成本里,不是额外加收',
|
||
kFee: '费用',
|
||
ctaEnterAmount: '输入数量',
|
||
ctaQuoting: '询价中…',
|
||
ctaRefreshQuote: '↻ 刷新报价',
|
||
ctaPending: '交易确认中',
|
||
pendingSaveFailed: '交易已发送,但待确认状态无法保存 — 请保持此页面开启',
|
||
pendPending: '待确认',
|
||
pendConfirmed: '已确认',
|
||
pendFailed: '失败',
|
||
pendStale: '未确认',
|
||
viewTx: '查看',
|
||
pendingDismiss: '清除此行(不影响链上交易)',
|
||
refreshTip: '报价每 {{s}} 秒自动刷新 — 点击立即刷新',
|
||
solverRefreshTip: '报价每 {{s}} 秒刷新;SHEEP CHOICE 自动刷新 3 次后暂停 — 点击立即刷新',
|
||
usdDeltaTip: '买入侧与卖出侧的美元价值差(按场馆现价)— 已包含价格影响与费用',
|
||
solverRoute: 'SHEEP CHOICE',
|
||
solverDown: 'SHEEP CHOICE 离线 — 仅直连场所',
|
||
stSwapSolver: '兑换 {{amt}} {{a}} → {{b}} [sheep choice]',
|
||
uniswapDirect: 'UNISWAP 直连',
|
||
up33Direct: 'UP33 直连',
|
||
quoteImpact: '影响 {{pct}}%', // 桥接卡片
|
||
quoteCost: '成本 {{pct}}%',
|
||
noDirectPool: '该交易对没有直连池',
|
||
quoteFailed: '直连报价失败',
|
||
tokenListFallback: 'Uniswap 索引不可用 — 代币列表仅显示已验证的发现结果。',
|
||
tokenListFailed: 'Uniswap 代币列表失败: {{err}}',
|
||
up33TokenListFailed: 'UP33 池注册表失败: {{err}}',
|
||
unavailable: '不可用: {{err}}',
|
||
best: '最优',
|
||
slippage: '滑点',
|
||
execVia: '通过 {{route}} 执行 →',
|
||
noRoute: '无路由',
|
||
chooseSlippage: '请选择滑点',
|
||
wrapBtn: '包装 {{amt}} ETH',
|
||
unwrapBtn: '解包 {{amt}} WETH',
|
||
wrapNote: '1:1,无费用 — WETH9 {{addr}}',
|
||
stWrap: '包装 {{amt}} ETH → WETH',
|
||
stUnwrap: '解包 {{amt}} WETH → ETH',
|
||
stSwapDirect: '兑换 {{amt}} {{a}} → {{b}} [{{route}}]',
|
||
errQuoteMoved: '最新报价低于页面显示的最小到账 — 请核对后重试',
|
||
receivedBelowMinimum: '确认到账 {{got}} 低于最小值 {{min}} — 请先排查再重试',
|
||
},
|
||
limit: {
|
||
intro: '> 做挂单方,不做吃单方:在市场价之外挂单边 LP — 不付交易费,成交过程还赚手续费',
|
||
loadingPools: '> 加载池子',
|
||
noPools: '> 没有已初始化的 CL 池。',
|
||
sell: '卖出',
|
||
for: '换成',
|
||
pool: '池子',
|
||
noPairs: '没有与 {{sym}} 配对的 CL 池 — 换一个代币',
|
||
noPoolFor: '{{pair}} 没有 CL 池。',
|
||
market: '市价: 1 {{sell}} =',
|
||
poolChip: '池 CL ts{{ts}} {{fee}}%',
|
||
sellBand: '卖出区间',
|
||
explainTip: '什么是区间?',
|
||
tight: '贴市 · 1 TICK',
|
||
tightTip: '贴着市场的最窄区间 — 一个 tick 间距;第一个上涨 tick 就开始成交,手续费捕获最大',
|
||
custom: '自定义',
|
||
aboveMarket: '% 高于市价',
|
||
exTitle: '区间 = 阶梯式退出',
|
||
exStart: '起点',
|
||
exStartSd: '第一批 {{sym}} 卖出的位置 — 越近越早成交,但回调也越容易回吐',
|
||
exEnd: '终点',
|
||
exEndSd: '最后一批 {{sym}} 卖出的位置 — 区间越宽阶梯越平滑,赚手续费的时间越长',
|
||
exAvg: '均价',
|
||
exAvgSd: '起点 × 终点的几何平均 — 你的混合退出溢价',
|
||
exGrid: '网格',
|
||
exGridSd: '区间边界只能落在 {{ts}}-tick 线上(约 {{pct}}% 步长)— 贴市是最近的合法区间;更小的自定义值会吸附到它',
|
||
orderTitle: '订单',
|
||
fillStarts: '开始成交',
|
||
fullySold: '全部卖出',
|
||
avgFill: '平均成交',
|
||
priceEq: '1 {{sell}} = {{px}} {{buy}}',
|
||
priceApprox: '1 {{sell}} ≈ {{px}} {{buy}} · √(起点·终点)',
|
||
band: '区间',
|
||
bandSd: 'tick 网格 ts{{ts}} · 约 {{pct}}% 步长',
|
||
bandTight: '最窄合法区间',
|
||
bandSnaps: '≡ 贴市 — 小于间距的输入吸附到同一区间',
|
||
projTitle: '预估 · 完全成交',
|
||
projSell: '卖出',
|
||
projSellSd: '@ 均价 {{px}} {{buy}}',
|
||
projVsMarket: '较市价 +{{pct}}%',
|
||
projReceive: '收到',
|
||
projWhenFilled: '完全成交时',
|
||
projFeeIncome: '手续费收入',
|
||
projFeeIncomeSd: '价格在区间内期间 · 按当前交易量占活跃流动性 {{share}}%',
|
||
projFeePct: '成交期间穿过你区间的交易量按此比例计费',
|
||
feesTitle: '费用 · 挂单 VS 吃单',
|
||
thisOrder: '本订单',
|
||
makerSd: '挂单方 — 不付交易费,成交时还赚手续费',
|
||
marketSwap: '市价兑换',
|
||
takerSd: '吃单方 — 池子费付给 LP',
|
||
takerLoss: '吃单方 — 此规模约损失 {{usd}}',
|
||
mechTitle: '机制',
|
||
mechFills: '成交',
|
||
mechFillsSd: '价格向上穿过区间时逐步转换为 {{buy}}',
|
||
mechUnfills: '回吐',
|
||
mechUnfillsSd: '价格回落会转换回来 — 不是挂单簿订单,没有自动执行',
|
||
mechAfter: '成交后',
|
||
mechWithdraw: '提取',
|
||
mechAfterSd: '→ 一键锁定 · 限价徽章,实时成交 %',
|
||
mechStaking: '质押',
|
||
mechDont: '不要',
|
||
mechStakingSd: '质押的 LP 会放弃交易手续费 — 订单保持不质押',
|
||
invalidBand: '输入有效区间(起点% < 终点%,都 > 0)。',
|
||
place: '挂出区间订单 →',
|
||
placeHint: '最多 2 笔交易: 精确授权 + 铸造 · 无自动执行',
|
||
bandEntered: '价格已进入你的区间 — 选一个离市场更远的区间',
|
||
stPlace: '挂区间订单: 卖 {{amt}} {{sell}} → {{buy}}',
|
||
orderLive: '区间订单 #{{id}} 已挂出 — {{sym}} 升值时逐步成交',
|
||
track: '在仓位页跟踪',
|
||
},
|
||
bridge: {
|
||
chainTip: '选择链 — Robinhood Chain (id {{id}}) 永远是路径的一端',
|
||
homeTag: '主链',
|
||
balFailed: '余额读取失败 — 点击重试({{err}})',
|
||
from: '从',
|
||
to: '到',
|
||
flipTip: '反转方向',
|
||
route: '路由',
|
||
etaS: '约{{s}}秒',
|
||
etaMin: '约{{m}}分钟',
|
||
minShort: '最少 {{amt}} {{sym}}',
|
||
quoteFailed: '报价失败',
|
||
kEta: '预计时间',
|
||
kProviderCost: '桥成本',
|
||
impactTip: '到账 vs 发送的全部损耗 — 桥成本 + 终端费。点击展开',
|
||
terminalFeeTip: '终端费 {{pct}}% — 在报价内收取,不产生额外转账',
|
||
impactWarn: '总损耗 {{pct}}% 偏高 — 当前路由流动性薄。可对比各家报价、减小金额,或改用 USDG 出入金',
|
||
noRoute: '无可用路由',
|
||
execVia: '通过 {{provider}} 跨链 →',
|
||
stDeposit: '跨链 {{amt}} {{sym}}: {{from}} → {{to}}',
|
||
stgApprove: '授权',
|
||
stgDeposit: '发送',
|
||
stgSent: '已发送',
|
||
sentNote: '入金已确认 — 到账进度见上方 PENDING',
|
||
filled: '跨链完成 — 资产已到目标链',
|
||
refunded: '未成交 — 已在源链退款(扣除 gas)',
|
||
fillFailed: '目标链成交失败 — 请用入金交易哈希到桥方浏览器核查',
|
||
quoteExpired: '报价已过期 — 刷新报价后重试',
|
||
switchFailed: '切换网络被拒绝: {{err}}',
|
||
tokenTip: '选择代币 — 仅列出各桥实际支持的同代币路由',
|
||
nRoutes: '{{n}} 条路由',
|
||
nRoute1: '1 条路由',
|
||
discovering: '正在发现路由…',
|
||
noTokens: '该链对当前无可桥代币',
|
||
discoverFailed: '路由发现失败',
|
||
retry: '↻ 重试',
|
||
canonical: 'CANONICAL',
|
||
canonicalTip: '官方 Arbitrum 桥 — 1:1 无损,仅付 L1 gas;实测到账约 10 分钟。价格最优即排第一,不论速度',
|
||
pendingTitle: 'PENDING',
|
||
pendingTracked: '入金已发送 — 预计 {{eta}} 到账,进度见 BRIDGE › PENDING',
|
||
etaLeft: '剩 {{eta}}',
|
||
verifying: '核对中',
|
||
pFilled: '已到账',
|
||
pRefunded: '已退款',
|
||
pFailed: '失败',
|
||
pStale: '仍在等待',
|
||
stale: '等待超过 1 小时 — 可手动重查,或用入金交易哈希到浏览器核实',
|
||
recheckTip: '立即查询状态',
|
||
dismissTip: '从列表移除(不影响转账本身)',
|
||
},
|
||
}
|