feat: add and optimize multilingual text resources

- add new language packs for multiple pages and components including category, cart, order, member center, distribution, etc.
- add Chinese and English translations for new features and UI text
- fix navigation service error message to use multilingual text
- update component templates to use dynamic language translation instead of hardcoded text
- adjust code indentation and formatting for consistency
This commit is contained in:
2026-06-26 13:49:26 +08:00
parent 66a579d48c
commit f7fb9f34f9
116 changed files with 1640 additions and 525 deletions

View File

@@ -13,10 +13,10 @@
</view>
<image v-else class="title-img" :src="$util.img(value.titleStyle.leftImg)" mode="heightFix" show-menu-by-longpress/>
<text v-if="value.titleStyle.style == 'style-2' && isFuture"
:style="{ color: value.titleStyle.textColor }" class="seckill-style-name">距离开始</text>
:style="{ color: value.titleStyle.textColor }" class="seckill-style-name">{{ $lang('components-diy.diySeckill.countdownStart') }}</text>
<view class="time" :style="{ background: value.titleStyle.timeBgColor }">
<text :style="{ color: value.titleStyle.textColor }" class="seckill-title-name text">{{ isFuture ?
'距离开始' : '距离结束' }}</text>
$lang('components-diy.diySeckill.countdownStart') : $lang('components-diy.diySeckill.countdownEnd') }}</text>
<text v-if="value.titleStyle.timeImageUrl"
:class="['seckill-title-name icon', value.titleStyle.timeImageUrl]"></text>
<text class="hour number" :style="titleTimeStyle">{{ seckillH ? seckillH : '00' }}</text>
@@ -62,8 +62,8 @@
</view>
<view class="num"
:style="{ color: value.theme == 'diy' ? value.saleStyle.color : '', borderColor: value.theme == 'diy' ? value.saleStyle.color : '' }">
已抢{{ item.goods_stock + item.sale_num ? ((item.sale_num / (item.goods_stock +
item.sale_num)) * 100).toFixed(2) : '0.00' }}%
{{ $lang('components-diy.diySeckill.soldPercent', { percent: item.goods_stock + item.sale_num ? ((item.sale_num / (item.goods_stock +
item.sale_num)) * 100).toFixed(2) : '0.00' }) }}
</view>
</view>
<view class="bottom-wrap">
@@ -87,7 +87,7 @@
</view>
<view class="price-font" v-else>
<text
:style="{ color: value.theme == 'diy' ? value.priceStyle.lineColor : '' }">原价:</text>
:style="{ color: value.theme == 'diy' ? value.priceStyle.lineColor : '' }">{{ $lang('components-diy.diySeckill.originalPrice') }}</text>
<text :style="{ color: value.theme == 'diy' ? value.priceStyle.lineColor : '' }"
class="original-price">¥{{ item.price }}</text>
</view>
@@ -97,7 +97,7 @@
color: value.btnStyle.theme == 'diy' ? value.btnStyle.textColor : '',
borderRadius: value.btnStyle.aroundRadius * 2 + 'rpx'
}">
{{ isFuture ? '即将开始' : value.btnStyle.text }}
{{ isFuture ? $lang('components-diy.diySeckill.comingSoon') : value.btnStyle.text }}
</button>
</view>
</view>
@@ -140,7 +140,7 @@
color: value.btnStyle.theme == 'diy' ? value.btnStyle.textColor : '',
borderRadius: value.btnStyle.aroundRadius * 2 + 'rpx'
}">
{{ isFuture ? '即将开始' : value.btnStyle.text }}
{{ isFuture ? $lang('components-diy.diySeckill.comingSoon') : value.btnStyle.text }}
</button>
</view>
</view>
@@ -502,7 +502,7 @@ export default {
toDetail(id) {
if (this.isFuture) {
this.$util.showToast({
title: '秒杀活动即将开启,敬请期待!'
title: this.$lang('components-diy.diySeckill.seckillComingSoonTip')
});
return false;
}