mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-10 16:58:08 +00:00
i18n(core): route order-coordinator and token/margin guards through t()
These files bypassed the i18n table entirely, so a user running LANG=en still got Chinese order logs. Migrating them surfaced structural duplication too: the five order paths each spelled out their own 'quantity invalid' string, now one key parameterised by an order-kind label. Also fixes a type that carried display text as its domain: TrendLabel was '做多' | '做空' | '无信号', so the engine's snapshot value *was* the Chinese string and English rendering depended on matching it. Now 'long' | 'short' | 'none', translated at the edge. Order-coordinator tests asserted the Chinese literals, which is exactly what made the gap invisible; they now assert the resolved key so they hold in either language. 39 new translation keys. 271 pass; tsc and oxlint clean.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import { IsolatedMarginGuard } from "../src/strategy/common/isolated-margin-guard";
|
||||
import type { AccountSnapshot } from "../src/exchanges/types";
|
||||
import { t } from "../src/i18n";
|
||||
|
||||
const SYMBOL = "BTC-USD";
|
||||
|
||||
@@ -71,7 +72,7 @@ describe("IsolatedMarginGuard", () => {
|
||||
});
|
||||
expect(await guard.ensureIsolated()).toBe(true);
|
||||
expect(changeMarginMode).toHaveBeenCalledWith({ symbol: SYMBOL, marginMode: "isolated" });
|
||||
expect(logs.some(([, detail]) => detail.includes("已切换为逐仓模式"))).toBe(true);
|
||||
expect(logs.some(([, detail]) => detail === t("log.margin.switched"))).toBe(true);
|
||||
});
|
||||
|
||||
it("gives up after the confirm attempts run out", async () => {
|
||||
|
||||
Reference in New Issue
Block a user