fix(website): 价格按语言分币种 —— 英文版显示美元(P0)
PRICES 原为中英共用一份人民币值 → 英文页显示 ¥ 不专业。改为 Record<Lang,...>: - zh: ¥0 / ¥25(年¥20) / ¥99(年¥79) - en: $0 / $3.99(年$3.19) / $13.99(年$11.19) 年付沿用 8 折 Pricing.astro 接收 lang 按语言取价;Site.astro 传入 lang。 构建产物核实:EN 页 0 处 ¥、ZH 页 0 处 $;红线扫描 0 命中。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
---
|
||||
import Icon from './Icon.astro';
|
||||
import PricingPlans from './PricingPlans.jsx';
|
||||
import { PRICES, type T } from '../i18n/strings';
|
||||
import { PRICES, type T, type Lang } from '../i18n/strings';
|
||||
|
||||
interface Props { t: T }
|
||||
const { t } = Astro.props;
|
||||
interface Props { t: T; lang: Lang }
|
||||
const { t, lang } = Astro.props;
|
||||
const P = PRICES[lang];
|
||||
|
||||
const plansData = {
|
||||
monthly: t('price.monthly'),
|
||||
@@ -16,7 +17,7 @@ const plansData = {
|
||||
{
|
||||
key: 'free',
|
||||
name: t('price.free'),
|
||||
price: PRICES.free,
|
||||
price: P.free,
|
||||
desc: t('price.freedesc'),
|
||||
feats: [t('pf.free1'), t('pf.free2'), t('pf.free3'), t('pf.free4')],
|
||||
cta: t('price.cta_free'),
|
||||
@@ -26,7 +27,7 @@ const plansData = {
|
||||
{
|
||||
key: 'pro',
|
||||
name: t('price.pro'),
|
||||
price: PRICES.pro,
|
||||
price: P.pro,
|
||||
desc: t('price.prodesc'),
|
||||
feats: [t('pf.pro1'), t('pf.pro2'), t('pf.pro3'), t('pf.pro4'), t('pf.pro5')],
|
||||
cta: t('price.cta_pro'),
|
||||
@@ -36,7 +37,7 @@ const plansData = {
|
||||
{
|
||||
key: 'team',
|
||||
name: t('price.team'),
|
||||
price: PRICES.team,
|
||||
price: P.team,
|
||||
desc: t('price.teamdesc'),
|
||||
feats: [t('pf.team1'), t('pf.team2'), t('pf.team3'), t('pf.team4')],
|
||||
cta: t('price.cta_team'),
|
||||
|
||||
@@ -193,9 +193,17 @@ export function createT(lang: Lang): T {
|
||||
};
|
||||
}
|
||||
|
||||
/** 价格表(月 / 年),与 ui_kits/website/site.js 的 PRICES 同步,对齐 design/CLAUDE.md §7。 */
|
||||
export const PRICES: Record<'free' | 'pro' | 'team', [string, string]> = {
|
||||
free: ['¥0', '¥0'],
|
||||
pro: ['¥25', '¥20'],
|
||||
team: ['¥99', '¥79'],
|
||||
/** 价格表(月 / 年·按月),按语言分币种:zh=人民币、en=美元。年付约 8 折。
|
||||
* 对齐 design/CLAUDE.md §7;收款走客户端内兑换激活码,网页价仅为展示。 */
|
||||
export const PRICES: Record<Lang, Record<'free' | 'pro' | 'team', [string, string]>> = {
|
||||
zh: {
|
||||
free: ['¥0', '¥0'],
|
||||
pro: ['¥25', '¥20'],
|
||||
team: ['¥99', '¥79'],
|
||||
},
|
||||
en: {
|
||||
free: ['$0', '$0'],
|
||||
pro: ['$3.99', '$3.19'],
|
||||
team: ['$13.99', '$11.19'],
|
||||
},
|
||||
};
|
||||
|
||||
@@ -81,7 +81,7 @@ const headerT = {
|
||||
<Hero t={t} />
|
||||
<Features t={t} />
|
||||
<WhySignup t={t} />
|
||||
<Pricing t={t} />
|
||||
<Pricing t={t} lang={lang} />
|
||||
<Download t={t} />
|
||||
<Docs t={t} />
|
||||
<CtaBand t={t} />
|
||||
|
||||
Reference in New Issue
Block a user