Files
lp-terminal_github/src/i18n/zh.ts
T
labrinyang bca538e7e3 feat: SHEEP CHOICE routing, cross-chain deposits, and any-token ZAP
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>
2026-07-23 00:01:52 +08:00

588 lines
26 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 中文语言包 — 结构与 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: '用单边 LPCL 区间订单)卖出代币',
chainTip: '网络标识 — 本终端的所有报价与交易均在 Robinhood Chainid {{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: '从列表移除(不影响转账本身)',
},
}