feat: 新增多语言文案与组件国际化适配

本次提交完成了大量多语言相关的新增与优化工作:
1. 新增充值、案例、会员资产、订单等页面的中文/英文翻译文案
2. 新增企业微信客服、时间选择、支付弹窗等组件的多语言包
3. 优化工具函数与自定义页面的多语言适配,替换硬编码提示文案
4. 新增会员等级规则、积分商品、退款管理等页面的国际化支持
5. 修复企业微信JS-SDK的错误提示文案硬编码问题
This commit is contained in:
2026-06-26 09:09:46 +08:00
parent 2d8846c64c
commit 066ca61d97
97 changed files with 2704 additions and 716 deletions

View File

@@ -19,7 +19,7 @@
<view style="padding:20rpx;">
<view style="font-size:36rpx;font-weight:600;">{{item.$orig.title}}</view>
<view>{{item.$orig.desc}}</view>
<view style="font-size:24rpx;color:#888;padding-top:20rpx;">{{"完成时间:" + item.g3}}</view>
<view style="font-size:24rpx;color:#888;padding-top:20rpx;">{{ $lang('completionTime', { time: item.g3 }) }}</view>
<block v-if="item.$orig.files_url">
<view @tap="toDetail(item.$orig)" class="item">
<view class="article-img">
@@ -28,7 +28,7 @@
<view class="info-wrap">
<view class="title">{{item.$orig.files_title}}</view>
<view class="read-wrap">
<text>查看PDF文件</text>
<text>{{ $lang('viewPdfFile') }}</text>
</view>
</view>
</view>
@@ -44,35 +44,35 @@
<uni-popup ref="informationPopup" class="vue-ref" type="bottom" @change="change">
<view class="liuyan-popup-layer popup-layer">
<view @tap="closeinformationPopup" class="head-wrap">
<text>在线留言</text>
<text>{{ $lang('messagePopup.title') }}</text>
<text class="iconfont icon-close"></text>
</view>
<scroll-view class="liuyan-body" scroll-y="true">
<view style="padding:0 30rpx;">
<view class="fui-cell-group">
<view class="fui-cell">
<view class="fui-cell-label">姓名</view>
<view class="fui-cell-label">{{ $lang('form.name') }}</view>
<view class="fui-cell-info">
<input class="fui-input" placeholder="请输入您的姓名" v-model="Form.realname" />
<input class="fui-input" :placeholder="$lang('form.namePlaceholder')" v-model="Form.realname" />
</view>
</view>
<view class="fui-cell">
<view class="fui-cell-label">联系方式</view>
<view class="fui-cell-label">{{ $lang('form.contact') }}</view>
<view class="fui-cell-info">
<input class="fui-input" maxlength="11" placeholder="请输入您的手机号" type="number" v-model="Form.mobile" />
<input class="fui-input" maxlength="11" :placeholder="$lang('form.mobilePlaceholder')" type="number" v-model="Form.mobile" />
</view>
</view>
<view class="fui-cell">
<view class="fui-cell-label" style="position:absolute;top:10px;">留言内容</view>
<view class="fui-cell-label" style="position:absolute;top:10px;">{{ $lang('form.messageContent') }}</view>
<view class="fui-cell-info" style="margin-left:160rpx;border:solid 2rpx #eee;">
<textarea class="textarea" style="font-size:28rpx;padding:10rpx;" placeholder="请输入留言内容" v-model="Form.remark"></textarea>
<textarea class="textarea" style="font-size:28rpx;padding:10rpx;" :placeholder="$lang('form.messagePlaceholder')" v-model="Form.remark"></textarea>
</view>
</view>
</view>
</view>
</scroll-view>
<view class="button-box">
<button type="primary" @tap="save">提交</button>
<button type="primary" @tap="save">{{ $lang('common.submit') }}</button>
</view>
</view>
</uni-popup>
@@ -140,7 +140,7 @@ export default {
},
toDetail(item) {
const url = item.files_url;
uni.showLoading({ title: "正在加载" });
uni.showLoading({ title: this.$lang('toast.loading') });
try {
uni.downloadFile({
url: url,
@@ -164,7 +164,7 @@ export default {
},
complete: (res) => {
if (res.statusCode === 404) {
uni.showToast({ title: "文件不存在", icon: "none" });
uni.showToast({ title: this.$lang('toast.fileNotExist'), icon: "none" });
}
}
});
@@ -186,7 +186,7 @@ export default {
},
onTapDoc(item) {
const url = this.$util.img(item.files_url);
uni.showLoading({ title: "正在加载" });
uni.showLoading({ title: this.$lang('toast.loading') });
try {
uni.downloadFile({
url: url,
@@ -210,7 +210,7 @@ export default {
},
complete: (res) => {
if (res.statusCode === 404) {
uni.showToast({ title: "文件不存在", icon: "none" });
uni.showToast({ title: this.$lang('toast.fileNotExist'), icon: "none" });
}
}
});
@@ -220,7 +220,7 @@ export default {
},
share(item) {
const url = this.$util.img(item.files_url);
uni.showLoading({ title: "正在加载" });
uni.showLoading({ title: this.$lang('toast.loading') });
try {
uni.downloadFile({
url: url,
@@ -241,7 +241,7 @@ export default {
},
complete: (res) => {
if (res.statusCode === 404) {
uni.showToast({ title: "文件不存在", icon: "none" });
uni.showToast({ title: this.$lang('toast.fileNotExist'), icon: "none" });
}
}
});
@@ -286,7 +286,7 @@ export default {
uni.setClipboardData({
data: text,
success: () => {
uni.showToast({ title: "复制成功", icon: "success", duration: 2000 });
uni.showToast({ title: this.$lang('util.copySuccess'), icon: "success", duration: 2000 });
},
fail: () => {
}