feat: three nuxt frontends, demo seed, rounding + money-exponent + rate-cast fixes, archived specs

This commit is contained in:
Chengdong Zhang
2026-09-17 13:34:38 +08:00
parent dc9fd31c5e
commit 653f13161a
85 changed files with 4327 additions and 106 deletions
+18 -2
View File
@@ -1,8 +1,24 @@
import { en, zh } from "@vmall/shared/locales";
import { en as enBase, zh as zhBase } from "@vmall/shared/locales";
import { enExtra, zhExtra } from "./locales-extra";
function deepMerge<T extends Record<string, unknown>>(base: T, extra: T): T {
const out: Record<string, unknown> = { ...base };
for (const [k, v] of Object.entries(extra)) {
const b = out[k];
out[k] =
b && v && typeof b === "object" && typeof v === "object"
? deepMerge(b as Record<string, unknown>, v as Record<string, unknown>)
: v;
}
return out as T;
}
export default defineI18nConfig(() => ({
legacy: false,
locale: "en",
fallbackLocale: "en",
messages: { en, zh },
messages: {
en: deepMerge(enBase, enExtra),
zh: deepMerge(zhBase, zhExtra),
},
}));