refactor: 统一多语言key的组件命名格式为短横线分隔
根据i18n规范,将所有组件相关的多语言key从驼峰式改为短横线分隔格式,同步更新文档中的示例说明。
This commit is contained in:
@@ -90,12 +90,12 @@
|
||||
<!-- 查看更多(仅非滚动模式显示) -->
|
||||
<view class="view-more" v-if="viewMore.support && viewMore.control && list.length > 0"
|
||||
:style="viewMoreStyle" @tap.stop="toListPage">
|
||||
<text>{{ viewMore.text || $lang('components-diy.diyArticle.viewMore') }}</text>
|
||||
<text>{{ viewMore.text || $lang('components-diy.diy-article.viewMore') }}</text>
|
||||
<uni-icons type="arrowright" size="12" :color="viewMore.color" />
|
||||
</view>
|
||||
</template>
|
||||
<view v-if="list.length === 0 && !loading" class="empty-placeholder">
|
||||
<text class="empty-text">{{ $lang('components-diy.diyArticle.noArticles') }}</text>
|
||||
<text class="empty-text">{{ $lang('components-diy.diy-article.noArticles') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<view class="video-title" :style="[{ '--title-line-clamp': titleLineClamp }]">{{ value.videoTitle }}
|
||||
</view>
|
||||
<!-- 视频统计信息 -->
|
||||
<view class="video-stats" v-if="showViewCount && value.showViewCount">{{ $lang('components-diy.diyChannelVideo.viewCountSuffix', { count: value.viewCount }) }}</view>
|
||||
<view class="video-stats" v-if="showViewCount && value.showViewCount">{{ $lang('components-diy.diy-channel-video.viewCountSuffix', { count: value.viewCount }) }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<view class="play-icon-css"></view>
|
||||
</view>
|
||||
<view class="video-stats-overlay" v-if="showViewCount && value.showViewCount">
|
||||
{{ $lang('components-diy.diyChannelVideo.viewCountSuffix', { count: value.viewCount }) }}
|
||||
{{ $lang('components-diy.diy-channel-video.viewCountSuffix', { count: value.viewCount }) }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="video-info">
|
||||
@@ -37,7 +37,7 @@
|
||||
<view class="video-title" :style="[{ '--title-line-clamp': titleLineClamp }]">{{ value.videoTitle }}
|
||||
</view>
|
||||
<!-- 视频统计信息,非列表模式下显示 -->
|
||||
<view class="video-stats" v-if="showViewCount && value.showViewCount && !listMode">{{ $lang('components-diy.diyChannelVideo.viewCountSuffix', { count: value.viewCount }) }}</view>
|
||||
<view class="video-stats" v-if="showViewCount && value.showViewCount && !listMode">{{ $lang('components-diy.diy-channel-video.viewCountSuffix', { count: value.viewCount }) }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -50,19 +50,19 @@
|
||||
<view v-if="goodsValue.priceStyle.lineControl && showMarketPrice(dataItem)"
|
||||
class="delete-price price-font"
|
||||
:style="{ color: goodsValue.theme == 'diy' ? goodsValue.priceStyle.lineColor : '' }">
|
||||
¥{{ showMarketPrice(dataItem) }}</view>
|
||||
<view class="sale" v-if="goodsValue.saleStyle.control"
|
||||
:style="{ color: goodsValue.theme == 'diy' ? goodsValue.saleStyle.color : '' }">
|
||||
{{ $lang('components-diy.diyGoodsRecommend.soldPrefix') }}{{ dataItem.sale_num }}{{ dataItem.unit ? dataItem.unit : $lang('unit.piece') }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
</x-skeleton>
|
||||
¥{{ showMarketPrice(dataItem) }}</view>
|
||||
<view class="sale" v-if="goodsValue.saleStyle.control"
|
||||
:style="{ color: goodsValue.theme == 'diy' ? goodsValue.saleStyle.color : '' }">
|
||||
{{ $lang('components-diy.diy-goods-recommend.soldPrefix') }}{{ dataItem.sale_num }}{{ dataItem.unit ? dataItem.unit : $lang('unit.piece') }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
</x-skeleton>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
</view>
|
||||
<view class="fui-remark jump" style="padding-right: 20rpx; text-align: center; line-height: 140rpx;">
|
||||
<span style="font-size:24rpx;padding: 14rpx 18rpx;border-radius:8rpx"
|
||||
:style="{ background: item.BtBgColor, color: item.BtColor }" @tap.stop="previewSqs()">{{ $lang('components-diy.diyKefu.addNow') }}</span>
|
||||
:style="{ background: item.BtBgColor, color: item.BtColor }" @tap.stop="previewSqs()">{{ $lang('components-diy.diy-kefu.addNow') }}</span>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
style="border-radius:6rpx;width: 60rpx;"></image>
|
||||
</view>
|
||||
<view class="fui-cell-text" style="color:#333;">{{ item.title }}</view>
|
||||
<view class="fui-cell-remark" style="font-size: 24rpx;">{{ $lang('components-diy.diyListmenu.view') }}</view>
|
||||
<view class="fui-cell-remark" style="font-size: 24rpx;">{{ $lang('components-diy.diy-listmenu.view') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<ns-login ref="login"></ns-login>
|
||||
|
||||
@@ -21,17 +21,17 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="room-info" v-if="value.isShowAnchorInfo || value.isShowLiveGood">
|
||||
<block v-if="value.isShowAnchorInfo">
|
||||
<image
|
||||
:src="liveInfo.anchor_img != '' ? $util.img(liveInfo.anchor_img) : $util.getDefaultImage().head"
|
||||
class="anchor-img" @error="liveInfo.anchor_img = $util.getDefaultImage().head" show-menu-by-longpress/>
|
||||
<text class="anchor-name">{{ $lang('components-diy.diyLive.anchorPrefix') }}{{ liveInfo.anchor_name }}</text>
|
||||
</block>
|
||||
<text class="separate" v-if="value.isShowAnchorInfo && value.isShowLiveGood">|</text>
|
||||
<block v-if="value.isShowLiveGood">
|
||||
<text class="goods-text">{{ $lang('components-diy.diyLive.goodsPrefix') }}{{ liveInfo.goods.length }}</text>
|
||||
</block>
|
||||
<view class="room-info" v-if="value.isShowAnchorInfo || value.isShowLiveGood">
|
||||
<block v-if="value.isShowAnchorInfo">
|
||||
<image
|
||||
:src="liveInfo.anchor_img != '' ? $util.img(liveInfo.anchor_img) : $util.getDefaultImage().head"
|
||||
class="anchor-img" @error="liveInfo.anchor_img = $util.getDefaultImage().head" show-menu-by-longpress/>
|
||||
<text class="anchor-name">{{ $lang('components-diy.diy-live.anchorPrefix') }}{{ liveInfo.anchor_name }}</text>
|
||||
</block>
|
||||
<text class="separate" v-if="value.isShowAnchorInfo && value.isShowLiveGood">|</text>
|
||||
<block v-if="value.isShowLiveGood">
|
||||
<text class="goods-text">{{ $lang('components-diy.diy-live.goodsPrefix') }}{{ liveInfo.goods.length }}</text>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</x-skeleton>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<div
|
||||
style="position:absolute;right:12rpx;bottom:48rpx;z-index:1;background:#4390FF;padding:0rpx 20rpx;border-radius:8rpx;color: #fff;"
|
||||
@tap.stop="handlerClick(item)">
|
||||
<span style="font-size:24rpx;color: #fff;">{{ $lang('components-diy.diyMap.navigate') }}</span>
|
||||
<span style="font-size:24rpx;color: #fff;">{{ $lang('components-diy.diy-map.navigate') }}</span>
|
||||
</div>
|
||||
</map>
|
||||
</view>
|
||||
@@ -71,7 +71,7 @@ export default {
|
||||
uni.openLocation({
|
||||
latitude: parseFloat(item.lat),
|
||||
longitude: parseFloat(item.lng),
|
||||
name: this.$lang('components-diy.diyMap.navigate'),
|
||||
name: this.$lang('components-diy.diy-map.navigate'),
|
||||
})
|
||||
},
|
||||
async handlerClick(item) {
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<!-- #ifdef MP -->
|
||||
<block
|
||||
v-if="(memberInfo.nickname.indexOf('u_') != -1 && memberInfo.nickname == memberInfo.username) || memberInfo.nickname == memberInfo.mobile">
|
||||
<view class="nickname"><text class="name" @tap.stop="getWxAuth">{{ $lang('components-diy.diyMemberInfo.clickToAuthorizeAvatarNickname') }}</text></view>
|
||||
<view class="nickname"><text class="name" @tap.stop="getWxAuth">{{ $lang('components-diy.diy-member-info.clickToAuthorizeAvatarNickname') }}</text></view>
|
||||
</block>
|
||||
<view class="nickname" v-else>
|
||||
<text class="name" @tap.stop="getWxAuth">{{ memberInfo.nickname }}</text>
|
||||
@@ -36,7 +36,7 @@
|
||||
<!-- #ifdef H5 -->
|
||||
<block
|
||||
v-if="$util.isWeiXin() && ((memberInfo.nickname.indexOf('u_') != -1 && memberInfo.nickname == memberInfo.username) || memberInfo.nickname == memberInfo.mobile)">
|
||||
<view class="nickname"><text class="name" @tap.stop="getWxAuth">{{ $lang('components-diy.diyMemberInfo.clickToGetWechatAvatar') }}</text></view>
|
||||
<view class="nickname"><text class="name" @tap.stop="getWxAuth">{{ $lang('components-diy.diy-member-info.clickToGetWechatAvatar') }}</text></view>
|
||||
</block>
|
||||
<view class="nickname" v-else>
|
||||
<text class="name" @tap.stop="redirect('/pages_tool/member/info')">{{ memberInfo.nickname
|
||||
@@ -194,13 +194,13 @@
|
||||
<uni-popup ref="completeInfoPopup" type="bottom" :maskClick="false">
|
||||
<view class="complete-info-wrap">
|
||||
<view class="head">
|
||||
<text class="title">{{ $lang('components-diy.diyMemberInfo.completeInfoTitle') }}</text>
|
||||
<text class="color-tip tips">{{ $lang('components-diy.diyMemberInfo.completeInfoTip') }}</text>
|
||||
<text class="title">{{ $lang('components-diy.diy-member-info.completeInfoTitle') }}</text>
|
||||
<text class="color-tip tips">{{ $lang('components-diy.diy-member-info.completeInfoTip') }}</text>
|
||||
<text class="iconfont icon-close color-tip" @tap.stop="cancelCompleteInfo"></text>
|
||||
</view>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="item-wrap">
|
||||
<text class="label">{{ $lang('components-diy.diyMemberInfo.avatarLabel') }}</text>
|
||||
<text class="label">{{ $lang('components-diy.diy-member-info.avatarLabel') }}</text>
|
||||
<button open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
|
||||
<image :src="avatarUrl ? avatarUrl : $util.getDefaultImage().head"
|
||||
@error="avatarUrl = $util.getDefaultImage().head" mode="aspectFill" show-menu-by-longpress/>
|
||||
@@ -208,13 +208,13 @@
|
||||
</button>
|
||||
</view>
|
||||
<view class="item-wrap">
|
||||
<text class="label">{{ $lang('components-diy.diyMemberInfo.nicknameLabel') }}</text>
|
||||
<input type="nickname" :placeholder="$lang('components-diy.diyMemberInfo.nicknamePlaceholder')" v-model="nickName" @blur="blurNickName" />
|
||||
<text class="label">{{ $lang('components-diy.diy-member-info.nicknameLabel') }}</text>
|
||||
<input type="nickname" :placeholder="$lang('components-diy.diy-member-info.nicknamePlaceholder')" v-model="nickName" @blur="blurNickName" />
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-ALIPAY -->
|
||||
<view class="item-wrap">
|
||||
<text class="label">{{ $lang('components-diy.diyMemberInfo.avatarLabel') }}</text>
|
||||
<text class="label">{{ $lang('components-diy.diy-member-info.avatarLabel') }}</text>
|
||||
<button open-type="getAuthorize" scope="userInfo" @getAuthorize="aliappGetUserinfo"
|
||||
:plain="true" class="border-0">
|
||||
<image :src="avatarUrl ? avatarUrl : $util.getDefaultImage().head"
|
||||
@@ -223,11 +223,11 @@
|
||||
</button>
|
||||
</view>
|
||||
<view class="item-wrap">
|
||||
<text class="label">{{ $lang('components-diy.diyMemberInfo.nicknameLabel') }}</text>
|
||||
<input type="nickname" :placeholder="$lang('components-diy.diyMemberInfo.nicknamePlaceholder')" v-model="nickName" @blur="blurNickName" />
|
||||
<text class="label">{{ $lang('components-diy.diy-member-info.nicknameLabel') }}</text>
|
||||
<input type="nickname" :placeholder="$lang('components-diy.diy-member-info.nicknamePlaceholder')" v-model="nickName" @blur="blurNickName" />
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<button type="default" class="save-btn" @tap.stop="saveCompleteInfo" :disabled="isDisabled">{{ $lang('components-diy.diyMemberInfo.save') }}</button>
|
||||
<button type="default" class="save-btn" @tap.stop="saveCompleteInfo" :disabled="isDisabled">{{ $lang('components-diy.diy-member-info.save') }}</button>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
@@ -493,8 +493,8 @@ export default {
|
||||
showMemberQrcode() {
|
||||
if (!this.memberInfo.mobile && !this.memberInfo.member_code) {
|
||||
uni.showModal({
|
||||
title: this.$lang('components-diy.diyMemberInfo.tip'),
|
||||
content: this.$lang('components-diy.diyMemberInfo.bindMobileTip'),
|
||||
title: this.$lang('components-diy.diy-member-info.tip'),
|
||||
content: this.$lang('components-diy.diy-member-info.bindMobileTip'),
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
// #ifdef MP-WEIXIN
|
||||
@@ -643,7 +643,7 @@ export default {
|
||||
saveCompleteInfo() {
|
||||
if (this.nickName.length == 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('components-diy.diyMemberInfo.pleaseEnterNickname')
|
||||
title: this.$lang('components-diy.diy-member-info.pleaseEnterNickname')
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -682,7 +682,7 @@ export default {
|
||||
},
|
||||
fail: () => {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('components-diy.diyMemberInfo.uploadFailed')
|
||||
title: this.$lang('components-diy.diy-member-info.uploadFailed')
|
||||
});
|
||||
}
|
||||
})
|
||||
@@ -713,7 +713,7 @@ export default {
|
||||
},
|
||||
fail: () => {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('components-diy.diyMemberInfo.avatarPullFailed')
|
||||
title: this.$lang('components-diy.diy-member-info.avatarPullFailed')
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
@@ -38,14 +38,14 @@
|
||||
<text v-show="value.uploadTime == 1 && item.is_show_release_time == 1">{{
|
||||
item.update_time_day }}</text>
|
||||
</view>
|
||||
<view class="notes-num">
|
||||
<text v-show="value.readNum == 1 && item.is_show_read_num == 1">{{ $lang('components-diy.diyNotes.readPrefix') }} {{
|
||||
item.initial_read_num + item.read_num }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="notes-num">
|
||||
<text v-show="value.readNum == 1 && item.is_show_read_num == 1">{{ $lang('components-diy.diy-notes.readPrefix') }} {{
|
||||
item.initial_read_num + item.read_num }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
||||
<ns-login ref="login"></ns-login>
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
v-model="searchText" @confirm="handlerSearchClick" disabled="true"
|
||||
@tap.stop="handlerSearchClick"
|
||||
:placeholderStyle="placeholderStyle" />
|
||||
<text class="search-content-btn" @tap.stop="handlerSearchClick"
|
||||
:style="{ 'backgroundColor': value.pageBgColor ? value.pageBgColor : 'rgba(0,0,0,0)' }"
|
||||
>{{ $lang('components-diy.diySearch.searchBtn') }}</text>
|
||||
<text class="search-content-btn" @tap.stop="handlerSearchClick"
|
||||
:style="{ 'backgroundColor': value.pageBgColor ? value.pageBgColor : 'rgba(0,0,0,0)' }"
|
||||
>{{ $lang('components-diy.diy-search.searchBtn') }}</text>
|
||||
</view>
|
||||
<view class="img" v-if="value.iconType == 'img'"
|
||||
@tap.stop="handlerRedirectToClick(value.searchLink)">
|
||||
|
||||
@@ -207,8 +207,8 @@
|
||||
:style="{ fontSize: value.fontSize * 2 + 'rpx', color: value.textColor, fontWeight: value.fontWeight }">
|
||||
{{ value.text }}
|
||||
</text>
|
||||
<text class="zone"
|
||||
:style="{ fontSize: value.fontSize * 2 + 'rpx', fontWeight: value.fontWeight }">{{ $lang('components-diy.diyText.zone') }}</text>
|
||||
<text class="zone"
|
||||
:style="{ fontSize: value.fontSize * 2 + 'rpx', fontWeight: value.fontWeight }">{{ $lang('components-diy.diy-text.zone') }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-danxuan-xuanzhong"
|
||||
:style="{ color: value.textColor, fontWeight: value.fontWeight }"></text>
|
||||
|
||||
@@ -57,10 +57,10 @@
|
||||
<view v-else-if="message.contentType == 'order'"><ns-chat-order :isCanSend="false" :orderId="message.order_id"></ns-chat-order></view>
|
||||
|
||||
<view class="no-connect-box" v-if="message.contentType == 'noline'">
|
||||
<view class="no-connect">{{ $lang('components.chatMessage.customerOffline') }}</view>
|
||||
<view class="no-connect">{{ $lang('components.chat-message.customerOffline') }}</view>
|
||||
</view>
|
||||
<view class="no-connect-box" v-if="message.contentType == 'online'">
|
||||
<view class="no-connect">{{ $lang('components.chatMessage.customerOnline') }}</view>
|
||||
<view class="no-connect">{{ $lang('components.chat-message.customerOnline') }}</view>
|
||||
</view>
|
||||
<uni-popup ref="imgPopup" type="center">
|
||||
<view class="imagePop">
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<text class="goods-price-sign color-base-text">¥</text>
|
||||
<text class="color-base-text">{{ goodsInfo.price }}</text>
|
||||
</view>
|
||||
<view class="goods-option font-size-goods-tag disabled">{{ $lang('components.chatGoods.sent') }}</view>
|
||||
<view class="goods-option font-size-goods-tag disabled">{{ $lang('components.ns-chat-goods.sent') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -22,7 +22,7 @@
|
||||
<text class="goods-price-sign color-base-text">¥</text>
|
||||
<text class="color-base-text">{{ goodsDetail.price }}</text>
|
||||
</view>
|
||||
<view class="goods-option font-size-goods-tag color-base-bg" @click="sendMsg('goods')">{{ $lang('components.chatGoods.send') }}</view>
|
||||
<view class="goods-option font-size-goods-tag color-base-bg" @click="sendMsg('goods')">{{ $lang('components.ns-chat-goods.send') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
<view class="goods-item">
|
||||
<view class="title">{{ isEnEnv ? goodsInfo.en_goods_name : goodsInfo.goods_name }}</view>
|
||||
<view class="goods-sku">
|
||||
{{ $lang('components.chatReceiveGoods.stockPrefix') }}{{ goodsInfo.stock }}
|
||||
<text>{{ $lang('components.chatReceiveGoods.salesPrefix') }}{{ goodsInfo.sale_num }}</text>
|
||||
{{ $lang('components.ns-chat-receiveGoods.stockPrefix') }}{{ goodsInfo.stock }}
|
||||
<text>{{ $lang('components.ns-chat-receiveGoods.salesPrefix') }}{{ goodsInfo.sale_num }}</text>
|
||||
</view>
|
||||
<view class="goods-price">
|
||||
<view class="price color-base-text">
|
||||
@@ -14,7 +14,7 @@
|
||||
<text class="price-num">{{ goodsInfo.price }}</text>
|
||||
</view>
|
||||
<view class="see-shop color-base-text" @click="go_shop()">
|
||||
{{ $lang('components.chatReceiveGoods.viewGoods') }}
|
||||
{{ $lang('components.ns-chat-receiveGoods.viewGoods') }}
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<block v-if="type == 'point'">
|
||||
<block v-if="goodsDetail.type == 1">
|
||||
<view class="price-wrap">
|
||||
<text class="price price-color font-size-toolbar">{{ $lang('components.nsGoodsSku.pointSuffix', { point: goodsDetail.point }) }}</text>
|
||||
<text class="price price-color font-size-toolbar">{{ $lang('components.ns-goods-sku.pointSuffix', { point: goodsDetail.point }) }}</text>
|
||||
<block v-if="goodsDetail.exchange_price != '0.00' && goodsDetail.pay_type > 0">
|
||||
<text class="unit price-color font-size-tag">+</text>
|
||||
<text class="price price-color font-size-toolbar price-font">{{ $lang('common.currencySymbol') }}{{ goodsDetail.exchange_price }}</text>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
autoplay
|
||||
class="video-player"
|
||||
></video>
|
||||
<view v-else class="video-error">{{ $lang('components.videoPlayerPopup.videoUrlNotExist') }}</view>
|
||||
<view v-else class="video-error">{{ $lang('components.ns-video-player-popup.videoUrlNotExist') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
<uni-popup type="bottom" ref="regionsRef">
|
||||
<view class="regions-picker-container">
|
||||
<view class="picker-header">
|
||||
<view class="picker-action cancel" @click="$refs.regionsRef.close()">{{ $lang('components.pickRegions.cancel') }}</view>
|
||||
<view class="picker-action confirm" @click="confirmRegions">{{ $lang('components.pickRegions.confirm') }}</view>
|
||||
<view class="picker-action cancel" @click="$refs.regionsRef.close()">{{ $lang('components.pick-regions.cancel') }}</view>
|
||||
<view class="picker-action confirm" @click="confirmRegions">{{ $lang('components.pick-regions.confirm') }}</view>
|
||||
</view>
|
||||
<picker-view :value="multiIndex" @change="pickerViewColumnChange" class="picker-view">
|
||||
<picker-view-column v-if="multiArray[0]">
|
||||
|
||||
@@ -29,10 +29,10 @@
|
||||
|
||||
| 行 | 错误调用 | 语言包实际 key | 说明 |
|
||||
|---|---|---|---|
|
||||
| 93 | `$lang('components-diy.diy-article.viewMore')` | `components-diy.diyArticle.viewMore` | 组件名大小写不一致,`normalizeSharedLangPack` 将 `diy-article` 转为 `diyArticle` |
|
||||
| 98 | `$lang('components-diy.diy-article.noArticles')` | `components-diy.diyArticle.noArticles` | 同上 |
|
||||
| 93 | `$lang('components-diy.diy-article.viewMore')` | `components-diy.diy-article.viewMore` | 组件名大小写不一致,`normalizeSharedLangPack` 将 `diy-article` 转为 `diyArticle` |
|
||||
| 98 | `$lang('components-diy.diy-article.noArticles')` | `components-diy.diy-article.noArticles` | 同上 |
|
||||
|
||||
**修复建议**:统一改为 `$lang('components-diy.diyArticle.viewMore')` / `$lang('components-diy.diyArticle.noArticles')`。
|
||||
**修复建议**:统一改为 `$lang('components-diy.diy-article.viewMore')` / `$lang('components-diy.diy-article.noArticles')`。
|
||||
|
||||
### 2. `pages_promotion/point/goods_list.vue`
|
||||
|
||||
@@ -74,32 +74,32 @@
|
||||
|
||||
| 文件 | 行 | 中文文本 | 建议 key |
|
||||
|---|---|---|---|
|
||||
| `components/chat-message/chat-message.vue` | 60 | 客服不在线 | `components.chatMessage.customerOffline` |
|
||||
| `components/chat-message/chat-message.vue` | 63 | 客服在线 | `components.chatMessage.customerOnline` |
|
||||
| `components/pick-regions/pick-regions.vue` | 17 | 取消 | `components.pickRegions.cancel` |
|
||||
| `components/pick-regions/pick-regions.vue` | 18 | 完成 | `components.pickRegions.confirm` |
|
||||
| `components/ns-goods-sku/ns-goods-sku.vue` | 22 | `{point}积分` | `components.goodsSku.pointSuffix`(使用命名参数) |
|
||||
| `components/ns-chat/ns-chat-receiveGoods.vue` | 8 | 库存: | `components.chatReceiveGoods.stockPrefix` |
|
||||
| `components/ns-chat/ns-chat-receiveGoods.vue` | 9 | 销量: | `components.chatReceiveGoods.salesPrefix` |
|
||||
| `components/ns-chat/ns-chat-receiveGoods.vue` | 17 | 查看商品 | `components.chatReceiveGoods.viewGoods` |
|
||||
| `components/ns-chat/ns-chat-goods.vue` | 12 | 已发送 | `components.chatGoods.sent` |
|
||||
| `components/ns-chat/ns-chat-goods.vue` | 25 | 发送 | `components.chatGoods.send` |
|
||||
| `components/ns-video-player-popup/ns-video-player-popup.vue` | 17 | 视频地址不存在 | `components.videoPlayerPopup.videoUrlNotExist` |
|
||||
| `components/chat-message/chat-message.vue` | 60 | 客服不在线 | `components.chat-message.customerOffline` |
|
||||
| `components/chat-message/chat-message.vue` | 63 | 客服在线 | `components.chat-message.customerOnline` |
|
||||
| `components/pick-regions/pick-regions.vue` | 17 | 取消 | `components.pick-regions.cancel` |
|
||||
| `components/pick-regions/pick-regions.vue` | 18 | 完成 | `components.pick-regions.confirm` |
|
||||
| `components/ns-goods-sku/ns-goods-sku.vue` | 22 | `{point}积分` | `components.ns-goods-sku.pointSuffix`(使用命名参数) |
|
||||
| `components/ns-chat/ns-chat-receiveGoods.vue` | 8 | 库存: | `components.ns-chat-receiveGoods.stockPrefix` |
|
||||
| `components/ns-chat/ns-chat-receiveGoods.vue` | 9 | 销量: | `components.ns-chat-receiveGoods.salesPrefix` |
|
||||
| `components/ns-chat/ns-chat-receiveGoods.vue` | 17 | 查看商品 | `components.ns-chat-receiveGoods.viewGoods` |
|
||||
| `components/ns-chat/ns-chat-goods.vue` | 12 | 已发送 | `components.ns-chat-goods.sent` |
|
||||
| `components/ns-chat/ns-chat-goods.vue` | 25 | 发送 | `components.ns-chat-goods.send` |
|
||||
| `components/ns-video-player-popup/ns-video-player-popup.vue` | 17 | 视频地址不存在 | `components.ns-video-player-popup.videoUrlNotExist` |
|
||||
|
||||
### 3.2 装修组件(`components-diy/`)
|
||||
|
||||
| 文件 | 行 | 中文文本 | 建议 key |
|
||||
|---|---|---|---|
|
||||
| `components-diy/diy-search.vue` | 31 | 搜索 | `components-diy.diySearch.searchBtn` |
|
||||
| `components-diy/diy-map.vue` | 16 | 一键导航 | `components-diy.diyMap.navigate` |
|
||||
| `components-diy/diy-kefu.vue` | 17 | 立即添加 | `components-diy.diyKefu.addNow` |
|
||||
| `components-diy/diy-channel-video.vue` | 20, 32, 40 | `{count}次观看` | `components-diy.diyChannelVideo.viewCountSuffix`(使用命名参数) |
|
||||
| `components-diy/diy-live.vue` | 29 | 主播: | `components-diy.diyLive.anchorPrefix` |
|
||||
| `components-diy/diy-live.vue` | 33 | 直播商品: | `components-diy.diyLive.goodsPrefix` |
|
||||
| `components-diy/diy-listmenu.vue` | 15 | 查看 | `components-diy.diyListMenu.view` |
|
||||
| `components-diy/diy-text.vue` | 211 | 专区 | `components-diy.diyText.zone` |
|
||||
| `components-diy/diy-goods-recommend.vue` | 56 | 售 / 件 | `components-diy.diyGoodsRecommend.soldPrefix` / `unit.piece` |
|
||||
| `components-diy/diy-notes.vue` | 42 | 阅读 | `components-diy.diyNotes.readPrefix` |
|
||||
| `components-diy/diy-search.vue` | 31 | 搜索 | `components-diy.diy-search.searchBtn` |
|
||||
| `components-diy/diy-map.vue` | 16 | 一键导航 | `components-diy.diy-map.navigate` |
|
||||
| `components-diy/diy-kefu.vue` | 17 | 立即添加 | `components-diy.diy-kefu.addNow` |
|
||||
| `components-diy/diy-channel-video.vue` | 20, 32, 40 | `{count}次观看` | `components-diy.diy-channel-video.viewCountSuffix`(使用命名参数) |
|
||||
| `components-diy/diy-live.vue` | 29 | 主播: | `components-diy.diy-live.anchorPrefix` |
|
||||
| `components-diy/diy-live.vue` | 33 | 直播商品: | `components-diy.diy-live.goodsPrefix` |
|
||||
| `components-diy/diy-listmenu.vue` | 15 | 查看 | `components-diy.diy-listmenu.view` |
|
||||
| `components-diy/diy-text.vue` | 211 | 专区 | `components-diy.diy-text.zone` |
|
||||
| `components-diy/diy-goods-recommend.vue` | 56 | 售 / 件 | `components-diy.diy-goods-recommend.soldPrefix` / `unit.piece` |
|
||||
| `components-diy/diy-notes.vue` | 42 | 阅读 | `components-diy.diy-notes.readPrefix` |
|
||||
|
||||
### 3.3 页面级(`pages_tool/`、`pages_promotion/`)
|
||||
|
||||
@@ -208,8 +208,8 @@
|
||||
|
||||
| 文件 | 问题 | 修正 |
|
||||
|---|---|---|
|
||||
| `components-diy/diy-listmenu.vue` | 调用 `components-diy.diyListMenu.view`,但 `normalizeSharedLangPack` 生成的命名空间为 `diyListmenu`(小写 m) | 改为 `components-diy.diyListmenu.view` |
|
||||
| `lang/zh-cn/components/ns-goods-sku.js`、`lang/en-us/components/ns-goods-sku.js` | 语言包使用 `components.goodsSku.pointSuffix`,与文件路径 `components/ns-goods-sku` 生成的 `components.nsGoodsSku` 不一致 | 改为 `components.nsGoodsSku.pointSuffix` |
|
||||
| `components-diy/diy-listmenu.vue` | 调用 `components-diy.diy-listmenu.view`,但 `normalizeSharedLangPack` 生成的命名空间为 `diyListmenu`(小写 m) | 改为 `components-diy.diy-listmenu.view` |
|
||||
| `lang/zh-cn/components/ns-goods-sku.js`、`lang/en-us/components/ns-goods-sku.js` | 语言包使用 `components.ns-goods-sku.pointSuffix`,与文件路径 `components/ns-goods-sku` 生成的 `components.nsGoodsSku` 不一致 | 改为 `components.ns-goods-sku.pointSuffix` |
|
||||
| `lang/zh-cn/notice/list.js`、`lang/en-us/notice/list.js` | 包内存在嵌套 `notice: { ... }`,导致完整命名空间 `notice.list.topTag` 无法解析 | 拍平为扁平结构 |
|
||||
| `lang/zh-cn/notice/detail.js`、`lang/en-us/notice/detail.js` | 同上,嵌套 `notice` 对象 | 拍平为扁平结构 |
|
||||
| `lang/zh-cn/help/list.js`、`lang/en-us/help/list.js` | 同上,嵌套 `help` 对象 | 拍平为扁平结构 |
|
||||
|
||||
@@ -104,7 +104,7 @@ export const lang = {
|
||||
调用方式:
|
||||
|
||||
```vue
|
||||
{{ $lang('components-diy.diyArticle.viewMore') }}
|
||||
{{ $lang('components-diy.diy-article.viewMore') }}
|
||||
```
|
||||
|
||||
> 注意:组件名 `diy-article` 归一化后为 `diyArticle`,不是 `diy-article`,也不是 `diyArticle` 以外的任何形式。若语言包本身已按 `{ componentsDiy: { diyArticle: {...} } }` 嵌套,则直接透传,不再二次包装。
|
||||
|
||||
Reference in New Issue
Block a user