feat(i18n): 添加用户模块的本地化支持,包括登录、资产估值、资产分布等翻译

This commit is contained in:
2026-01-14 03:51:29 +07:00
parent 1a7f67c584
commit 2110394a33
5 changed files with 22 additions and 9 deletions

View File

@@ -154,6 +154,17 @@
"markAllReadSuccess": "全部已读", "markAllReadSuccess": "全部已读",
"loading": "加载中..." "loading": "加载中..."
}, },
"user": {
"login": "点击登录 / 注册",
"totalAsset": "总资产估值",
"assetDistribution": "资产分布",
"fundingAccount": "资金账户",
"tradingAccount": "交易账户",
"asset": "资产",
"transfer": "划转",
"bill": "账单",
"comingSoon": "敬请期待"
},
"trade": { "trade": {
"title": "交易", "title": "交易",
"spot": "现货", "spot": "现货",

View File

@@ -3,20 +3,21 @@ import SolarDollarMinimalisticBoldDuotone from "~icons/solar/dollar-minimalistic
import SolarRoundTransferHorizontalBoldDuotone from "~icons/solar/round-transfer-horizontal-bold-duotone"; import SolarRoundTransferHorizontalBoldDuotone from "~icons/solar/round-transfer-horizontal-bold-duotone";
import { getCryptoIcon } from "@/config/crypto"; import { getCryptoIcon } from "@/config/crypto";
const { t } = useI18n();
const walletStore = useWalletStore(); const walletStore = useWalletStore();
const { balances, totalAssetValue } = storeToRefs(walletStore); const { balances, totalAssetValue } = storeToRefs(walletStore);
</script> </script>
<template> <template>
<div class="text-md font-semibold my-4"> <div class="text-md font-semibold my-4">
资产分布 {{ t('user.assetDistribution') }}
</div> </div>
<div class="grid grid-cols-2 gap-4"> <div class="grid grid-cols-2 gap-4">
<div class="asset-card" @click="$router.push('/wallet/funding')"> <div class="asset-card" @click="$router.push('/wallet/funding')">
<div class="text-xs text-text-400 font-semibold flex items-center gap-1"> <div class="text-xs text-text-400 font-semibold flex items-center gap-1">
<SolarDollarMinimalisticBoldDuotone /> <SolarDollarMinimalisticBoldDuotone />
资金账户 {{ t('user.fundingAccount') }}
</div> </div>
<div class="font-bold"> <div class="font-bold">
${{ totalAssetValue.fundingValueUsd }} ${{ totalAssetValue.fundingValueUsd }}
@@ -25,7 +26,7 @@ const { balances, totalAssetValue } = storeToRefs(walletStore);
<div class="asset-card" @click="$router.push('/wallet/trading')"> <div class="asset-card" @click="$router.push('/wallet/trading')">
<div class="text-xs text-text-400 font-semibold flex items-center gap-1"> <div class="text-xs text-text-400 font-semibold flex items-center gap-1">
<SolarRoundTransferHorizontalBoldDuotone /> <SolarRoundTransferHorizontalBoldDuotone />
交易账户 {{ t('user.tradingAccount') }}
</div> </div>
<div class="font-bold"> <div class="font-bold">
${{ totalAssetValue.tradingValueUsd }} ${{ totalAssetValue.tradingValueUsd }}
@@ -34,7 +35,7 @@ const { balances, totalAssetValue } = storeToRefs(walletStore);
</div> </div>
<div class="text-md font-semibold my-4"> <div class="text-md font-semibold my-4">
资产 {{ t('user.asset') }}
</div> </div>
<ion-list lines="none" class="space-y-5 mt-2!"> <ion-list lines="none" class="space-y-5 mt-2!">

View File

@@ -11,7 +11,7 @@ const router = useRouter();
async function handleCryptoRecharge() { async function handleCryptoRecharge() {
emit("close"); emit("close");
const toast = await toastController.create({ const toast = await toastController.create({
message: "敬请期待", message: t("user.comingSoon"),
duration: 2000, duration: 2000,
position: "top", position: "top",
color: "primary", color: "primary",

View File

@@ -2,6 +2,7 @@
import { chevronForwardOutline } from "ionicons/icons"; import { chevronForwardOutline } from "ionicons/icons";
import PrimeQrcode from "~icons/prime/qrcode"; import PrimeQrcode from "~icons/prime/qrcode";
const { t } = useI18n();
const userStore = useUserStore(); const userStore = useUserStore();
const { userProfile, isAuthenticated } = storeToRefs(userStore); const { userProfile, isAuthenticated } = storeToRefs(userStore);
</script> </script>
@@ -30,7 +31,7 @@ const { userProfile, isAuthenticated } = storeToRefs(userStore);
<ui-avatar class="size-14" /> <ui-avatar class="size-14" />
<ion-button shape="round" size="small"> <ion-button shape="round" size="small">
点击登录 / 注册 {{ t('user.login') }}
</ion-button> </ion-button>
</div> </div>
</template> </template>

View File

@@ -21,7 +21,7 @@ function onCloseModal() {
<template> <template>
<div class="flex flex-col gap-1"> <div class="flex flex-col gap-1">
<div class="text-sm text-gray-500 flex items-center gap-2" @click="totalBalanceVisible = !totalBalanceVisible"> <div class="text-sm text-gray-500 flex items-center gap-2" @click="totalBalanceVisible = !totalBalanceVisible">
<div>总资产估值</div> <div>{{ t('user.totalAsset') }}</div>
<ion-icon :icon="totalBalanceVisible ? eyeOffOutline : eyeOutline" /> <ion-icon :icon="totalBalanceVisible ? eyeOffOutline : eyeOutline" />
</div> </div>
<div class="flex items-end gap-2"> <div class="flex items-end gap-2">
@@ -58,7 +58,7 @@ function onCloseModal() {
<BxTransferAlt slot="icon-only" /> <BxTransferAlt slot="icon-only" />
</ion-button> </ion-button>
<div class="text-sm font-medium mt-1"> <div class="text-sm font-medium mt-1">
划转 {{ t('user.transfer') }}
</div> </div>
</div> </div>
@@ -67,7 +67,7 @@ function onCloseModal() {
<IcBaselineBlurCircular slot="icon-only" /> <IcBaselineBlurCircular slot="icon-only" />
</ion-button> </ion-button>
<div class="text-sm font-medium mt-1"> <div class="text-sm font-medium mt-1">
账单 {{ t('user.bill') }}
</div> </div>
</div> </div>
<!-- <div id="open-recharge-modal" class="flex-col-center"> <!-- <div id="open-recharge-modal" class="flex-col-center">